中文字幕无码日韩视频无码三区

一種支持多級命令詞的語音交互方法

文檔(dang)序號(hao):10571090閱(yue)讀:413來源:國(guo)知局
一種支持多級命令詞的語音交互方法
【專利摘要】本發明公開了一種支持多級命令詞的語音交互方法,根據所需識別的場景將命令詞設置為多個上下級關聯的級別,對每級命令詞分別對應建立識別模型;每個命令詞還分類為屬于控制詞還是非控制詞,其中控制詞觸發所需識別的場景中相應的控制模塊,非控制詞觸發與之關聯的下一級別命令詞的識別過程;對輸入的語音進行識別時,根據目標場景調用相應的識別模型并且針對目標場景的每一級別分別調用命令詞識別模型,具體按照命令詞級別的上下級的先后順序分為多級進行。本發明使得在有限的資源下極大的擴展了命令詞數量,從而應用領域大大增加,可應用于小家電及所有可加裝聲控模塊的設備上。
【專利說明】
一種支持多級命令詞的語音交互方法
技術領域
[0001]本發明涉及語音識別領域,特別一種離線語音識別。
【背景技術】
[0002]近年來,隨著語音識別技術的進步,語音交互因其天然的便利性,在日常生活中應用越來越廣泛。語音喚醒和命令詞識別這兩個最常用的技術點在車載系統、智能家居等領域里已經得到廣泛的應用。但我們也發現,在目前大部分的應用方案中,語音交互采用的是在線識別的方式,這就要求設備在使用時需要連接互聯網,將計算好的語音特征值上傳到服務器,服務器再返回識別后的結果。這種方式的好處是識別在云端進行,識別的結果會很精確,但這種方式的用戶體驗與網絡環境密切相關,在沒有網絡的時候就無法使用;而且因為要傳回數據到服務器,這就牽涉到用戶隱私和網絡安全等因素,所以大大的影響了應用范圍。
[0003]在這種情況下,業界開始采用離線的語音交互方式,相對于在云端服務器的識別方法,離線語音識別精簡了語言和聲學模型,所有的運算都在本地進行。但是受制于硬件條件限制,如計算能力、RAM和Flash大小以及功耗散熱等因素,尤其是主頻和RAM大小,這兩項直接限制了模型的大小以及所支持的命令詞數量,模型精簡過度之后會嚴重影響識別的準確率。此外,這種離線識別方案中,不同的應用場景使用的是不同的命令詞,需要提前將模型和代碼寫入硬件,這意味著即便是采用同一套元器件,不同的應用場景必須得使用不同的模塊,這在實際使用中造成了極大的不便。

【發明內容】

