孫 可, 劉忠武, 吳雨洽, 郭東旭
(沈陽(yáng)師范大學(xué) 科信軟件學(xué)院, 沈陽(yáng) 110034)
語(yǔ)言的出現(xiàn)加快了人類發(fā)展的歷程,更好的拉近了人與人之間的距離。隨著計(jì)算機(jī)技術(shù)的發(fā)展,通過(guò)語(yǔ)音傳遞信息已經(jīng)不能僅僅局限于人與人之間,而是更多的延伸到了人與機(jī)器。怎樣才能使用語(yǔ)音完成人機(jī)交流,語(yǔ)音識(shí)別技術(shù)成為了完成這項(xiàng)任務(wù)的媒介。人通過(guò)語(yǔ)音向計(jì)算機(jī)發(fā)送指令,計(jì)算機(jī)則可以通過(guò)語(yǔ)音識(shí)別軟件將語(yǔ)音轉(zhuǎn)換為相應(yīng)的計(jì)算機(jī)指令并做出響應(yīng),以達(dá)到人機(jī)交互的目的。當(dāng)下,語(yǔ)音識(shí)別常用的方法主要包括:馬爾可夫模型(HMM)方法、動(dòng)態(tài)時(shí)間規(guī)整(DTW)方法、矢量量化(VQ)方法。本文研究一種融合語(yǔ)音識(shí)別與深度學(xué)習(xí)的語(yǔ)音識(shí)別方法,旨在提高語(yǔ)音識(shí)別效率。
通過(guò)語(yǔ)音實(shí)現(xiàn)人機(jī)交互,主要包括3項(xiàng)技術(shù)[1],自動(dòng)語(yǔ)音識(shí)別(auto speech recognition,ASR)、自然語(yǔ)言理解(natural language understanding)和語(yǔ)音合成(speech synthesis)。自動(dòng)語(yǔ)音識(shí)別即將語(yǔ)音轉(zhuǎn)換為文本信息,是語(yǔ)音識(shí)別技術(shù)的關(guān)鍵。語(yǔ)音識(shí)別技術(shù)大多采用隱馬爾可夫模型(Hidden Markov model, HMM)[2]。隨著深度學(xué)習(xí)的不斷發(fā)展,以人工神經(jīng)網(wǎng)絡(luò)(Artificial neural network,ANN)進(jìn)行語(yǔ)音識(shí)別成為了主要研究方向。早期,在使用人工神經(jīng)網(wǎng)絡(luò)并利用反向傳播算法(Back Propagation,BP)[3]進(jìn)行訓(xùn)練下,語(yǔ)音識(shí)別技術(shù)得到了提高。此后,有研究人員將隱馬爾可夫模型與高斯混合模型結(jié)合形成高斯混合模型-隱馬爾可夫模型(GMM-HMM)運(yùn)用于語(yǔ)音識(shí)別。在將深度學(xué)習(xí)應(yīng)用于語(yǔ)音識(shí)別[4-6]后,其效果明顯優(yōu)于GMM。語(yǔ)音識(shí)別大致過(guò)程如圖1所示。
圖1 語(yǔ)音識(shí)別過(guò)程Fig.1 Speech recognition process
最早的語(yǔ)音識(shí)別系統(tǒng)是由貝爾實(shí)驗(yàn)室研發(fā)的Audry[7]系統(tǒng),該系統(tǒng)僅僅能夠識(shí)別10個(gè)英文數(shù)字的發(fā)音并且局限于由一個(gè)人所說(shuō)出孤立的英文數(shù)字。在此之后計(jì)算機(jī)技術(shù)的運(yùn)用使得語(yǔ)音識(shí)別得到了快速的發(fā)展,動(dòng)態(tài)時(shí)間規(guī)整和動(dòng)態(tài)跟蹤方法被提出。隨著對(duì)自然語(yǔ)言理解[1]的深入研究,模式識(shí)別[8]、動(dòng)態(tài)規(guī)劃[9]、線性預(yù)測(cè)分析技術(shù)[10]相繼被應(yīng)用于語(yǔ)音識(shí)別。動(dòng)態(tài)規(guī)劃和線性預(yù)測(cè)分析技術(shù),使得語(yǔ)音信號(hào)在產(chǎn)生模型方面得到了很好的解決。在這過(guò)程中,矢量量化(VQ)和隱馬爾可夫模型(HMM)被相繼提出。隱馬爾可夫模型技術(shù)成功運(yùn)用[2]后,使得大多數(shù)的語(yǔ)音識(shí)別系統(tǒng)都依賴于此模型。人工神經(jīng)元網(wǎng)絡(luò)(ANN)也在語(yǔ)音識(shí)別中得到了應(yīng)用[12],從此語(yǔ)音識(shí)別在深度學(xué)習(xí)的運(yùn)用下得到了快速發(fā)展。
隱馬爾可夫模型在語(yǔ)音識(shí)別方面得到了大量運(yùn)用,但HMM在語(yǔ)音識(shí)別中存在著一定的局限性。此后,分別有研究人員將隱馬爾可夫模型與高斯混合模型、深度置信網(wǎng)絡(luò)、深層神經(jīng)網(wǎng)絡(luò)進(jìn)行結(jié)合,形成GMM-HMM、DBN-HMM、DNN-HMM模型,提高了語(yǔ)音識(shí)別的性能。
隱馬爾可夫模型(HMM)是一個(gè)統(tǒng)計(jì)模型,描述一個(gè)含有未知參數(shù)的馬爾可夫過(guò)程。在該模型運(yùn)用于語(yǔ)音識(shí)別并取得重大成功后,語(yǔ)音識(shí)別大多采用此模型。隱馬爾可夫模型可以用5個(gè)元素進(jìn)行描述,其中前2個(gè)為狀態(tài)集合,1個(gè)為隱含狀態(tài),1個(gè)為可觀測(cè)狀態(tài),后3個(gè)為概率矩陣:
λ={S,O,π,A.B}
(1)
該數(shù)學(xué)形式中的隱含狀態(tài)為S,該狀態(tài)通常無(wú)法直接通過(guò)觀察得到??捎^測(cè)狀態(tài)為O,與馬爾可夫模型中的隱含狀態(tài)相關(guān)聯(lián),可以直接觀察得到。π為一個(gè)初始狀態(tài)概率矩陣,π={πi},πi=P{q1=S1},1≤i≤N。A表示隱含狀態(tài)下各個(gè)狀態(tài)間的轉(zhuǎn)移概率,Aij=P(Sj|Si),1≤i,j≤N,表示在t時(shí)刻且狀態(tài)為Si條件下,在t+1時(shí)刻狀態(tài)為Sj的概率。B表示在觀察狀態(tài)的混淆矩陣,令N表示隱含狀態(tài)數(shù)目,M表示可觀測(cè)狀態(tài)數(shù)目,則Bij=P(Oi|Sj),1≤i≤M,1≤j≤N。一般的,可以將一個(gè)隱馬爾可夫模型簡(jiǎn)單表示為:
λ={π,A.B}
(2)
作為人工智能發(fā)展的一個(gè)重要分支,機(jī)器學(xué)習(xí)大概經(jīng)歷了2次發(fā)展熱潮[13]:淺層學(xué)習(xí)和深度學(xué)習(xí),淺層學(xué)習(xí)中含有多層感知層,但使用的時(shí)候大多數(shù)都是使用了含有一層隱層節(jié)點(diǎn)的模型。深度學(xué)習(xí)使用了多層隱層節(jié)點(diǎn),隨著深度學(xué)習(xí)的發(fā)展逐漸成熟,較淺層學(xué)習(xí)擁有著更多的優(yōu)勢(shì),此后深度學(xué)習(xí)成為研究機(jī)器學(xué)習(xí)的熱點(diǎn)問(wèn)題。
在對(duì)人工神經(jīng)網(wǎng)絡(luò)(Artificial neural network,ANN)的研究中,深度學(xué)習(xí)的概念被提出。計(jì)算機(jī)是否也能模擬人腦中的神經(jīng)元進(jìn)行學(xué)習(xí),人工神經(jīng)網(wǎng)絡(luò)就成為模擬動(dòng)物神經(jīng)網(wǎng)絡(luò)特征的數(shù)學(xué)模型。2006年深度學(xué)習(xí)教父Hinton等人[14]提出深度置信網(wǎng)絡(luò)(deep belief networks,DBN)。在深度學(xué)習(xí)運(yùn)用于圖片識(shí)別后并取得成功后,逐漸被研究人員運(yùn)用于語(yǔ)音識(shí)別等領(lǐng)域。
在使用python進(jìn)行語(yǔ)音識(shí)別時(shí),有些步驟可利用第3方庫(kù)函數(shù)實(shí)現(xiàn),這樣可以使得開(kāi)發(fā)者不用進(jìn)行繁瑣的操作就能取得較好的效果。主要過(guò)程有特征提取、神經(jīng)網(wǎng)絡(luò)模型的建立、識(shí)別。
1) 特征提取。本文采用MFCC作為語(yǔ)音的特征參數(shù)。首先需要獲得實(shí)驗(yàn)所用的語(yǔ)音樣本,采集20人朗讀相同文字的語(yǔ)音作為語(yǔ)音樣本,這些語(yǔ)音樣本將分別作為語(yǔ)音識(shí)別的訓(xùn)練集和測(cè)試集。特征提取之前將語(yǔ)音進(jìn)行預(yù)處理,預(yù)處理后的語(yǔ)音樣本將用于特征提取并獲得MFCC特征。傳統(tǒng)的方法獲得MFCC特征相對(duì)繁瑣,在Python中使用第3方Librosa庫(kù)函數(shù)可以相對(duì)容易的獲取MFCC特征。該函數(shù)會(huì)將從語(yǔ)音輸入中得到的MFCC特征以一維正負(fù)數(shù)數(shù)組的形式存儲(chǔ)在磁盤(pán)中。此數(shù)組將作為第2步的輸入。
2) 神經(jīng)網(wǎng)絡(luò)模型建立。由于第1步所得到的數(shù)組里面包含了負(fù)數(shù),負(fù)值容易使得訓(xùn)練輸出的結(jié)果有偏差,為了能夠更好的訓(xùn)練,減少訓(xùn)練時(shí)的損失,這里將數(shù)組中的所有數(shù)進(jìn)行一定處理并全部轉(zhuǎn)換為正數(shù)。將得到的MFCC作為特征向量進(jìn)行訓(xùn)練并得到訓(xùn)練文件。從訓(xùn)練后的文件中隨機(jī)選擇一部分作為測(cè)試集。訓(xùn)練好的數(shù)據(jù)用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練、創(chuàng)建數(shù)據(jù)集和標(biāo)簽集。使用keras(一個(gè)由Python開(kāi)發(fā)的神經(jīng)網(wǎng)絡(luò)API)建立神經(jīng)網(wǎng)絡(luò)模型并對(duì)數(shù)據(jù)集進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練。
3) 語(yǔ)音識(shí)別。在這之前已經(jīng)獲得了測(cè)試集的MFCC特征和神經(jīng)網(wǎng)絡(luò)模型,首先加載訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,再將測(cè)試集的MFCC特征輸入加載好的模型中進(jìn)行比對(duì),最后將比對(duì)結(jié)果以數(shù)組的形式輸出,數(shù)組中的最大值表示最相似的標(biāo)簽。
1) 特征提取:提取幀長(zhǎng)20 ms、幀移10 ms、特征維度為39維的MFCC特征。
2) GMM-HMM模型訓(xùn)練:使用高斯混合模型進(jìn)行聲學(xué)模型訓(xùn)練得到GMM-HMM聲學(xué)模型。
3) DNN-HMM模型訓(xùn)練:使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練得到DNN-HMM聲學(xué)模型。
4) 深度神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)定:DNN-HMM網(wǎng)絡(luò)模型由1個(gè)輸入層、4個(gè)隱藏層、1個(gè)輸出層組成。每個(gè)隱藏層256個(gè)節(jié)點(diǎn),共1 024個(gè)節(jié)點(diǎn),輸出層有1 366個(gè)節(jié)點(diǎn)。輸出層使用Softmax函數(shù)為其分類。
語(yǔ)音識(shí)別的識(shí)別率大多采用詞錯(cuò)誤率(Word Error Rate,WER)和句錯(cuò)誤率(Sentence Error Rate,SER)進(jìn)行評(píng)估。本文采用詞錯(cuò)誤率進(jìn)行評(píng)估:
(3)
其中Insertions為插入錯(cuò)誤,表示插入了一個(gè)識(shí)別語(yǔ)音中沒(méi)有的詞,Substitutions為替換錯(cuò)誤,表示識(shí)別語(yǔ)音中一個(gè)詞被錯(cuò)誤的詞替代,Deletions為刪除錯(cuò)誤,表示識(shí)別語(yǔ)音中的詞被丟失。T為識(shí)別語(yǔ)音中的總詞數(shù)。圖2為錯(cuò)誤率統(tǒng)計(jì)示例。
圖2 錯(cuò)誤統(tǒng)計(jì)Fig.2 Error statistics
圖3 迭代次數(shù)與正確率Fig.3 Iterations and accuracy
在提取幀長(zhǎng)20 ms、幀移10 ms、特征維度為39維的MFCC特征。DNN-HMM網(wǎng)絡(luò)模型由1個(gè)輸入層、4個(gè)隱藏層、1個(gè)輸出層組成。每個(gè)隱藏層256個(gè)節(jié)點(diǎn),共1 024個(gè)節(jié)點(diǎn),輸出層有1 366個(gè)節(jié)點(diǎn)的模型建立下通過(guò)測(cè)試得到的迭代次數(shù)與正確率如圖3所示。
將實(shí)驗(yàn)結(jié)果按照WER方法進(jìn)行計(jì)算,得到的GMM-HMM聲學(xué)模型和DNN-HMM聲學(xué)模型的錯(cuò)詞率如表1所示。
表1 識(shí)別率測(cè)試結(jié)果Table 1 Identification rate test results
根據(jù)表1的識(shí)別率測(cè)試結(jié)果可以得知,GMM-HMM方法和DNN-HMM方法在MFCC聲學(xué)特征下,GMM-HMM的正確率為78.73,DNN-HMM的正確率為84.86。在深度學(xué)習(xí)下的語(yǔ)音識(shí)別能夠達(dá)到較好的效果。
在HMM模型基礎(chǔ)上進(jìn)行了GMM-HMM和DNN-HMM的聲學(xué)建模。在深度學(xué)習(xí)下,語(yǔ)音識(shí)別能夠達(dá)到比高斯混合模型-隱馬爾可夫模型更好的效果。深度學(xué)習(xí)在語(yǔ)音識(shí)別中的運(yùn)用研究中,要有效的發(fā)揮其在語(yǔ)音識(shí)別中的作用,使得語(yǔ)音識(shí)別能夠達(dá)到更好效果,優(yōu)化現(xiàn)有的語(yǔ)音識(shí)別系統(tǒng)體系提高用戶體驗(yàn),讓人機(jī)交互更加便捷。