一種蒙古語大詞匯量連續語音識別的方法
【專利摘要】本發明公開了一種蒙古語大詞匯量連續語音識別的方法,由預處理階段、準備階段、訓練階段、解碼階段及合成轉換階段組成;預處理階段是對文本訓練語料的切分,并建立發音詞典;準備階段是對輸入的語音信號提取聲學特征;訓練階段是利用整詞發音詞典訓練聲學模型、利用切分后的訓練文本訓練語言模型;解碼階段是利用聲學模型、語言模型和發音詞典,將輸入的聲學特征識別成文本信息;合成轉換階段是利用規則糾正解碼過程中的格后綴錯誤并將詞干與格后綴合并,最終輸出由蒙古文單詞組成的句子。解決了現有技術中語音識別系統無法包含大規模蒙古語單詞,由單詞量過大導致語音識別的時間過長,語音識別系統中語言模型數據稀疏的問題。
【專利說明】
一種蒙古語大詞匯量連續語音識別的方法
技術領域
[0001]本發明屬于語音識別技術領域,涉及一種蒙古語大詞匯量連續語音識別的方法。
【背景技術】
[0002]語音識別是實現人機語音通信的一項關鍵技術,它涉及聲學、語言學、數字信號處理、計算機科學等多個學科技術,是信息處理領域的一項前沿技術,解決的主要問題是如何將接收到的聲音信息轉換為文本信息。根據不同的任務要求,語音識別可以分為:說話人識另IJ、關鍵詞檢出和連續語音識別等幾種類型。目前它已經成功應用到工業、家電、通信、汽車電子、醫療、家庭服務和消費電子產品等各個領域,并取得了非常好的效果。
[0003]在實際研究應用領域中識別的語言仍然以英語和中文等使用最為廣泛的語種為主,而對一些使用范圍較小或使用人數較少的語言,語音識別的研究仍處在初始階段。蒙古語作為這樣一種語言,研究它的語音識別技術不但對我國的少數民族地區的教育、交通、通訊、自動化辦公具有重要的意義,而且給同樣屬于黏著語的他國語言語音識別的研究提供了新的思路和方法。
[0004]根據“蒙古語語音關鍵詞檢測技術的研究,飛龍,《中國博士學位論文全文數據庫信息科技輯》,2013年11月”所述的搭建語音識別系統的方案分為三個階段。如圖1所示,第一階段是準備階段(或前端處理階段),它主要的作用是對輸入的語音信號提取聲學特征。第二階段是訓練階段,其主要作用是訓練用來解碼的聲學模型和語言模型。第三階段是解碼階段,也就是利用第二階段訓練所得到的聲學模型和語言模型將輸入的聲學特征識別成文本信息。
[0005]聲學特征特提取是對語音信號信息的一個處理壓縮過程,這個過程中對語音信號進行分析處理,保留其與語音識別相關的信息,去除與其無關的冗余信息。常見的提取聲學特征的方式有線性預測倒譜系數(LPCC),梅爾頻率倒譜系數(MFCC)和Filter-Bank(Fbank)特征。但是由于這些特征的區分性和適應性并沒有達到預計的效果,因此在訓練過程中常使用線性判別分析(Linear Discriminant Analysis,LDA)和特征空間最大似然線性回歸(featurespace Maximum Likelihood Linear Regress1n fMLLR)等方法來增強特征的區分性和適應性。
[0006]在訓練過程中,常采用先訓練GMM-HMM(高斯混合-馬爾可夫)模型,之后訓練DNN(深度神經網絡)模型用來替代GMM(高斯混合)模型,形成基于深度神經網絡的DNN-HMM(深度神經網絡-馬爾可夫)模型。對語言模型,則一般訓練N-gram語言模型或者是基于RNN的語言模型。
[0007]針對聲學特征,利用聲學模型、語言模型和發音詞典構建立成一個識別網絡。該網絡是一個有向無環圖,通過Viterbi算法找到該網絡的一條最佳路徑(概率最大的路徑),這條路徑就是語音信號通過識別系統識別出的最佳文本信息。同時在使用過程中,通常給語言模型賦予不同的權重,并設置一個長詞懲罰分數,用來找到語言模型與聲學模型的最佳比重。
[0008]蒙古語中包含百萬以上的蒙古語單詞并且在不斷引入新的詞匯。在實際環境中我們無法將所有的蒙古語單詞全部包含在發音詞典中,收集到的文本語料也無法將所有蒙古語單詞全部概括,對許多單詞會出現缺失或少見的情況,這樣會導致在訓練語言模型的時候出現數據稀疏的問題。同時隨著發音詞典中單詞數量的增加,會導致語音識別系統在識別過程中計算量增加,識別時間延長到用戶無法忍受的程度。
【發明內容】
[0009]為實現上述目的,本發明提供一種蒙古語大詞匯量連續語音識別的方法,解決了現有技術中語音識別系統無法包含大規模蒙古語單詞,由單詞量過大導致語音識別的時間過長,語音識別系統中語言模型數據稀疏的問題。
[0010]本發明所采用的技術方案是,一種蒙古語大詞匯量連續語音識別的方法,由預處理階段、準備階段、訓練階段、解碼階段及合成轉換階段組成;
[0011]預處理階段就是將語言模型訓練文本中的單詞切分成動詞以外詞干、格后綴和動詞的形式,同時建立基于動詞以外詞干、格后綴和動詞的發音詞典;
[0012]準備階段是對輸入的語音信號提取聲學特征;
[0013]訓練階段是利用基于蒙古文整詞的發音詞典建立聲學模型,利用基于動詞以外詞干、格后綴和動詞的發音詞典建立語言模型;
[0014]解碼階段是利用聲學模型、語言模型和基于動詞以外詞干、格后綴和動詞的發音詞典構建識別網絡,將輸入的聲學特征識別成文本信息;
[0015]合成轉換階段是利用規則糾正解碼過程中的格后綴錯誤并將詞干與格后綴合并,最終輸出由蒙古文單詞組成的句子。
[0016]本發明的特征還在于,進一步的,預處理階段,具體按照以下步驟進行:在訓練模型前,將語言模型的訓練集文本中的蒙古文單詞轉換成對應的拉丁狀態;之后將轉換后的單詞切分成對應的動詞以外詞干、格后綴和動詞形式,并將動詞以外詞干、格后綴和動詞存放在基于動詞以外詞干、格后綴和動詞的發音詞典中。
[0017]進一步的,發音詞典的使用方法,具體按照以下步驟進行:建立兩種發音詞典,一種發音詞典存放蒙古文的整詞以及對應的發音,用于聲學模型的訓練;另一種發音詞典存放動詞以外詞干、格后綴和動詞以及動詞以外詞干、格后綴和動詞相應的發音,同時建立發音詞典時將格后綴的所有可能的發音全部加入到發音詞典中,用于聲學模型的解碼。
[0018]進一步的,合成轉換階段,具體按照以下步驟進行:
[0019]步驟I,利用規則糾正解碼后文本中的格后綴錯誤;
[0020]步驟2,將詞干與格詞綴合并組合成相應拉丁形式的單詞,同時利用條件隨機場模型對識別后的句子進行標點符號預測,并將預測結果添加到識別的句子中;
[0021]步驟3,通過拉丁單詞和蒙文單詞的對照關系,將已合并的拉丁單詞轉換成實際的蒙古文單詞,由蒙古文單詞組成的句子就是實際的輸出結果。
[0022]本發明的有益效果是,本發明具有以下優點:
[0023](I)基于動詞以外詞干、格詞綴和動詞的蒙古語語音識別系統能夠通過識別詞干、格后綴和動詞來實現對大多數蒙古文單詞的識別。
[0024](2)基于動詞以外詞干、格詞綴和動詞的蒙古語語音識別系統減少了發音詞典中單詞的個數,大大降低了系統識別的計算量,將識別時間控制在可接受范圍之內。
[0025](3)基于動詞以外詞干、格詞綴和動詞的蒙古語語音識別系統解決了系統中語言模型數據稀疏的問題,使得系統性能大大提高。
【附圖說明】
[0026]圖1是現有技術中語音識別系統框架圖。
[0027]圖2是本發明蒙古文拼接構詞方式示意圖。
[0028]圖3是本發明語音識別系統框架圖。
[0029]圖4是本發明預處理階段切分蒙古文句子的實例圖。
[0030]圖5是本發明兩種發音詞典部分內容對照表。
[0031 ]圖6是本發明規則矯正部分結尾后綴的選擇規則圖。
[0032]圖7是本發明合成轉換階段的實例圖。
【具體實施方式】
[0033]蒙古語分割識別的原理:
[0034]蒙古語是典型的黏著語,主要通過詞根與詞綴拼接來構成蒙古語單詞,如圖2所示。從詞根與詞綴的拼接組合上,可以看出詞根與構詞詞綴或構形后綴的拼接存在著實際的語義修改,而之后與結尾后綴的拼接則只有語法上的含義,并且位置始終存放在構成單詞的最后。結尾后綴則不屬于詞干后綴,它包含靜詞的格后綴、領屬(物主)后綴、式動詞(時間、人稱)后綴和副動詞后綴。而對于形動詞后綴,如果形動詞充當主句的謂語時可以認為是結尾后綴,但是當形動詞當作靜詞使用時(尤其后邊接加格后綴時)可以認為是詞干后綴。在一般情況下,后綴的次序是構詞后綴在如,構形后綴在后,結尾后綴在最后。單詞中構詞后綴和構形后綴都可以有一個以上,但結尾后綴一般只有一個(蒙古文綴接反身領屬后綴時可以有兩個結尾后綴)。將詞根、構詞后綴和構形后綴拼接組成詞干,讓詞干和結尾詞綴作為蒙文語構詞的基礎,不同的詞干和不同的結尾后綴可以組合成絕大多數的蒙古語單詞。這樣在語音識別系統中對單詞的訓練識別就可以轉換成對詞干和結尾后綴的訓練識另IJ。但是單純的基于詞干和結尾后綴的訓練識別方式存在以下幾點問題。首先,蒙古文動詞進行詞干和結尾后綴切分時會出現,元音的脫落和插入等現象,所以切分時很難保證切分的準確率。其次,動詞詞干和動詞的結尾后綴的發音在動詞詞干后綴拼接不同的動詞的結尾后綴時,動詞詞干和結尾后綴的發音都會出現元音和輔音音素的變換、插入和脫落等一系列問題,所以將所有動詞詞干和動詞結尾后綴的發音加入到發音詞典是不可能完成的任務,這對發音詞典的建立提出了很大的挑戰。然而,動詞以外的其他詞干綴接的結尾后綴是格后綴,格后綴的發音跟詞干是相對獨立的,綴接不同的格后綴,不會影響詞干的發音,所以動詞以外詞干的發音比較穩定,我們只需要將格的不同發音加入發音詞典即可。
[0035]因此,我們將動詞單獨分離出來,將動詞與動詞以外詞干和格后綴共同作為識別的單位,所以在文中識別系統稱為基于動詞以外詞干、格后綴和動詞的語音識別系統。
[0036]基于詞干和結尾后綴的蒙古語語音識別系統的搭建:
[0037]基于動詞以外詞干、格后綴和動詞的蒙古語語音識別系統由預處理階段、準備階段、訓練階段、解碼階段及合成轉換階段組成。預處理階段是對語音標記文本和語言模型訓練文本的拉丁轉換及轉換后語言模型訓練文本內蒙古文單詞的切分,同時建立基于動詞以外詞干、格后綴和動詞的發音詞典;準備階段是對輸入的語音信號提取聲學特征;訓練階段是利用整詞發音詞典訓練聲學模型、利用切分后的訓練文本訓練語言模型;解碼階段是利用聲學模型、語言模型和基于動詞以外詞干、格后綴和動詞的發音詞典,將輸入的聲學特征識別成文本信息。其中準備階段、訓練階段和解碼階段與語言無關,本發明主要是對發音詞典、新添加的預處理階段和合成轉換階段進行調整。由于蒙古語的字母在單詞的不同位置會有不同的變形,并且在字母中存在同形不同音的問題,這在搭建蒙古語語音識別系統時,不利于對系統的識別性能做研究,所以本申請在預處理階段將發音詞典、語音庫中的文本標注和訓練語言模型的文本訓練集中的蒙文單詞均轉寫成了拉丁形式,并且通過增加的合成轉換過程來顯示實際的蒙文句子,框架圖如圖3所示。
[0038]語言模型訓練的預處理:
[0039]對于語言模型的訓練集,需要將訓練集中的單詞切割成對應的動詞以外詞干、格后綴和動詞形式。蒙古文格后綴在書面語中使用蒙古文窄無間斷空格分寫。蒙古文窄無間斷空格的寬度為全角字符的三分之一,比普通空格稍微短一些,拉丁形式用表示。如圖4所示,在轉換成拉丁形式后的訓練語言模型的文本語料根據字母方便的進行動詞以外詞干和格后綴的切分;切分后的訓練文本用來對語言模型進行訓練。
[0040]使用切割后的訓練文本對語言模型進行訓練,使得語言模型能夠在解碼過程中很好的與動詞以外詞干、格后綴和動詞的發音詞典進行匹配。這樣在解碼后得到的結果均是以動詞以外詞干、格后綴和動詞形式存在。動詞以外詞干和格后綴可以組合大規模的蒙古文單詞,并且動詞以外詞干、格后綴和常用動詞總數在數萬之內。這種方法解決了語言模型在訓練過程中的數據稀疏問題和大規模蒙古文單詞的識別問題。
[0041 ]發音詞典的變化和使用:
[0042]不同于原有的蒙古語語音識別系統,本發明將使用兩種發音詞典,一種是傳統的存放蒙古文整詞和其對應發音的發音詞典,另一種是存放動詞以外詞干、格后綴和動詞以及其相應發音的發音詞典,并且針對同一格后綴的多種發音情況,在發音詞典中需一一表示出來。如圖5所示,為兩個發音詞典部分內容對照表,可以看出整詞發音詞典存放的單詞在基于動詞以外詞干、格后綴和動詞的發音詞典有兩種表現形式,一種是不變形式,即動詞和整詞就是詞干的其他詞性,在兩種發音詞典中表示一致,圖5中的“sagV j V”和“qa s i dahV”屬于動詞,“elqin”則是僅有詞干,它們在兩個發音詞典中存放的形式不變;另一種則是由詞干和格后綴組成的非動詞的其他單詞,這種單詞在基于動詞以外詞干、格后綴和動詞的發音詞典中是分為詞干和格后綴分別存放的。圖5中的“tarih1-ban”和“tere-yi”,它們由詞干和格后綴組合而成,因此在基于動詞以外詞干、格后綴和動詞的發音詞典中被分為詞干“tarihi”、“tere”和格后綴“-ban”、“_yi”來分別存放。我們在訓練聲學模型時,使用整詞發音詞典,這樣聲學模型訓練可以更準確的表示訓練語句對應的發音音素。否則,格后綴有多個發音,訓練語句的發音默認選擇其中的第一種發音,這樣會出現很多訓練語句的發音音素轉換錯誤。在解碼過程中則使用基于動詞以外詞干、格后綴和動詞的發音詞典。
[0043]使用基于動詞以外詞干、格后綴和動詞的發音詞典來進行解碼不但對集內詞有著與基于整詞的發音詞典同樣的效果,而且利用基于動詞以外詞干、格后綴和動詞的發音詞典可以和切割后的語言模型更好的搭配,并使得利用動詞以外詞干、格后綴和動詞的方式能夠解決識別大規模的蒙古文單詞的問題,同時這種方式使得發音詞典中單詞數量減少,降低了識別所需的時間,解決了現有蒙古語語音識別時間過長的問題。
[0044]合成轉換階段:
[0045]在實驗過程中,我們發現在解碼后的一些錯誤結果中,有著普遍的規律。這些規律,主要集中在蒙古語中格后綴的解碼錯誤上。因此針對這些錯誤,可以采用蒙古語的一些規則,將其糾正。如圖6所示,判斷格后綴“_dv”、-du”、“_tv”、“_tu”的選取,在詞干是陽性詞的情況下,若詞干不以元音或“η”、“N”、T,“m”結尾則選取“_tv”格后綴,若詞干是以元音或“η”結尾則選擇“_dv”格后綴。反之,在詞干不是陽性詞的情況下,若詞干不是以元音或“η”、“N”、T,“m”結尾,則選擇格后綴“_tu”,若詞干是以元音或“η”、“N”、T,“m”結尾,則選擇格后綴“_du”。
[0046]因此在合成轉換階段,首先需要將解碼過程中的格后綴錯誤采用規則的方式進行糾正,之后將詞干與格詞綴合并成相應的拉丁單詞,同時利用條件隨機場對識別后的蒙古語句子進行斷句并添加標點符號。最后通過拉丁單詞和蒙古文單詞的對照關系,將其轉換成實際的蒙古文單詞,由蒙古文單詞組成的句子就是實際的輸出結果。
[0047]合成轉換階段利用蒙古語規則將識別錯誤的格后綴糾正可以進一步提高語音識別的準確率。同時將識別后的結果能夠以蒙古文的形式顯示出來。這解決了一部分聲學模型和語言模型無法完全辨別近似格后綴的問題,同時解決了蒙古文的顯示問題。圖7給出了實現合成轉換階段的一個完整實例,圖中第一個句子是識別后的最初結果,第二個句子則是通過規則校正后的結果,句子中加粗的格后綴就是通過規則校正得到的正確格后綴。第三個句子是合并后預測標點符號得到的結果;第四個句子是轉換成蒙古文表現形式后的結果ο
【主權項】
1.一種蒙古語大詞匯量連續語音識別的方法,其特征在于,由預處理階段、準備階段、訓練階段、解碼階段及合成轉換階段組成; 所述預處理階段就是將語言模型訓練文本中的單詞切分成動詞以外詞干、格后綴和動詞的形式,同時建立基于動詞以外詞干、格后綴和動詞的發音詞典; 所述準備階段是對輸入的語音信號提取聲學特征; 所述訓練階段是利用基于蒙古文整詞的發音詞典建立聲學模型,利用基于動詞以外詞干、格后綴和動詞的發音詞典建立語言模型; 所述解碼階段是利用聲學模型、語言模型和基于動詞以外詞干、格后綴和動詞的發音詞典構建識別網絡,將輸入的聲學特征識別成文本信息; 所述合成轉換階段是利用規則糾正解碼過程中的格后綴錯誤并將詞干與格后綴合并,最終輸出由蒙古文單詞組成的句子。2.根據權利要求1所述的一種蒙古語大詞匯量連續語音識別的方法,其特征在于,所述預處理階段,具體按照以下步驟進行:在訓練模型前,將語言模型的訓練集文本中的蒙古文單詞轉換成對應的拉丁狀態;之后將轉換后的單詞切分成對應的動詞以外詞干、格后綴和動詞形式,并將動詞以外詞干、格后綴和動詞存放在基于動詞以外詞干、格后綴和動詞的發音詞典中。3.根據權利要求1所述的一種蒙古語大詞匯量連續語音識別的方法,其特征在于,所述發音詞典的使用方法,具體按照以下步驟進行:建立兩種發音詞典,一種發音詞典存放蒙古文的整詞以及對應的發音,用于聲學模型的訓練;另一種發音詞典存放動詞以外詞干、格后綴和動詞以及動詞以外詞干、格后綴和動詞相應的發音,同時建立發音詞典時將格后綴的所有可能的發音全部加入到發音詞典中,用于聲學模型的解碼。4.根據權利要求1所述的一種蒙古語大詞匯量連續語音識別的方法,其特征在于,所述合成轉換階段,具體按照以下步驟進行: 步驟1,利用規則糾正解碼后文本中的格后綴錯誤; 步驟2,將詞干與格詞綴合并組合成相應拉丁形式的單詞,同時利用條件隨機場模型對識別后的句子進行標點符號預測,并將預測結果添加到識別的句子中; 步驟3,通過拉丁單詞和蒙文單詞的對照關系,將已合并的拉丁單詞轉換成實際的蒙古文單詞,由蒙古文單詞組成的句子就是實際的輸出結果。
【文檔編號】G10L15/18GK105957518SQ201610440618
【公開日】2016年9月21日
【申請日】2016年6月16日
【發明人】飛龍, 高光來, 張紅偉
【申請人】內蒙古大學