張鈺莎 蔣盛益
1(湖南信息學院電子信息學院 湖南 長沙 410151)2(廣東外語外貿(mào)大學信息學院 廣東 廣州 510006)
語音情感識別是當前研究熱點,在人機交互(Human-Computer Interaction,HCI)領(lǐng)域的應用價值日益突顯[1-2]。在今天的HCI系統(tǒng)中,機器可以通過揚聲器和語音識別系統(tǒng)知道誰在說話以及他或她在說什么。當機器配備語音情感識別技術(shù)時,他們可以知道他或她的說話方式。為了實現(xiàn)這一目標,計算機必須能夠感知其現(xiàn)狀并根據(jù)這種感知作出不同的反應。此過程的一部分涉及了解用戶的情緒狀態(tài)。為了使人機交互更自然,讓計算機能夠以與人類相同的方式識別情緒情況是有益的。
在人機交互領(lǐng)域,言語是情緒識別系統(tǒng)目標的主要內(nèi)容,面部表情和手勢也是如此。語音被認為是一種與意圖和情感交流的強有力模式。近年來,許多研究人員對使用語音信息識別人類情感做了大量研究,并探索了幾種分類方法,包括神經(jīng)網(wǎng)絡(luò)[3]、高斯混合模型(Gaussian Mixture Model,GMM)[4-5]、隱馬爾可夫模型(Hidden Markov Model,HMM)[6]、最大似然貝葉斯分類器(Maximum Likelihood Classification,MLC)、核回歸和K近鄰(k-Nearest Neighbor,KNN)[8]、支持向量機(SVM)。文獻[6]提出一種基于多分類器集成的語音情感識別新算法。首先提取情感語音的韻律特征、音質(zhì)特征和MFCC特征參數(shù),然后將徑向基神經(jīng)網(wǎng)絡(luò)、K近鄰法和貝葉斯網(wǎng)絡(luò)三種分類器構(gòu)成集成分類器,實現(xiàn)對柏林情感語言數(shù)據(jù)庫中7種主要情感類型的識別。文獻[7]采用二叉樹結(jié)構(gòu)設(shè)計多分類器,使用半定規(guī)劃法求解并構(gòu)造多核SVM分類模型,并采用均方根誤差與最大誤差對分類器性能進行衡量。對特征選擇之后的參數(shù)集合進行了測試,其有效減少誤差積累和降低情感狀態(tài)之間混淆程度。文獻[8]在傳統(tǒng)SVM方法的基礎(chǔ)上,提出了一種基于主成分分析法的多級SVM情感分類算法。首先將容易區(qū)分的情感分開,針對混淆度大且不能再利用多級分類策略直接進行區(qū)分的情感,采用PCA進行特征降維,逐級判斷出輸入語音所屬的情感類型。
為了進一步提高語音情感識別精度,本文設(shè)計了一種基于MFCC特征提取和SVM的語音情感數(shù)據(jù)挖掘分類識別方法。SVM是過去十年由Vapnik在1995年開發(fā)的監(jiān)督學習算法。該算法解決了學習區(qū)分給定類n維向量的正負成員的一般問題[9]。SVM用作情感識別的分類器,通過構(gòu)建N維超平面來執(zhí)行分類,該超平面最佳地將數(shù)據(jù)分成類別。通過數(shù)據(jù)集輸入特征空間中的線性或非線性分離表面來實現(xiàn)分類。實驗結(jié)果證明了本文提出的基于MFCC特征提取和SVM的語音情感數(shù)據(jù)挖掘分類識別方法的有效性。
語音感知指的是人類能夠解釋和理解語言中使用的聲音的過程。言語感知的研究與語言學和認知心理學中的語音學、音韻學以及心理學中的感知密切相關(guān)。語音感知研究旨在了解人類聽眾如何識別語音并使用這些信息來理解口語。語音研究可用于構(gòu)建能夠識別語音的計算機系統(tǒng),以及改善聽力和語言障礙聽眾的語音識別。
語音信號通常被視為有聲或無聲,濁音包括基頻(F0)及其由聲帶產(chǎn)生的諧波分量[9]。聲道修改了這個激勵信號,導致共振峰(極點),有時還有反共振蕩(零)頻率。每個共振峰頻率具有幅度和帶寬,并且有時可能難以正確地定義這些參數(shù)中的一些。基頻和共振峰頻率可能是語音合成和語音處理中最重要的概念[10-12]。在清音中,激勵信號沒有基頻,因此也沒有諧波結(jié)構(gòu),激勵可以被認為是白噪聲。氣流被迫通過聲道收縮,這可能發(fā)生在聲門和嘴之間的幾個地方。一些聲音是在完全停止氣流然后突然釋放的情況下產(chǎn)生的。清音也通常比濁音更安靜,更不穩(wěn)定。悄悄話是言語的特例。當?shù)吐曊f出濁音時,在激發(fā)中沒有基本頻率,并且感知由聲道產(chǎn)生的第一共振峰頻率。
音節(jié)是一系列語音的組織單位。例如,水一詞由兩個音節(jié)組成,音節(jié)通常被認為是單詞的語音“構(gòu)建塊”。韻律是言語的節(jié)奏、壓力和語調(diào)。韻律反映了說話者的情緒狀態(tài);一個話語是一個陳述、一個問題還是一個命令;說話者是諷刺還是強調(diào),對比還是專注;可能無法用語法編碼的其他語言元素。韻律包括音高、強度和持續(xù)時間,以及語音質(zhì)量和關(guān)鍵特征。以下功能可以處理語音質(zhì)量:共振峰均值和帶寬,諧波噪聲比,MFCC系數(shù)。響度是聲音的質(zhì)量,是物理力量(振幅)的主要心理關(guān)聯(lián)。響度感與聲壓級和聲音持續(xù)時間有關(guān)。音高表示聲音的感知基頻,它是聲音和響度的三個主要聽覺屬性之一。周期信號的基頻(也稱為固有頻率)是基音周期長度的倒數(shù)。音調(diào)周期是術(shù)語,是信號的最小重復單位。因此,一個音調(diào)周期完全描述了周期信號。
情緒是一個與各種各樣的情感、思想和行為相關(guān)的心理和生理狀態(tài)的術(shù)語。情緒是主觀體驗或個人角度的體驗。一種特殊的情緒可持續(xù)數(shù)天,甚至持續(xù)數(shù)月或數(shù)年。人類的情感可以是不同的類型,如憤怒、快樂、悲傷、中立、恐懼、厭惡、驚訝、害羞、無聊等。情緒的研究是在很長一段時間內(nèi)進行的。這項研究有助于心理學、社會學、犯罪學、生理學等領(lǐng)域。研究人員經(jīng)常使用自主反應來衡量情緒。一種常用的自主反應為皮膚電反應。皮膚電反應是皮膚導電率的增加,當受試者在情緒狀態(tài)下出汗時會發(fā)生這種情況。研究人員還使用血壓、肌肉緊張度、心率和呼吸率等指標來衡量情緒。
情感在人與人之間互動中的重要性為工程和計算機科學界的研究人員提供了開發(fā)計算機識別情感的自動方法的基礎(chǔ)。系統(tǒng)的輸入是來自柏林情感數(shù)據(jù)庫的.wav文件,其包含來自不同情緒類別的情緒語音話語。在特征提取過程中,MFCC和MEDC兩個特征被提取。將提取的特征及其對應的類標簽作為LIBSVM分類器的輸入[13-15]。分類器的輸出是特定情緒類的標簽。總共有五個標簽分別為生氣、悲傷、快樂、中立和恐懼。每個標簽代表相應的情緒類別。
在先前的工作中,提取了若干特征用于對諸如能量、音調(diào)、共振峰頻率等的語音影響進行分類。第一步要采集語音信號,并進行預處理。所有這些都是韻律特征。一般而言,韻律特征是說話者情緒狀態(tài)的主要指標。這里在特征提取過程中提取了兩個特征:MFCC和MEDC。
MFCC由Stevens、Volkman和Newman在1937年提出[16]。它是由聽眾判斷的彼此距離相等的感知音階。Mel是感知音調(diào)或音調(diào)頻率的度量單位。此刻度和正常頻率測量之間的參考點通過將1 000 Hz音調(diào)等于聽眾閾值40 dB,音高為1 000 mels來定義。在大約500 Hz以上,聽眾判斷越來越大的間隔以產(chǎn)生相等的音高增量。最終,在500 Hz以上的赫茲音階上的四個八度音階被判斷為在音階上包括大約兩個八度音階。梅爾尺度在1 kHz以下近似線性并且在上面對數(shù)。以下公式用于計算給定頻率f的赫茲(以Hz為單位)。MFCC抗噪能力強,其頻率與聲音的實際頻率f的關(guān)系為:
Mel(f)=2 595lg(1+f/700)
(1)
語音情感識別的MFCC特征提取過程為:
(1) 以采樣頻率對連續(xù)時間信號(語音)進行采樣。在MFCC的第一階段,特征提取是為了增加高頻中的能量。這個預加重是通過使用濾波器完成的。預加重數(shù)字濾波器為:
H(Z)=1-αZ-1
(2)
式中:α表示預加重系數(shù)。
(2) 對語音信號進行分幀,并提取語音信號的短時特性。它是將從模數(shù)轉(zhuǎn)換(ADC)獲得的語音樣本分割成時間長度在2 040 ms范圍內(nèi)的小幀的過程。成幀使得非靜止語音信號能夠被分段為準靜態(tài)幀,并且能夠?qū)φZ音信號進行傅里葉變換。這是因為,已知語音信號在20~40 ms的短時間內(nèi)表現(xiàn)出準靜態(tài)行為。采用加漢明窗平滑語音信號:
(3)
(3) 加窗。加窗步驟用于窗口化每個單獨的幀,以便最小化每幀開始和結(jié)束時的信號不連續(xù)性。
(4) 將快速傅里葉變換(FFT)算法理想地用于評估語音的頻譜。FFT將N個樣本的每個幀從時域轉(zhuǎn)換到頻域[17-18]。用離散傅里葉變換得到語音信號的線性頻譜:
(4)
(5) 通過Mel頻率濾波器提取頻譜、Mel濾波器組和頻率包絡(luò)。Mel濾波器組由重疊的三角濾波器組成,截止頻率由兩個相鄰濾波器的中心頻率確定。濾波器具有線性間隔的中心頻率和梅爾標度上的固定帶寬。Mel頻率濾波器設(shè)計如下:
(5)
式中:p為濾波器的個數(shù)。
(6) 對Mel頻譜取對數(shù),對數(shù)具有將乘法變?yōu)榧臃ǖ男ЧR虼耍摬襟E簡單地將傅里葉變換中的幅度的乘法轉(zhuǎn)換為加法,得到對數(shù)頻譜S(p),其傳遞函數(shù)為:
(6)
(7) 采用離散余弦變換:它用于使濾波器能量矢量正交化。由于該正交化步驟,濾波器能量矢量的信息被壓縮成第一數(shù)量的分量并且將矢量縮短為分量數(shù)量。對S(p)進行離散余弦變換得到MFCC參數(shù)c(n)為:
(7)
(8) 計算MFCC的最大值、最小值、標準差。
圖1顯示了MFCC特征提取過程。MFCC技術(shù)使用兩種類型的濾波器,即線性間隔濾波器和對數(shù)間隔濾波器。

