《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 一種語音識別中核心詞快速模型優(yōu)化方法
一種語音識別中核心詞快速模型優(yōu)化方法
2019年電子技術(shù)應(yīng)用第2期
楊 維,張才俊,馬永波
國家電網(wǎng)客服中心 信息技術(shù)部,天津300000
摘要: 針對國網(wǎng)客服電話語音識別在特定領(lǐng)域核心詞識別效果差的問題,提出一種基于HCLG領(lǐng)域詞權(quán)重增強和領(lǐng)域詞糾正的方法,能夠?qū)崟r并快速地添加領(lǐng)域詞,從而動態(tài)地優(yōu)化語言模型,提升語音識別效果。將該模型和算法優(yōu)化應(yīng)用在國網(wǎng)客服中心電話語音的咨詢、維修、投訴等各種領(lǐng)域場景中,其語音識別結(jié)果都得到大幅改善。
關(guān)鍵詞: 語音識別 HCLG
中圖分類號: TP183
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182304
中文引用格式: 楊維,張才俊,馬永波. 一種語音識別中核心詞快速模型優(yōu)化方法[J].電子技術(shù)應(yīng)用,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.
Domain word recognition enhancement method in speech recognition
Yang Wei,Zhang Caijun,Ma Yongbo
IT Department,State Grid Customer Service Center,Tianjin 300000,China
Abstract: Aiming at the problem that the national network customer telephone voice recognition has poor recognition of core words in specific fields, this paper proposes a method based on HCLG domain weight enhancement and domain word correction, which can add domain words in real time and quickly, to dynamically optimize the language model and improve speech recognition. The model and algorithm are optimized in the various fields of the telephone voice consultation, maintenance, complaints, etc. of the State Grid Customer Service Center. The speech recognition results have been greatly improved.
Key words : speech recognition;HCLG

0 引言

    近年來,隨著語音識別技術(shù)的逐步成熟,語音識別技術(shù)被應(yīng)用到越來越多的場景中。國家電網(wǎng)客服中心成立人工智能中心,并深入研究語音識別核心技術(shù)以及語音在智能客服系統(tǒng)中的應(yīng)用。當前國網(wǎng)語音系統(tǒng)面臨的一個非常關(guān)鍵的問題就是通用語音識別,在文本語料能夠覆蓋的通用場景識別中,如查天氣、問車票等,識別率很高。但是,在國網(wǎng)客服電話語音中,面臨大量國網(wǎng)業(yè)務(wù)特有的核心詞匯和說法,如專有名詞“電線桿、高壓鐵塔、絕緣子、金具、瓷瓶、拉線”等,由于其屬于特定領(lǐng)域,通用的領(lǐng)域語言模型很難正確識別。因此,如何在保證通用領(lǐng)域高識別率的同時,能夠快速通過模型訓練和優(yōu)化來提升新領(lǐng)域、新核心詞的識別率,就尤為關(guān)鍵。

    目前,對于領(lǐng)域詞增強的方法主要是通過優(yōu)化語言模型來解決,包括兩個方法:(1)領(lǐng)域語料獲取,即在相關(guān)領(lǐng)域通過收集大量的文本語料,訓練領(lǐng)域相關(guān)的語言模型,以達到對領(lǐng)域詞準確的識別;(2)分類語言模型[1],即領(lǐng)域詞為某一類別詞,通過類別替換獲取類別的領(lǐng)域語料,訓練得到類別語言模型,進而實現(xiàn)對領(lǐng)域詞的識別。

    但是,在實際應(yīng)用場景中面臨3個問題:(1)領(lǐng)域文本語料很難獲取和收集,并且也無法覆蓋所有領(lǐng)域的詞,很難訓練獲得一個比較好的領(lǐng)域語言模型;(2)目前使用較多解決領(lǐng)域詞識別的是基于類的語言模型,然而這種模型需要提前定義詞類,相對復雜,對那些不屬于任何一類的詞不好建模。領(lǐng)域詞具有多樣性,無法用類別代替,如國網(wǎng)業(yè)務(wù)詞和專業(yè)詞種類較多;(3)領(lǐng)域詞具有實時性且不斷擴充,模型完全重新訓練到上線應(yīng)用會有一定的滯后,不能實時生效。

    為了解決語音識別中領(lǐng)域詞的多樣性和實時性,本文設(shè)計了一種基于HCLG領(lǐng)域詞權(quán)重增強來優(yōu)化語言模型的方法,并重構(gòu)語音識別解碼流程,如圖1所示。首先獲取領(lǐng)域內(nèi)領(lǐng)域詞,并對領(lǐng)域詞進行發(fā)音標注;然后對HCLG中對應(yīng)領(lǐng)域詞進行權(quán)重增強,使得解碼過程在盡量不影響性能的前提下保證領(lǐng)域詞的識別;接著,對語音識別的結(jié)果進行后處理,即領(lǐng)域詞的檢查和替換。本文的方法只依賴領(lǐng)域詞表,可以實時添加和擴充,并實時生效。

