摘要:關(guān)鍵詞確認(rèn)是語音識(shí)別中一個(gè)重要的研究方向。對于關(guān)鍵詞確認(rèn)系統(tǒng)來講,廢料模型的結(jié)構(gòu)和類型對整個(gè)系統(tǒng)的性能有很大的影響。文中提出了一種基于音節(jié)格的廢料模型。實(shí)驗(yàn)表明,與傳統(tǒng)的基于音素類的廢料模型相比,關(guān)鍵詞確認(rèn)率有了很大的提高。
關(guān)鍵詞:關(guān)鍵詞確認(rèn);隱馬爾可夫模型;廢料模型;音素類;音節(jié)格
關(guān)鍵詞確認(rèn)(Keyword Spotting , KWS)是語音識(shí)別中一個(gè)重要的研究方向,也是近幾年來在很多行業(yè)頗受重視的一個(gè)研究領(lǐng)域。一般來說,在說話人的正常話語中除了包含一些關(guān)鍵性詞匯外還可能包括一些非話語的咳嗽聲、呼吸聲、關(guān)門聲、音樂聲和背景噪聲等。在說話人的連續(xù)語音中確認(rèn)出關(guān)鍵性的詞匯, 這就是關(guān)鍵詞確認(rèn)技術(shù)[1]。相對于大詞匯量的識(shí)別系統(tǒng),關(guān)鍵詞確認(rèn)系統(tǒng)既精確,計(jì)算量又小,而且對于實(shí)際的語音數(shù)據(jù)有較大的彈性,因此在監(jiān)聽、通信、語音輸入等方面都有著很好應(yīng)用前景[2]。
關(guān)鍵詞確認(rèn)重點(diǎn)之一是代表非關(guān)鍵詞語音的模型,不論識(shí)別系統(tǒng)的方法怎樣,大部分是采用廢料模型。當(dāng)采用一般的模型作為廢料模型時(shí),識(shí)別器傾向于把它們誤識(shí)為關(guān)鍵詞,從而降低了確認(rèn)率。另一方面,對每個(gè)詞都構(gòu)建廢料模型又是非常不現(xiàn)實(shí)的,而且使識(shí)別器的結(jié)構(gòu)更復(fù)雜化,降低了系統(tǒng)的靈活性。兩者之間的平衡點(diǎn)就是使用不同類型和數(shù)量的廢料模型,這樣即使想要保證相當(dāng)高的確認(rèn)率,計(jì)算時(shí)間也是可以接受的。本文就這點(diǎn)提出了基于音節(jié)格的廢料模型。實(shí)驗(yàn)結(jié)果顯示,與傳統(tǒng)的基于音素類的廢料模型相比,系統(tǒng)的性能有了很大的提高。
1 廢料模型的由來
關(guān)鍵詞確認(rèn)是在非受限語音信號(hào)中,確認(rèn)出詞表中所包含的“關(guān)鍵詞”,拒絕詞表外的“非關(guān)鍵詞”,對語音內(nèi)容加以理解,這里的關(guān)鍵詞詞匯表可以根據(jù)系統(tǒng)所應(yīng)用的領(lǐng)域來確定。設(shè)已知一個(gè)觀察值序列O=o1,o2,…oT判斷其中是否存在一個(gè)關(guān)鍵詞M,其HMM模型所包含的狀態(tài)為{q1,…,qN},KWS即為把O用一條含有M的路徑來描述所得的匹配問題,這里定義如下方法計(jì)算在語音中存在關(guān)鍵詞M的評分S(M|O),即
式中,b*為關(guān)鍵詞在語音中的最佳起始點(diǎn);e*為最佳結(jié)束點(diǎn);O*為與之相對應(yīng)的關(guān)鍵詞M的最佳狀態(tài)序列,即在判斷是否存在關(guān)鍵詞M時(shí),首先在語音中找到與該關(guān)鍵詞最匹配的語音段,然后用該關(guān)鍵詞在該語音段上經(jīng)長度歸正后的后驗(yàn)概率值作為評分來判斷關(guān)鍵詞的存在與否。b*、 e*和Q*可按下式求得
若起始點(diǎn)b*和結(jié)束點(diǎn)e*已知,可用Viterbi算法求出最佳狀態(tài)鏈Q(jìng)*={qb,…,qe}。因此若窮舉所有可能的起始點(diǎn)b和結(jié)束點(diǎn)e,并根據(jù)上述式子必然可求出S(M|O),根據(jù)S(M|O))的值來判斷是否存在關(guān)鍵詞M。
當(dāng)然,用窮舉的方法來求取起始點(diǎn)b和結(jié)束點(diǎn)e計(jì)算量非常大,在實(shí)際使用中是根本無法實(shí)現(xiàn)的。因此往往采用在一次搜索過程的同時(shí)確定b*、e*和Q*, 即在觀察序列O上通過引入廢料狀態(tài)qG定義關(guān)鍵詞的擴(kuò)充模型 。它所包含的狀態(tài)為{qG,qb,…qe,qG},用廢料狀態(tài)qG表示非關(guān)鍵詞語音。使用擴(kuò)充模型在整個(gè)觀察序列上用Viterbi算法進(jìn)行搜索,可以得到對應(yīng) 的最佳狀態(tài)序列:
根據(jù)這一狀態(tài)序列可以同時(shí)確定b*、e*和Q*。這里的廢料狀態(tài)就是由建立廢料模型得到的??梢姀U料模型的建立對于區(qū)分關(guān)鍵詞和非關(guān)鍵詞語音是不可缺少的。
2 基于音節(jié)格的廢料模型
把常見的非關(guān)鍵詞按照其相應(yīng)的漢語音節(jié)首字母的順序排列,并通過訓(xùn)練分別對其建模,就形成了一個(gè)音節(jié)格。在音節(jié)格中每一格內(nèi)存放一個(gè)非關(guān)鍵詞語音對應(yīng)的音節(jié)。
一般來說,在說話人的連續(xù)語音中除了一些關(guān)鍵性的詞匯外還包括許多詞表外詞,例如:“請問,王艷在嗎?”,那么對于一個(gè)基于人名的關(guān)鍵詞確認(rèn)系統(tǒng)來講,“王艷”是關(guān)鍵詞,“請、問、在、嗎”這四個(gè)字都屬于詞表外詞,即非關(guān)鍵詞語音,而對于這四個(gè)字對應(yīng)的音節(jié)在音節(jié)格中的存放順序?yàn)閙a, qing, wen, zai。漢語由21個(gè)聲母和38個(gè)韻母組成約400個(gè)左右的無調(diào)音節(jié),而針對關(guān)鍵詞確認(rèn)系統(tǒng)所應(yīng)用領(lǐng)域的不同,在說話者的自然輸入語音中所常見的非關(guān)鍵詞是有限的,也是可以預(yù)測的,所以可以對這些常見的詞表外詞建立相應(yīng)的廢料模型。本文所涉及的基于人名的關(guān)鍵詞確認(rèn)系統(tǒng)是應(yīng)用在查詢控制方面的,常見的非關(guān)鍵詞語音有ni, hao, wo, xiang, zhao, qing, wen, zai, ma等等,對這些非關(guān)鍵詞音節(jié)建立廢料模型,然后把與其相對應(yīng)的音節(jié)按順序存放在音節(jié)格中。
3 實(shí)驗(yàn)和討論
3.1 實(shí)驗(yàn)平臺(tái)
本文所采用的語音數(shù)據(jù)庫是自行采集的,該數(shù)據(jù)庫是專門錄制的,包含20個(gè)不同人名的數(shù)據(jù)庫,參與訓(xùn)練的共有20人,其中男性12人,女性8人,年齡分布在14歲到35歲之間,選取 15人分別說20個(gè)不同的人名,來訓(xùn)練20個(gè)關(guān)鍵詞的HMM模型,另外5人針對每個(gè)關(guān)鍵詞錄制一句包含關(guān)鍵詞的句子作為測試數(shù)據(jù)。數(shù)據(jù)庫錄制的是采樣率為11025HZ,16位量化和單聲道的語音信號(hào)。
確認(rèn)系統(tǒng)的識(shí)別基元使用無跨越從左向右的連續(xù)HMM模型,每個(gè)HMM有4個(gè)輸出狀態(tài),每個(gè)狀態(tài)有128個(gè)高斯分量。對于關(guān)鍵詞模型采用以關(guān)鍵詞為識(shí)別基元。形成的語法網(wǎng)絡(luò)圖由關(guān)鍵詞模型、27個(gè)音節(jié)模型和一個(gè)背景噪音模型構(gòu)成,其結(jié)構(gòu)如圖1所示。圖中的Keyword1~KeywordN代表N(N值為20)個(gè)關(guān)鍵詞模型,Garbage1~GarbageL代表M(M值為27)個(gè)廢料模型。
對輸入的語音信號(hào)根據(jù)短時(shí)能量和短時(shí)平均過零率進(jìn)行音節(jié)切分,然后提取Mel頻率倒譜系數(shù)(MFCC)作為特征矢量,為了使特征矢量更好地表征語音信號(hào)之間前后相關(guān)特性,選用12維 MFCC和12維一階差分 MFCC構(gòu)成特征矢量。在進(jìn)行關(guān)鍵詞確認(rèn)時(shí),對輸入語音按廢料模型、關(guān)鍵詞模型的順序進(jìn)行匹配,計(jì)算匹配得分。在進(jìn)行匹配時(shí)先與廢料模型匹配,并計(jì)算每個(gè)匹配的得分,直到得分低于某個(gè)閾值,說明當(dāng)前的語音是非廢料語音,此時(shí)就應(yīng)與每個(gè)關(guān)鍵詞模型逐個(gè)進(jìn)行匹配,并結(jié)合基于特征矢量信息的聲學(xué)置信度得到第 幀特征在每個(gè)狀態(tài)的置信度,從而對非關(guān)鍵詞語音進(jìn)行有效拒識(shí),得出最終的確認(rèn)結(jié)果。
3.2 測試結(jié)果
以數(shù)據(jù)庫中后五個(gè)人錄制的數(shù)據(jù)作為測試數(shù)據(jù),對于基于音素類的垃圾模型有7個(gè)(見表1),包括代表聲母的一個(gè)模型Hcon和代表韻母的6個(gè)模型(Ha,Ho,He,Hi,Hu和Hv)。
表1:基于音素類的垃圾模型
本文中基于音節(jié)格的廢料模型有27個(gè),可以比較一下對于不同類型和數(shù)量的廢料模型在不同的虛報(bào)率下系統(tǒng)的確認(rèn)率和確認(rèn)時(shí)間如表2所示。表中的PD代表確認(rèn)率,F(xiàn)AR代表虛報(bào)率(平均每個(gè)關(guān)鍵詞在一小時(shí)內(nèi)被虛報(bào)的次數(shù)),Av.comp.Time代表平均確認(rèn)每個(gè)輸入語音所需時(shí)間。
表2:不同類型廢料模型系統(tǒng)的確認(rèn)率
從表中可以看到,就時(shí)間來看只差了3.01秒,這是正常的,畢竟音素類只有7個(gè)廢料模型,而音節(jié)格有27個(gè)廢料模型,這個(gè)時(shí)間差也是可以接受的;最重要的是確認(rèn)率,基于音節(jié)格的廢料模型在虛報(bào)率數(shù)量為6時(shí)確認(rèn)率為0.84,而基于音素類的廢料模型在虛報(bào)率數(shù)量為10時(shí)確認(rèn)率為0.68,綜合來看,基于音節(jié)格的廢料模型是比較好的選擇。
4結(jié)論
本文針對關(guān)鍵詞確認(rèn)系統(tǒng)中廢料模型的結(jié)構(gòu)和類型進(jìn)行了研究,在訓(xùn)練過程中對常用的非關(guān)鍵詞語音建立基于音節(jié)格的HMM,在確認(rèn)過程中聯(lián)合似然得分和置信度得分,與傳統(tǒng)的基于音素類的廢料模型相比,對于不同的虛報(bào)率關(guān)鍵詞的確認(rèn)率有了很大的提高。從實(shí)驗(yàn)結(jié)果中也可以看到,雖然確認(rèn)率相對來講有了提高,但是只達(dá)到了0.84,所以對于廢料模型的結(jié)構(gòu)還有待更深入細(xì)致的研究。
參考文獻(xiàn)
[1]韓紀(jì)慶,張磊,鄭鐵然。語音信號(hào)處理。北京:清華大學(xué)出版社,2006
[2]李治柱,吳亞棟。基于HMM的關(guān)鍵詞識(shí)別系統(tǒng)。計(jì)算機(jī)工程,2004;30(7),130~132