麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種用于語音識別的Ngram模型改進方法

文檔序號:2833689閱讀:1863來源:國知局
專利名稱:一種用于語音識別的Ngram模型改進方法
技術領域
本發(fā)明公開了一種用于語音識別的Ngram模型改進方法,特別是用于小語料條件下的特定語音識別任務的Ngram模型改進方法。
背景技術
I.語言模型在語音識別中起到 舉足輕重的作用。聲學模型、語言模型和解碼算法,構成一個完整的語音識別框架。2.傳統(tǒng)的Ngram(N元文法,N-gram, Ngram)模型是應用最廣的語言模型,其優(yōu)點是查詢速度快,可以方便的轉成WFST(加權有限狀態(tài)轉換器,Weighted Finite StateTransducer)。轉成WFST后,識別速度可以提升一個數量級。然而,由于Ngram模型對數據分布作了一系列假設,當訓練數據分布與假設不同時,特別是訓練數據量較少的時候,其性能將大打折扣。3.近年來出現了一種RNN(回歸神經網絡,Recurrent Neural Network)語言模型,它可以解決Ngram模型的這種缺點。但它的時間復雜度是Ngram模型的百倍以上。查詢速度對語音識別而言完全無法接受。另外,由于RNN具有時間記憶功能,在同一時刻不宜對多個詞進行查詢。否則語言模型的記憶混亂,查詢結果嚴重失常。4.現行的解決方案通常采用Ngram作語音識別,將結果輸出后由RNN模型重新計分。該方法可以取得很好的效果,但缺點也是明顯的。它將一遍搜索過程變成了多遍搜索。系統(tǒng)需要維持一個龐大的詞圖(WordLattice)網絡來保存所有可能的候選。5.語言模型通常采用PPL(困惑度,Perplexity)衡量其性能,然而PPL與語音識別率不能直接掛鉤,很難認為,把PPL優(yōu)化到最小(概率最大)則識別錯誤率最小。

發(fā)明內容
為解決上述問題,本發(fā)明提出了一種用于語音識別的Ngram模型改進方法,其包括步驟SlOl :將用于語音識別的原始Ngram模型轉成等價的WFSA網絡NETl ;步驟S102 :利用RNN優(yōu)化所述NETl,使得使用所述NETl對訓練文本打分時,對于訓練文本中每個語句的輸出概率最大化;步驟S103 :利用發(fā)音字典將所述NETl轉成帶有語言模型概率的WFST發(fā)音網絡NET2 ;步驟S104 :利用音子混淆矩陣優(yōu)化所述發(fā)音網絡NET2,使得句子錯誤率最小化;步驟S105 :將所述發(fā)音網絡NET2反向轉換成改進后的Ngram模型。本發(fā)明提出的方法采用RNN對Ngram進行優(yōu)化,優(yōu)化后的Ngram模型PPL性能優(yōu)于RNN,且能保持原有的快速查詢特性。該技術應用于訓練語料不足條件下的Ngram語言模型優(yōu)化可取的顯著效果。它引入了音子混淆矩陣對Ngram模型進行最小錯誤率訓練,該過程模擬了語音識別過程中聲學解碼和語言解碼相結合的解碼方式,使得優(yōu)化目標更接近真實的語音識別過程,從而使得識別率得到顯著提高。