rgzn3-t1.gif

1 HCLG領(lǐng)域詞權(quán)重增強

1.1 HCLG

    在大規(guī)模連續(xù)語音識別中,解碼過程一般采用加權(quán)有限狀態(tài)轉(zhuǎn)換器(Weighter Finite State Transducer,WFST)[2],因此以WFST為框架的大詞匯量連續(xù)語音識別系統(tǒng)被廣泛應(yīng)用。語音識別的解碼過程可以分為語言模型、發(fā)音詞典規(guī)律、上下文相關(guān)和隱馬爾可夫模型等限制下,尋找一個最有可能的文本序列的過程。

    語音識別解碼器是在給定輸入特征序列下尋找最優(yōu)的文本次序,尋找次序的過程其實就是在HCLG圖上檢索的過程。關(guān)于HCLG:G表示語言模型,用來解碼語法;L是發(fā)音詞典,輸入是音素,輸出是詞;C表示音素上下文關(guān)系;H是隱馬爾可夫模型,表示相似狀態(tài)之間的跳轉(zhuǎn)狀態(tài)。

1.2 領(lǐng)域詞權(quán)重增強

    上文中介紹了HCLG的結(jié)構(gòu),在本小節(jié)中,將詳細描述如何通過修改HCLG的權(quán)重來增強領(lǐng)域詞的識別效果。本文的修改只是對HCLG中的G語言模型進行修改,可以將HCLG簡化表示如圖2所示。

rgzn3-t2.gif

    本文提出的在HCLG中對領(lǐng)域詞進行增強主要是通過構(gòu)造領(lǐng)域詞狀態(tài)轉(zhuǎn)移圖(下文中用S.FST表示),然后將S.FST與現(xiàn)有的HCLG進行合并生成HCLGS。本方法能夠通過自定義S.FST中詞的權(quán)重,增強HCLG中對應(yīng)詞的權(quán)重,同時可以共享HCLG中原有詞的權(quán)重,保證了領(lǐng)域詞的識別。

    (1)生成領(lǐng)域詞S.FST

    假設(shè)領(lǐng)域詞為“國家智能電網(wǎng)”,可以將領(lǐng)域詞拆分為已有詞表詞的組合,即:“國家”、“智能”、“電網(wǎng)”。根據(jù)領(lǐng)域詞可以生成對應(yīng)的S.FST,如圖3所示。

rgzn3-t3.gif

    (2)生成HCLGS

    根據(jù)上個模塊生成的S.FST,將S.FST與HCLG進行合并,如圖4所示。合并操作即將原S.FST中的邊合并到HCLG對應(yīng)的邊上,在本文例子中即將“國家”和“智能”連接,對應(yīng)的權(quán)重為用戶自定義。

rgzn3-t4.gif

