一種基于class-base語言模型的POI語音識別方法
【專利摘要】本發明涉及一種基于class-base語言模型的POI語音識別方法,步驟為:準備模型訓練的文本;通用POI地點語言模型訓練;多種說法的整理和設計,通過收集POI搜索用戶的說法習慣并按行進行整理,模擬真實用戶的說法和使用需求;說法文本的整理和類的利用;語言模型插值合并,合并后語言模型打包并用于語音識別,對合并之后的模型打包形成二進制的格式,方便保密和保存,生成可供語音識別使用的格式。本發明能夠在十分有限的計算資源和存儲空間的情況下,實現多種說法的支持,明確區分說法和核心詞匯,在保證占用較小資源的前提下,提高識別效果。
【專利說明】—種基于c I ass-base語言模型的POI語音識別方法
【技術領域】
[0001]本發明涉及一種連續語音識別中對POI業務的識別方案,尤其是在計算資源和存儲空間有限的情況下,本發明能夠有效的支持多種不同說法。
【背景技術】
[0002]隨著語音識別技術的流行,人們越來越習慣使用POI (point of interest,即導航地圖信息)語音識別功能來查找自己想去的地點。由于人們的說話習慣和方式多種多樣,為了滿足人們的需求,需要支持多種說法的識別。POI識別大都在一些嵌入式設備(如手機,車機)中進行,計算資源和存儲空間都是十分有限的。在使用傳統的語言模型的語音識別中,支持單一說法效果較好,但是支持多種說法會造成模型過大,效率底下等問題。
[0003]傳統的POI語音識別具體實現方法如圖1所示,首先設計用戶說法,將用戶說法和核心地名進行文本拓展,即將所有的核心地名填充到說法模型中,然后再用拓展后的文本訓練語言模型,最后采用語言模型進行語音識別。
[0004]現有進行POI語音識別的方法存在很大的弊端:(I)傳統的擴展文本方式會導致文本非常大,給訓練的過程帶來很大的困難。對于,“我想去A市的B地點”這個說法,如果城市列表A中文本的條目為Count (A),地點列表B中文本的條目為Count (B),那么在同時存在城市和地點的語料,需要擴展的條目數是Count (A) *Count (B),這給訓練模型造成了很大的開銷;(2)利用傳統的語言模型訓練辦法,說法將被重復很多次,這將對識別核心名稱造成干擾,導致將一些核心名稱識別成說法;(3)車載,手機識別,往往是本地識別,只能利用很有限的計算空間和存儲空間去解決問題,如此大的模型將會給機器的識別帶來很大負擔,造成效率降低等問題。
【發明內容】
[0005]本發明技術解決問題:克服現有技術的不足,提供一種基于class-base (基于類別)語言模型的POI語音識別方法,能夠在十分有限的計算資源和存儲空間的情況下,實現多種說法的支持,明確區分說法和核心詞匯,在保證占用較小資源的前提下,提高識別效
果O
[0006]本發明技術解決方案:一種基于class-base語言模型的POI語音識別方法,其實現步驟如下:
[0007]( I)準備模型訓練的文本
[0008]要完成語言模型的訓練,需要許多無錯誤,規范的文本,語言模型訓練工作可以看成是用機器向這些文本學習知識的過程。為了保證被學習的知識是正確的,需要除去文本中的臟數據。即,對從網絡上獲取的識別相關文本進行清洗,除去文本中的錯字,亂碼等。并將希臘數字,阿拉伯數字等轉換為漢字,并將文本的編碼格式設置為一致的。
[0009](2)通用POI地點語言模型訓練
[0010]首先需要介紹一下統計語言模型的概念。統計語言模型(StatisticalLanguage Model)在連續語音識別中的作用,簡單來說是用于計算一個句子的概率,即Pd11W2...,Wk),利用語言模型確定詞序列的可能性,或者給定若干個詞,可以預測下一個最可能出現的詞語,給定句子S (詞序列S = W17W2,...,Wk)的概率利用語言模型可以表示為 P (S) =PdljW2,...,Wk) =p (W1) P (W21W1)...P (Wk I W17Wk, , U,由于上式中的參數過多,因此采用了一種常用的近似計算方法,即N-Gram模型方法。語音識別技術是基于統計語言模型的,語音識別需要通過語言模型獲取詞序列信息。
[0011]通用POI地點語言模型,可以看成是從所有地點信息的文本中學習POI知識。
[0012]將(I)中整理后的地點信息文本訓練成統計語言模型,模型訓練的步驟示意圖如圖2所示,說明如下,首先需要分詞操作,有一個分詞詞典,即包含所有用戶可能說的詞語和字的列表。將每一行文本即將文本Al,A2,A3……An,其中Al,A2,A3……An為每個漢字或者字母,我們去詞典中查找這些漢字或者字母能夠形成的詞的序列,從而實現分詞,將分詞之后的結果用空格隔開,即A1A2,A3A4……等。
[0013]將分詞之后的文本中的詞序列信息提取出來,例如,設有詞序列B1,B2,B3 (其中,B1,B2,B3全部是分詞詞典中的詞),那我們可以將P (B3|B1B2)的信息存儲到詞典樹(Trie樹)中即可,這個詞典樹,也就是N-Gram模型。
[0014]將這個統計語言模型稱之為地點模型。
[0015](3)多種說法的整理和設計。通過產品經理收集POI搜索用戶的說法習慣并按行進行整理。模擬真實用戶的說法和使用需求。
[0016](4)說法文本的整理和類的利用。將(3)中整理好的說法文本整理好后,將其中不同的類別的地名(例如,景點,設施類型,普通地名,城市等)用類別標示符ClassA,ClassB,ClassC等表示出來,并形成對應的新的說法文本。將ClassA,ClassB, ClassC對應的各個文本中的各個地點名稱按照開頭和`結尾的詞不同進行分類,同時選擇開頭相同或者結尾相同的每類中選取出一個頻率最大的詞,作為此類的代表。由于統計語言模型關注的詞序列信息,其中相鄰兩個詞的詞序列信息是最重要的,所以可以看成選出的頻率最大的詞就是這類的代表。用這些代表來擴展文本,擴展之后的文本稱之為說法文本。
[0017](5)將(4)中的說法文本,按照(2)中訓練POI地點語言模型的方法,訓練成統計語目模型,稱之為說法模型。
[0018](6)語言模型插值合并。
[0019]把步驟(2)中地點模型和步驟(5)中的說法插值,即將地點模型和說法模型合并起來。
[0020]
【權利要求】
1.一種基于Class-base語言模型的POI語音識別方法,其實現步驟如下: (1)準備模型訓練的文本 從網絡上獲取的識別相關地點信息的文本進行清洗,除去文本中的錯字和亂碼,再將希臘數字、阿拉伯數字轉換為漢字,并將文本的編碼格式設置一致; (2)通用POI地點語言模型訓練 (21)將步驟(I)中整理后的地點信息文本訓練成統計語言模型,具體為:首先需要分詞操作,有一個分詞詞典,即包含所有用戶可能說的詞語和字的列表;將每一行文本在詞典中查找這些漢字或者字母能夠形成的詞的序列,實現分詞,將分詞之后的結果用空格隔開; (22)將分詞之后的文本中的詞序列信息提取出來,提取的信息存儲到詞典樹中,所述詞典樹即是N-Gram模型,所述統計語言模型即N-Gram模型稱之為POI地點模型; (3)多種說法的整理和設計,通過收集POI搜索用戶的說法習慣并按行進行整理,模擬真實用戶的說法和使用需求; (4)說法文本的整理和類的利用,將用戶的說法文本整理好后,將其中不同的類別的地名用類別標示符表示出來,將類別標示符對應的各個地點信息文本中的各個地點名稱按照開頭和結尾的詞不同進行分類,同時選擇開頭相同或者結尾相同的每類中選取出一個頻率最大的詞,作為此類的代表;由于統計語言模型關注的詞序列信息,其中相鄰兩個詞的詞序列信息是最重要的,所以選出的頻率最大的詞即是這類的代表,用這些代表來擴展文本,擴展后的文本稱之為說法文本,該說法文本是訓練說法模型的語料; (5)將步驟(4)中的說法文本,按照步驟(2)中訓練通用POI地點語言模型的方法,訓練成統計語言模型,稱之為說法模型; (6)語言模型插值合并,把步驟(2)通用POI地點語言模型和步驟(5)中的說法模型插值,即將地點模型和說法模型合并起來; (7)將步驟(6)中得到的合并后語言模型打包并用于語音識別,對合并之后的模型打包形成二進制的格式,方便保密和保存,生成可供語音識別使用的格式。
【文檔編號】G10L15/08GK103456300SQ201310342171
【公開日】2013年12月18日 申請日期:2013年8月7日 優先權日:2013年8月7日
【發明者】唐立亮, 鹿曉亮 申請人:安徽科大訊飛信息科技股份有限公司