王 燁,屈 丹,李弼程,劉 崧
(1.信息工程大學 信息工程學院,河南 鄭州450002;2.杭州恒生數字有限公司,浙江 杭州310000)
語種識別方法:基于并行音素識別器與語言模型和統計模型兩種方法[1]。基于并行音素識別器的方法是將用于區分不同語種的典型音素經過標注后訓練建模,這些音素的排列方式體現該語種的結構。該方法的缺點是需要專業的語言學知識建立音素集合,并且大量的語料需要人工標注。基于統計模型的方法是根據參數向量空間的概率統計分布構建不同語言的模型,不需要語言學知識,實驗語料也無需標注。由于該方法良好的移植性,使其得到了廣泛的應用。基于統計模型的方法主要有高斯混合模型-全局背景模型(Gaussian mixture model-universal background model,GMM-UBM)[2],支持向量機(support vector machine,SVM)[3]和高斯超矢量支持向量機(GMM-Supervector SVM,GSV-SVM)[4]3種。其中GSV-SVM 方法結合GMM較好的魯棒性和SVM優越的區分性,比單獨使用GMM或SVM取得了更好的識別效果,應用最為廣泛,而且成為NIST評測的主要方法。
本文設計了一套完整的基于GSV-SVM的方言識別系統。主要針對普通話、青海方言和藏語中的安多方言進行識別。由于漢語和藏語同屬漢藏語系,且青海方言與普通話的差異更小,因此對于這3種方言的區分難度相比于不同語系語言的區分難度要大得多。為提高系統的識別能力,又增加子空間映射和得分規整。實驗結果表明,采用本文設計的系統,對各種方言的識別率均能達到90%以上。
產生式模型GMM是通過大量的訓練數據以及較高的模型混元數對語種的統計特征分布進行較好的描述,因而具有較好的魯棒性。區分式模型SVM的優勢在于其優越的分類能力,但是SVM的魯棒性較差,在有噪聲的情況下,系統性能下降很快。GSV-SVM模型結合GMM和SVM的優點,是當前語種識別的主流模型。本文描述的語種識別系統如圖1所示。該系統分為訓練和測試兩部分。訓練部分,首先對語音文件提取聲學特征,通過訓練特征文件得到語種無關的全局背景模型UBM,再利用最大后驗概率(maximum a posteriori,MAP)準則自適應得到GSV,然后在超矢量空間進行低維映射,然后訓練多組識別分類器;在訓練階段,對開發數據的多組分類器生成的分數域進行LDA變換,并訓練得分規整模型;測試部分,對待測的語音文件采用相同的步驟得到GSV,再通過多分類器進行識別,然后進行分數域的映射最終輸出識別結果。

圖1 GSV-SVM語種識別系統處理流程
特征提取是對語音信號進行變換,盡量去除冗余信息,保留能夠較好區分不同語種的特征,并對噪聲和信道有很好的魯棒性。本文的特征提取流程如圖2所示。首先對語音文件提取梅爾頻率倒譜系數(mel frequency cepstrum coefficient,MFCC)[5],考慮語言的長時特性對于語種識別更為重要,對MFCC再進行移位差分倒譜(shifted delta cepstrum,SDC)擴展[6],最后對特征參數進行魯棒性處理——倒譜均值減(cepstrum mean subtraction,CMS)[7]和高斯化[8]。

圖2 特征處理過程
MFCC是將頻譜轉化為基于Mel頻標的非線性頻域。由于考慮了人耳對低頻敏感而對高頻不敏感的非線性特性,MFCC取得了較好的識別效果。
SDC參數是在原有MFCC特征參數基礎上衍生出來的,用一組四維參數表示(N,d,P,K)。N表示倒譜參數的維數,d表示差分時移,P表示差分倒譜塊的轉移量,K表示倒譜塊的個數。若MFCC為7維,圖3為一維MFCC對應的SDC參數,參數的取值為(7,1,3,7)。
CMS是一種廣泛應用于語種識別的去信道卷積噪聲的方法。將語音信號由于調制帶來的噪聲,通過變換將時域上相卷積的噪聲變換到倒譜域上相加的關系,在倒譜域上將調制噪聲減去。

圖3 一維MFCC對應的SDC參數
高斯化是一種特征參數的規整方法。語種識別中使用的特征參數是隨機矢量,其概率分布往往受到實際環境的影響,高斯化就是對特征參數進行規整,使其即使受到環境影響也能近似相同分布,將特征參數都變換到事先給定的標準高斯分布上。
1.2.1 GSV的生成
全局背景模型(UBM)是通過訓練大量數據得到的一個語種無關的高斯混合模型。訓練數據的選擇要覆蓋各種信道情況、不同質量的話音和不同語言。GMM可表示為