2 領(lǐng)域詞糾正

    上小節(jié)中,在HCLG中對領(lǐng)域詞的權(quán)重進行增強,增加了解碼階段領(lǐng)域詞出現(xiàn)的概率。但是,由于要保證語音識別結(jié)果的正確性,不能對在HCLG中對領(lǐng)域詞增加過大的權(quán)重,以免影響整體解碼的效果,因此需要對解碼后的結(jié)果進行領(lǐng)域詞增強。在解碼過程中,解碼識別錯誤的領(lǐng)域詞往往是由于發(fā)音相似但是字形不對而導致的,因此,后處理的過程需要匹配到相似發(fā)音的領(lǐng)域詞,從而進行替換。為了替換的準確性,本文以音素為基本單位進行領(lǐng)域詞的替換。后處理主要涉及兩部分:領(lǐng)域詞檢索和發(fā)音相似度度量。

    在語音識別過程中,解碼的效率往往在實際應(yīng)用中比較重要,因此需要設(shè)計一種快速的領(lǐng)域詞查找的方法,實現(xiàn)高效的領(lǐng)域詞替換。本文提出一種基于音素樹的領(lǐng)域詞快速查找方法。

2.1 音素檢索樹

    字典樹,又稱Trie樹、前綴樹,是一種樹形結(jié)構(gòu),是哈希樹的變種,是一種用于快速檢索的多叉樹結(jié)構(gòu)。典型應(yīng)用是用于統(tǒng)計和排序大量的字符串(但不僅限于字符串)[3],所以經(jīng)常被搜索引擎系統(tǒng)用于文本詞頻統(tǒng)計。它能最大限度地減少無謂的字符串比較,查詢效率比哈希表高。本文的音素串查找可以看作是字符串查找,即檢索相同的音素串,因此可以利用字典樹建立音素檢索樹,從而進行音素的匹配查找。

    首先,需要將領(lǐng)域詞轉(zhuǎn)換為音素串,如“電網(wǎng)、斷線”轉(zhuǎn)換為音素串則為“d ian1,w ang3;d uan1,x ian4”,將領(lǐng)域詞轉(zhuǎn)換為領(lǐng)域詞音素串列表,從而轉(zhuǎn)換為對應(yīng)的音素前綴樹,如圖5所示。

rgzn3-t5.gif

    在圖2中,一個單字由兩個節(jié)點表示,在有漢字表征的節(jié)點可以看作一個字或詞的結(jié)束節(jié)點,如節(jié)點“ian2 電”表征這個節(jié)點是字的結(jié)束節(jié)點,節(jié)點“ang2電網(wǎng)”表征這個節(jié)點是詞的結(jié)束節(jié)點。即在字典樹種,每個音素標注一個節(jié)點,每個字或詞表征一個因素的路徑,并記錄在路徑的結(jié)束節(jié)點。

