專利名稱:開放式詞匯表語音識別的制作方法
技術領域:
本發(fā)明涉及開放式詞匯表語音識別。本發(fā)明特別適用于,但并不限于,由具有有限存儲器和計算能力的便攜式電子設備進行的開放式詞匯表語音識別。
背景技術:
大詞匯表語音識別系統(tǒng)能識別出很多接收到的被說出的詞。相反,有限的詞匯表語音識別系統(tǒng)就被限制為只能識別相對少量的可以被說出和識別的詞。有限詞匯表語音識別系統(tǒng)的應用包含對少量命令和名字的識別。
大詞匯表語音識別系統(tǒng)正在被越來越多的采用并且被應用于很多不同的應用中。這種語音識別系統(tǒng)需要能夠在提供適當的反應之前,無顯著延時的識別出已接收到的被說出的詞。
大詞匯表語音識別系統(tǒng)通常使用相關性技術來決定被說出的詞(輸入語音信號)和詞在聲音空間中的特征之間的似然值。這些特征可以由聲音模型來產生,這些聲音模型需要來自于一個或多個講話人的訓練數據,并且因而被稱為大詞匯表非特定人語音識別系統(tǒng)。
大詞匯表非特定人語音識別系統(tǒng)需要大量的語音模型,以便在聲音空間中充分歸納出被說出的輸入語音信號中不同的聲音性質在聲音空間中的特征。例如,盡管是由同一個講話人說出,單音/a/在詞“had”和“bad”中的聲音性質就不同。于是,作為依賴于上下文的單音,需要單音單元模擬不同詞中相同單音的不同發(fā)音。
大詞匯表非特定人語音識別系統(tǒng)通?;ㄙM大部分的不必要的時間在似然值技術中尋找一個在輸入語音信號和該系統(tǒng)所用的每個聲音模型之間的匹配值。每個聲音模型通常都用一個多重高斯概率密度函數(PDF)來描述,這里每個高斯函數又是用均值向量和協(xié)方差矩陣來描述的。為了找到輸入語音信號和給定模型之間的似然值,必須將輸入語音信號和每個高斯函數進行匹配。然后得到模型中每個高斯函數成員的值的加權和的形式的最終似然值。每個模型中高斯函數的個數的通常在6至64之間。
在封閉詞匯表語音識別系統(tǒng)和方法中采用了預定義固定詞匯表。在使用中,這種固定詞匯表可以很大,但是并不詳盡,因此,例如一個人的姓和地名就不能包括。相反,開放式詞匯表語音識別系統(tǒng)和方法具有一個可變詞匯表,可以由用戶或者用其他方法在詞匯表中增加新的詞和短語。然而,目前的開放式詞匯表語音識別系統(tǒng)和方法需要相對高的計算開銷,而這并不是便攜式電子設備如個人數字助理、膝上型電腦、無線電話和其他的便攜式計算設備所能接受的。
在本說明書,包括權利要求中,術語“包含”、“包括”或相近術語都是非排他性的包含,這樣,一種方法或者包含一些元件的設備并不只包含那些已列出的元件,還可以包含其他沒有列出的元件。
發(fā)明內容
根據本發(fā)明的一個方面,提供了一種由電子設備執(zhí)行的開放式語音識別的方法,該方法包含接收到一個發(fā)音波形;對該波形進行處理,以便提供表示該波形的特征向量;將這些特征向量與鏈接的(concatenated)單字聲音模型列表中的多個鏈接單字聲音模型相比較,選出適當的鏈接單字聲音模型;以及根據所述適當鏈接單字聲音模型提供一個響應。
鏈接單字聲音模型列表可以用如下步驟來產生從詞匯存儲器中得到文本;將文本轉換為多個音素;以及根據這些音素,將這些音素模型連接到鏈接單字模型中,形成鏈接單字聲音模型列表。
可以用在存儲器中存儲多個鏈接單字模型的方法來產生列表?;蛘咄ㄟ^將音素模型存儲器中的已選模型編入索引中的方法來產生列表。
聲音模型列表最好是大小可變的。聲音模型列表可以在接收步驟的執(zhí)行之前生成。
詞匯表可以是一個開放式詞匯表。該詞匯表可以包含增加的文本輸入。該文本可以是電子設備的使用者增加性的輸入的。
語音模型存儲器可以包含隱藏馬爾可夫模型。
該響應最好包含用于激活該設備功能的控制信號。
或者根據本發(fā)明的另一方面,提供了一種用于開放式詞匯表語音識別的電子設備。該設備可以適當實現(xiàn)任意或者全部上述步驟。
為了更好的理解本發(fā)明并且將本發(fā)明付諸實踐,下面根據附圖對優(yōu)選實施例進行說明,其中圖1是根據本發(fā)明的一個電子設備的示意框圖;圖2是根據本發(fā)明的鏈接單字聲音模型列表的產生方法的流程圖,所述列表是由圖1設備使用的;圖3是根據本發(fā)明的在圖1設備中執(zhí)行的開放式詞匯表語音識別方法的流程圖;圖4是存儲在圖1設備的固定音素存儲器中的一個音素聲音模型的狀態(tài)圖;圖5是鏈接單字聲音模型的狀態(tài)圖。
優(yōu)選實施例的詳細說明參見圖1,圖中所示是一個電子設備100,該設備包含一個通過總線103與用戶接口104相連的設備處理器102,用戶接口104通常是觸摸屏或者顯示屏和小鍵盤。用戶接口104通過總線103與詞隱藏馬爾可夫模型合成器110中的開放式詞匯存儲器112相連。詞隱藏馬爾可夫模型合成器110還包含一個轉換器114,轉換器114的一個輸入與開放式詞匯存儲器112的一個輸出相連。轉換器114的一個輸出與鏈接處理器116的一個輸入相連。鏈接處理器116與固定語音隱藏馬爾可夫模型存儲器118相連,并且鏈接處理器116的一個輸出與一個聲音模型列表存儲器122相連,聲音模型列表存儲器122是單字識別器120的一個組成部分。
單字識別器120還包含一個與前端信號處理器124相連的麥克風106,前端信號處理器124的一個輸出與單字識別器126的一個輸入相連。單字識別器126與聲音模型列表存儲器122相連,并且單字識別器126的一個輸出還通過總線103與設備處理器102相連。總線103還將設備處理器與前端信號處理器124和轉換器114相連。在本實施例中,存儲器122最好也通過總線103與設備處理器102相連。
參見圖2,圖中所示是用于產生設備100使用的鏈接單字聲音模型列表的方法200的流程圖。在開始步驟210,通過給設備100供電或者當用戶通過用戶接口104將一個新的詞或者短語輸入到開放式詞匯表存儲器112中時,調用該方法,于是產生鏈接單字聲音模型列表。在開始步驟210之后,方法200執(zhí)行步驟220,從開放式詞匯存儲器112中得到文本。然后由轉換器114執(zhí)行步驟230,將文本從字母轉換為相應的多個音素。然后,鏈接處理器116執(zhí)行步驟240,根據這些音素,將音素模型連接到單字聲音模型中。例如,如果在開放式詞匯存儲器中的一個詞是“but”,那么就在步驟230將該詞轉化為三個音素/b/、/ah/和/t/。
參見圖4,圖中是隱藏馬爾可夫模型(HMM)的狀態(tài)圖,圖解了一個存儲在固定音素存儲器118中的音素模型(音素聲音模型)。該狀態(tài)圖是用三個狀態(tài)S1、S2、S3模擬的一個可能的音素/b/。與每個狀態(tài)相關聯(lián)的是轉移概率,其中a11和a12是狀態(tài)S1的轉移概率,其中a21和a22是狀態(tài)S2的轉移概率,其中a31和a32是狀態(tài)S3的轉移概率。這樣,對于本領域技術人員來說,顯然狀態(tài)圖是依賴于上下文的三音,每個狀態(tài)S1、S2、S3通常具有6至64個分量的高斯混和。同樣,中間狀態(tài)S2被看作是音素HMM的穩(wěn)定狀態(tài),而其他兩個狀態(tài)是用來描述兩個音素間互連的轉換狀態(tài)。
再參見圖2,用于鏈接的步驟240會得到圖5中的音素/b/、/ah/和/t/的相鏈接的單字聲音模型狀態(tài)圖。如圖所示,每個狀態(tài)圖或者HMM用直接級連的方法連接起來。然后,方法200提供步驟250,產生一個包含多個鏈接單字聲音模型的鏈接單字聲音模型列表。該列表通常被存儲在存儲器中,這個存儲器最好是聲音模型列表存儲器122。也可以用將固定音素隱藏馬爾可夫模型存儲器118中的已選模型編入索引中的方法來產生列表,這樣就用存儲器118內一個索引隱藏馬爾可夫模型連接了這些鏈接單字聲音模型。方法200然后在結束步驟260終止,當以后設備100被供電或者當用戶將一個新詞或短語輸入到開放式詞匯表存儲器112中時,將再次調用該方法。
參見圖3,圖中給出了由電子設備100執(zhí)行的開放式詞匯表語音識別方法300。在開始步驟310之后,通常由用戶在接口104提供的激勵信號調用,方法300在步驟320接收在麥克風106輸入的發(fā)音波形。然后前端信號處理器124進行采樣并且在步驟330將發(fā)音波形進行數字化,然后在步驟340對其進行分割,在步驟350對其進行處理以得到描述波形的特征向量。應當注意,步驟320至350在本領域中是公知的,因此,并不需要詳細的說明。
然后,在步驟360,方法300將這些特征向量與鏈接單字聲音模型列表中的多個鏈接單字聲音模型進行比較,以選出合適的鏈接單字聲音模型。這里所說的比較是由單字識別器126通過對存儲在聲音模型存儲器122中的聲音模型列表進行搜索實現(xiàn)的。然后,識別器126執(zhí)行提供步370來提供一個基于在步驟360選出的合適的鏈接單字聲音模型的響應(識別結果信號)。
本發(fā)明允許用開放式詞匯表語音識別執(zhí)行設備100的命令。這些命令通常是由麥克風106檢測到的用戶發(fā)音,或者通過其他的輸入方法,如通過無線或網絡連接的通信鏈路遠程接收到的語音。方法300在步驟320有效接收到一個發(fā)音,并在步驟370做出反映,這些反映包括提供用于控制設備100或者激勵設備100的一個功能的控制信號。這樣的功能可以是橫過一個菜單或者根據與在步驟320接收到的發(fā)音相符合的名字選出一個相應的電話號碼。
本發(fā)明允許開放式詞匯表語音識別,其中該開放式詞匯表存儲器112可以包含由電子設備100的用戶輸入到詞匯存儲器112的增加性文本輸入。同樣,鏈接單字聲音模型列表是通過對設備100供電或當用戶通過用戶接口104將一個新詞或者短語輸入到詞匯表存儲器112中時產生的。于是,鏈接單字聲音模型列表是在接收步驟320的操作之前激活的。從而,本發(fā)明減輕了與現(xiàn)有技術開放式詞匯表語音識別相關的某些相對較高計算運行時間的消耗。
該詳細的說明書只提供了優(yōu)選范例實施例,但這并不打算限制本發(fā)明的范圍、應用、或者配置。相反,該優(yōu)選范例實施例的詳細說明給本領域技術人員提供了可以用于實現(xiàn)本發(fā)明優(yōu)選范例實施例的描述。應該明白,在不背離所附權利要求中列出的本發(fā)明的精神和范圍的前提下,可以對本發(fā)明中要素的功能和配置進行不同的修改。
權利要求
1.一種由電子設備執(zhí)行的開放式語音識別的方法,該方法包含接收一個發(fā)音波形;對該波形進行處理,以便提供表示該波形的特征向量;將這些特征向量與鏈接單字聲音模型列表中的多個鏈接單字聲音模型相比較,選出適當的鏈接單字聲音模型;以及根據所述適當鏈接單字聲音模型提供一個響應。
2.如權利要求1所述的方法,其中鏈接單字聲音模型列表用如下步驟來產生從詞匯存儲器中得到文本;將文本轉換為多個音素;以及根據這些音素,將這些音素模型連接到鏈接單字模型中,形成鏈接單字聲音模型列表。
3.如權利要求2所述的方法,其中用在存儲器中存儲多個鏈接單字模型的方法來產生列表。
4.如權利要求2所述的方法,其中通過將音素模型存儲器中的已選模型編入索引中的方法來產生列表。
5.如權利要求2所述的方法,其中聲音模型列表是大小可變的,聲音模型列表可以在接收步驟的執(zhí)行之前生成。
6.如權利要求1所述的方法,其中詞匯表可以是一個開放式詞匯表。
7.如權利要求2所述的方法,其中詞匯表可以是一個開放式詞匯表。
8.如權利要求2所述的方法,其中詞匯表包含增加性的文本輸入。
9.如權利要求8所述的方法,其中文本是電子設備的使用者增加性的輸入的。
10.如權利要求2所述的方法,其中模型存儲器包含隱藏馬爾可夫模型。
11.如權利要求2所述的方法,其中響應包含用于激活該設備功能的控制信號。
全文摘要
本發(fā)明描述了一種由電子設備(100)執(zhí)行的開放式詞匯表語音識別方法300。該方法(300)包含接收一個發(fā)音波形(320)和處理該波形(350),以便提供描述該波形的特征向量。然后,執(zhí)行比較步驟(360),將特征向量與鏈接單字聲音模型列表中的多個鏈接單字聲音模型進行比較,以選出一個適合的鏈接單字聲音模型。然后,提供響應步(370),用于提供根據適合的鏈接單字聲音模型的響應。該響應通常是一個用于激勵設備(100)中的功能的控制信號。
文檔編號G10L15/00GK1591567SQ0315609
公開日2005年3月9日 申請日期2003年8月29日 優(yōu)先權日2003年8月29日
發(fā)明者張亞昕, 何昕, 任曉林, 孫放 申請人:摩托羅拉公司