圖1 MFCC特征提取過程
Mel能量譜動態(tài)系數(shù)(MEDC)的特征提取過程如圖2所示。使用FFT估計每個語音話語的幅度譜,然后輸入到12個濾波器組,計算濾波器輸出的對數(shù)平均能量En(i),i=1,2,…,n。然后,計算En(i)的第一和第二差值。

圖2 MEDC特征提取過程
(1) MEDC特征提取的預處理、成幀、窗口化、FFT和Mel濾波器組和頻率包裝過程與MFCC特征提取相同。
(2) 取能量的對數(shù)平均值,在此過程中計算每個濾波器能量的平均對數(shù)。該平均值表示濾波器組中的各個濾波器的能量。
(3) 計算第一和第二差異,然后通過組合濾波器能量的第一和第二差異來獲得最終的Mel能譜動力學系數(shù)。
在功能標簽中,每個提取的功能與其類標簽一起存儲在數(shù)據(jù)庫中。雖然SVM是二元分類器,但它也可以用于分類多個類。每個功能都與其類標簽相關(guān)聯(lián),例如:生氣、快樂、悲傷、中立、恐懼。
SVM根據(jù)標記的特征進行訓練。SVM內(nèi)核函數(shù)用于SVM的訓練過程。二進制分類可以視為在特征空間中分離類的任務。SVM是二進制分類器,但它也可以用作多類分類器。LIBSVM是由C.J.Lin開發(fā)的用于SVM分類和回歸的最廣泛使用的工具。徑向基函數(shù)(Radical Basis Function,RBF)內(nèi)核用于訓練階段。使用RBF內(nèi)核的優(yōu)點是它將訓練數(shù)據(jù)限制在指定的邊界內(nèi)。RBF內(nèi)核將樣本非線性地映射到更高維空間,因此,與線性內(nèi)核不同,它可以處理類標簽和屬性之間的關(guān)系是非線性的情況。RBF內(nèi)核比多項式內(nèi)核具有更少的數(shù)值困難。SVM分類的結(jié)果以混淆矩陣表的形式給出。混淆矩陣表示給定類的準確分類和錯誤分類的百分比。
二分類原理如圖3所示。

