專利背景
截至2012年12月,
語音搜尋是一種新穎的搜尋技術,給廣大
網際網路用戶帶來全新的搜尋體驗,用戶可以使用
語音進行檢索和查詢。語音搜尋使用
語音識別技術把用戶的語音內容識別成文本,然後使用文本搜尋技術將搜尋結果返回給用戶,可見在語音搜尋中語音識別是關鍵核心環節。
2012年12月前已有語音識別技術主要採用以下幾種技術:
其一、基於加權有限狀態機(WFST)的語音識別系統,使用WFST技術把語音識別的聲學層信息和語言層信息集成在一個網路中,進行確定化、最小化、空邊去除等操作後,得到一個緊湊的WFST網路,然後基於該緊湊的WFST網路進行識別。
其二、基於兩遍解碼的WFST的語音識別系統,構建兩個WFST網路,在進行語音識別時,進行兩遍解碼:第一遍解碼使用較小的WFST網路,在第一遍解碼的識別結果基礎之上,第二遍解碼使用較大的WFST網路得到最終的識別結果。
由於語音搜尋任務中語音識別系統的語言層信息約束需要實時更新,更新頻率越快,語音識別系統對新信息的語音識別能力越強。但上述第一種方式雖然語音識別速度較快,但往往需要耗費大量的時間和計算機記憶體,這就限制了可以使用的語言模型的體積。並且由於語言層和聲學層耦合在一起,每次語言層的更新都涉及到整個網路的更新,導致更新速度很慢,降低了搜尋新發生事物和信息的能力。第二種方式識別速度較慢,且兩個WFST網路的構建導致語言層的更新涉及到兩個網路的更新,更新速度也很慢,同樣影響搜尋新發生事物和信息的能力。
發明內容
專利目的
《建立語音識別模型的方法、語音識別方法及對應裝置》提供了一種建立語音識別模型的方法、語音識別方法及對應裝置,以便於實現語言層的快速更新,從而提高搜尋新發生事物和信息的能力。
技術方案
一種建立語音識別模型的方法,該方法包括:
S2、將語言模型信息抽象為有限狀態機並進行最佳化,得到語言層網路;
S3、利用所述聲學層空間網路和所述語言層網路形成語言模型預測網路;
所述聲學層空間網路、語言層網路和語言模型預測網路構成所述語音識別模型。
根據該發明一優選實施例,所述步驟S1具體包括:
將所述詞典中的詞進行排列後,構建回跳詞網路,所述回跳詞網路中任一詞的詞尾都跳轉回該詞的詞頭;
將所述回跳詞網路中的每個詞採用該詞的聲學模型替換,得到聲學圖網路,其中所述詞的聲學模型為構成該詞的音素之間的轉移機率;
採用計算機圖論方法對所述聲學圖網路進行最佳化,得到聲學層空間網路。
根據該發明一優選實施例,所述語言模型信息為n-gram語言模型;
所述步驟S2具體包括:將n-gram語言模型的查詢歷史作為有限狀態機的當前狀態,將n-gram語言模型的輸入詞作為有限狀態機的當前輸入,將n-gram語言模型的查詢結果作為有限狀態機針對當前輸入的輸出,利用計算機圖論技術對所述有限狀態機進行最佳化,得到語言層網路。
根據該發明一優選實施例,所述步驟S3具體包括:利用所述聲學層空間網路中樹結構的內容和所述語言層網路,根據最大可能連線機率原則計算出每一個詞接續所有可能的詞的最大機率,得到所述語言模型預測網路。
一種語音識別方法,基於上述方法建立的語音識別模型,該語音識別方法包括:
A1、對輸入語音進行聲學特徵提取;
A2、基於提取的聲學特徵,在聲學層空間網路和語言層網路上進行節點查找,並在查找過程中利用語言模型預測網路對查找到的節點進行裁剪,將得到的各節點構成的最優解碼路徑作為所述輸入語音的識別結果。
根據該發明一優選實施例,在所述步驟A2中基於提取的聲學特徵逐步執行步驟A21至步驟A23;
A21、進行聲學模型的打分計算;
A22、查找所述聲學層空間網路,並利用所述語言模型預測網路對查找到的節點進行裁剪後,利用查找到的節點更新當前解碼路徑,其中初始解碼路徑為空;
A23、利用當前解碼路徑查找所述語言層網路,利用查找到的節點更新當前解碼路徑,並將查找到的節點對應的詞壓入詞棧,基於當前解碼路徑轉至步驟A21;
A24、待針對所述輸入語音的聲學特徵執行完所述步驟A21至步驟A23後,通過回溯詞棧的方式確定最優解碼路徑作為所述輸入語音的識別結果。
一種建立語音識別模型的裝置,該裝置包括:聲學層構建單元,用於將詞典和聲學模型信息進行融合,得到聲學層空間網路;語言層構建單元,用於將語言模型信息抽象為有限狀態機並進行最佳化,得到語言層網路;預測模型構建單元,用於利用所述聲學層空間網路和所述語言層網路形成語言模型預測網路;所述聲學層空間網路、語言層網路和語言模型預測網路構成所述語音識別模型。
根據該發明一優選實施例,所述聲學層構建單元具體包括:第一構建子單元,用於將所述詞典中的詞進行排列後,構建回跳詞網路,所述回跳詞網路中任一詞的詞尾都跳轉回該詞的詞頭;第二構建子單元,用於將所述回跳詞網路中的每個詞採用該詞的聲學模型替換,得到聲學圖網路,其中所述詞的聲學模型為構成該詞的音素之間的轉移機率;最佳化子單元,用於採用計算機圖論方法對所述聲學圖網路進行最佳化,得到聲學層空間網路。
根據該發明一優選實施例,所述語言模型信息為n-gram語言模型;所述語言層構建單元具體將n-gram語言模型的查詢歷史作為有限狀態機的當前狀態,將n-gram語言模型的輸入詞作為有限狀態機的當前輸入,將n-gram語言模型的查詢結果作為有限狀態機針對當前輸入的輸出,利用計算機圖論技術對所述有限狀態機進行最佳化,得到語言層網路。
根據該發明一優選實施例,預測模型構建單元具體利用所述聲學層空間網路中樹結構的內容和所述語言層網路,根據最大可能連線機率原則計算出每一個詞接續所有可能的詞的最大機率,得到所述語言模型預測網路。
一種語音識別裝置,基於上述裝置建立的語音識別模型,該語音識別裝置包括:特徵提取單元,用於對輸入語音進行聲學特徵提取;語音解碼單元,用於基於提取的聲學特徵,在聲學層空間網路和語言層網路上進行節點查找,並在查找過程中利用語言模型預測網路對查找到的節點進行裁剪,將得到的各節點構成的最優解碼路徑作為所述輸入語音的識別結果。
根據該發明一優選實施例,所述語音解碼單元具體包括:聲學層打分子單元,用於進行聲學模型的打分計算;聲學層內擴展子單元,用於基於提取的聲學特徵逐步查找所述聲學層空間網路,並利用所述語言模型預測網路對查找到的節點進行裁剪後,利用查找到的節點更新當前解碼路徑,其中初始解碼路徑為空;聲學層間擴展子單元,用於利用當前解碼路徑查找所述語言層網路,利用查找到的節點更新當前解碼路徑,基於當前解碼路徑觸發所述聲學層打分子單元;詞棧收集子單元,用於將所述聲學層間擴展子單元查找到的節點對應的詞壓入詞棧,待所述聲學層內擴展子單元和所述聲學層間擴展子單元針對所述輸入語音的聲學特徵執行完查找後,通過回溯詞棧的方式確定最優解碼路徑作為所述輸入語音的識別結果。
改善效果
由以上技術方案可以看出,該發明提供的語音識別模型將語音層信息和聲學層信息的耦合關係分解開來,使其成為各自獨立的網路,其中語言層網路在更新時不會受到聲學層網路的牽連,能夠實現快速的實時動態更新,基於該語音識別模型實現的語音搜尋具有更高的搜尋新發生事物和信息的能力。
附圖說明
圖1為該發明實施例一提供的建立語音識別模型的方法流程圖;
圖2為該發明實施例一提供的聲學層空間網路的結構示意圖;
圖3為該發明實施例二提供的語音識別方法的主要流程圖;
圖4為該發明實施例二提供的語音識別中的詳細解碼流程圖;
圖5為該發明實施例三提供的建立語音識別模型的裝置結構圖;
圖6為該發明實施例三提供的聲學層構建單元的具體結構圖;
圖7為該發明實施例四提供的語音識別裝置結構圖。
權利要求
1.一種建立語音識別模型的方法,其特徵在於,該方法包括:
S1、將所述詞典中的詞進行排列後,構建回跳詞網路,所述回跳詞網路中任一詞的詞尾都跳轉回該詞的詞頭;將所述回跳詞網路中的每個詞採用該詞的聲學模型替換,得到聲學圖網路,其中所述詞的聲學模型為構成該詞的音素之間的轉移機率;採用計算機圖論方法對所述聲學圖網路進行最佳化,得到聲學層空間網路
S2、將語言模型信息抽象為有限狀態機並進行最佳化,得到語言層網路;
S3、利用所述聲學層空間網路和所述語言層網路形成語言模型預測網路;
所述聲學層空間網路、語言層網路和語言模型預測網路構成所述語音識別模型。
2.根據權利要求1所述的方法,其特徵在於,所述語言模型信息為n-gram語言模型;所述步驟S2具體包括:將n-gram語言模型的查詢歷史作為有限狀態機的當前狀態,將n-gram語言模型的輸入詞作為有限狀態機的當前輸入,將n-gram語言模型的查詢結果作為有限狀態機針對當前輸入的輸出,利用計算機圖論技術對所述有限狀態機進行最佳化,得到語言層網路。
3.根據權利要求1所述的方法,其特徵在於,所述步驟S3具體包括:利用所述聲學層空間網路中樹結構的內容和所述語言層網路,根據最大可能連線機率原則計算出每一個詞接續所有可能的詞的最大機率,得到所述語言模型預測網路。
4.一種語音識別方法,其特徵在於,基於如權利要求1至4任一權項所述方法建立的語音識別模型,該語音識別方法包括:
A1、對輸入語音進行聲學特徵提取;
A2、基於提取的聲學特徵,在聲學層空間網路和語言層網路上進行節點查找,並在查找過程中利用語言模型預測網路對查找到的節點進行裁剪,將得到的各節點構成的最優解碼路徑作為所述輸入語音的識別結果。
5.根據權利要求4所述的語音識別方法,其特徵在於,在所述步驟A2中基於提取的聲學特徵逐步執行步驟A21至步驟A23;
A21、進行聲學模型的打分計算;
A22、查找所述聲學層空間網路,並利用所述語言模型預測網路對查找到的節點進行裁剪後,利用查找到的節點更新當前解碼路徑,其中初始解碼路徑為空;
A23、利用當前解碼路徑查找所述語言層網路,利用查找到的節點更新當前解碼路徑,並將查找到的節點對應的詞壓入詞棧,基於當前解碼路徑轉至步驟A21;
A24、待針對所述輸入語音的聲學特徵執行完所述步驟A21至步驟A23後,通過回溯詞棧的方式確定最優解碼路徑作為所述輸入語音的識別結果。
6.一種建立語音識別模型的裝置,其特徵在於,該裝置包括:聲學層構建單元,用於將詞典和聲學模型信息進行融合,得到聲學層空間網路;語言層構建單元,用於將語言模型信息抽象為有限狀態機並進行最佳化,得到語言層網路;預測模型構建單元,用於利用所述聲學層空間網路和所述語言層網路形成語言模型預測網路;所述聲學層空間網路、語言層網路和語言模型預測網路構成所述語音識別模型;所述聲學層構建單元具體包括:第一構建子單元,用於將所述詞典中的詞進行排列後,構建回跳詞網路,所述回跳詞網路中任一詞的詞尾都跳轉回該詞的詞頭;第二構建子單元,用於將所述回跳詞網路中的每個詞採用該詞的聲學模型替換,得到聲學圖網路,其中所述詞的聲學模型為構成該詞的音素之間的轉移機率;最佳化子單元,用於採用計算機圖論方法對所述聲學圖網路進行最佳化,得到聲學層空間網路。
7.根據權利要求6所述的裝置,其特徵在於,所述語言模型信息為n-gram語言模型;所述語言層構建單元具體將n-gram語言模型的查詢歷史作為有限狀態機的當前狀態,將n-gram語言模型的輸入詞作為有限狀態機的當前輸入,將n-gram語言模型的查詢結果作為有限狀態機針對當前輸入的輸出,利用計算機圖論技術對所述有限狀態機進行最佳化,得到語言層網路。
8.根據權利要求6所述的裝置,其特徵在於,預測模型構建單元具體利用所述聲學層空間網路中樹結構的內容和所述語言層網路,根據最大可能連線機率原則計算出每一個詞接續所有可能的詞的最大機率,得到所述語言模型預測網路。
9.一種語音識別裝置,其特徵在於,基於如權利要求7至10任一權項所述裝置建立的語音識別模型,該語音識別裝置包括:特徵提取單元,用於對輸入語音進行聲學特徵提取;語音解碼單元,用於基於提取的聲學特徵,在聲學層空間網路和語言層網路上進行節點查找,並在查找過程中利用語言模型預測網路對查找到的節點進行裁剪,將得到的各節點構成的最優解碼路徑作為所述輸入語音的識別結果。
10.根據權利要求9所述的語音識別裝置,其特徵在於,所述語音解碼單元具體包括:聲學層打分子單元,用於進行聲學模型的打分計算;聲學層內擴展子單元,用於基於提取的聲學特徵逐步查找所述聲學層空間網路,並利用所述語言模型預測網路對查找到的節點進行裁剪後,利用查找到的節點更新當前解碼路徑,其中初始解碼路徑為空;聲學層間擴展子單元,用於利用當前解碼路徑查找所述語言層網路,利用查找到的節點更新當前解碼路徑,基於當前解碼路徑觸發所述聲學層打分子單元;詞棧收集子單元,用於將所述聲學層間擴展子單元查找到的節點對應的詞壓入詞棧,待所述聲學層內擴展子單元和所述聲學層間擴展子單元針對所述輸入語音的聲學特徵執行完查找後,通過回溯詞棧的方式確定最優解碼路徑作為所述輸入語音的識別結果。
實施方式
實施例一
圖1為該發明實施例一提供的建立語音識別模型的方法流程圖,如圖1所示,該方法主要包括以下步驟:
步驟101:將詞典和聲學模型信息進行融合,得到聲學層空間網路。
該步驟的目的是建立代表聲學模型信息的聲學層空間網路,用於把語音識別中的所有聲學相關的信息內容組織成一個易於計算機處理的由大量節點連線而成的網路。
聲學層空間網路的構建所需要的資源是詞典和聲學模型信息,而不需要任何語言模型信息。
具體地,構建聲學層空間網路的方法具體包括:將詞典中的詞進行排列後,構建回跳詞網路,所述回跳詞網路中任一詞的詞尾都允許跳轉回該詞的詞頭。將回跳詞網路中的每個詞採用這個詞的聲學模型替換,得到聲學圖網路,該聲學網路是一個表示聲學模型狀態序列的網路。其中聲學模型可以是諸如高斯混合模型或者是考慮了聲學上下文相關性的音素模型(context dependent phone mode)等聲學模型,詞的聲學模型中包含構成該詞的音素之間的轉移機率,其中音素為構成音節的最小單位。
然後,再採用計算機圖論方法對聲學圖網路進行最佳化,就可以得到聲學層空間網路了。在此可以採用任意的計算機圖論方法來進行最佳化,由於是2012年12月前已有技術,在此不再具體描述。
除了聲學層空間網路設計上的和語言層信息的分離,該步驟中建立的聲學層空間網路還具有緊湊無冗餘的特點。通過這種建立聲學層空間網路的方式,聲學層空間網路被組織成一個前面層是樹結構、中間層是輸出詞、後面層是圖結構的特殊結構,所有的節點都展開到聲學模型的最小單元,即達到廣義矩估計(GMM)狀態,這樣能夠保證圖的最緊湊連線。該聲學層空間網路的結構可以如圖2所示。
其中樹結構是可以用於後續的語言模型預測,中間層是用於快速地輸出正確的詞,圖結構用於保證聲學層空間網路的最緊湊結構,儘量多的合併路徑。
步驟102:將語言模型信息抽象為有限狀態機進行最佳化,得到語言層網路。
該步驟中將傳統的n-gram語言模型抽象成一個緊湊的WFST網路,這種緊湊抽象的主要好處在於解碼路徑的組織更加簡單,任何時候歷史路徑信息都可以用網路中的節點唯一表示,同時在求取語言模型打分的時候速度更快,其中n-gram語言模型包括n元詞語在大規模語料中按順序出現的機率,n為一個或多個大於1的正整數。
該步驟採用的思想是利用語言模型以往歷史軌跡信息,在每個語言模型節點上增加一個整數信息(4個位元組),就可以實現海量語言模型的wfst的抽象。具體方式為:將n-gram語音模型的查詢歷史作為有限狀態機的當前狀態,把n-gram語言模型的輸入詞作為有限狀態機的當前輸入,將n-gram語音模型的查詢結果作為有限狀態機針對當前輸入產生的輸出,這樣就可以把語言模型的查詢過程看做是以一個有限狀態機的跳轉。再採用傳統的計算機圖論技術對有限狀態機進行最佳化,就抽象出語言層網路。語言層網路中的節點為詞,在該網路中還存在詞語之間構成上下文時的出現機率。
通過上述抽象過程,抽象前和抽象後的語言模型體積大小差異在20%以內。在完成語言模型的上述WFST抽象後,任何一個語音識別過程的路徑節點都被表示成一個當前聲學層空間網路節點和語言層網路節點。在計算語言模型打分的時候,可以在已經知道語言模型歷史的情況下,最多進行一個二分法查找,從而簡化了語言模型打分計算過程,使高速搜尋成為可能。
步驟103:利用上述聲學層空間網路和語言層網路形成語言模型預測網路。
語言模型預測網路用於語音識別過程中提高路徑裁剪效率,從而做語言模型預測。語言模型預測網路是結合語言層網路和聲學信息空間網路生成的。具體實施辦法是充分利用了聲學層空間網路的緊湊型這一特點,利用聲學層空間網路中的樹結構和語言層網路,根據最大可能連線機率原則計算出每一個接續所有可能的詞的最大機率,得到語言模型預測網路。
可見,在進行語言模型預測網路的構建時,僅使用了聲學層空間網路中的樹結構,而在輸出詞以後的大部分聲學層空間網路的圖結構並不需要有語言模型預測的得分,這樣就減少了語言模型預測部分在實際語音識別過程中的預測得分查詢量。具體如何利用已有的聲學層信息和語言層信息構建語言模型預測網路是業內的公知技術。
另外,由於語言模型的預測算法是天然可以並行計算的。因此在實際產品中,在語言模型的動態調整之後,利用多計算機並行計算的方法也可以實現語言模型預測網路的高速動態更新。
在執行了上述步驟之後,由聲學層空間網路、語言層網路和語言模型預測網路就構成了最終的語音識別模型。基於該語音識別模型就可以實現語音識別過程了,下面通過實施例二對語音識別的方法進行詳細描述。
實施例二
圖3為該發明實施例二提供的語音識別方法的流程圖,如圖3所示,該方法可以包括以下步驟:
步驟301:對輸入語音進行聲學特徵提取。
該步驟中對輸入語音進行的聲學特徵提取可以採用2012年12月前已有技術中的任一種方式,在此不做具體限制,例如線性預測倒譜係數(LPCC)、Mel頻率倒譜係數(MFCC)的提取等。
步驟302:基於提取的聲學特徵,在聲學層空間網路和語言層網路上進行節點查找,並在查找過程中利用語言模型預測網路對查找到的節點進行裁剪,將得到的各節點構成的最優解碼路徑作為輸入語音的識別結果。
該步驟是語音識別的核心內容,其中查找聲學層空間網路和查找語言層網路交替進行。查找聲學層空間網路是用於識別輸入語音中可能的詞,也就是說在聲學層空間網路內進行解碼路徑中詞語的擴展。查找語言層網路是用於確定構成輸入語音的詞序列,也就是說查找語言層網路是在聲學層空間網路間進行解碼路徑的擴展,並影響之後的路徑組織。
該步驟中具體的實現過程可以如圖4所示,基於提取的聲學特徵逐步執行步驟401至步驟403。其中所述“逐步”通常是針對輸入語音進行分段,逐段基於對應的聲學特徵執行步驟401至步驟403,該發明對此處的分段方式並不加以限制,通常可以採用按照語音幀分段的方式。
步驟401:在路徑的實際擴展之前,首先要進行聲學模型的打分計算。
在此可以進行聲學模型的高斯打分計算,該部分為2012年12月前已有技術,在此進行詳述。
步驟402:查找聲學層空間網路,並利用語言模型預測網路對查找到的節點進行裁剪,利用查找到的節點更新當前解碼路徑。
該步驟是聲學層空間網路內擴展,即一個詞內部的擴展,這個擴展是在聲學層空間網路上按照節點連線的順序依次展開的。聲學層空間網路制約著所有解碼路徑的走向,在進行聲學層空間網路內擴展的過程中,除了聲學層信息外,還有語言模型預測信息的施加,這是通過語音識別模型中的語言模型預測網路來進行的。
具體地,在聲學層空間網路上查找到的節點,首先進行語言模型的估計,該估計可以採用語言模型預測網路中的值來代替,直到進行聲學層空間網路間擴展(查找語言層網路)的時候被真正的語言模型打分代替。也就是說,在聲學層空間網路上查找到的節點,利用語言模型預測網路進行裁剪,可以保留最大機率值對應的解碼路徑。另外,在初始解碼時,可以默認初始解碼路徑為空。
步驟403:利用當前解碼路徑查找語言層網路,利用查找到的節點更新當前解碼路徑,並將查找到的節點對應的詞壓入詞棧,針對當前解碼路徑轉至步驟401。
該步驟是聲學層空間網路間的擴展,此時的語言模型打分是在語言層網路上求取的。在完成語言層網路的查找後,解碼路徑的狀態會在根據語言層網路的節點信息進行更新,並影響基於後續聲學特徵的聲學層空間網路內擴展,即在進行語言層網路的查找之後,對解碼路徑進行裁剪,裁剪後保留的解碼路徑才回進入下一輪聲學層空間網路的查找。
然後需要把當前識別出來的詞(即在語言層網路查找到的節點)收集進入詞棧。詞棧中的每一個詞都會進入下一輪聲學空間網路查詢。
步驟404:待針對整個輸入語音的聲學特徵執行上述流程後,通過回溯詞棧的方式確定最優解碼路徑作為輸入語音的識別結果。
以上是對該發明所提供的方法進行的詳細描述,下面對該發明所提供的裝置進行詳細描述。
實施例三
圖5為該發明實施例三提供的建立語音識別模型的裝置結構圖,如圖5所示,該裝置可以包括:聲學層構建單元500、語言層構建單元510以及預測模型構建單元520。
聲學層構建單元500將詞典和聲學模型信息進行融合,得到聲學層空間網路。聲學層空間網路的構建所需要的資源是詞典和聲學模型信息,而不需要任何語言模型信息。
圖6中示出了該聲學層構建單元500的一種實現方式,如圖6所示,具體可以包括:第一構建子單元501、第二構建子單元502和最佳化子單元503。
第一構建子單元501將詞典中的詞進行排列後,構建回跳詞網路,回跳詞網路中任一詞的詞尾都跳轉回該詞的詞頭。
第二構建子單元502將回跳詞網路中的每個詞採用該詞的聲學模型替換,得到聲學圖網路,其中詞的聲學模型為構成該詞的音素之間的轉移機率。聲學模型可以是諸如高斯混合模型或者是考慮了聲學上下文相關性的音素模型等2012年12月前已有聲學模型,
最佳化子單元503,用於採用計算機圖論方法對聲學圖網路進行最佳化,得到聲學層空間網路。在此可以採用任意的計算機圖論方法來進行最佳化,由於是2012年12月前已有技術,在此不再具體描述。
除了聲學層空間網路設計上的和語言層信息的分離,聲學層構建單元500建立的聲學層空間網路還具有緊湊無冗餘的特點。通過這種建立聲學層空間網路的方式,聲學層空間網路被組織成一個前面層是樹結構、中間層是輸出詞、後面層是圖結構的特殊結構,所有的節點都展開到聲學模型的最小單元,即達到GMM狀態,這樣能夠保證圖的最緊湊連線。該聲學層空間網路的結構可以如圖2所示。
繼續參見圖5,語言層構建單元510,用於將語言模型信息抽象為有限狀態機並進行最佳化,得到語言層網路。
其中採用的語言模型信息為n-gram語言模型,語言層構建單元510可以具體將n-gram語言模型的查詢歷史作為有限狀態機的當前狀態,將n-gram語言模型的輸入詞作為有限狀態機的當前輸入,將n-gram語言模型的查詢結果作為有限狀態機針對當前輸入的輸出,利用計算機圖論技術對有限狀態機進行最佳化,得到語言層網路。該語言層網路是一個緊湊的WFST網路,使得解碼路徑的組織更加簡單,任何時候歷史路徑信息都可以用網路中的節點唯一表示,同時在求取語言模型打分的時候速度更快。
在得到上述聲學層空間網路和語言層網路之後,為了提高語音識別過程中的路徑裁剪效率,預測模型構建單元520利用聲學層空間網路和語言層網路形成語言模型預測網路。
優選地,可以充分利用聲學層空間網路的緊湊型這一特點,利用聲學層空間網路中樹結構的內容和語言層網路,根據最大可能連線機率原則計算出每一個詞接續所有可能的詞的最大機率,得到語言模型預測網路。具體如何利用已有的聲學層信息和語言層信息構建語言模型預測網路是業內的公知技術。
此時,聲學層空間網路、語言層網路和語言模型預測網路就構成了語音識別模型。
實施例四
圖7為該發明實施例四提供的語音識別裝置結構圖,該裝置的語音識別基於實施例四所示裝置建立的語音識別模型,如圖7所示,該語音識別裝置可以包括:特徵提取單元700和語音解碼單元710。
特徵提取單元700對輸入語音進行聲學特徵提取。對輸入語音進行的聲學特徵提取可以採用2012年12月前已有技術中的任一種方式,在此不做具體限制,例如LPCC、MFCC的提取等。
然後,語音解碼單元710基於提取的聲學特徵,在聲學層空間網路和語言層網路上進行節點查找,並在查找過程中利用語言模型預測網路對查找到的節點進行裁剪,將得到的各節點構成的最優解碼路徑作為輸入語音的識別結果。
語音解碼單元710是語音識別的核心內容,其中查找聲學層空間網路和查找語言層網路交替進行。查找聲學層空間網路是用於識別輸入語音中可能的詞,也就是說在聲學層空間網路內進行解碼路徑中詞語的擴展。查找語言層網路是用於確定構成輸入語音的詞序列,也就是說查找語言層網路是在聲學層空間網路間進行解碼路徑的擴展,並影響之後的路徑組織。
語音解碼單元710的具體結構可以包括:聲學層打分子單元711、聲學層內擴展子單元712、聲學層間擴展子單元713以及詞棧收集子單元714。
首先聲學層打分子單元711進行聲學模型的打分計算。在此可以進行聲學模型的高斯打分計算,該部分為2012年12月前已有技術,在此進行詳述。
聲學層內擴展子單元712基於提取的聲學特徵逐步查找聲學層空間網路,並利用語言模型預測網路對查找到的節點進行裁剪後,利用查找到的節點更新當前解碼路徑,其中初始解碼路徑為空。
聲學層內擴展子單元712執行的是聲學層空間網路內擴展,即一個詞內部的擴展,這個擴展是在聲學層空間網路上按照節點連線的順序依次展開的。聲學層空間網路制約著所有解碼路徑的走向,在進行聲學層空間網路內擴展的過程中,除了聲學層信息外,還有語言模型預測信息的施加,這是是通過語音識別模型中的語言模型預測網路來進行的。
具體地,在聲學層空間網路上查找到的節點,首先進行語言模型的估計,該估計可以採用語言模型預測網路中的值來代替,直到進行聲學層空間網路間擴展(查找語言層網路)的時候被真正的語言模型打分代替。也就是說,在聲學層空間網路上查找到的節點,利用語言模型預測網路進行裁剪,可以保留最大機率值對應的解碼路徑。
之後,聲學層間擴展子單元713利用當前解碼路徑查找語言層網路,利用查找到的節點更新當前解碼路徑,基於當前解碼路徑觸發聲學層打分子單元711。
聲學層間擴展子單元713執行的是聲學層空間網路間的擴展,此時的語言模型打分是在語言層網路上求取的。在完成語言層網路的查找後,解碼路徑的狀態會在根據語言層網路的節點信息進行更新,並影響基於後續聲學特徵的聲學層空間網路內擴展。
詞棧收集子單元714,用於將聲學層間擴展子單元713查找到的節點對應的詞壓入詞棧,詞棧中的每一個詞都會進入下一輪聲學空間網路查詢。待聲學層內擴展子單元712和聲學層間擴展子單元713針對輸入語音的聲學特徵執行完查找後,通過回溯詞棧的方式確定最優解碼路徑作為輸入語音的識別結果。
由以上描述可以看出,該發明提供的方法和裝置具備以下優點:
1)該發明提供的語音識別模型將語音層信息和聲學層信息的耦合關係分解開來,使其成為各自獨立的網路,其中語言層網路在更新時不會受到聲學層網路的牽連,能夠實現快速的實時動態更新,基於該語音識別模型實現的語音搜尋具有更高的搜尋新發生事物和信息的能力。
2)聲學層空間網路和語言層網路都具有緊湊無冗餘的特點,使得語音識別過程中解碼速度更快。
3)語音識別方法採用一遍解碼方式,更夠更快地得到識別結果,提高解碼速度,提高用戶滿意度。
4)該發明建立的語音識別模型支持任意階海量n-gram語言模型的快速更新,支持的語言模型的大小可以高達幾十億文法的一編解碼。
榮譽表彰
2018年12月20日,《建立語音識別模型的方法、語音識別方法及對應裝置》獲得第二十屆中國專利銀獎。