2.2 音素檢索

    上一節(jié)定義和建立了音素檢索樹,本模塊描述音素樹的檢索和替換過程主要分兩種情況:精確匹配和模糊匹配。

    精確匹配為字典樹的檢索過程,直接進行字符串匹配,如果匹配到對應(yīng)字或詞的節(jié)點,即表明查找到對應(yīng)的音素出串,如輸入音素樹“h ao3 b a1”(對應(yīng)漢字為“號吧”),則匹配到”h ao3”,字符串中存在相似的發(fā)音,則替換為“好吧”。具體字典樹的檢索算法:

    (1)總是在字典樹的根節(jié)點開始,且對樹的根節(jié)點為空。

    (2)掃描第一層各個節(jié)點獲得查找音素的節(jié)點,并根據(jù)序列的下一個音素選擇對應(yīng)的字數(shù)并轉(zhuǎn)到該子樹繼續(xù)檢索所在層的各個節(jié)點,如果查找到葉子節(jié)點,則轉(zhuǎn)到步驟(3);否則,繼續(xù)選擇對應(yīng)的子樹搜索。

    (3)匹配到葉子節(jié)點,則獲取葉子節(jié)點上次數(shù),即完成匹配;若未匹配到葉子節(jié)點,則向上追溯最近的字或詞節(jié)點,匹配成功;若未匹配到任何字或詞節(jié)點,則匹配失敗。

    對于模糊匹配,要考慮到發(fā)音相似的音素串匹配,比如業(yè)務(wù)詞“電網(wǎng)“對應(yīng)的發(fā)音音素為”d ian1 w ang3”,但是在語音識別的過程中,可能聲學模型會輸出“d ian1 w ang4”,對應(yīng)的音調(diào)發(fā)生問題,但是其對應(yīng)的還是業(yè)務(wù)詞“電網(wǎng)”。因此,在這種情況下,要考慮發(fā)音相似的情況。本文只考慮到音調(diào)的相似度,根據(jù)經(jīng)驗可得,對于聲調(diào)3聲和4聲可認為為同一種音素。在檢索時,當匹配音素節(jié)點時,相同音素且不同聲調(diào)的,可認為為同一種發(fā)音,即匹配節(jié)點成功。當然,可以設(shè)計更為復雜的相似度算法進行檢索,本文目前沒有深入設(shè)計。

3 實驗

    本文實驗基于國網(wǎng)客服人工智能中心和清華大學語音語義實驗室聯(lián)合研發(fā)的語音識別系統(tǒng),其中聲學模型是由100h的863開放語音數(shù)據(jù)[4]和Kaldi[5]的DNN訓練工具訓練所得。實驗中具體參數(shù):語音特征維度為39維特,音素集使用中文的拼音。對于語言模型,本文采用srilm[6]工具和新聞數(shù)據(jù)sogouT[7]進行訓練得到一個領(lǐng)域通用的語言模型,并基于國網(wǎng)客服電話語音特定領(lǐng)域詞進一步訓練優(yōu)化。

    在測試時,選取國網(wǎng)客服各領(lǐng)域核心詞匯列表(如“應(yīng)急電壓、應(yīng)急電源”等),進行了4組實驗:(1)直接使用語音識別系統(tǒng)進行識別;(2)將地名詞進行HCLG加強,進行語音識別;(3)將地名詞進行語音識別后糾正;(4)使用HCLG增強和識別后糾正。具體實驗結(jié)果如表1所示。

rgzn3-b1.gif

    通過實驗可以看出,基于HCLG增強的模型優(yōu)化和基于后處理的核心詞糾正都能顯著提高領(lǐng)域詞的識別效果,相對錯誤率下降(11.54-8.18)/11.54=29.1%。

4 結(jié)論

    本文提出了一種針對不同領(lǐng)域核心詞的模型優(yōu)化方法,通過對HCLG的增強以及識別后處理優(yōu)化,該方法能夠快速全面地提高領(lǐng)域詞的識別準確率。這種方法能夠快速且實時地增加領(lǐng)域詞,以適應(yīng)語音識別在不同領(lǐng)域場景的使用。同時,該方法克服了之前限定類別領(lǐng)域詞識別的限制,可以更加靈活地添加領(lǐng)域詞,減少了領(lǐng)域詞添加的復雜性。本文提出的領(lǐng)域詞增強的方法可成功解決國網(wǎng)客服的電話語音的核心詞識別優(yōu)化問題。

參考文獻

[1] 楊林國.詞類擴充方法在語音識別中的應(yīng)用[J].電子技術(shù)應(yīng)用,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] 孫芳媛.基于倒排索引和字典樹的站內(nèi)搜索引擎的設(shè)計與實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學,2016.

[4] 李愛軍,王天慶,殷治綱.863語音識別語音語料庫RASC863——四大方言普通話語音庫[C].第七屆全國人機語音通訊學術(shù)會議(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.



作者信息:

楊  維,張才俊,馬永波

(國家電網(wǎng)客服中心 信息技術(shù)部,天津300000)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。