圖I為本發(fā)明的用于語音識別的Ngram模型改進方法的流程圖;圖2為本發(fā)明中將Ngram模型轉換成WFSA網絡NETl的流程圖;圖3為本發(fā)明中利用RNN模型優(yōu)化NETl的流程圖;圖4為本發(fā)明中利用RNN模型優(yōu)化NETl中所有弧的流程圖;圖5為本發(fā)明中用于增強NETl的表達能力的流程圖;圖6為利用本發(fā)明的方法所轉成的WFSA網絡的具體實例示圖;
圖7為圖6所示出的WFSA網絡上標示了最佳路徑的示例圖;圖8為WFST和WFSA的一個示例圖;圖9 (a) -9 (i)為實現圖6的具體分解流程圖;圖10 (a)為本發(fā)明中將NETl轉換成WFST網絡NET_W0RD的示意圖;圖10 (b)為本發(fā)明中將WFST網絡NET_W0RD轉換成WFST網絡NET2的示意圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,以下結合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。圖I為本發(fā)明所述的一種用于語音識別的Ngram模型改進方法的流程圖。所述用于語音識別的Ngram模型改進方法用于特定領域語音識別,針對訓練語料較少的條件下改善Ngram模型的性能具有顯著效果,例如車載導航系統(tǒng)中的語音導航功能、地名識別功能、控制命令識別功能等。所述用于語音識別的Ngram模型改進方法,具體包括步驟步驟SlOl :將Ngram轉成等價的WFSA(加權有限狀態(tài)自動機,Weighted FiniteState Automata)網絡 NET I。步驟S102 :利用RNN優(yōu)化NETl,使得輸出概率最大化。步驟S103 :利用發(fā)音字典將NETl轉成帶有語言模型概率的WFST發(fā)音網絡NET2。步驟S104 :利用音子混淆矩陣優(yōu)化NET2使得句子錯誤率最小化。步驟S105 :將NET2反向轉換成Ngram模型。其中,如附圖8所示,WFST和WFSA都是有向圖,圖上有若干狀態(tài),狀態(tài)之間有連接弧,弧是有方向的,并且每條弧上帶有輸入字串和權重;它們的不同點在于,WFSA的弧上只有輸入字串和權重,WFST上除了帶有輸入字串和權重,還有輸出。更具體地,每個步驟操作細節(jié)如下步驟SlOl :將Ngram轉成等價的WFSA網絡NET1。NETl的網絡狀態(tài)數目等于Ngram的所有元組數目加1,除了初始狀態(tài)表示空字符串以外,其它的每個狀態(tài)代表一個N元組,如狀態(tài)W1W2. . Wlri,該狀態(tài)表示包含W1W2. . Wn^1的文字組合;如果Ngram模型中概率P(Wn)W1W2. . Wlri)存在,即表示文本中從包含W1W2. . wn_!的文字組合觀察到包含W1W2. . WlriWn的文字組合的概率;則在NETl中狀態(tài)W1W2. . wn_!到狀態(tài)W1W2. . WlriWn之間必定有一條弧連接,且該弧上的輸入為字符串Wn,該弧上的權重為LnP^lw^. .Wlri),其為所述概率P (Wn IW1W2..Wlri)的對數值;在轉換后的NETl中,除了初始狀態(tài)之外,每一個狀態(tài)Wiffi+1. 都還有一條回退弧,其對應Ngram模型中相應元組的回退概率B(WiWi+1. . Wj),該弧從狀態(tài)WiWw. . Wj指向狀態(tài)wi+1. . Wj,弧上的輸入為空,弧上的權重等于LnB(WiWi+1. . Wj),其為所述回退概率B(WiWw. . Wj)的對數值;上述特征中P( ·)和B( ·)分別表示概率和回退概率。其中,Ngram模型包括I元組Unigram>2元組Bigram、3元組trigram、......, k元組k-gram。圖2顯示了達到此目的一種具體操作方法。在S201步驟,正規(guī)化用于語音識別的Ngram模型,使得保證高階Ngram存在時對應低階Ngram也存在,即如果一個N元組存在,則其所有前綴相應的元組都要存在。在S202步驟,創(chuàng)建空狀態(tài)esp作為初始的NETl。在S203步驟,創(chuàng)建Ngram模型中所有I元組的概率和回退概率,通過遍歷Ngram模型中所有的I元組Unigram,在NETl中為每個Unigram創(chuàng)建相應的Unigram狀態(tài);從esp 狀態(tài)到Unigram狀態(tài)添加前向弧,弧上的輸入為Unigram對應的字符串,權重為Unigram對應的概率的對數值;從每個Unigram狀態(tài)到esp狀態(tài)添加回退弧,弧上的輸入為空,權重為Unigram對應的回退概率的對數值。在S204步驟,倉Il建所有2元以上的高元組的概率和回退概率,通過遍歷Ngram模型中所有2元以上的高元組k-gram,在NETl中為每個高元組k-gram創(chuàng)建相應的k-gram狀態(tài);在NETl中尋找k-gram的前k-Ι個詞構成的(k_l)-prefix-gram狀態(tài),并添加從(k-l)-prefix-gram狀態(tài)到k-gram狀態(tài)的前向弧,弧的輸入為高元組k-gram對應的詞組中的最后一個詞,權重為高元組k-gram對應的概率的對數值;然后在所述NETl中尋找k-gram的后k_l個詞構成(k_l) -subf ix-gram狀態(tài),從k-gram狀態(tài)添加回退弧到(k-l)-subf ix-gram狀態(tài),弧的輸入為空,權重為高元組k-gram的回退概率的對數值;其中k的取值范圍是2 < = k < = N的整數,N是Ngram的階數。步驟S102 :利用RNN優(yōu)化步驟SlOl中的得到的NETl,使得輸出概率最大化。該步驟對每個句子采用NETl和RNN分別打分,優(yōu)化目標是使得句子的得分為NETl打分和RNN打分中的高分者,所述步驟具體包括,如圖3所示步驟S301,利用RNN得分優(yōu)化NETl中的所有弧;步驟S302,向NETl追加狀態(tài)和弧,增強NETl的表達能力。更具體的,步驟S301的詳細流程如圖4所示。首先,在步驟S401處取出每句語音訓練文本SENTi ;接著在步驟S402處,在NETl上求解最高分路徑,該路徑從狀態(tài)〈S〉出發(fā)到狀態(tài)Wnl. . . ^〈/s〉結束,其中Wnl. . . Wn2是SENTi的最后Wl個詞,并且路徑中間經過的弧上的字符串串接起來等于輸入的句子,<s>是Ngram模型中用來表示句子開始的I元組,其在轉換成NETl后對應<s>狀態(tài),</s>是Ngram模型中用來表示句子結束的I元組,其在轉換成NETl后對應</s>狀態(tài)。將路徑經過的弧的編號依次記錄下來,記該路徑為PATHi,并記該路徑的總得分為SCORE-NGRAMi,即該路徑經過的所有弧上的權重之和;接著在步驟S403處,采用RNN計算SENTi得分并記為SC0RE_RNNi ;接著在S404 處,求 SENTi 的最佳得分,記為 SC0RE_BESTi = max {SC0RE_RNNi;SC0RE_NGRAMJ ;接著在步驟S405處,利用如下公式計算出的更新量更新路徑PATHi經過的每一條弧(包括回退弧)上的權重,即更新后的權重等于原始權重加上所述更新量,每條弧的更新量為:


其中P e (0,I]為系統(tǒng)學習率,LENGTHi是PATHi經過的弧的數目;接著在步驟S406處,采用廣度優(yōu)先遍歷NETl中的每個狀態(tài),將該狀態(tài)所有輸出 弧上的權重進行規(guī)整,保證每個狀態(tài)所有輸出弧(包括回退弧)滿足概率條件(概率之和等于I);最后,在步驟S407處判斷是否可以停止,如果迭代次數超過指定門限,或者訓練結果收斂,即所述NETl上的所有弧上的權重不再發(fā)生變化,或者更新后的新模型與原來的模型的誤差小于指定門限,則停止,否則重復步驟S401到步驟S406的過程。其中,所述誤差為迭代更新后所有弧上的權重與迭代更新前所有弧上的權重之平均誤差。更具體的,步驟S302的詳細流程如圖5所示步驟S501尋找需要增強表達能力的句子,對訓練文本集中的每個句子SENTi,當SCORE-RNNi > SCORE—NGRAMp 則進入后面操作 S502 和 S503 ;步驟S502,增強2元組表達能力,將該句子中出現的I元組Unigram與它的后接詞合并為2元組Bigram,如果NETl中不存在該Bigram對應的Bigram狀態(tài),則采用步驟S204的方法將該Bi gram對應的Bi gram狀態(tài)添加到NETI中,從所述Uni gram狀態(tài)到所述Bi gram狀態(tài)的弧上的輸入為所述后接詞,其權重值等于在Ngram模型中所述2元組Bigram的概率
對數值與下式結果之和
^ , SCORE BESTf^SCORK NGMMidella = p-=^LliNGm^=-且Bigram狀態(tài)的回退弧上的權重值等于O ;接著采用步驟S301所述方法優(yōu)化所述NETl中的所有弧,其具體實現見步驟S401到S407。舉例說明,假設有I元組(unigram) “好”要升級到“好嗎”這個2元組。那么首先在NETl中建立狀態(tài)“好嗎”,然后從狀態(tài)“好”到狀態(tài)“好嗎”添加一條弧,這條弧上的輸入等于“嗎”字;然后給“好嗎”添加回退弧,回退到“嗎”狀態(tài),回退弧上沒有輸入,只有權重等于O。最后,在步驟S503處,增強3元組及更高元組的表達能力,利用步驟S501到S502的方法處理Ngram模型中2元組及更高元組的表達能力,也就是說,對2 < = k < N的情形,對每個階數k,類似上述步驟S501至S502的做法,如果Ngram模型中對于k-gram,當SC0RE_RNNi > SCORE-NGRAMi,則將該句中k-gram與后接詞合并為(k+1) -gram,如果NETl中不存在該(k+1)-gram對應的(k+1)-gram狀態(tài),貝U采用步驟S204的方法將(k+1)-gram添加到NETl中,從所述k-gram狀態(tài)到(k+1)-gram狀態(tài)的弧上的字符串為后接詞,其權重值等于在Ngram模型中所述k+Ι元組模型(k+1)-gram的概率對數值與下式之和
} , SCORE BEST ^ SCORE NGMMidelta = ρ-=--=-L
ΗLENGTHs且(k+1)-gram狀態(tài)的回退弧上的權重值等于0,再采用步驟S301方法更新WFSA,其具體實現見步驟S401到S407 ;重復上述步驟直到不存在SC0RE_RNNi > SC0RE_NGRAMi的句子,或者訓練文本的所有句子中出現的所有N元組都在NETl中。更具體的,步驟S103,利用發(fā)音字典將NETl轉成帶有語言模型概率的WFST發(fā)音網絡NET2。具體包括保持NETl網絡拓撲結構不變,將每條弧上的輸入復制到輸出,形成WFST網絡NET_W0RD,具體示例見圖10 (a);將發(fā)音字典中每個詞Wi轉成FST網絡NET_LEXi;每個FST網絡的特點是從開始狀態(tài)走到結束狀態(tài)的每一條路徑上所有弧上的輸入正好等于該詞的一個發(fā)音,到達結束狀態(tài)的每條弧輸出都是詞Wi ;如果NET_W0RD中的弧上有輸入單詞Wi,則將該弧替換成FST網絡NET_LEXi;最終形成新網絡NET2,從而避免了傳統(tǒng)compose做法導致的大內存消耗問題和同音詞消歧問題;最終生成的NET2網絡的特點是每條弧的輸入是一個音子,如果該弧上的輸入到達一個詞Wi的結尾,則該弧的輸出是詞Wi,如果該弧上的輸入未達到一個詞的詞尾,則該弧的輸出詞為空;且該弧到達狀態(tài)必定對應Ngram模型中描述的一個N元組,具體示例請見圖10(b)。 更具體的,步驟S104,利用音子混淆矩陣優(yōu)化NET2使得句子錯誤率最小化,具體是從聲學模型中引入音子混淆矩陣M。對于訓練文本中每句話的標準音子串,按照音子混淆矩陣M所述的概率在NET2進行狀態(tài)轉移,最終輸出K+1個最佳候選句子,其中完全等同于標準答案的句子為SENTtl,不同于標準答案的K個句子為SENT1. . SENTK,優(yōu)化目標使得標準答案句子的路徑得分大于錯誤句子的路徑得分;具體包括如下步驟(S001)從NET2中找到〈S〉狀態(tài)作為當前狀態(tài);(S002)依次輸入訓練文本中句子的所有音子;(S003)對每個音子,以混淆矩陣M中的概率走向混淆音子表示的弧;例如,“安”的標準發(fā)音是an,如果混淆矩陣M中有2個混淆關系an保持an的概率是O. 8 ;an混淆ang的概率是O. 2 ;則從當前狀態(tài)出發(fā)以O. 8的概率轉移到輸入為an的弧,同時以O. 2的概率轉移到輸入為ang的弧。(S004)每輸入一個音子,采用集束搜索(BeamSearch)方法,以指定的Beam寬度對路徑進行裁剪,即刪除路徑總得分(即所述路徑包括的所有弧上的權重之和)和最大路徑得分差距大于Beam的路徑;(S005)當輸入最后一個音子時,保留所有到達詞結尾的路徑,記路徑中輸出結果與原始文本相同的句子為SENTtl,其他句子記為SENT1. . SENTk ;(S006)對每個句子執(zhí)行如下操作計算標準答案得分與錯誤答案得分之間的差距d d = g (SENT01 Μ, NET2) -G (SENT1.. κ | Μ, ΝΕΤ2)其中g(SENTQ|M,NET2)表示在給定混淆矩陣M和發(fā)音網絡NET2的條件下,輸出文本SENTtl的概率;G(SENT1..κ M,NET2)表示在給定混淆矩陣M和發(fā)音網絡NET2的條件下,輸出錯誤句子SENT1. . SENTk的概率的某種變換函數,具體為

