黃石磊,劉 軼,程 剛
(1. 北京大學(xué) 信息科學(xué)技術(shù)學(xué)院,北京 100871;2. 深港產(chǎn)學(xué)研基地,廣東 深圳 518057)
在語音識別(Automatic Speech Recognition, ASR)系統(tǒng)中,特別是實(shí)際的語音識別系統(tǒng)中,檢測集外詞(Out-Of-Vocabulary OOV)并進(jìn)行相應(yīng)的操作是提高識別系統(tǒng)魯棒性和準(zhǔn)確性的重要方法之一。集外詞也稱集合外詞或者未登錄詞。例如,在基于語音識別的地名查詢系統(tǒng)中,用戶可能問到不在系統(tǒng)提供的列表之內(nèi)的地名,或者可能說了一句不相關(guān)的話或者出現(xiàn)了一段噪聲,雖然識別器總可以找到最相近的識別結(jié)果,但是一個友好的系統(tǒng)應(yīng)該對這種提問做出特殊的響應(yīng),例如,提醒用戶重新輸入?,F(xiàn)有的集外詞拒絕技術(shù)主要有兩類:一類是基于顯式垃圾模型或者明確垃圾模型(Explicit Garbage Model, EGM)[1],它在形式上有一個特殊的聲學(xué)模型,用來描述所謂無關(guān)語音,這個模型形式上和系統(tǒng)中其他的聲學(xué)模型一致;還有一類不需要顯式垃圾模型,而直接使用語音識別過程中的某種輸出,經(jīng)過一定的運(yùn)算進(jìn)行判斷,如在線垃圾模型(Online Garbage Model, OGM)[2]。一般來說,顯式垃圾模型是難以設(shè)計(jì)和建模的,因?yàn)槔碚撋闲枰獙σ延心P兔枋龅恼Z音單元之外的“所有”聲音進(jìn)行建模,近似一個“開集”。因此很多系統(tǒng)上使用的是第二類方法,實(shí)際上也需要對語音識別過程中的某種輸出建立模型,簡單的采用可以閾值判斷。
對于集外詞拒絕的問題,也常常使用置信度(Confidence Measure)來描述,已經(jīng)有很多相關(guān)的文獻(xiàn)對此進(jìn)行研究。支持向量機(jī)(Support Vector Machine, SVM)[3]由于其較為優(yōu)秀的泛化能力,被很多研究人員用于置信度計(jì)算[4-6]。在本文的工作中,使用OPD信息用來計(jì)算置信度,并且使用SVM來訓(xùn)練針對每個音子的單獨(dú)的置信度函數(shù)。本文提出的方法中,獲得輸出概率分布OPD不需要額外的顯式垃圾模型。并從每個音子的置信度得分基礎(chǔ)上計(jì)算詞的置信度得分,然后進(jìn)行拒絕或者接受操作。
本文的第2節(jié)介紹輸出概率分布,第3節(jié)介紹基于OPD的OOV拒絕方法,第4節(jié)和第5節(jié)分別介紹實(shí)驗(yàn)設(shè)置和結(jié)果,最后第6節(jié)為結(jié)論。
本文中所用語音識別器是用手持設(shè)備上針對孤立詞識別的識別器(可以擴(kuò)展到其他的識別器)。在這個識別系統(tǒng)中,使用非特定人(Speaker independent)的連續(xù)分布HMM。特征采用12維MFCC系數(shù)加能量并提取差分特征,組成26維的特征矢量?;韭晫W(xué)模型單元為音素,每個音素具有3個從左往右非跳轉(zhuǎn)的狀態(tài),每個狀態(tài)8個高斯混合成分。一共使用50個上下文無關(guān)的音素模型以及靜音模型共51個基本模型,這些模型從863漢語連續(xù)語音庫中訓(xùn)練得來。
本文中識別系統(tǒng)整個識別過程分為兩個階段: 第一階段的一個基于HMM識別器(解碼器)提供基本的識別信息,包括1-best候選詞(Hypothesis,也稱為假想命中)和每個音子/音素的邊界,以及對于1-best候選詞給定的音子邊界的所有的可能的音子/音素的概率得數(shù)。在第二階段,從前一步驟的輸出中計(jì)算音子/音素置信度,從而得到整個詞的置信度得分,然后決定“接受”或者“拒絕”該假設(shè)。
圖1 計(jì)算輸出概率分布矢量
如前所述,在第一階段解碼過程中,可以得到1-best候選詞和音素的概率得分以及邊界。在1-best候選詞W中音素PHi的輸出概率分布矢量v0定義為:
其中p0是音素PHi在候選詞W中音的對數(shù)概率得分,pj(j=1, 2, …N,N表示HMM庫中模型的序號,包括靜音模型)是從第j個音素HMM模型得到的對數(shù)概率。從上述OPD矢量的基本定義可以看出,v0只需要在通常音子/音素的HMM模型,而不需要顯式的垃圾模型。圖1表示了如何獲得OPD分布矢量。
如果使用上下文無關(guān)的音子模型,p0和某個pj是一樣的。由于pj是使用單音子得到的,數(shù)量一般比較少,例如本文的系統(tǒng)中,使用音素作為模型單元,共有50個音素(不包括靜音模型)。如果使用上下文相關(guān)的模型例如三音子tri-phone,仍然可以使用單音子得到OPD,則p0對應(yīng)的三音子的中心音素和某個pj是對應(yīng)的。
進(jìn)一步地,根據(jù)音子的時(shí)間長度對矢量v0進(jìn)行歸一化,得到矢量v1:
其中L(PHi)是PHi的幀的數(shù)目。
利用OPD的模型可以描述一個語音片段和已經(jīng)訓(xùn)練好的各個音子之間的關(guān)系。理論上,OPD模型也可以擴(kuò)展到三音子的情況。和常見的在線垃圾模型,特別是利用N-best的在線垃圾模型相比,OPD模型首先利用了所有可能的音子的信息。其次i由于N-best均是經(jīng)過排序后的概率值所形成的矢量, 實(shí)際已經(jīng)無法區(qū)分1-best到底和哪些音子
具有相似性。因此OPD矢量相對經(jīng)過排序的N-best概率矢量含有更多的信息。如果我們將OPD矢量中各個元素降序排列,就和N-best得分矢量很類似。那么在線垃圾模型就可以使用如下的矢量進(jìn)行致信度計(jì)算:
在識別結(jié)果驗(yàn)證階段(Verification),使用致信度得分來決定第一階段的識別結(jié)果是集內(nèi)詞還是集外詞。在本文中,使用SVM的擬合置信度計(jì)算函數(shù)。一般地,可以將置信度函數(shù)定義為:
其中,L(w) 是詞w的長度(幀數(shù)),f(·) 是置信度函數(shù),同時(shí)也是一個 SVM 分類器,求和范圍i是詞w所包含的各個音子。
考慮具有m個訓(xùn)練數(shù)據(jù)的訓(xùn)練集,需要區(qū)分為兩個不同的類:
其中xi∈Rn是某種特征矢量yi∈{-1,+1}類別標(biāo)記,這些數(shù)據(jù)具有一個超平面的分類面,滿足w·x+b=0。在所有可能的分類面中,具有最大分類間隔的那個分類面是最佳的。
對于一個給定的核函數(shù),SVM的分類器由式(6)式(7)求得:
在語音識別系統(tǒng)中常常使用置信度技術(shù)來估計(jì)識別結(jié)果是否準(zhǔn)確[7-9]。為了計(jì)算置信度得分,使用式(4)得到詞的置信度得分,類似的也可以得到音子和句子的置信度得分。在得到置信度以后,可以設(shè)定一個閾值來決定接受或者拒絕某個候選結(jié)果:
如果將矢量v1(PHi)看成SVM分類器的輸入矢量,來獲取判斷函數(shù)f(·),即:
那么可以利用式(7)中class(x)來判決。進(jìn)一步地,可以使用D(x(PHi))來計(jì)算置信度的值,并且可以得到:
這樣就可以利用式(8)來判決接受/拒絕。
以上可以看出,除了訓(xùn)練識別器用的HMM模型所需的語音數(shù)據(jù)庫,還需要額外的數(shù)據(jù)庫來訓(xùn)練這些SVM分類器(判決函數(shù))。考慮到不同的音子(音素)的輸出概率分布差異,因此對每個音子單獨(dú)訓(xùn)練一個SVM模型。但是使用一個統(tǒng)一的閾值來決定結(jié)果是否被接受。式(10)修改為式(12)。
f(x(PHi))
+b0(PH0)
(12)
為了評估本文提出方法的性能,我們針對非特定說話人漢語孤立詞任務(wù)進(jìn)行了實(shí)驗(yàn)。語音數(shù)據(jù)有60個說話人的25 680條語音。語音長度包括從4到11個音素。這個數(shù)據(jù)庫被分為兩個部分: 其中一個部分用于訓(xùn)練SVM,記為DBTest;另一部分用于測試,記為DBEvl。每個部分包括30個說話人的12 840條語音。每個部分50個目標(biāo)詞,其余的為集外詞。兩個集合種的說話人,以及詞表(目標(biāo)詞以及集外詞)都完全不同。第一階段識別器的HMM模型從863漢語普通話語音數(shù)據(jù)庫訓(xùn)練得來。
為了便于比較不同組實(shí)驗(yàn)的結(jié)果,我們使用錯誤接受率(False Acceptance Rate,F(xiàn)AR) 和錯誤拒絕率(False Rejection Rate,F(xiàn)RR)的曲線來表示系統(tǒng)的操作特性。并在FRR-FAR所形成的檢測錯誤折中(Detection Error Tradeoff,DET)曲線上得到等錯誤率(Equal Error Rate,EER)。
在基線系統(tǒng)實(shí)驗(yàn)中,使用了在線垃圾模型。其中候選詞的N-best (包括1-best,4-best 和51 best) 音素的概率值用來計(jì)算置信度得分,并且使用Fisher區(qū)分分析(FDA) 來優(yōu)化置信度函數(shù)f(·)。對于1-best的情況,幀平均似然概率值被直接當(dāng)成置信度得分。在使用OPD和SVM來計(jì)算置信度的時(shí)候,式(1)中的矢量分兩種情況,其中一部分實(shí)驗(yàn)的矢量包含p0,另一部分實(shí)驗(yàn)中p0被忽略。
在基線系統(tǒng)和本文提出的系統(tǒng)中,首先使用HMM來對DBTest中每個樣本進(jìn)行識別,通過語音識別解碼器,得到最佳候選詞的每個音素的OPD矢量或者是N-best音素概率矢量。由于DBtest中每條語音的結(jié)果都是已知的,因此識別結(jié)果可以標(biāo)記
為應(yīng)該拒絕或者接受的。這樣每個音素的OPD模型就可以使用標(biāo)準(zhǔn)的FDA或者SVM訓(xùn)練過程得到。而在基線系統(tǒng)中,每個在線垃圾模型使用FDA方法得到變換矩陣(對應(yīng)著一個置信度函數(shù))。
在測試集上,使用同樣的HMM解碼器獲得OPD矢量或者N-best音素概率矢量。然后這個OPD矢量參考式(10)中的定義,使用對應(yīng)的SVM分類器來計(jì)算置信度(實(shí)驗(yàn)中也采用了不使用SVM,只使用FDA的求置信度的方式),N-best音素概率矢量使用對應(yīng)的置信度函數(shù)進(jìn)行置信度計(jì)算。最終獲得整個候選詞置信度得分,這里使用算術(shù)平均從每個音素的置信度分值計(jì)算詞的置信度。
圖2所示是不同方法的DET曲線,表1所示是不同方法對應(yīng)的EER。
圖2a 在線垃圾模型和OPD模型(SVM使用線性核函數(shù))DET曲線圖2b 在線垃圾模型和OPD模型(SVM使用RBF核函數(shù))DET曲線
從圖2和表1可以看出,在基線系統(tǒng)的實(shí)驗(yàn)中,在線垃圾模型比直接使用1-best得分可以獲得更低的EER,即使是僅僅采用4-best的情況下EER相對降低了26.1%。隨著N-best的數(shù)量的增加,EER從4-Best的31.4%下降到31.0%,相對下降大約1.2%,增加N-best效果不是很明顯。
比較而言,當(dāng)使用OPD矢量和FDA來計(jì)算置信度值時(shí),EER可以獲得進(jìn)一步的降低。特別是當(dāng)OPD矢量包含p0的情況下,和51-best的結(jié)果相比,EER有明顯降低。進(jìn)一步的可以使用SVM來計(jì)算OPD為輸入的置信度,當(dāng)在比較不同SVM分類器的核函數(shù)的情況,可以看到線性核函數(shù)條件下和直接使用FDA很接近,但是使用RBF核函數(shù)比線性核函數(shù)的實(shí)驗(yàn)獲得了略低的EER。
總的來說,使用OPD和SVM情況下: 在OPD矢量不包含p0時(shí), 所得EER比4-best的在線垃圾模型略低,略差于51-best的情況;當(dāng)OPD矢量包含p0時(shí),OPD矢量和51-best的在線垃圾模型相比,
表1 不同方法的EER比較
進(jìn)行置信度計(jì)算的輸入均是一個51維的矢量??梢钥吹皆谑褂肦BF核函數(shù)的情況下,OPD矢量可以獲得27.6%的EER值,比51-best的情況相對下降了11.0%。
同時(shí)可以看出,本文提出的方法,訓(xùn)練好的OPD模型都是和詞表無關(guān)的。
本文提出了一種計(jì)算置信度的方法,使用OPD矢量作為輸入,并采用SVM計(jì)算置信度。這個方法在對候選結(jié)果驗(yàn)證的時(shí)候不需要額外的聲學(xué)模型。在非特定說話人漢語孤立詞識別實(shí)驗(yàn)中表明所述方法可以比傳統(tǒng)的在線垃圾模型獲得更好的性能,而運(yùn)算量不會顯著增加,同時(shí)訓(xùn)練好的OPD模型和詞表無關(guān),并可以用于其他的識別任務(wù)。
在將來的工作中,將此方法擴(kuò)展到上下文相關(guān)的聲學(xué)模型上,同時(shí)所述方法也可以和其他的置信度計(jì)算方法結(jié)合起來以獲得更好的效果。
[1] C C Broun, W M Campbell, Robust Out-of-Vocabulary Rejection for Low-Complexity Speaker in Dependent Speech Recognition[C]//Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing 2000, 2000,3: 1811-1814.
[2] Tepperman J, Narayanan S, Using Articulatory Representations to Detect Segmental Errors in Non-native Pronunciation[J], IEEE Trans. On Audio, Speech, and Language Processing, 2011, 19(8): 8-22.
[3] V Vapnik, Statistical Learning Theory[M], New York, U.S., John Wiley and Sons Inc., 1998.
[4] Benayed et al, Confidence measures for keyword spotting using support vector machines[C]//Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing 2003, 2003, 1: 588-591.
[5] Takehito Utsuro et al, Confidence of agreement among multiple LVCSR models and model combination by SVM[C]//Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing 2003, 2003, 1, I-16-19.
[6] Haiyang Li, Jiqing Han, Tieran Zheng, et al. Mandarin keyword spotting using syllable based confidence features and SVM[C]//Proceedings of 2nd Intelligent Control and Information Processing (ICICIP), 2011,1: 256-259.
[7] 孫成立,劉剛,郭軍. 中文語音確認(rèn)中子詞置信度性能的研究[J].中文信息學(xué)報(bào),2008,22(2):106-109.
[8] 孟莎,劉加. 漢語語音檢索的集外詞問題與兩階段檢索方法[J].中文信息學(xué)報(bào),2009,23(6):91-97.
[9] Dong Yu, Jinyu Li, Li Deng. Calibration of Confidence Measures in Speech Recognition[J]. IEEE Transactions on Audio, Speech, and Language Processing, 2011, 19(8): 2463-2471.