摘 要:本文主要介紹了連續(xù)語(yǔ)音識(shí)別系統(tǒng)的構(gòu)建過程,分析了連續(xù)語(yǔ)音識(shí)別系統(tǒng)構(gòu)建的方式和采用音素構(gòu)建連續(xù)語(yǔ)音識(shí)別聲學(xué)模型的基本方法。闡述了利用隱馬爾可夫工具包搭建的連續(xù)語(yǔ)音識(shí)別系統(tǒng),給出了系統(tǒng)評(píng)估方法,系統(tǒng)使用日本標(biāo)準(zhǔn)JNAS數(shù)據(jù)庫(kù)進(jìn)行建模并使用北海道大學(xué)日本學(xué)生的發(fā)音進(jìn)行實(shí)驗(yàn),驗(yàn)證模型的有效性。
關(guān)鍵詞:連續(xù)語(yǔ)音識(shí)別;音素;HTK;HMM
中圖分類號(hào):TN912.34
1 語(yǔ)音識(shí)別系統(tǒng)的特征提取
圖1描述了語(yǔ)音識(shí)別系統(tǒng)的一般流程,圖中上半部分代表建模過程,下半部分代表識(shí)別過程。完整的連續(xù)語(yǔ)音識(shí)別系統(tǒng)主要包含四個(gè)部分:預(yù)處理、特征提取、聲學(xué)模型建立和識(shí)別語(yǔ)音信號(hào)[1]。聲學(xué)模型建立主要應(yīng)用HTK,HTK是專門用于建立和處理隱馬爾科夫模型(Hiden Marcov Model, HMM)的工具包,目前在語(yǔ)音識(shí)別的應(yīng)用和研究領(lǐng)域被廣泛使用[2]。識(shí)別引擎使用Julius開源平臺(tái),Julius是一種針對(duì)大詞匯量連續(xù)語(yǔ)音識(shí)別相關(guān)研究和開發(fā)的語(yǔ)音識(shí)別引擎[3]。它是基于N元語(yǔ)法(N-gram)和上下文相關(guān)的HMM的高性能、雙通道解碼器軟件,可以進(jìn)行對(duì)輸入的連續(xù)語(yǔ)音進(jìn)行實(shí)時(shí)解碼。
圖1 語(yǔ)音識(shí)別系統(tǒng)框架結(jié)構(gòu)
預(yù)處理主要就是對(duì)語(yǔ)音信號(hào)進(jìn)行基本操作,一般先使用公式(1)補(bǔ)償語(yǔ)音信號(hào)中的高頻部分,一般μ的取值范圍在0.94到0.97之間。
H(z)=1-μZ-1 (1)
本系統(tǒng)使用傳統(tǒng)的MFCC[4]作為語(yǔ)音特征提取的方法,并在提取MFCC特征的同時(shí)引入噪音魯棒性算法,通過重新編譯HTK中的HCopy命令進(jìn)行噪音魯棒性的語(yǔ)音特征提取,得到具有提取噪音魯棒性的連續(xù)語(yǔ)音特征參數(shù)。
2 語(yǔ)音識(shí)別系統(tǒng)的模型建立
聲學(xué)模型是語(yǔ)音識(shí)別系統(tǒng)最基本的組成單元和核心部分,使用HMM建立聲學(xué)模型是目前多數(shù)語(yǔ)音識(shí)別系統(tǒng)采用的方法。在日語(yǔ)連續(xù)語(yǔ)音識(shí)別中,采用音素作為聲學(xué)模型的建模單元。音素的數(shù)目不等于字母的數(shù)目,是從音質(zhì)角度劃分得出的最小語(yǔ)音單位。日語(yǔ)的標(biāo)準(zhǔn)音素有40個(gè),加上連續(xù)語(yǔ)音中由于換氣、思考等引起的暫停(sp)、連續(xù)語(yǔ)音開始靜音段(SilB)和結(jié)束靜音段(SilE),最終建模的音素共計(jì)43個(gè)。與孤立詞識(shí)別相比,在連續(xù)語(yǔ)音中,語(yǔ)音還會(huì)受到臨近音的影響,這種影響形式被稱為協(xié)同發(fā)音,因此在連續(xù)語(yǔ)音模型中還需要考慮上下文的相關(guān)音素產(chǎn)生的協(xié)同發(fā)音。這種上下文相關(guān)的音素模型通過考慮某個(gè)音素的前后幾個(gè)音素來捕捉協(xié)同發(fā)音,提高系統(tǒng)的識(shí)別性能。考慮的相關(guān)音素?cái)?shù)量越多,模型的復(fù)雜度就越高。常用的方法是只考慮當(dāng)前音素左右相鄰的音素,這種方式稱為三元音素(triphone)模型。
三音素模型的訓(xùn)練直接來自與上下文相關(guān)的單個(gè)音素,這種訓(xùn)練方式導(dǎo)致系統(tǒng)中的HMM模型個(gè)數(shù)以3次方的倍數(shù)增加,影響了系統(tǒng)處理效率和識(shí)別精度。為了避免這個(gè)問題,根據(jù)經(jīng)驗(yàn)和實(shí)驗(yàn)得到的條件對(duì)于相同類型的三音素進(jìn)行狀態(tài)捆綁。該操作使用HEEd工具函數(shù)和決策樹文件對(duì)所有的三音素模型進(jìn)行多次訓(xùn)練得到。
建模訓(xùn)練中首先利用連續(xù)語(yǔ)音特征生成單音素(Monophone)模型,本文使用的是HCompV和HERest創(chuàng)建訓(xùn)練單音素模型。為了解決協(xié)同發(fā)音,還需要?jiǎng)?chuàng)建三音素(Triphone)模型并進(jìn)行模型重估。根據(jù)Net文件生成三音素模型。對(duì)與單音素和三音素模型的訓(xùn)練,還需要引入高斯混合數(shù)進(jìn)行模型重估分類訓(xùn)練。該步驟的目的是訓(xùn)練出一個(gè)高效穩(wěn)定的聲學(xué)模型,該模型使識(shí)別的精度趨于平穩(wěn)。
分類的目的有兩個(gè),第一個(gè)是減少音素模型類別,使得在較少的數(shù)據(jù)集上訓(xùn)練得到的模型較為可靠;第二,減少了模型之間的重疊性、增加區(qū)分性。
圖2 音素訓(xùn)練分類過程
創(chuàng)建原始的HMM模型,該模型由均值向量和協(xié)方差矩陣所組成,用5個(gè)狀態(tài)、26維系數(shù)和狀態(tài)轉(zhuǎn)移矩陣表示。再依據(jù)音素表和音素特征文件生成各個(gè)音素級(jí)的HMM。最后根據(jù)所有的訓(xùn)練語(yǔ)音數(shù)據(jù)對(duì)音素級(jí)HMM進(jìn)行訓(xùn)練形成單音素模型。為了增強(qiáng)HMM模型的抗干擾能力,加入了靜音部分(針對(duì)音素sp)進(jìn)行狀態(tài)優(yōu)化。該過程通過HTK中的HHEd來完成。針對(duì)多發(fā)音字,采用HVite工具函數(shù)結(jié)合語(yǔ)料進(jìn)行重復(fù)多次的訓(xùn)練來完成。
3 語(yǔ)音識(shí)別系統(tǒng)的數(shù)據(jù)源
語(yǔ)音數(shù)據(jù)分為兩個(gè)部分:訓(xùn)練庫(kù)和測(cè)試庫(kù)。訓(xùn)練語(yǔ)音數(shù)據(jù)庫(kù)來自JNAS (Japanese news article sentences)數(shù)據(jù)庫(kù),訓(xùn)練數(shù)據(jù)庫(kù)中的語(yǔ)音來源于報(bào)紙《每日新聞》中的內(nèi)容,由153個(gè)男性朗讀的大概2萬(wàn)3千多個(gè)句子。為了更好的檢測(cè)模型的魯棒性,測(cè)試庫(kù)數(shù)據(jù)不僅有來自JNAS從訓(xùn)練庫(kù)選取的數(shù)據(jù),還有來自北海道大學(xué)日本學(xué)生朗讀的與訓(xùn)練庫(kù)數(shù)據(jù)完全無(wú)關(guān)的句子。
4 系統(tǒng)實(shí)現(xiàn)
圖3為連續(xù)語(yǔ)音系統(tǒng)的結(jié)構(gòu)。JNAS包括了語(yǔ)音的音頻數(shù)據(jù),語(yǔ)音羅馬字標(biāo)注和音素時(shí)間段的劃分。首先把音頻信息的羅馬字轉(zhuǎn)換成音素級(jí)的標(biāo)注,其標(biāo)注采用perl腳本工具和Hled共同完成。音素時(shí)間段的劃分轉(zhuǎn)換成以開始幀和結(jié)束幀的形式存放在文件中。通過perl小工具str2net生成上下文相關(guān)的三元音素網(wǎng)絡(luò)。該網(wǎng)絡(luò)與語(yǔ)音的MFCC特征對(duì)應(yīng)進(jìn)行聯(lián)合訓(xùn)練得到系統(tǒng)聲學(xué)模型,最后經(jīng)過加入高斯混合數(shù)并進(jìn)行狀態(tài)分類,得到約有2000個(gè)狀態(tài)的HMM模型。
圖3 連續(xù)語(yǔ)音識(shí)別系統(tǒng)結(jié)構(gòu)
5 結(jié)果及評(píng)價(jià)
在連續(xù)語(yǔ)音中,協(xié)同發(fā)音會(huì)造成相鄰音素的發(fā)音發(fā)生變化,這種變化在識(shí)別會(huì)引起相應(yīng)的錯(cuò)誤(刪除錯(cuò)誤,插入錯(cuò)誤和替代錯(cuò)誤),這些錯(cuò)誤導(dǎo)致了連續(xù)語(yǔ)音識(shí)別技術(shù)性能的大幅下降。
下述兩個(gè)公式為評(píng)價(jià)規(guī)則:
(2)
(3)
N代表一個(gè)句子中的詞匯總數(shù),S代表錯(cuò)誤識(shí)別的單詞,即把正確的識(shí)別成錯(cuò)誤的。D代表沒有作為一個(gè)詞語(yǔ)選擇出來的單詞,即:識(shí)別正確但沒有作為一個(gè)詞來評(píng)價(jià)。I代表本不該是一個(gè)詞匯的卻被識(shí)別成一個(gè)詞,例如:噪音或者無(wú)音部分被識(shí)別成一個(gè)詞語(yǔ)。RA表示整個(gè)連續(xù)語(yǔ)音的識(shí)別性能。RC表示在整個(gè)連續(xù)語(yǔ)音的詞匯集合中對(duì)于單詞的正確識(shí)別比例。
表1 該系統(tǒng)下的識(shí)別精度[%]
參考文獻(xiàn):
[1]趙力.語(yǔ)音信號(hào)處理[M].機(jī)械工業(yè)出版社,2003.
[2]張杰,黃志同,王曉蘭.語(yǔ)音識(shí)別中隱馬爾可夫模型狀態(tài)數(shù)的選取原則及研究[J].計(jì)算機(jī)工程與應(yīng)用,2000(01).
[3]I.Katunobu,Y.Mikio,T.Kazuya,M.Tatsuo,K.Tetsunori,S.Kiyohiro,andI.Shuichi,JNAS:Japanesespeechcorpusforlargevocabularycontinuousspeechrecognitionresearch,JournaloftheAcousticalSocietyofJapan(E),vol.120,no.3,119-206,1999.
[4]曹潔,余麗珍.基于MFCC和運(yùn)動(dòng)強(qiáng)度聚類初始化的多說話人識(shí)別[J].計(jì)算機(jī)應(yīng)用研究,2012(09).
作者單位:長(zhǎng)春理工大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長(zhǎng)春 130022