劉明珠 李曉琴 陳洪恒
摘 要:為了提高語音情感識別系統(tǒng)的識別率,研究分析了一種支持向量機核函數(shù)參數(shù)的優(yōu)選方法。首先給出影響支持向量機核參數(shù)的因素,其次依據(jù)這些因素,結合Fisher準則和最大熵原理對支持向量機的核參數(shù)進行優(yōu)選。最后用優(yōu)選參數(shù)對基于情感語音數(shù)據(jù)庫進行5種情感的識別測試,測試結果表明Fisher準則和最大熵方法相融合能夠有效地提高語音情感識別準確率。
關鍵詞:語音情感識別;支持向量機;核參數(shù)優(yōu)化;Fisher準則;最大熵原理
DOI:10.15938/j.jhust.2019.04.020
中圖分類號: TN912.34
文獻標志碼: A
文章編號: 1007-2683(2019)04-0118-09
Abstract:In order to improve the recognition rate of speech emotion recognition system, this paper studies a preferred method of supporting vector machine kernel function parameters. Firstly, according to the principle of support vector machine, the factors influencing the kernel parameters are given. Secondly, according to these factors, the kernel parameters of the support vector machine are optimized according to the Fisher criterion and the maximum entropy principle. Finally, five kinds of emotion recognition tests based on the emotional speech database are selected with the preferred parameters. The test results show that the fusion of the Fisher criterion and the maximum entropy method can effectively improve the accuracy of speech emotion recognition.
Keywords:speech emotion recognition; support vector machines; optimization of nuclear parameters; Fisher criteria; maximum entropy principle
0 引 言
語音是人與人之間溝通的橋梁,同時也是人們表達思想情感的工具。為了能使計算機可以像人一樣與人類“交流”,語音情感識別逐漸成為了智能人機交互領域的研究熱點[1]。目前,國外學者針對這方面做了大量研究,比如美國麻省理工學院(MIT)實驗室研究的情感機器人[2],IBM公司的“藍眼計劃”[2]以及NEC公司研制出的一種能感知人類情感的花等 [3]。這些研究都為語音情感識別的研究奠定了良好的基礎。雖然國內在這項研究上起步還比較晚,但在語音情感識別方面的技術正在不斷追趕世界技術前沿。
其中識別算法的優(yōu)良直接決定著語音情感識別的正確率。目前常用的識別算法有如下幾種:隱馬爾可夫模型(hidden markov models,HMM)、人工神經(jīng)網(wǎng)絡(artificial neural network,ANN)、高斯混合模型 (gaussian mixture models,GMM)、支持向量機 (support vector machines,SVM)以及相關的改進算法[4]。
New et al[5]在緬甸語音庫和漢語普通話語音庫的基礎上利用HMM識別6種語音情感,其識別率達到了78.5%和75.5%,HMM能夠很好地模擬人類的語言過程,但是訓練HMM需要大量的訓練樣本,而且時間成本也比較高。目前,ANN也取得了不錯的識別效果,例如文[6]采用的是改進蛙跳算法神經(jīng)網(wǎng)絡進行語音情感的識別,其平均識別率達到了84.2% 的較好的識別結果,但ANN算法最大的缺點是結點的選取非常困難[6]。GMM是一種用于密度估計的概率模型,在柏林語音數(shù)據(jù)庫上獲得了89.9%的平均識別率[7]。但GMM對數(shù)據(jù)依賴性強,因此訓練數(shù)據(jù)的選擇對識別系統(tǒng)的結果產(chǎn)生很大的影響。SVM在基于柏林語音數(shù)據(jù)庫上進行語音情感識別[8],其識別率達到了86.36%。
與其他語音情感識別的算法相比,SVM算法在解決高維數(shù)、小樣本和非線性問題上有較大的優(yōu)勢,而且其結構簡單,推廣力強[9]。但SVM算法的難點在于核函數(shù)的參數(shù)的選擇,針對這一問題,本文提出一種Fisher準則和最大熵原理相結合的方法對SVM核參數(shù)進行選擇,從而達到改善傳統(tǒng)SVM算法的優(yōu)選度。然后利用SVM優(yōu)選后的核參數(shù)對語音情感信號進行識別。
1 語音情感識別的基本流程與特征參數(shù)
本文的語音情感識別模型如圖1所示,首先選取柏林數(shù)據(jù)集作為實驗的語音數(shù)據(jù)庫,對該庫中高興、生氣、害怕、悲傷、平靜5種情感進行識別測試,并從中選定測試集和訓練集,然后再對語音進行特征參數(shù)的提取。語音信號的情感特征的統(tǒng)計參數(shù)的差異并不能完全反應提取特征的差異,因此在特征提取的時候需要加一個分類器,這里選取SVM。然后采用Fisher準則和最大熵原理相結合的方法選取SVM核參數(shù),最后用選出的最佳核參數(shù)和訓練特征集建立SVM分類模型,通過將測試樣本輸入到SVM模型中獲取最終的識別結果。傳統(tǒng)SVM核參數(shù)選取方法主要包括交叉驗證法和基于Fisher準則選取,交叉驗證法計算量過大且計算過程及其復雜[16],基于Fisher準則只考慮了類間間隔,未考慮類內均勻程度[17],與傳統(tǒng)方法相比,本文算法既考慮到了類內間隔又考慮到了類間間隔,且計算過程相對簡單,能有效提高情感識別的準確性。
在語音情感識別研究中,語音特征參數(shù)的提取至關重要,常用的特征提取方法為韻律特征和音質特征。本文選擇這兩種方法中對情感特征識別度權值最大的3個參數(shù)為主特征,即基音頻率、振幅能量和共振峰。并需對以上特征參數(shù)進行統(tǒng)計學分析。
1.1 基音頻率特征
基音頻率與語音情感信息緊密相關[10],是一種韻律特征?;纛l率與人的聲帶的厚薄、長短以及發(fā)音習慣等都有著密切關系。式(1)是語音信號的短時自相關函數(shù),可用于提取基因頻率。圖2為同一語音文本在四種情感狀態(tài)下的基頻曲線。
1.2 振幅能量
不同情感的聲音信號的振幅能量也不盡相同。振幅能量包括短時能量和平均幅度,是一種重要的韻律特征。短時能量容易受到語音信號電平的影響,因此,這里采用短時平均幅度。公式如(2)所示:
1.3 共振峰
共振峰是指在聲音的頻譜中能量相對集中的區(qū)域,主要反映聲道的變化信息。共振峰是一種重要的特征值參與語音情感信號的特征提取。共振峰是一種音質特征,情感的變化主要在第一共振峰、第二共振峰、第三共振峰上變化比較大[11]。因此,這里選取第一共振峰(F1)、第二共振峰(F2)、第三共振峰(F3)以及它們的統(tǒng)計值。圖4為采用線性預測編碼方法檢測的共振峰頻率軌跡[12]。
由圖4可知高興和生氣的第一、第二和第三共振峰都比悲傷的高,且都處于相對穩(wěn)定狀態(tài)。平靜、生氣和高興區(qū)分不是很大。而悲傷的情感的三個共振峰頻率則明顯都有下降的趨勢。
2 支持向量機分類算法
支持向量機(SVM)是一種基于統(tǒng)計學習理論的機器學習算法。它是由Vapnik[13]等基于線性分類器的原理首先提出的。SVM可以用于解決線性與非線性樣本分類,其核心思想是將低維空間線性不可分的樣本點通過核函數(shù)映射至高維特征空間中,然后在特征空間中構造出最優(yōu)分類超平面,這時數(shù)據(jù)在高維空間也可以被超平面分割,從而變得線性可分[8],并且各個樣本與超平面的距離應保持最大[14]。
2.1 支持向量機分類算法基本原理
給定非線性樣本集(x1,y1),…,(xn,yn),yi∈{-1,1},i=1,2,…,n。y中的-1和+1分別代表兩類不同的樣本。首先通過映射函數(shù)φ(x)將低維空間中的非線性樣本映射到高維特征空間,然后在高維特征空間中構造最優(yōu)分類超平面w·φ(x)+b=0,其中w為法向量,b為偏置,因此需要確定w和b的值。
兩類樣本之間的間隔為2‖w‖。由SVM原理可知,2‖w‖應最大化。從該原則出發(fā),最優(yōu)化問題轉為對變量w和b凸二次規(guī)劃問題,如式(3)所示:
2.2 支持向量機分類算法的核參數(shù)
由支持向量機分類算法原理分析可知,核函數(shù)為SVM解決線性不可分的問題的關鍵所在。常用的核函數(shù)有多項式核函數(shù)K(xi,xj)=(xi·xj+1)q,q=1,2…N,高斯徑向基函數(shù)(Radial basis function kernel, RBF)K(xi,xj)=exp(-‖xi-xj‖2/2κ2),κ為函數(shù)的寬度參數(shù)以及線性核函數(shù)K(xi,xj)=(xi·xj)等。
其中RBF主要針對線性不可分的情況,是性能較好的核函數(shù)[15],本文SVM的核函數(shù)選取RBF核函數(shù)。RBF核函數(shù)的關鍵在于核參數(shù)κ的選擇,如果κ選得大,則高維特征上的權重衰減的很快,近似于一個低維的子空間;相反,若κ取較小值,則可以將任意的數(shù)據(jù)都映射為線性可分,這會導致嚴重的過擬合問題[16]。
傳統(tǒng)選擇核參數(shù)方法是通過訓練數(shù)據(jù)的交叉驗證法來尋找,不過這個過程比較耗時且不準確[17]。文[18]提出了一種基于Fisher準則選取核函數(shù)參數(shù)的方法,但該方法只考慮到了類間間隔,未考慮到類內均勻程度影響。為此,本文提出了一種Fisher準則和最大熵原理相結合的方式選取SVM核參數(shù)。
3基于Fisher 準則和最大熵原理SVM核參數(shù)選擇算法
3.1 Fisher準則選擇核參數(shù)
4 語音情感識別測試與分析
4.1 數(shù)據(jù)語音庫
本文在柏林語音數(shù)據(jù)集[20]上對5種情感狀態(tài)進行識別實驗,柏林數(shù)據(jù)庫采樣頻率為16KHz, 16bit 均勻量化,由柏林技術大學錄制,在高興,生氣,害怕,難過,中性、厭煩和厭惡7種感情狀態(tài)下錄制了535條情感語句。測試時,選擇其中207個作為訓練樣本,分別為高興(36)、生氣(64)、恐懼(35)、悲傷(32)和平靜(40);剩下的202個構成測試集,分別為高興(35)、生氣(63)恐懼(34)、悲傷(31)和平靜(39)。
實驗所選取的情感特征相同,即基因頻率、振幅能量、共振峰以及它們對應的統(tǒng)計值。為了減少在不同情感狀態(tài)下因個人差異造成的影響,本文實驗時將同一個人的不同情感的語音信號的情感特征放在一起進行[0,1]歸一化。首先將樣本特征參數(shù)輸入SVM模型中獲取最優(yōu)核參數(shù),然后構建SVM分類模型,最后將測試樣本特征參數(shù)輸入到已經(jīng)建立好的SVM模型中輸出識別結果。
4.2 核參數(shù)的選擇與測試
SVM進行語音情感識別時需要確定RBF核參數(shù)κ以及懲罰因子γ。其中懲罰因子的作用是調節(jié)SVM置信范圍的比例和經(jīng)驗風險,使其有更好的推廣能力。懲罰因子γ的選取采用“試湊法”,即從指數(shù)序列{2-1,20,…,210}中選擇,核參數(shù)κ由本文提出的方法來確定。
為了使得實驗數(shù)據(jù)更具說服力,本文將柏林數(shù)據(jù)集的5種情感下的409個樣本分為三部分尋求最優(yōu)核參數(shù)。柏林-1和柏林-2樣本分別為高興(23)、生氣(42)、恐懼(23)、悲傷(21)和平靜(26),柏林-3由高興(25)、生氣(43)、恐懼(23)、悲傷(21)和平靜(27)構成。
粒子群算法(PSO)是一種基于群體智能原理的全局并行優(yōu)化算法,算法操作簡便,容易實現(xiàn)[21]。這里的參數(shù)尋優(yōu)算法選擇粒子群算法。
4.3 結果及分析
5 總 結
本文研究了一種融合Fisher準則和最大熵原理選取支持向量機核參數(shù)的方法,并利用該方法在柏林語音數(shù)據(jù)庫上做語音情感識別實驗,且達到了90.1%的平均識別率。對比交叉驗證法和Fisher準則選取核參數(shù)方法,本文識別正確率分別提高了3.5%和7.5%。由于Fisher準則保證了期望樣本在特征空間中最大的類別間隔,而最大熵原理保障了類內均勻分布程度,使得SVM取得了最優(yōu)核參數(shù)。實驗結果表明,該方法有利于提高語音情感的識別率。
參 考 文 獻:
[1] 余伶俐, 蔡自興, 陳明義. 語音信號的情感特征分析與識別研究綜述[J]. 電路與系統(tǒng)學報, 2007, 12(4):76.
[2] 李書玲, 劉蓉, 張鎏欽,等. 基于改進型SVM算法的語音情感識別[J]. 計算機應用, 2013, 33(7):1938.
[3] 石瑛. 基于分類方法的語音情感識別研究[D]. 合肥:合肥工業(yè)大學, 2008.
[4] AYADI M E, KAMEL M S, KARRAY F. Survey on speech emotion recognition: Features, classification schemes, and databases[J]. Pattern Recognition, 2011, 44(3):572.
[5] NWE T L, FOO S W, SILVA L C D. Speech emotion recognition using hidden Markov models[J]. Speech Communication, 2003, 41(4):603.
[6] 余華, 黃程韋, 金赟,等. 基于改進的蛙跳算法的神經(jīng)網(wǎng)絡在語音情感識別中的研究[J]. 信號處理, 2010, 26(9):1294.
[7] VLASENKO B, SCHULLER B, WENDEMUTH A, et al. Combining frame and turn-level information for robust recognition of emotions within speech.[C]// INTERSPEECH 2007, Conference of the International Speech Communication Association,Antwerp, Belgium, August. 2007:2249.
[8] 朱菊霞, 吳小培, 呂釗. 基于SVM的語音情感識別算法[J]. 計算機系統(tǒng)應用, 2011, 20(5):87.
[9] 李書玲, 劉蓉, 張鎏欽,等. 基于改進型SVM算法的語音情感識別[J]. 計算機應用, 2013, 33(7):1938.
[10]趙力.語音信號處理.北京:機械工業(yè)出版社,2008.36.
[11]陳曉東. 基于SVM和HMM混合模型的語音情感識別和性別識別[D]. 綿陽市:西南科技大學, 2011.
[12]宋知用.MATLAB在語音信號分析與合成中的應用[M].北京:北京航空航天大學出版社,2013:268.
[13]V. N.VAPNIK, An overview of statistical learning theory, IEEE Trans. Neural Netw. 1999, 10: 988.
[14]高爭艷, 張玉雙, 王慕坤. 基于核K-均值聚類和支持向量機結合的說話人識別方法[J]. 哈爾濱理工大學學報, 2008, 13(5):40.
[15]張新聞,周春燕,李學生. 優(yōu)化核參數(shù)的SVM在電能質量擾動分類中的應用[J]. 哈爾濱理工大學學報,2011(3):50.
[16]SMOLA A J, SCH, LKOPF B. A tutorial on support vector regression[J]. Statisticsand Computing 2004, 14(3):199.
[17]奉國和. SVM分類核函數(shù)及參數(shù)選擇比較[J]. 計算機工程與應用,2011(3):123.
[18]劉飚, 陳春萍, 封化民,等. 基于Fisher準則的SVM參數(shù)選擇算法[J]. 山東大學學報(理學版), 2012, 47(7):50.
[19]PENALVER B A, ESCOLANO R F, SAEZ J M. Learning Gaussian mixture models with entropy-based criteria[J]. IEEE Transactions on Neural Networks, 2009, 20(11):1756.
[20]BURKHARDT F,KIENAST M;PAESCHKE Berlin database of emotional speech(Technical University,Insitute for Speech and Communication Science, Berlin)[DB/OL].[2012-07-15].http://pascal.kgw.tu-berlin.de/emodb/.
[21]中科院自動化研究所人機語音交互課題組.漢語情感語料庫[DB/OL]. [2012-09-22]. http://www.datatang. com//data/39277
[22]李磊, 高雷阜, 趙世杰. 基于神經(jīng)網(wǎng)絡的粒子群算法優(yōu)化SVM參數(shù)問題[J]. 計算機工程與應用, 2015, 51(4):162.
(編輯:王 萍)