蔣正鋒,黃勇萍
(廣西民族師范學院數學與計算機科學學院,崇左532200)
語音交互技術隨著計算機科學與信息等學科的發(fā)展逐步成為人機交互的手段,其中語音識別在現階段還是研究的一個熱點。語音識別技術的研究工作起始于二十世紀五十年代,主要是對語音識別技術的初步研究,集中在元音、輔音、音節(jié)的識別。到了二十世紀六十年代,線性預測和動態(tài)規(guī)劃技術的出現,解決了語音識別中語音信號特征提取、模型的產生及語音信號不等長等問題取得了實際性的進展。二十世紀七十年代,在語音識別的研究中,提出了動態(tài)時間規(guī)整(Dynamic Time Warping,DTW)、矢量量化(Vector Quantization,VQ)和隱馬爾可夫模型。二十世紀八十年代,從基于標準模板匹配的語音識別算法轉到基于統計模型的方法,識別任務的重點是大詞匯量、非特定人和連續(xù)語音。因為語音的時變性和平穩(wěn)性能被HMM 很好的描述出來,在大詞匯量連續(xù)語音識別(Large Vocabulary Continuous Speech Recognition,LVCSR)中HMM 被廣泛用于聲學建模[1-2],統計語言模型開始應用于語音識別系統[3]中。這一時期,由于HMM/VQ、HMM/高斯混合模型、HMM/人工神經網絡的語音建模在LVCSR 系統中被提出,語音識別的技術取得突破性的新進展。二十世紀九十年代,語音識別從實驗走向實用,語音識別技術深入和細化方面取得了較大的進展[3]。二十一世紀初,HMM 和前饋神經網絡[4-5]等為代表的傳統語音識別方法占主導地位。就整個語音識別技術發(fā)展歷史來看,探索淺層表現和深層的人工神經網絡持續(xù)了多年,由于2006 年,深度學習理論[6-7]在機器學習中初步的應用成功引起了極大的關注,直到2009 年開啟了深度學習的研究序幕,語音識別與深度學習技術相結合[8-9],逐漸掀起基于深度學習的語音識別研究熱潮。
在理解語音識別原理的基礎上,使用HTK(Hidden Markov Model Toolkit)工具箱,搭建一個漢語離散數字語音識別系統,探索不同參數融合的隱馬爾科夫模型對語音識別率的影響,設計多參數融合優(yōu)化的且有較高識別率的隱馬爾科夫模型。
二十世紀七十年代,語音識別領域引入了隱馬爾可夫模型,它使得自然語音識別系統取得了突破性進展,成為傳統語音識別的主流技術。目前大部分的語音識別系統還是基于HMM 的,雖然深度學習技術已引入到語音識別領域中。HTK 是由劍橋大學基于C 語言開發(fā),專門用于創(chuàng)建和處理HMM 的工具,廣泛應用在語音識別、語音合成、字符識別和DNA 排序等多個領域。經過劍橋大學、Entropic 公司及Microsoft 公司對HTK 的不斷改進,使HTK 在傳統語音識別領域處于世界領先水平[10-11]。
另外,HTK 的源代碼是對外公開的,可以把源代碼中基于ANSI C 的模塊嵌入到用戶系統中,方便用戶的開發(fā)。
構建基于HTK 語音識別系統[11-13],具有如圖1 所示的體系結構,主要由三部分構成,分別為特征提取、聲學模型訓練和語音識別。
圖1 基于HTK語音識別系統的結構
基于HTK 語音識別系統由語音數據準備、HMM模型的訓練、語音的識別以及結果數據分析等組成。
(1)語音數據準備:語料庫的創(chuàng)建用CoolEdit 等錄音軟件進行采集語音[6-7],手工或自動標注好語料庫中的語料,語音特征的提取用HCopy 工具。
(2)HMM 模型的訓練:創(chuàng)建好原始的HMM 模型,基于EM 重估算法,使用HCompv 和HInit 工具初始HMM 模型參數,然后對HMM 模型的參數用HRset 和HERest 重新估計,應用上下文無關的建模方法,用HERest 對HMM 模型進行嵌入式訓練,模型中的參數不斷被調整,參數性能不斷向最佳狀態(tài)逼近。
(3)識別:基于Viterbi 算法的HVite 命令用來識別未知的要測試的語音。
(4)識別結果分析:HResults 是訓練好的HMM 模型的性能分析工具,用于分析未知語音的識別率。
設計的漢語離散數字語音識別系統,是在基于隱馬爾可夫模型的HTK3.4 上搭建的,運行在PC Windows 10 平 臺 上,CPU 為Intel Core i7- 6700HQ @2.6GHz,內存為8GB。
離散數字語音識別系統是在語音庫基礎上搭建的,所以先要準備好語料庫中用于訓練和測試的語音樣本,語料庫的詳細情況如表1 所示。離散數字語音錄制是在實驗室環(huán)境下,采樣率設置為16000Hz,量化精度為16bits。
表1 語料庫樣本詳情
在實驗中提取的語音特征參數是梅爾倒頻譜,分別提取了13、26、39 維的MFCC(Mel Frequency Cepstral Coefficients)特征。語音的識別單元分音節(jié)和聲韻母兩種,其中聲學模型狀態(tài)的個數如表2 所示,每個狀態(tài)的高斯分量從1 逐個增加到7 進行實驗。HMM 模型是采用存在跳變的Left-to-Right 的類型。
表2 聲學模型狀態(tài)個數
實驗中提取了三種不同維度的MFCC 特征,分別為13 維、26 維和39 維,不同維度的MFCC 特征分別訓練不同的HMM 模型,因此分三個大的實驗。每個大的實驗中語音識別單元采用了音節(jié)和聲韻母兩種,就語音識別單元不同的高斯分量對訓練集和測試集中的離散數字進行了識別。
提取的特征參數MFCC 為13 維,聲學模型分別為音節(jié)、聲韻母,按表1 所示音節(jié)的狀態(tài)個數設定為6,聲母的狀態(tài)個數設定為3,韻母的狀態(tài)個數設定為6,不同高斯分量個數訓練好的的HMM 對語料庫中訓練集和測試集分別進行了測試,識別結果如表3 和表4所示。
表3 聲學模型為音節(jié)的13 維MFCC 特征訓練模型的識別率
表4 聲學模型為聲韻母的13 維MFCC 特征訓練模型的識別率
從表3 的識別結果可知:
(1)在高斯混合分量個數相同的情況下,訓練集的識別率要高于測試集的識別率,因為用訓練集來訓練HMM 模型的,而測試集中的離散數字語音沒有訓練HMM 模型。
(2)不管是訓練集還是測試集,識別率不是隨高斯混合分量的增加而提高,對于訓練集,高斯混合分量個數為4 時識別率最高,而測試集高斯混合分量個數為2識別率達到最高,再增加高斯混合分量,識別率反而降低。
從表4 的識別結果可知:
(1)在高斯混合分量個數為1 或2 時,測試集的識別率反而高于訓練集,整體來看,訓練集的識別率高于測試集。
(2)訓練集識別率幾乎是與高斯混合分量個數成正比,測試集的識別率隨高斯分量個數增加而降低,在高斯分量個數為2 時,識別率達到最高。
由表3 和表4 識別結果得到:
(1)聲學模型為聲韻母時識別率不管是在訓練集還是在測試集要高于識別單元是音節(jié)的HMM 模型。
(2)對于訓練集來說,HMM 中高斯混合分量個數為4、5 和6 識別率比較高。而對于測試集,高斯混合分量個數為1 或2 時,識別率較高。
特征參數MFCC 為26 維,聲學模型分別為音節(jié)和聲韻母,按表1 所示設定音節(jié)、聲母和韻母的狀態(tài)個數分別為6、3 和6,不同高斯分量個數的情況下對語料庫中訓練集和測試集分別進行了識別,識別結果如表5所示。
表5 26 維MFCC 特征訓練模型的識別率
從表5 的識別結果可知:
(1)聲學模型為音節(jié)時,訓練集的識別率在對應不同高斯分量個數上幾乎是高于測試集,在高斯混合分量為7 時,測試集的識別率高于訓練集。訓練集在高斯混合分量個數為4、5 和6 時識別率較高,最高識別率為89.00%,而測試集在高斯混合分量個數也是4、5和6 時識別率較高,最高識別率為85.00%。
(2)聲學模型為聲韻母時,訓練集的識別率在對應不同高斯分量個數上全高于測試集。訓練集在高斯混合分量個數也是為4、5 和6 時識別率較高,最高識別率為92.39%,對應的高斯混合分量個數為5,而測試集在高斯混合分量個數為4、5 和7 時識別率較高,最高識別率達到85.22%,對應高斯混合分量個數為5。
(3)聲韻母為識別單元時整體上比以音節(jié)為識別單元的識別率高。
與提取的13 和26 維的MFCC 特征參數類似,39維MFCC 語音特征參數訓練的HMM,聲學模型分別為音節(jié)和聲韻母,按表1 所示設定音節(jié)、聲母和韻母的狀態(tài)個數分別為6、3 和6,不同高斯分量個數的情況下對語料庫中訓練集和測試集分別進行了識別,識別結果如表6 所示。
表6 39 維MFCC 特征訓練模型的識別率
從表6 的識別結果可知:
(1)聲學模型為音節(jié)時,訓練集的識別率在對應不同高斯分量個數上幾乎是高于測試集,只有高斯混合分量個數為7 時,測試集的識別率高于訓練集。訓練集在高斯混合分量個數為4、5 和6 時識別率較高,最高識別率達到93.00%,而測試集在高斯混合分量個數為5、6 和7 時識別率較高,最高識別率達到92.39%。
(2)聲學模型為聲韻母時,訓練集的識別率在對應不同高斯分量個數上全高于測試集。訓練集在高斯混合分量個數也是為4、5 和6 時識別率較高,最高識別率為93.00%,對應的高斯混合分量個數為4,而測試集在高斯混合分量個數為4、5 和7 時識別率較高,最高識別率達到85.22%,對應高斯混合分量個數為4、5或7。
(3)聲學模型為聲韻母的識別率在訓練集或測試集上高于以音節(jié)為識別單元。
本文結合隱馬爾可夫模型原理,利用HTK 語音工具,搭建了漢語離散數字語音識別系統,探索多參數融合優(yōu)化的HMM 模型。由實驗結果得到的表3、表4、表5 和表6 的識別結果得到:
(1)聲學模型的選擇:聲韻母作為識別單元比音節(jié)的識別效果要好。
(2)高斯混合分量個數:一般選擇4 個或5 個或6個,個數過高或過低模型都不是最優(yōu)的。
(3)MFCC 特征維度:39 維的MFCC 語音特征參數比13 維和26 維MFCC 特征參數識別率高。
(4)聲學模型為聲韻母時訓練集和測試集識別率的差異大于聲學模型為音節(jié)時訓練集和測試集識別率的差異,避免過擬合。
由上述可以看出,以聲韻母為基本語音識別單元,特征參數為39 維的MFCC,高斯混合分量為4 或5 或6 時,可以獲得較高的識別率,對以后搭建基于HMM性能更優(yōu)的離散或連續(xù)語音識別系統具有借鑒意義,也為研究基于深度學習的語音識別打下基礎。