式中:x——F維的特征矢量,M——高斯混合數,mi,Σi,ωi——第i個混元的均值、協方差、權重。f(·)——F維高斯分布,即

對于任意一段語音,從UBM中通過MAP自適應準則得到表征該語音段的GMM

然后將每個高斯混元的均值矢量(或還包括協方差矢量、權重)按順序拼接成一個超矢量輸入SVM訓練和測試,GSV的產生過程如圖4所示。

圖4 GMM超矢量產生過程
1.2.2 GSV子空間映射
在超矢量的運算過程中,由于數據之間不可避免的存在相關、冗余和噪聲等多方面的影響,造成超矢量維數巨大,必然造成判決結果的不準確且計算量龐大,因此如何學習超矢量的低維子空間結構是一個值得考慮的問題。研究發現,一段語音信號由于長度有限,超矢量中只有少數的中心對此有區分性。因此可以采用主分量分析(principal component analysis,PCA)方法進行映射,即通過特征變換尋找并保留數據中最有效、最重要的成分,舍去一些冗余的、包含信息量較少的成分,實質是一個降維的過程。這里主要采用奇異值分解的方法獲得映射矩陣。即將原始數據的N維矢量x映射為M維矢量c(M<N),盡可能地保存x包含的信息。既可以有效的減少運算量,又可以提高判決的精度。
1.2.3 基于KL核的多組語種識別支持向量機模型
支持向量機(SVM)是一種當今較常用的機器學習方法,SVM的判決函數可表示為

其中,yj取值+1或-1,分別代表目標語種或非目標語種,xj為第j個支持向量,αj為該支持向量對應的權重,x為測試語音段生成的超矢量,β是與測試語音段無關的偏移參數。
核函數的選取使用Campbell等[9]提出的KL核,該核函數的提出是從采用KL距離來衡量兩個GMM模型出發,后來引入超矢量這一概念,并將其作為SVM的核函數。

式中:x——F維的特征矢量,M——高斯混合數,mxi——xi第i個混元的均值,Σi、ωi——UBM第i個混元的協方差、權重。
由于KL核是一個線性核函數,SVM的判決函數可以表示為

采用KL核函數映射后,多組語種識別SVM模型訓練流程如圖5所示,假設對N種語言進行識別,每兩種語言要計算得分模型,即C2N個二分類模型,且對于任意一種語言要計算該語言與非該語言的得分模型,即N個得分模型。因此N個語種計算得分歸一化需要計算個得分模型。

圖5 多組語種識別SVM模型訓練流程
在識別時,由于模型之間的得分相關,不同語句對于不同模型的得分波動不同,得分模型的分布也不一致,導致整體識別結果的不可靠,因此需要建立得分規整模型進行處理[10]。由于采用了N(N+1)/2組語種識別分類器進行判別,所以對于每段語音,都可以構成一個N(N+1)/2維的得分矢量。首先,使用線性區分性分析(lineardiscriminativeanalysis,LDA)對得分矢量降維,降低相關性,然后對開發數據集不同語言種類建立SVM模型。得分模型的產生如圖6所示。

圖6 得分模型
2.1.1 實驗語料庫
本文采用的實驗語料為漢語普通話、漢語青海方言、藏語安多方言的電話信道單聲道語音。每種語言數據無重疊切分成30秒的語音段,其中訓練集每種語言各1734段,開發集每種語言各216段,測試集漢語普通話1170段,藏語安多方言3900段,青海方言218段。使用閉集識別率作為測試評價指標。
2.1.2 系統參數配置
特征參數采用7維MFCC及其SDC擴展共形成56維特征,其中SDC的參數(N,d,P,K)為(7,1,3,7)。GMM-UBM混元數為2048,迭 代30次。PCA降 維 將114688維超矢量降至800維。SVM核函數選用KL核,得分歸一化的模型為6維,經過LDA去相關降至3維。
2.2.1 實驗1:相關系數τ對識別率的影響
通過MAP準則從UBM模型自適應得到GSV時,參數τ的取值對系統識別效果是有影響的,它描述當前GMM與UBM之間的相關程度。表1為測試相關系數τ取不同值時GSV-SVM系統的識別效果。GMM混元為2048,特征參數的維數為56,因此GSV的維數為114688。采用如此高維的參數訓練SVM無論是對硬件設備的要求和計算量都是存在一定困難的。而采用PCA降維可以保留數據中最重要的成分,去除冗余部分,提高運算效率。因此后續實驗均是將GSV通過PCA降維至800維的實驗結果。實驗結果表明,隨著τ值的變化,各數據集的識別效果略有變化,訓練集和開發集數據隨著τ值的增加有所下降,而測試集在τ=8時取得最佳的識別效果。根據實驗結果綜合考慮,后續實驗均采用τ=8。

