邢 尹 劉立龍 程 勝 時滿星 李月鋒
(1.桂林理工大學測繪地理信息學院 桂林 541004)(2.蘭州理工大學土木工程學院 蘭州 730050)
語言是人類交流的重要工具,人的語音中不僅包含人的語義信息,也包含情感信息。隨著人機交互的越來越緊密,傳統(tǒng)的語音識別技術(shù)已經(jīng)不能滿足人們的需要。近年來,語音情感識別成為人工智能領(lǐng)域的一個研究熱點[1]。在智能的人機交互系統(tǒng)中,通過對操作者的情感進行分析,可以更主動、更準確地完成操作者的指示,實時調(diào)整對話方式,使得交流更加友好、更加智能。目前,國內(nèi)外學者在這方面進行了大量的研究。文獻[2]使用高斯混合矢量自回歸模型在柏林情感數(shù)據(jù)集上得到了76%的識別率;文獻[3]使用深度信念網(wǎng)絡(luò)與SVM相結(jié)合的算法對語音情感做了深入探討;文獻[4]使用經(jīng)驗?zāi)B(tài)分解法結(jié)合Teager能量對情感語音進行處理,得到了較好的效果;文獻[5]使用改進的混合蛙跳算法對SVM進行優(yōu)化,為實用語音情感識別提供了新思路。
本文在前人研究的基礎(chǔ)上,提出了用Adaboost算法對語音情感多分類進行研究。提取了柏林數(shù)據(jù)集中的生氣、開心、中性、傷心和害怕5種情感的140維特征,并采用Fisher準則和分層分類思想有效地實現(xiàn)了情感的分類。在與傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)和SVM模型的分類比較中,結(jié)果表明了該算法的有效性。
語音情感特征反映了人的情感狀態(tài),對最終的情感識別有著重要的影響。經(jīng)過研究者對心理學和語音語言學的大量研究,目前語音情感特征主要關(guān)注在韻律特征和音質(zhì)特征[6~7]。本文選取了短時能量、基音頻率、共振峰、梅爾倒譜系數(shù)(MFCC)這4類特征及其衍生參數(shù)[8],共構(gòu)成140維的語音情感特征參數(shù)用于識別。在這140維情感特征中,必然存在大量的非重要特征和冗余特征,對特征進一步的處理是必要的。Fisher準則從均值和方差角度對特征進行評價。對d個維度,F(xiàn)isher判別準則可以用式(1)來表示:
其中,μ1d、μ2d、和為第d個維度兩個類別特征值的均值和方差。Fisher判別準則越大,表明該特征區(qū)分這兩種類別效果越好。對于多類情況,采用式(2)進行計算:
式中,m為類別總數(shù)。依據(jù)Fisher判別準則,對生氣、開心、中性、傷心和害怕5種情感選擇出的前14個最佳特征見表1。
表1 前14個最佳特征
Adaboost算法是1995年由Freund和Schapire在Boosting算法理論基礎(chǔ)上提出來的[9],它的主要思想是合并多個“弱”分類器的輸出以產(chǎn)生有效分類。算法主要步驟如下:
Step 1:給定輸入輸出。輸入:訓練數(shù)據(jù)集:T={(x1,y1),(x2,y2),…,(xN,yN)} ,其 中 xi∈ X ? Rn,yi∈Y={-1,+1},X為實例空間,Y為標記集合;本文弱分類器采用單層決策樹;輸出:最終分類器G(x)。
Step 3:對 m=1,2,…M ,使用具有權(quán)值分布Dm的訓練數(shù)據(jù)集學習,得到基本分類器:Gm(x):X→{-1,+1}。
Step 4:計算Gm(x)在訓練數(shù)據(jù)集上的分類誤差率:
Step 5:計算Gm(x)的系數(shù):
Step 6:更新訓練數(shù)據(jù)集的權(quán)值分布:
其中,Zm是規(guī)范化因子,為
Step 7:構(gòu)建基本分類器的線性組合:
得到最終分類器:
Adaboost算法用于多分類問題時,本質(zhì)上是轉(zhuǎn)化為Adaboost二分類問題[10]。通過將生氣、開心、中性、傷心和害怕5種情感進行分層,并逐層處理,最終得到識別結(jié)果。本文設(shè)置了如下三種二叉樹分層方式。圖1(a)、(b)頂層為三二情感訓練,圖1(c)頂層為一一情感訓練。其中,圖1(a)左邊放置三個具備正負情感于一起,圖1(b)放置三個相近情感于一起。以圖1(a)為例,每個節(jié)點設(shè)置一個Adaboost分類器,這樣共需要設(shè)置4個分類器。將初始情感放置于頂層,其中設(shè)置生氣、開心、中性訓練樣本對應(yīng)標簽+1,傷心、害怕訓練樣本對應(yīng)標簽-1;第二層生氣、開心訓練樣本對應(yīng)標簽+1,中性訓練樣本對應(yīng)標簽-1,傷心訓練樣本對應(yīng)標簽+1,害怕訓練樣本對應(yīng)標簽-1;第三層生氣訓練樣本對應(yīng)標簽+1,開心樣本對應(yīng)標簽-1。經(jīng)過4個Ada?boost分類器訓練,得出4個訓練模型。當未知樣本從頂層進入時,采用第一個Adaboost模型得出分類結(jié)果,進入下一層,由粗及細,逐層處理,并最終得到識別結(jié)果。
圖1 三種分層方式
本文實驗樣本來自于柏林情感語音庫[11]。柏林情感語音庫是柏林工業(yè)大學通過演員表演形式所錄制,10名非專業(yè)演員(5男5女)對生氣、高興、中性、傷心、害怕、厭惡、無聊7種情感10句錄音腳本進行演繹,共錄制了800條情感語句,經(jīng)過20名志愿者試聽辨別,最終保留了535條語句。本文選取前5種語音情感,共400條語句構(gòu)成實驗樣本,具體為生氣126條、高興68條、中性78條、傷心62條和害怕66條。數(shù)據(jù)集是以16000采樣率,16bit量化,wav格式存儲,訓練樣本與測試樣本按照1:1分配。
本實驗在Matlab R2014a平臺上進行編程實現(xiàn)。采用Fisher準則進行特征選擇,基于15個弱分類器的Adaboost模型,三種分層方式下情感特征個數(shù)與5種情感的平均識別率之間的關(guān)系如圖2。從圖2可以看出,采用方式2分層可以達到最大的識別率94%。可能是將相近情感分在一起進行訓練,更有利于找出它們之間的內(nèi)在差異性,從而達到較佳的識別效果。特征選擇的原則是在保證識別率的基礎(chǔ)上,采用盡可能少的特征。圖2中,在最佳14個特征時,達到了最大的識別率,遠高于原始140個特征的識別率,說明了Fisher準則對語音情感特征選擇是有效的,具體的14個特征見表1。為了更好地說明進行特征選擇的優(yōu)越性,方式2分層下不同特征數(shù)的運行時間如圖3。從圖3可以看出,特征個數(shù)與運行時間基本呈線性增長關(guān)系。其中,14個特征時,運行時間為0.08109s;140個特征時,運行時間為0.7417s。因此,采用Fisher準則特征選擇處理后,大大縮短了運行時間。
圖2 三種分層方式下不同特征數(shù)的識別率
圖3 方式2下不同特征數(shù)的運行時間
在不同數(shù)目的弱分類器下,分層方式2下5種情感的平均識別率如圖4。從圖4中可以看出,并不是采用越多的弱分類器識別效果就越佳。在15個弱分類器時,5種情感的平均識別率達到最大;在19個弱分類器時,平均識別率達到平穩(wěn)。
圖4 方式2下不同弱分類器數(shù)的識別率
為了說明Adaboost算法的優(yōu)越性,本實驗分別建立了BP神經(jīng)網(wǎng)絡(luò)和SVM模型對5種情感進行識別。其中,采用的BP網(wǎng)絡(luò)結(jié)構(gòu)為14-10-5,參數(shù)設(shè)置:最大迭代次數(shù)為20000,目標精度為0.001,學習率為0.1;SVM參數(shù)設(shè)置:懲罰因子C=2.0,核參數(shù)g=1.0,RBF核函數(shù)。三種模型識別結(jié)果,見表2~4。
表2 Fisher+BP模型5種情感識別結(jié)果
表3 Fisher+SVM模型5種情感識別結(jié)果
表4 Fisher+Adaboost模型5種情感識別結(jié)果
從表2~4可以得出,F(xiàn)isher+BP模型的平均識別率為91.00%,F(xiàn)isher+SVM模型的平均識別率為92.50%,而Fisher+Adaboost模型通過集合15個單層決策樹構(gòu)成的強分類器得到了94.00%的識別率,高于Fisher+BP模型3個百分點,高于Fisher+SVM模型1.5個百分點。特別地,F(xiàn)isher+Adaboost模型對生氣、傷心害怕的平均識別率達到了96.06%,而其他兩種模型都只有92.91%。一般來說,負面情感對人的影響最大,如果能有效地識別人的負面情感,將有助于提高個體認知和工作效率。采用Fisher+Adaboost模型對負面情感的感知更為敏感,能更為有效地監(jiān)測負面情感,具有重要的工程意義。
本文提出利用Fisher準則對提取的語音情感特征進行評價,選擇其中較佳特征。利用Adaboost算法對生氣、開心、中性、傷心和害怕5種情感進行分類,實驗結(jié)果表明,F(xiàn)isher準則表現(xiàn)出了良好的特征數(shù)降低特性,以及將相近的情感狀態(tài)分在一起訓練達到了更佳的分類效果。此外,在與傳統(tǒng)的BP和SVM模型比較中,Adaboost算法表現(xiàn)出了優(yōu)越性。