圖3 支持向量機的二分類原理
設(shè)語音情感識別的訓練樣本數(shù)據(jù)為:{xi,yi},xi∈Rn,i=1,2,…,n,xi為情感識別的特征向量,yi為情感的類別,SVM利用非線性映射Φ(x)將訓練集映射到高維空間,使非線性問題線性的最優(yōu)分類面描述為:
y=ωTΦ(x)+b
(8)
式中:ω和b表示SVM的權(quán)值和偏向量。
必須找到最優(yōu)的ω和b,對式(8)無法直接求解,因此要找到最優(yōu)分類面,于是引入松弛因子ξi對式(8)進行變換,得到其二次優(yōu)化問題,即:
(9)
式中:C表示懲罰參數(shù)。通過引入拉格朗日乘子對式(9)進行變換,則有:
(10)
權(quán)向量ω的計算公式為:
ω=∑αiyiΦ(xi)·Φ(x)
(11)
支持向量機的分類決策函數(shù)可以描述為:
f(x)=sgn(αiyiΦ(xi)·Φ(xj)+b)
(12)
為了降低計算復雜度,簡化運算,引入核函數(shù)k(x,xi),以k(x,xi)代替點積椎Φ(xi)·Φ(xj),式(12)變?yōu)椋?/p>
f(x)=sgn(αiyik(x,xi)+b)
(13)
在眾多核函數(shù)中,采用RBF作為支持向量機核函數(shù),這是因為RBF的通用性好,參數(shù)少,式(12)變?yōu)椋?/p>
(14)
式中:σ表示RBF的寬度參數(shù)。
柏林技術(shù)大學錄制了柏林情感言論數(shù)據(jù)庫。德語數(shù)據(jù)庫包含語言表達情緒的語音。它包含493個由10個專業(yè)演員組成的話語,其中5個男性和5個女性在7種不同的情緒中表達了10個具有情感中性內(nèi)容的句子。情緒是憤怒、無聊、厭惡、恐懼、幸福、悲傷和中性情緒狀態(tài)。硬件環(huán)境是MacBook Pro(13",2017),CPU是Intel Core i5,顯卡是Intel Iris Plus Graphics 640,2.3 GHz,硬盤為256 GB,內(nèi)存為8 GB。
創(chuàng)建包含來自不同電影的情感對話的語音情感數(shù)據(jù)庫。最初所有文件都以.mp3格式剪切,然后轉(zhuǎn)換為.wav文件格式,還使用柏林情感數(shù)據(jù)庫,其中包含用于五種情感類別的406個語音文件。情緒類別憤怒、悲傷、快樂、中立、恐懼分別有127、62、71、79和67個言語。使用RBF函數(shù)對LIBSVM進行MFCC和MEDC特征向量的訓練,LIBSVM用于測試這些特征向量。通過改變RBF內(nèi)核的成本值來進行實驗,采用獨立文件進行實驗。SVM分類的結(jié)果以混淆矩陣表的形式給出。混淆矩陣表示給定類的準確分類和錯誤分類的百分比。
表1顯示混淆矩陣實現(xiàn)的SVM用于漢語語音情感。憤怒的情緒最高可達90.38%,而幸福可獲得91.1%的識別率。可以看出,悲傷和恐懼中發(fā)現(xiàn)了最大錯誤分類。漢語情緒的總體識別率為81.44%。表2顯示了使用一對一多類方法對德語語音情感實施的SVM的混淆矩陣。據(jù)觀察,在幸福和恐懼情緒中發(fā)現(xiàn)了最大錯誤分類。憤怒情緒最高可達88.24%,恐懼可獲得最低44.44%的識別率。德語情緒的總體識別準確度為57.91%。表3顯示LIBSVM RBF分類器(Hindi)的混淆矩陣使用成本值c=10的RBF核的LIBSVM總體識別率為75.11%。表4顯示了使用LIBSVM RBF分類器基于德語語音情感SVM混淆矩陣的識別。

表1 混淆矩陣實現(xiàn)的SVM用于漢語語音情感的識別結(jié)果

表2 使用一對一多類方法對德語語音情感實施的SVM的

表3 混淆矩陣LIBSVM RBF分類器實現(xiàn)的

表4 使用一對一多類方法對德語語音情感實施的SVM的
對于柏林數(shù)據(jù)庫和漢語數(shù)據(jù)庫,實施SVM的識別率分別為82%和81.44%。還觀察到LIBSVM使用RBF核函數(shù)分類器的混淆矩陣使用成本值c=8總體識別率為99.39%,LIBSVM使用RBF函數(shù)對漢語數(shù)據(jù)庫的識別率為88.33%。線性LIBSVM的準確率為88.92%。
圖4給出了4種不同降維方法取得的每一維的語音情感識別結(jié)果。圖5給出了不同信噪比下幾種算法取得的語音情感識別結(jié)果對比。可以看出,本文提出的方法在不同降維、不同信噪比下均取得了最優(yōu)的識別精度。其中文獻[6]提取情感語音的韻律特征、音質(zhì)特征和MFCC特征參數(shù),然后將徑向基神經(jīng)網(wǎng)絡(luò)、K近鄰法和貝葉斯網(wǎng)絡(luò)三種分類器構(gòu)成集成分類器。文獻[7]使用半定規(guī)劃法求解并構(gòu)造多核SVM分類模型,并采用均方根誤差與最大誤差對分類器性能進行衡量。然而針對混淆度大且不能再利用多級集成分類策略直接進行區(qū)分的情感,影響了這兩種方法的識別精度。文獻[8]采用PCA進行特征降維,然后逐級地判斷出輸入語音所屬的情感類型,容易造成誤差積累,加劇情感狀態(tài)之間混淆程度,在一定程度上影響了分類識別效率。實驗結(jié)果再一次證明了本文方法的有效性。

圖4 不同維度下算法取得的語音情感識別結(jié)果對比

圖5 不同信噪比下幾種算法取得的語音情感識別結(jié)果對比
本文最初所有文件都以.mp3格式切換,然后轉(zhuǎn)換為.wav格式,德語柏林情感數(shù)據(jù)庫用于特征提取,MFCC和MEDC功能是從.wav格式的語音文件中提取的。基于RBF內(nèi)核MFCC和MEDC特征向量的訓練,LIBSVM用于測試這些特征向量,通過改變RBF內(nèi)核的成本值對獨立文件進行實驗。實驗結(jié)果表明,相較于幾種對比方法,本文方法在不同降維、不同信噪比下均取得了最優(yōu)的識別精度。關(guān)于使用RBF內(nèi)核的LIBSVM,觀察到通過改變內(nèi)核函數(shù)的參數(shù)可以獲得更好的結(jié)果。RBF核函數(shù)中增加的成本值在某一點增加了準確率,然后保持不變。未來希望能夠進一步對本文方法進行完善。