[0004]發明目的:為了克服現有技術中存在的不足,本發明提供一種新的離線語音識別方案,用于解決現有的離線語音識別受制于硬件條件限制導致模型大小及支持的命令詞數量受限、影響識別率,并且采用同一套元器件時對不同場景需使用具有不同模型和代碼的相應模塊才能正常使用所帶來的使用不便的技術問題。
[0005]技術方案:為實現上述目的,本發明采用的技術方案為:
[0006]—種支持多級命令詞的語音交互方法,根據所需識別的場景將命令詞設置為i個級別,i取I至n,這里η為所需識別的場景數量,設定第i級命令詞與第i+Ι級命令詞之間為上下級關系;對每級命令詞分別對應建立識別模型;每個命令詞還分類為屬于控制詞還是非控制詞,其中控制詞觸發所需識別的場景中相應的控制模塊,非控制詞觸發與之關聯的下一級別命令詞的識別過程;
[0007]對輸入的語音進行識別時,按照命令詞級別的上下級的先后順序分為多級進行,其中每一級的識別過程如下:
[0008]首先調入該級別的命令詞的識別模型至RAM存儲器中并將該級別的命令詞作為偵聽目標進行偵聽:
[0009]若無法偵聽到,則根據本次偵聽目標按照下列規則重新偵聽:若本次偵聽目標為一級命令詞,則重新偵聽一級命令詞,若本次偵聽目標為其他級別命令詞,則返回進行識別上一級別命令詞;
[0010]若能偵聽到,則繼續判斷該命令詞為是否為控制詞,若為控制詞,則觸發所需識別的場景中相應的控制模塊,若為非控制詞,則觸發與之關聯的下一級別命令詞的識別過程并將當前級別的命令詞的識別模型從RAM存儲器中刪除。
[0011 ]進一步的,在本發明中,將每級命令詞的識別模型分別存儲于FLASH存儲器中,使用時根據需要從FLASH存儲器中調入相應的識別模型至RAM存儲器中。這樣RAM存儲器就不需要同時支持所有級別的命令詞,只需要分別支持每一級命令詞即可。
[0012]進一步的,在本發明中,對任意一個場景,將該場景所對應的命令詞的識別模型所組成的集合存儲于FLASH存儲器中,使用時根據所需場景從FLASH存儲器中調用該場景對應的識別模型所組成的集合至RAM存儲器中。這樣RAM存儲器就不需要同時支持所有的場景對應的命令詞,只需要在對某種場景有交互需求時相應的識別模型能夠被調用使用即可。
[0013]現有技術中,典型的語音喚醒/命令詞識別算法如下:通過實時語音采集,然后計算語音能量,如果一定時候這些能量沒有超過一個閾值,我們認為沒有聲音,這個時候也就不需要進行語音算法處理處理。一旦檢測到有聲音,我們將會對其后的語音數據計算特征然后語音識別。從工程的角度,從檢測到聲音和聲音結束,會有一段時間,如果時間太長或者太短,我們可以都認為不是我們期望的命令詞語。考慮到識別率和嵌入式計算性能的平衡,我們通常采用基于隱馬爾科夫模型的方法做語音識別。基于隱馬爾科夫模型的語音識別算法是一種經典的、高效的、與說話人無關的一種語音識別算法。它通過使用大量語音語料對語音建模(比如中文可以對每個聲母和韻母建模,或者對每個音節建模等),然后使用這些模型搭建需要的識別網絡。在命令詞識別的時候,針對每個命令詞,我們對連續提取語音特征和建模數據進行計算得到得分,最終我們以最高得分的命令詞為識別結果。另外,為了識別排除一些不是屬于這些命令詞集的語音,我們提供一個通用的共有的模型來計算得分,通過比較這個得分和之前的命令詞網絡得分,以便于判斷這段語音是否是屬于命令詞中的一種,這樣子使得識別算法更有實用性。現有技術中,實現時可通過對編譯器進行定點化代碼實現隱馬爾科夫模型中涉及到的各種浮點運算過程。
[0014]有益效果:本發明提供的多級命令詞識別方案,在有限的資源下極大的擴展了命令詞數量,從而應用領域大大增加,可應用于小家電及所有可加裝聲控模塊的設備上。具體來說,本發明主要有以下優點:
[0015]1、可以大大的節省RAM,在同等硬件條件下,支持更多的命令詞。
[0016]2、進行分級之后,同一時間需要識別的命令詞大大縮小,這樣可以提高識別準確率,同時降低誤識別率。在上面電燈的例子中,普通方案需要同時識別6個命令詞,分級之后,在同一時間同時識別的命令詞變為3或4個,因而準確性和誤識別率可以同時改進。
[0017]3、實現了同一套元器件可以適用于不同的應用場景,并且不必針對不同的場景中RAM中寫入不同的代碼,只需要在實施的時候接上不同的管腳即可,大大的節省了應用成本,提尚經濟效益。
【附圖說明】
[0018]圖1為本發明的框架圖;
[0019]圖2為本發明的硬件示意圖;
[0020]圖3為本發明的識別過程。
【具體實施方式】
[0021]【具體實施方式】I
[0022]在日常應用中,對于電燈的命令詞有“打開燈光”、“關閉燈光”、“調亮燈光”、“減弱燈光”、“溫暖光”、“寒冷光”,按照現有的識別方案,有14個不同的字需要識別,這樣就需要構建這14個字的模型,識別時RAM要支持14個字的模型,這對目前的單片機是很大的考驗。
[0023]按照本發明的方法,可以把“打開燈光”、“關閉燈光”以及“電燈設置”作為一級命令詞,剩下的“調亮燈光”、“減弱燈光”、“溫暖光”、“寒冷光”作為二級命令詞。這樣一級命令詞是9個不同的字,二級命令詞是10個不同的字,這樣RAM存儲器只需要支持10個字的模型就可以實現識別。舉個例子:在具體的算法中,我們可以先偵聽一級命令詞,等到識別出“電燈設置”之后,我們再把二級命令的模型調入到RAM中,如果在規定的時間之內(比如說3秒),沒有偵聽到“調亮燈光”、“減弱燈光”、“溫暖光”、“寒冷光”中任何一個,我們重新再把一級命令詞調回到RAM存儲器中。
[0024]【具體實施方式】2
[0025]在識別的時候根據需要從FLASH存儲器中將不同場景對應的命令詞的識別模型向RAM存儲器中調用時,在硬件電路中也采用類似方案:對不同的管腳進行編碼,例如:接高電壓表示1,接地表示0,這樣對于兩個管腳,總共可以得到00、01、10、11共計四種編碼,程序啟動時,按照不同管腳的高低電平編碼,調入不同的模型到RAM中,以適應不同的應用場景。這樣在實際應用中,我們都只需要提供同一套電子元器件,里面的軟件代碼也都一樣,只是在不同的應用場景的時候,硬件電路接通相應的管腳。例如:我們可以將00對應電燈的命令詞,01對應空調的命令詞,10對應冰箱的命令詞,11對應風扇的命令詞。在實現過程中,我們先檢測編碼,然后調入不同的命令詞模型到RAM存儲器中,這樣就不需要同時支持電燈、空調、冰箱和風扇的命令詞,實際應用只需要調入其中一個到RAM中即可。
[0026]以上所述僅是本發明的優選實施方式,應當指出:對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
【主權項】
1.一種支持多級命令詞的語音交互方法,其特征在于:根據所需識別的場景將命令詞設置為i個級別,i取I至n,這里η為所需識別的場景數量,設定第i級命令詞與第i + Ι級命令詞之間為上下級關系;對每級命令詞分別對應建立識別模型;每個命令詞還分類為屬于控制詞還是非控制詞,其中控制詞觸發所需識別的場景中相應的控制模塊,非控制詞觸發與之關聯的下一級別命令詞的識別過程; 對輸入的語音進行識別時,按照命令詞級別的上下級的先后順序分為多級進行,其中每一級的識別過程如下: 首先調入該級別的命令詞的識別模型至RAM存儲器中并將該級別的命令詞作為偵聽目標進行偵聽: 若無法偵聽到,則根據本次偵聽目標按照下列規則重新偵聽:若本次偵聽目標為一級命令詞,則重新偵聽一級命令詞,若本次偵聽目標為其他級別命令詞,則返回進行識別上一級別命令詞; 若能偵聽到,則繼續判斷該命令詞為是否為控制詞,若為控制詞,則觸發所需識別的場景中相應的控制模塊,若為非控制詞,則觸發與之關聯的下一級別命令詞的識別過程并將當前級別的命令詞的識別模型從RAM存儲器中刪除。2.根據權利要求1所述的支持多級命令詞的語音交互方法,其特征在于:將每級命令詞的識別模型分別存儲于FLASH存儲器中,使用時根據需要從FLASH存儲器中調入相應的識別模型至RAM存儲器中。3.根據權利要求1所述的支持多級命令詞的語音交互方法,其特征在于:對任意一個場景,將該場景所對應的命令詞的識別模型所組成的集合存儲于FLASH存儲器中,使用時根據所需場景從FLASH存儲器中調用該場景對應的識別模型所組成的集合至RAM存儲器中。
【文檔編號】G10L15/14GK105931639SQ201610373481
【公開日】2016年9月7日
【申請日】2016年5月31日
【發明人】楊若沖
【申請人】楊若沖
網友詢問留(liu)言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1