文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182304
中文引用格式: 楊維,張才俊,馬永波. 一種語音識別中核心詞快速模型優化方法[J].電子技術應用,2019,45(2):9-11.
英文引用格式: Yang Wei ,Zhang Caijun,Ma Yongbo. Domain word recognition enhancement method in speech recognition[J]. Application of Electronic Technique,2019,45(2):9-11.
0 引言
近年來,隨著語音識別技術的逐步成熟,語音識別技術被應用到越來越多的場景中。國家電網客服中心成立人工智能中心,并深入研究語音識別核心技術以及語音在智能客服系統中的應用。當前國網語音系統面臨的一個非常關鍵的問題就是通用語音識別,在文本語料能夠覆蓋的通用場景識別中,如查天氣、問車票等,識別率很高。但是,在國網客服電話語音中,面臨大量國網業務特有的核心詞匯和說法,如專有名詞“電線桿、高壓鐵塔、絕緣子、金具、瓷瓶、拉線”等,由于其屬于特定領域,通用的領域語言模型很難正確識別。因此,如何在保證通用領域高識別率的同時,能夠快速通過模型訓練和優化來提升新領域、新核心詞的識別率,就尤為關鍵。
目前,對于領域詞增強的方法主要是通過優化語言模型來解決,包括兩個方法:(1)領域語料獲取,即在相關領域通過收集大量的文本語料,訓練領域相關的語言模型,以達到對領域詞準確的識別;(2)分類語言模型[1],即領域詞為某一類別詞,通過類別替換獲取類別的領域語料,訓練得到類別語言模型,進而實現對領域詞的識別。
但是,在實際應用場景中面臨3個問題:(1)領域文本語料很難獲取和收集,并且也無法覆蓋所有領域的詞,很難訓練獲得一個比較好的領域語言模型;(2)目前使用較多解決領域詞識別的是基于類的語言模型,然而這種模型需要提前定義詞類,相對復雜,對那些不屬于任何一類的詞不好建模。領域詞具有多樣性,無法用類別代替,如國網業務詞和專業詞種類較多;(3)領域詞具有實時性且不斷擴充,模型完全重新訓練到上線應用會有一定的滯后,不能實時生效。
為了解決語音識別中領域詞的多樣性和實時性,本文設計了一種基于HCLG領域詞權重增強來優化語言模型的方法,并重構語音識別解碼流程,如圖1所示。首先獲取領域內領域詞,并對領域詞進行發音標注;然后對HCLG中對應領域詞進行權重增強,使得解碼過程在盡量不影響性能的前提下保證領域詞的識別;接著,對語音識別的結果進行后處理,即領域詞的檢查和替換。本文的方法只依賴領域詞表,可以實時添加和擴充,并實時生效。
1 HCLG領域詞權重增強
1.1 HCLG
在大規模連續語音識別中,解碼過程一般采用加權有限狀態轉換器(Weighter Finite State Transducer,WFST)[2],因此以WFST為框架的大詞匯量連續語音識別系統被廣泛應用。語音識別的解碼過程可以分為語言模型、發音詞典規律、上下文相關和隱馬爾可夫模型等限制下,尋找一個最有可能的文本序列的過程。
語音識別解碼器是在給定輸入特征序列下尋找最優的文本次序,尋找次序的過程其實就是在HCLG圖上檢索的過程。關于HCLG:G表示語言模型,用來解碼語法;L是發音詞典,輸入是音素,輸出是詞;C表示音素上下文關系;H是隱馬爾可夫模型,表示相似狀態之間的跳轉狀態。
1.2 領域詞權重增強
上文中介紹了HCLG的結構,在本小節中,將詳細描述如何通過修改HCLG的權重來增強領域詞的識別效果。本文的修改只是對HCLG中的G語言模型進行修改,可以將HCLG簡化表示如圖2所示。
本文提出的在HCLG中對領域詞進行增強主要是通過構造領域詞狀態轉移圖(下文中用S.FST表示),然后將S.FST與現有的HCLG進行合并生成HCLGS。本方法能夠通過自定義S.FST中詞的權重,增強HCLG中對應詞的權重,同時可以共享HCLG中原有詞的權重,保證了領域詞的識別。
(1)生成領域詞S.FST
假設領域詞為“國家智能電網”,可以將領域詞拆分為已有詞表詞的組合,即:“國家”、“智能”、“電網”。根據領域詞可以生成對應的S.FST,如圖3所示。
(2)生成HCLGS
根據上個模塊生成的S.FST,將S.FST與HCLG進行合并,如圖4所示。合并操作即將原S.FST中的邊合并到HCLG對應的邊上,在本文例子中即將“國家”和“智能”連接,對應的權重為用戶自定義。
2 領域詞糾正
上小節中,在HCLG中對領域詞的權重進行增強,增加了解碼階段領域詞出現的概率。但是,由于要保證語音識別結果的正確性,不能對在HCLG中對領域詞增加過大的權重,以免影響整體解碼的效果,因此需要對解碼后的結果進行領域詞增強。在解碼過程中,解碼識別錯誤的領域詞往往是由于發音相似但是字形不對而導致的,因此,后處理的過程需要匹配到相似發音的領域詞,從而進行替換。為了替換的準確性,本文以音素為基本單位進行領域詞的替換。后處理主要涉及兩部分:領域詞檢索和發音相似度度量。
在語音識別過程中,解碼的效率往往在實際應用中比較重要,因此需要設計一種快速的領域詞查找的方法,實現高效的領域詞替換。本文提出一種基于音素樹的領域詞快速查找方法。
2.1 音素檢索樹
字典樹,又稱Trie樹、前綴樹,是一種樹形結構,是哈希樹的變種,是一種用于快速檢索的多叉樹結構。典型應用是用于統計和排序大量的字符串(但不僅限于字符串)[3],所以經常被搜索引擎系統用于文本詞頻統計。它能最大限度地減少無謂的字符串比較,查詢效率比哈希表高。本文的音素串查找可以看作是字符串查找,即檢索相同的音素串,因此可以利用字典樹建立音素檢索樹,從而進行音素的匹配查找。
首先,需要將領域詞轉換為音素串,如“電網、斷線”轉換為音素串則為“d ian1,w ang3;d uan1,x ian4”,將領域詞轉換為領域詞音素串列表,從而轉換為對應的音素前綴樹,如圖5所示。
在圖2中,一個單字由兩個節點表示,在有漢字表征的節點可以看作一個字或詞的結束節點,如節點“ian2 電”表征這個節點是字的結束節點,節點“ang2電網”表征這個節點是詞的結束節點。即在字典樹種,每個音素標注一個節點,每個字或詞表征一個因素的路徑,并記錄在路徑的結束節點。
2.2 音素檢索
上一節定義和建立了音素檢索樹,本模塊描述音素樹的檢索和替換過程主要分兩種情況:精確匹配和模糊匹配。
精確匹配為字典樹的檢索過程,直接進行字符串匹配,如果匹配到對應字或詞的節點,即表明查找到對應的音素出串,如輸入音素樹“h ao3 b a1”(對應漢字為“號吧”),則匹配到”h ao3”,字符串中存在相似的發音,則替換為“好吧”。具體字典樹的檢索算法:
(1)總是在字典樹的根節點開始,且對樹的根節點為空。
(2)掃描第一層各個節點獲得查找音素的節點,并根據序列的下一個音素選擇對應的字數并轉到該子樹繼續檢索所在層的各個節點,如果查找到葉子節點,則轉到步驟(3);否則,繼續選擇對應的子樹搜索。
(3)匹配到葉子節點,則獲取葉子節點上次數,即完成匹配;若未匹配到葉子節點,則向上追溯最近的字或詞節點,匹配成功;若未匹配到任何字或詞節點,則匹配失敗。
對于模糊匹配,要考慮到發音相似的音素串匹配,比如業務詞“電網“對應的發音音素為”d ian1 w ang3”,但是在語音識別的過程中,可能聲學模型會輸出“d ian1 w ang4”,對應的音調發生問題,但是其對應的還是業務詞“電網”。因此,在這種情況下,要考慮發音相似的情況。本文只考慮到音調的相似度,根據經驗可得,對于聲調3聲和4聲可認為為同一種音素。在檢索時,當匹配音素節點時,相同音素且不同聲調的,可認為為同一種發音,即匹配節點成功。當然,可以設計更為復雜的相似度算法進行檢索,本文目前沒有深入設計。
3 實驗
本文實驗基于國網客服人工智能中心和清華大學語音語義實驗室聯合研發的語音識別系統,其中聲學模型是由100h的863開放語音數據[4]和Kaldi[5]的DNN訓練工具訓練所得。實驗中具體參數:語音特征維度為39維特,音素集使用中文的拼音。對于語言模型,本文采用srilm[6]工具和新聞數據sogouT[7]進行訓練得到一個領域通用的語言模型,并基于國網客服電話語音特定領域詞進一步訓練優化。
在測試時,選取國網客服各領域核心詞匯列表(如“應急電壓、應急電源”等),進行了4組實驗:(1)直接使用語音識別系統進行識別;(2)將地名詞進行HCLG加強,進行語音識別;(3)將地名詞進行語音識別后糾正;(4)使用HCLG增強和識別后糾正。具體實驗結果如表1所示。
通過實驗可以看出,基于HCLG增強的模型優化和基于后處理的核心詞糾正都能顯著提高領域詞的識別效果,相對錯誤率下降(11.54-8.18)/11.54=29.1%。
4 結論
本文提出了一種針對不同領域核心詞的模型優化方法,通過對HCLG的增強以及識別后處理優化,該方法能夠快速全面地提高領域詞的識別準確率。這種方法能夠快速且實時地增加領域詞,以適應語音識別在不同領域場景的使用。同時,該方法克服了之前限定類別領域詞識別的限制,可以更加靈活地添加領域詞,減少了領域詞添加的復雜性。本文提出的領域詞增強的方法可成功解決國網客服的電話語音的核心詞識別優化問題。
參考文獻
[1] 楊林國.詞類擴充方法在語音識別中的應用[J].電子技術應用,2014,40(6):123-125.
[2] MOHRI M,PEREIRA F,RILEY M.Weighted finite-state transducers in speech recognition[J].Computer Speech & Language,2002,16(1):69-88.
[3] 孫芳媛.基于倒排索引和字典樹的站內搜索引擎的設計與實現[D].哈爾濱:哈爾濱工業大學,2016.
[4] 李愛軍,王天慶,殷治綱.863語音識別語音語料庫RASC863——四大方言普通話語音庫[C].第七屆全國人機語音通訊學術會議(NCMMSC7)論文集,2003:274-277.
[5] POVEY D,GHOSHAL A,BOULIANNE G,et al.The Kaldi speech recognition toolkit[C].IEEE 2011 Workshop on Automatic Speech Recognition and Understanding.IEEE Signal Processing Society,2011.
[6] STOLCKE A.SRILM-an extensible language modeling toolkit[C].Seventh International Conference on Spoken Language Processing,2002.
[7] Liu Yiqun,Chen Fei,Kong Weize,et al.Identifying Web spam with the wisdom of the crowds[J].ACM Transaction on the Web,2012,6(1):1-30.
作者信息:
楊 維,張才俊,馬永波
(國家電網客服中心 信息技術部,天津300000)