周揚++孫玲玲++馬德
摘 要:文中首先提出漢語語音識別中存在的關(guān)鍵問題,通過對相關(guān)算法的研究,對技術(shù)進行改進,從而使語音的識別率更高、計算時識別模型收斂更快。文中使用Matlab進行程序編寫,在HMM上構(gòu)建了漢語數(shù)字語音識別系統(tǒng),對比了HMM對于孤立詞與連接詞的辨別能力,同時還對比分析了其與DTW對于孤立詞的識別能力,發(fā)現(xiàn)兩種方法各有優(yōu)缺點,并針對其不足之處提出了改進方法。
關(guān)鍵詞:語音識別;HMM算法;Matlab;孤立詞;連接詞
中圖分類號:TP39;TN912 文獻標識碼:A 文章編號:2095-1302(2017)10-00-03
0 引 言
當(dāng)今社會人與人之間交流的方式很多,如視頻、語音等。其中,語音是人們使用最頻繁、最方便也是最快捷的溝通方式。語言是人類具備的一種技能,聲音是語言能夠存在的基礎(chǔ),人們依靠聲音發(fā)出信息、實現(xiàn)相互溝通。語音信號是人類表達內(nèi)心想法與情緒的重要方式。語音識別技術(shù)可以幫助促進人類之間的交流(HHC)。過去,人們通過不同的語言交流時,必須要一個人作為翻譯,極大地限制了人們的可選交流對象,同時也抑制了交流機會。此外,語音識別技術(shù)也可以極大地提升人機交流(HMC)能力,包括語音搜索,個人數(shù)碼助理,游戲等交互系統(tǒng)。語音識別技術(shù)涵蓋多門學(xué)科,如今作為一種信息傳遞方式在信息研究領(lǐng)域受到較大關(guān)注。與其相似的科學(xué)技術(shù)還有語音學(xué)、語言學(xué)、數(shù)理統(tǒng)計學(xué)和神經(jīng)生理學(xué)等。
1 語音識別系統(tǒng)的設(shè)計與說明
基于HMM的漢語數(shù)字語音識別系統(tǒng)如圖1所示。
一個馬爾科夫鏈q1T=q1,q2,…,qT,可被轉(zhuǎn)移概率完全表示,定義為:
如果這些轉(zhuǎn)移概率與時間t無關(guān),則得到其次馬爾科夫鏈。當(dāng)一個離散狀態(tài)的值被化為一個新的隨機變量(離散或連續(xù))時,馬爾科夫鏈一般會被化為(離散或連續(xù))隱馬爾科夫序列,或當(dāng)它用于表征或接近真實世界數(shù)據(jù)序列的統(tǒng)計特性時便被一般化為隱馬爾科夫模型。作為馬爾科夫鏈的一種擴展,隱馬爾科夫序列在各個狀態(tài)中引入了一種隨機性。隱馬爾科夫序列在馬爾科夫鏈的基礎(chǔ)上,用一個觀測的概率分布與每一個狀態(tài)對應(yīng),而非確定的觀察值或事件。這樣的馬爾科夫鏈序列引入了雙重隨機性,使得馬爾科夫鏈不再能被直接觀測。隱藏在馬爾科夫序列下的馬爾科夫鏈只能通過一個單獨的觀測概率分布函數(shù)表現(xiàn)出來。假設(shè)觀察概率分布為P(ot|s(i)),i=1,2,…,N。
若ot是離散的,每個狀態(tài)對應(yīng)的概率分布用來描述觀察{v1,v2,…,vk}的概率:
在語音處理問題中,我們用HMM下的PDF(Probability Density Function,PDF)來描述連續(xù)觀察向量的概率分布,其中多元高斯分布是最成功,應(yīng)用最廣泛的PDF:
在混合高斯HMM中,參數(shù)集Λi由混合成分的權(quán)重ci,m,高斯分布的均值向量與高斯分布協(xié)方差矩陣組成。
本文采用EM算法來訓(xùn)練HMM模型的參數(shù)。當(dāng)統(tǒng)計模型中含有潛在或隱藏的隨機變量時,最大似然度估計就會變得困難,而EM算法則顯得更有效率。EM算法能使得我們避免直接優(yōu)化觀測數(shù)據(jù)o的PDF,因為直接計算太困難。EM算法的主要特征包括以下幾點:
(1)它提供的僅是一個局部,而非全局針對局部觀測值的似然度最優(yōu)化結(jié)果。
(2)算法需要提供針對未知變量的初始化值,同時對大部分迭代過程來說,一個好的初始化值能夠帶來更好的收斂和最大化似然度估計結(jié)果。
(3)對完整的數(shù)據(jù)集的選擇需要根據(jù)實際情況進行變更。
本文用于解碼HMM狀態(tài)序列所采用的算法是維特比算法(Viterbi Algorithm),該算法屬于動態(tài)規(guī)劃運算法則。這種算法常用于馬爾科夫信息源上下文和隱馬爾科夫模型,主要作用是找出維特比路徑-隱含狀態(tài)序列,這類序列生成觀測事件的概率最高?!熬S特比路徑”和“維特比算法”是專業(yè)用語,這兩種方法主要用于找出對動態(tài)規(guī)劃算法進行解釋的結(jié)果。動態(tài)規(guī)劃算法可以用在統(tǒng)計句法分析中,其能夠大大提高尋找出與文章關(guān)聯(lián)性較弱的派生字符串,這一過程也稱為“維特比分析”。
現(xiàn)在假定隱馬爾科夫模型(HMM)狀態(tài)空間為S,部分初始狀態(tài)i可能轉(zhuǎn)化為狀態(tài)j,這種可能性用概率ai,j表示。y1,…,yt表示通過觀測與分析得到的輸出。最終形成的結(jié)果中概率最大的狀態(tài)序列x1,…,xt通過遞推關(guān)系求解:
其中Vt,k為概率,表示范圍在t之前的最終狀態(tài)為k的觀測結(jié)果中所對應(yīng)的狀態(tài)序列可能性的最大概率。操作過程中后向指針進行實時儲存,以防止使用狀態(tài)x遺失,從而得到維特比路徑。在此強調(diào)函數(shù)Ptr(xt,t),其反饋信息中如果t>1則運算求解Vt,k所使用的x值,若t=1則計算k。如下式:
使用argmax的標準定義。算法的復(fù)雜度為O(T×|S|2)。
本文采用的維特比為對數(shù)形式,計算中出現(xiàn)的所有概率均換算為對數(shù)形式。其中,當(dāng)概率為0時,對其取對數(shù)會導(dǎo)致下溢。針對這一問題,本研究將維特比程序進行了改進,建立find函數(shù),找出不為0的元素的下標,利用下標為trans矩陣中的各個元素設(shè)定數(shù)值,從而避免出現(xiàn)對0取對數(shù)的錯誤而導(dǎo)致警報。
2 實驗驗證
2.1 實驗過程
首先通過麥克風(fēng)與PC機手機錄音機錄入語音信號。參數(shù)設(shè)置如下:采樣頻率與精度分別取11 025 Hz與16 b。建立多個內(nèi)容相同的語音樣本,這一步驟通過要求多人依次讀出 “0~9”的各個數(shù)字并進行錄入實現(xiàn),獲取的樣本存放在語音庫中,用于孤立數(shù)字識別。連續(xù)讀出5~7的樣本,通過處理后得到的波形如圖2所示。
進行端點檢測,在端點檢測之前,需要對采樣后的語音進行分幀操作。通過這項處理后才能算出短時能量和過零率參數(shù),之后,通過過零率的端點檢測算法對端點進行檢驗測試。求解短時能量前必須對語音信號進行處理:將信號送入一階濾波裝置,過濾掉低頻部分以突出高頻信息,之后對信息進行分幀。在本研究中,將能量取絕對值以表示平均幅度。部分結(jié)果如圖3所示。endprint
選取LPCC參數(shù)、MFCC參數(shù)作為特征參數(shù),兩者均為12階。另外對兩者進行一階差分(共24維)計算,求得的參數(shù)也作為特征參數(shù)。求解MFCC參數(shù)時,人的發(fā)聲系統(tǒng)被視作由濾波器組成的系統(tǒng),MFCC參數(shù)就是這其中具有不同功能的濾波器參數(shù)。
依次求解序列組中各參數(shù)的輸出概率,并進行相加得到總概率,疊加過程中設(shè)定一參數(shù)作為運算中止依據(jù),當(dāng)概率的相對變化小于該參數(shù)時運算不再繼續(xù)。本研究中選用除0之外的自然數(shù)并將其自由組合為多組,因此需要建立單元數(shù)組,規(guī)格為1行10列。之后啟動錄音設(shè)備進行錄音,再通過循環(huán)程序?qū)浫氲恼Z音信號導(dǎo)入數(shù)組中,數(shù)組中包含了觀察序列的信息。然后在Matlab軟件中使用訓(xùn)練函數(shù)em train進行訓(xùn)練仿真,最終得到一組結(jié)構(gòu)數(shù)組,其中各元素即每一個數(shù)字均為HMM型構(gòu)造。圖4所示為運算收斂后的最終結(jié)果。
將HMM模型的參數(shù)與語音樣本觀察序列導(dǎo)入識別程序,通過計算求解得到這一序列成功輸出的概率,同時提供輸出的最優(yōu)路徑。HMM通常采用維特比算法進行識別,包含這一算法的軟件有Matlab,算法存在于該軟件語音工具箱的程序viterbi.m中。
2.2 識別仿真結(jié)果
表1為用Matlab對數(shù)字0~9識別模擬的結(jié)果。其中,各行中的數(shù)字即為相對應(yīng)的語音應(yīng)用在不同數(shù)學(xué)模型時被成功解碼的概率。表中的概率為負值,這與一般意義上的概率不同。導(dǎo)致概率為負的原因是操作過程中為了避免數(shù)據(jù)下溢而對維特比算法進行了修改,將求得的參數(shù)進行了對數(shù)換算,由于概率值小于1,因此取對數(shù)后為負值。從表中可以看出,各行最大值呈對角線分布,這一現(xiàn)象反應(yīng)語音被成功識別。
本文研究了孤立數(shù)字和連接數(shù)字串的語音識別,特征提取選用了兩種方法,分別為12維的LPCC、24維的MFCC,表2所列為驗證結(jié)果。
根據(jù)表中數(shù)據(jù)分析,HMI法能夠成功識別大部分連接詞,但是對孤立詞的識別能力較弱。對于選用不同參數(shù)得到的識別結(jié)果,使用MFCC方法時語音識別率高,但計算程序繁瑣,識別過程需消耗大量時間。
2.3 基于HMM和DTW條件的識別對比
DTW主要用于識別孤立元素,本研究對這一方法進行了實驗?zāi)M,以檢驗其對孤立詞的識別能力。特征參數(shù)選用12維LPCC系數(shù)和24維MFCC系數(shù),實驗結(jié)果見表3所列。
對于不同的算法DTW與HMM,本研究中均使用相同的特征矢量進行實驗,現(xiàn)將使用兩種方法得到的實驗結(jié)果表進行合并得到表4。由表4可知,使用MFCC方法的識別結(jié)果普遍優(yōu)于LPCC。此外,使用兩種參數(shù)時,HMM法的語音辨別能力均高于DTW法。使用MFCC參數(shù)時兩者相差不大,使用LPCC參數(shù)時兩者相差大于10%。但DTW法相比與HMM法更適合用于孤立詞的辨別。
3 結(jié) 語
語音識別技術(shù)涵蓋多門學(xué)科,如今作為一種信息傳遞方式在信息研究領(lǐng)域受到較大關(guān)注,具有很高的研究價值與商業(yè)使用前景。與其相似的科學(xué)技術(shù)還有語音學(xué)、語言學(xué)、數(shù)理統(tǒng)計學(xué)和神經(jīng)生理學(xué)等。本文將漢語數(shù)字語音識別作為研究對象,通過對系統(tǒng)的研究與應(yīng)用,提出了若干使語音識別效果提升的方法。研究的主要內(nèi)容與目前收獲的成果有:對隱馬爾科夫模型(HMM)原理進行了探索,并將其用于語音識別的研究。通過仿真模擬,得到了使用HMM法的語音識別結(jié)果,過程中進行了程序設(shè)置,并研究了人機交互界面。通過分析實驗數(shù)據(jù)總結(jié)出一些規(guī)律。MFCC參數(shù)法比LPCC法更適用于語音識別。DTW法相比HMM法更適合用于辨別孤立詞。HMM法在連接詞的識別中具有優(yōu)勢。
參考文獻
[1]易克初,田斌,付強.語音信號處理[M].北京:國防工業(yè)出版社,2000.
[2]蔡蓮紅,黃德智,蔡銳.現(xiàn)代語音技術(shù)基礎(chǔ)與應(yīng)用[M].北京:清華大學(xué)出版社,2003.
[3]趙力.語音信號處理[M].北京:機械工業(yè)出版社,2013.
[4]胡光銳.語音處理與識別[M].上海:上海科學(xué)技術(shù)文獻出版社,1994.
[5]何英,何強.MATLAB擴展編程[M].北京:清華大學(xué)出版社,2002.
[6] Lawrence Rabiner, Biing-Hwang Juang. Fundamentals of Speech Recognition[M]. Beijing:Tsinghua University Press , 1999.
[7]楊行峻,遲惠生.語音信號數(shù)字處理[M].北京:電子工業(yè)出版社,1995.
[8]李虎生.漢語數(shù)碼串語音識別及說話人自適應(yīng)[D].北京:清華大學(xué),2012.
[9]俞棟,鄧力,俞凱.解析深度學(xué)習(xí):語音識別實踐[M].北京:電子工業(yè)出版社,2016:17-38.endprint