權利要求
1.一種用于語音識別的Ngram模型改進方法,其包括如下步驟 步驟SlOl :將用于語音識別的原始Ngram模型轉成等價的WFSA網絡NETl ; 步驟S102 :利用RNN優(yōu)化所述NETl,使得使用所述NETl對訓練文本打分時,對于訓練文本中每個語句的輸出概率最大化; 步驟S103 :利用發(fā)音字典將所述NETl轉成帶有語言模型概率的WFST發(fā)音網絡NET2 ; 步驟S104 :利用音子混淆矩陣優(yōu)化所述發(fā)音網絡NET2,使得句子錯 誤率最小化; 步驟S105 :將所述發(fā)音網絡NET2反向轉換成改進后的Ngram模型。
2.如權利要求I所述的用于語音識別的Ngram模型改進方法,其特征在于 所述NETl中的狀態(tài)數目等于所述原始Ngram的所有元組數目加I,其中所述NETl中的 狀態(tài)包括初始狀態(tài)和對應所述原始Ngram中每一個元組的狀態(tài); 如果原始Ngram模型中概率P (wn | W1W2. . Wlri)存在,則在所述NETl中狀態(tài)W1W2. . Wlri到狀態(tài)W1W2. . WlriWn之間必定有一條弧連接,且該弧上的輸入為字符串Wn,該弧上的權重為LnP (Wn)W1W2. . Wlri),其為所述概率P (wnIW1W2. . Wlri)的對數值;在所述NETl中,除了初始狀態(tài)之外,每一個狀態(tài)WiWw. . Wj都還具有一條回退弧,其對應所述原始Ngram模型中相應元組的回退概率B (WiWw. Wj),該回退弧從狀態(tài)WiWw. .Wj指向狀態(tài)wi+1. . Wj,弧上的輸入為空,弧上的權重等于LnB (WiWw. . Wj),其為所述回退概率B (WiWw. . Wj)的對數值。
3.如權利要求2所述的用于語音識別的Ngram模型改進方法,其特征在于所述將用于語音識別的Ngram模型轉成等價的WFSA網絡NETl具體包括 步驟S201 :正規(guī)化所述原始Ngram模型; 步驟S202 :創(chuàng)建空狀態(tài)esp作為初始的NETl。
步驟S203 :在所述NETl中,為每個所述原始Ngram模型中的I元組Unigram創(chuàng)建相應的Unigram狀態(tài);從所述esp狀態(tài)到所述Unigram狀態(tài)添加前向弧,弧上的輸入為所述原始Ngram模型中的I元組Unigram對應的字符串,權重為所述原始Ngram模型中的I元組Unigram對應的概率的對數值;從每個所述原始Ngram模型中的I元組Unigram狀態(tài)到所述esp狀態(tài)添加回退弧,弧上的輸入為空,權重為所述原始Ngram模型中的I元組Unigram對應的回退概率的對數值; 步驟S204 :在所述NETl中為每個2元組及2元組以上的高元組k-gram創(chuàng)建相應的k-gram狀態(tài);并在所述NETl中尋找所述高元組k-gram中的前k_l個詞構成的k_l元組(k_l)-prefix-gram 對應的(k_l)-pref ix-gram 狀態(tài),并添加從(k_l)-pref ix-gram 狀態(tài)到k-gram狀態(tài)的前向弧,弧的輸入為所述高元組k-gram對應的詞組中的最后一個詞,權重為所述高元組k-gram的概率的對數值;然后在所述NETl中尋找所述高元組k-gram對應的后k_l個詞構成的k_l元組(k_l)-subfix-gram對應的(k_l)-subfix-gram狀態(tài),添加從k-gram狀態(tài)到(k_l)-subf ix-gram狀態(tài)的回退弧,弧的輸入為空,權重為所述高元組k-gram的回退概率的對數值;其中k的取值范圍是2 < = k < = N的整數,N是所述原始Ngram模型的階數。
4.如權利要求I所述的用于語音識別的Ngram模型改進方法,其特征在于所述利用RNN優(yōu)化所述NET1,使得使用所述NETl對訓練文本打分時,對于訓練文本中每個語句的輸出概率最大化具體包括步驟S301,利用RNN得分優(yōu)化所述NETl中的所有弧;具體為 采用RNN模型計算訓練文本中每一語句SENTi的得分并記為SCORE_RNNi ;所述語句SENTi在所述NETl中的最佳路徑為路徑PATHi,則該路徑PATHi的總得分為SCORE_NGRAMi ;確定所述 SENTi 的最佳得分為=SCORE-BESTi = Hiax(SCC)RE-RNNi, SC0RE_NGRAMj ; 利用更新量更新該路徑經過的每一條弧上的權重,其中每條弧的更新量根據公式(I)計算 其中,p G (0,I],LENGTHi是路徑PATHi經過的弧的數目; 采用廣度優(yōu)先遍歷所述NETl中的每個狀態(tài),并將每個狀態(tài)上所有弧上的權重進行規(guī)整,以保證每個狀態(tài)的所有輸出弧滿足概率條件; 重復執(zhí)行上述步驟,直到每條弧上更新后的權重值與原權重值的誤差小于預定閾值; 步驟S302,向所述NETl追加狀態(tài)和弧,增強NETl的表達能力,具體為首先從訓練文本尋找需要增強表達能力的語句,然后對于每一個需要增強表達能力的語句,依次增強2元組、3元組及3元組以上元組的表達能力,直到不存在SC0RE_RNNi > SCORE.NGRAMj的句子,或者用于表示需要增強表達能力的句子的所有Ngram元組對應的狀態(tài)都在所述NETl中。
5.如權利要求4所述的用于語音識別的Ngram模型改進方法,其特征在于所述需要增強表達能力的語句為SC0RE_RNNi > SC0RE_NGRAMi的語句;其中增強k+1元組的表達能力的方式如下,I =< k < N 對于每個需要增強表達能力的語句,將所述原始Ngram模型中k元組k-gram與它的后接詞合并為k+1元組(k+1)-gram,如果所述NETl中不存在該k+1元組(k+1)-gram對應的(k+1)-gram狀態(tài),則添加該(k+1)-gram狀態(tài)到所述NETl中;其中從所述k-gram狀態(tài)到所述(k+1)-gram狀態(tài)的弧上的輸入為所述后接詞,其權重值等于所述k+1元組(k+l)-gram的概率對數值與根據所述公式(I)計算得到的更新量之和,且所述(k+l)-gram狀態(tài)的回退弧上的權重值等于0 ;然后利用RNN得分優(yōu)化所述NETl中每條弧上的權重值。
6.如權利要求I所述的用于語音識別的Ngram模型改進方法,其特征在于所述利用發(fā)音字典將所述NETl轉成帶有語言模型概率的WFST發(fā)音網絡NET2具體包括 保持所述NETl網絡拓撲結構不變,將每條弧上的輸入復制到輸出,形成WFST網絡NET_WORD ;將發(fā)音字典中每個詞Wi轉成FST網絡NET_LEXi,每個FST網絡的特點是從開始狀態(tài)走到結束狀態(tài)的每一條路徑上所有弧上的輸入正好等于該詞的一個發(fā)音,到達結束狀態(tài)的每條弧的輸出都是詞Wi ;如果NET_W0RD中的弧上有輸入單詞Wi,則將該弧替換成FST網絡NET_LEXi,最終形成所述發(fā)音網絡NET2。
7.如權利要求I所述的用于語音識別的Ngram模型改進方法,其特征在于所述利用音子混淆矩陣優(yōu)化所述發(fā)音網絡NET2包括對于訓練文本中每一句的標準音子串,按照音子混淆矩陣M中的概率在所述發(fā)音網絡NET2進行狀態(tài)轉移,最終輸出K+1個最佳候選句子,其中完全等同于標準答案的句子為SENTtl,不同于標準答案的K個句子為SENT1. . SENTk,然后對所述發(fā)音網絡NET2進行優(yōu)化使得標準答案句子的路徑得分大于錯誤句子的路徑得分。
8.如權利要求7所述的用于語音識別的Ngram模型改進方法,其特征在于所述利用音子混淆矩陣優(yōu)化所述發(fā)音網絡NET2的具體步驟包括 步驟SOOl :從所述發(fā)音網絡NET2中找到<s>狀態(tài)作為當前狀態(tài); 步驟S002 :依次輸入訓練文本中每個句子的所有音子; 步驟S003 :對每個音子,以混淆矩陣M中的概率走向混淆音子表示的弧; 步驟S004 :每輸入一個音子,則采用集束搜索方法,以指定的Beam寬度對路徑進行裁剪; 步驟S005 :當輸入最后一個音子時,保留所有到達詞結尾的路徑,并記路徑中輸出結果與所述訓練文本相同的句子為SENTtl,其他路徑記為SENT1. . SENTk ; 步驟S006 :對每個句子執(zhí)行如下操作 步驟S0061 :計算標準答案得分與錯誤答案得分之間的差距d d = g (SENT01M, NET2) -G (SENT1.. K | M, NET2) (2) 其中,g (SENTtl IM,NET2)表示在給定混淆矩陣M和發(fā)音網絡NET2的條件下,輸出標準語句SENTtl的概率;G(SENIY.k|M,NET2)表示在給定混淆矩陣M和發(fā)音網絡NET2的條件下,輸出錯誤句子SENT1. . SENTk的概率的某種變換函數,具體為
9.如權利要求I所述的用于語音識別的Ngram模型改進方法,其特征在于所述將所述發(fā)音網絡NET2反向轉換成改進后的Ngram模型具體包括將WFST發(fā)音網絡NET2轉成WFSA詞語網絡NET3,使得所述詞語網絡NET3中的每個狀態(tài)對應所述改進Ngram模型中的一個元組,所述詞語網絡NET3中狀態(tài)A到B的轉移概率等于所述發(fā)音網絡NET2中狀態(tài)A到狀態(tài)B的所有路徑概率之和,從狀態(tài)A到狀態(tài)B的弧上的輸入正好等于所述發(fā)音網絡NET2中從狀態(tài)A到狀態(tài)B的路徑上的輸出且只輸出一個詞; 在NET3中遍歷對應 于I元組Unigram的Unigram狀態(tài),使得改進后的Ngram模型中I元組Unigram的概率的對數值為esp狀態(tài)到Unigram狀態(tài)的弧上的權重值,回退概率為Unigram狀態(tài)到esp狀態(tài)的弧上的權重; 在NET3中遍歷對應于2元組及2元組以上的k元組k-gram的所有k-gram狀態(tài),使得改進后的Ngram模型中2元組及2元組以上的k元組k-gram的概率的對數值為所述k元組k-gram 對應的前 k_l 個詞構成的 k_l 元組(k_l)-pref ix-gram 對應的(k_l)-pref ix-gram狀態(tài)到k-gram狀態(tài)的弧上的權重,回退概率的對數值為k-gram狀態(tài)到所述k元組k-gram對應的后k_l個詞構成的k_l元組(k_l)-subfix-gram對應的(k_l)-subfix-gram狀態(tài)的弧上的權重值。
10.如權利要求4所述的方法,其特征在于所述利用更新量更新路徑經過的每一條弧上的權重具體為每一條弧上的權重加上所述更新量;所述保證每個狀態(tài)的所有弧滿足概率條件具體為所述所有弧上的概率和為I ;所述誤差為更新后所有弧上的權重與更新前所有弧上的權重之平均誤差。
全文摘要
本發(fā)明公開了一種用于語音識別的Ngram模型改進方法,其包括將用于語音識別的原始Ngram模型轉成等價的WFSA網絡NET1;利用RNN優(yōu)化所述NET1,使得使用所述NET1對訓練文本打分時,對于訓練文本中每個語句的輸出概率最大化;利用發(fā)音字典將所述NET1轉成帶有語言模型概率的WFST發(fā)音網絡NET2;利用音子混淆矩陣優(yōu)化所述發(fā)音網絡NET2,使得句子錯誤率最小化;將所述發(fā)音網絡NET2反向轉換成改進后的Ngram模型,使用該改進后的Ngram模型進行語音識別。
文檔編號G10L15/16GK102968989SQ20121052809
公開日2013年3月13日 申請日期2012年12月10日 優(yōu)先權日2012年12月10日
發(fā)明者柯登峰, 徐波 申請人:中國科學院自動化研究所
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 任丘市| 青田县| 敦煌市| 东辽县| 比如县| 凤山县| 斗六市| 海林市| 浦江县| 黄浦区| 大冶市| 土默特左旗| 莆田市| 志丹县| 双流县| 旌德县| 喀喇沁旗| 宁津县| 怀化市| 麻城市| 武川县| 辽宁省| 莱芜市| 大理市| 响水县| 邵东县| 泰州市| 同仁县| 铜川市| 苗栗县| 佳木斯市| 庄河市| 文登市| 江华| 通渭县| 嘉鱼县| 沁源县| 甘泉县| 房山区| 凤山县| 昌都县|