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