表1 相關系數τ取不同值的識別率
2.2.2 實驗2:SVM二分類實驗
為了對后端得分規整實驗做準備,對所有的SVM二分類模型進行計算。表2為6個SVM二分類模型的識別效果。實驗結果表明,與藏語相關的二分類實驗效果均較好,所有數據集的識別率均在90%以上,訓練集的甚至達到99以上,因為藏語的安多方言是藏語主要的3種方言中唯一一種無調方言,與有調的普通話和青海方言差異較大;而漢語普通話和漢語青海方言區分度相對較小,識別率相對較低。

表2 SVM二分類實驗
2.2.3 實驗3:得分規整實驗
后端得分規整是將每個語種的均值超矢量通過得分歸一化模型拼接成一個得分矢量,再對得分矢量進行SVM訓練。該得分歸一化模型是在開發集數據上進行的。得分規整起到歸一化的作用,并且在得分域上進一步增加了得分的區分性。表3為得分規整實驗,實驗結果表明,對GSVSVM(PCA)系統進行后端規整,訓練集的識別效果略有下降,但開發集和測試集的識別率均有提高。

表3 得分規整實驗
2.2.4 實驗4:LDA實驗
由于6維得分矢量維數較低,容易造成矢量空間的實驗樣本分布集中,影響SVM的分類效果。為進一步提高實驗樣本的區分性,增加LDA實驗,使同一類的樣本盡量集中,不同類的樣本盡可能分開。表4為LDA實驗的結果。實驗結果表明,增加LDA實驗對識別率均有提高。

表4 LDA實驗
2.2.5 實驗5:3種語言的測試實驗
采用本文的實驗系統,對3種實驗語料的測試集數據分別進行測試。表5為單獨測試3種語言的測試實驗。實驗結果表明,單獨測試3種語言的測試集,識別率均能達到90%以上。

表5 3種語言測試集測試效果
對于方言識別中存在的混淆度較大導致識別率較低的問題,本文針對漢語普通話、青海方言和藏語安多方言設計實現一個基于GSV-SVM的方言識別系統。在模型建立部分通過子空間映射去除冗余信息,提高不同方言之間的區分度;并在后端得分域將各模型之間的得分進行規整,減小得分的波動,提高判決的精度。實驗結果表明,采用本文的系統對方言進行識別,3種方言的識別率均能達到90%以上,而藏語的識別效果最佳。
[1]Burget L,Matejka P,Schwarz P,et al.Analysis of feature extraction and channel compensation in a GMM speaker recognition system[J].IEEE Transactions on Audio,Speech,and Language Processing,2007,15(7):1979-1986.
[2]Matejka P.Phonotactic and acoustic language recognition[D].Brno:Brno University of Technology,2008.
[3]Campbell W M,Campbell J P,Reynolds D A,et al.Support vector machines for speaker and language recognition[J].Computer Speech and Language,2006,20(2-3):210-229.
[4]Campbell W M,Sturim D E,Reynolds D A.Support vector machines using GMM supervectors for speaker verification[J].IEEE Signal Processing Letters,2006,13(5):308-311.
[5]Zhang Weiqiang,He Liang,Deng Yan,et al.Time frequency cepstral features and heteroscedastic linear discriminant analysis of language recognition[J].IEEE Transactions on Acoustics,Speech and Signal Processing,2011,19(2):266-276.
[6]Torres-carrasquillo P A,Singer E,Campbell W,et al.The MITLL NIST LRE 2007Language Recognition System[C]//Brisbane,Australia:Proc of Interspeech,2008:719-722.
[7]Matejka P,Burget L,Glembek O,et al.BUT language recognition system for NIST 2007evaluations[C]//Brisbane,Australia:Proc of Interspeech,2008:739-742.
[8]FU Qiang.The study of GMM-based language identification[D]//Hefei:University of Science and Technology of China,2009(in Chinese).[付強.基于高斯混合模型的語種識別的研究[D].合肥:中國科技大學,2009]
[9]Campbell W M,Sturim D E,Reynolds D A.Support vector machines using GMM supervectors for speaker verification[J].IEEE Signal Processing Letters,2006,13(5):308-311.
[10]LEI Wenhui.Support vector machine based language recognition[D].Hefei:University of Science and Technology of China,2009(in Chinese).[雷文輝.基于支持向量機的語種識別研究[D].合肥.中國科技大學,2009.]