鄒雯蕭,郝潤澤,吳令儀,劉晏辛,薛 輝
(1. 四川大學,四川 成都 610065;2. 成都市東城根街小學,四川 成都 610014;3. 成都師范銀都小學,四川 成都 610093;4.成都加百力科技有限公司,四川 成都 610000)
語音識別具有重要的應用價值,可以用于人機交互等智能設備中。在語音識別的基礎上,分析語音中蘊含情緒的不同,不僅能增強人機交互的智能,還能夠識別人類語音在不同情緒下具有的更深層次的含義,從而準確判斷語音發起人的真實意圖。人類在表達不同的情緒時,具有不同的面部表情、姿勢以及語音特點。而語音作為人類交流傳遞信息的重要途徑,包含了豐富的情感信息,通過語音來分析情緒,具有重要的意義。而對語音中的情緒識別也是學術界以及工業界在過去20年的研究中關注的熱點問題。
隨著機器學習技術的發展,深度學習模型被廣泛用于語義識別、機器視覺等領域,并獲得了較好的應用效果,為此結合深度學習模型提取語音中的情緒信息,也逐漸成為具有較強可行性的技術方案。采用深度學習模型可以更好地提取語音信息的特征,更為準確地判斷語音信息中的情緒特點。同時,通過采用結構更為簡單的深度學習模型,可以降低處理語音時的時延。為此,本文基于LSTM深度神經網絡模型構建語音情緒識別模型,并采用AdaBoost模型對語音識別的準確性進行提升。
國內外學者從不同的方向開展對語音情緒識別的研究。在語音情緒識別中,公開的數據源包括情感互動數據集、柏林語音情感數據集等集合,而語音情緒的數據存在不平衡性,會影響模型的識別準確性。Ma[1]采用權重分布的方式,將不同的語音情緒樣本賦予不同的權重,減少由于樣本不平衡帶來的模型偏差。
在語音情緒識別的算法研究方面,基于深度學習的語音情緒識別逐漸成為研究的熱點。Bertero[2]在CNN神經網絡的基礎上,通過最大池化對語音頻譜數據進行分析,進一步提取語音頻譜中的情緒特征。Neumann[3]則引入注意力機制,通過分析不同語音特征和頻率等特點,分析這些特征對情緒識別的影響。
本文在采用LSTM模型進行語音情緒識別的基礎上,采用Adaboost模型對LSTM模型的識別進行提升。LSTM模型是一種具有特殊結構的RNN模型,可以有效解決信號傳遞消失的問題,具有一定的記憶特點。LSTM模型的神經單元主要包括遺忘門、輸入門輸出門Ot以及記憶單元Ct。LSTM模型神經單元的輸入為輸出為 ,每個神經單元路徑被稱為單元狀態(Cell State),不同的門可以采用sigmoid層進行表示,輸入結構可以采用tanh層激勵函數。LSTM模型中具有門控單元,用于控制信息的輸入以及輸出,從而實現對記憶單元的更新。門控單元是[0,1]間的數,用來表示該信息的權重。
首先,在采用LSTM模型構建語音情緒識別模型時,采用ft層激活函數更新單元狀態的信息,更新公式如下。

其次,對LSTM模型的各層進行更新,主要包括更新輸入門以及激活層,分別采用式(2)以及式(3)進行更新。

在更新單元狀態的過程中,由于語音序列具有一定的時間序列的依賴性,因此采用前一個單元狀態的信息,然后采用與單元狀態信息相乘,如式(4)所示。

然后在輸出層采用兩種不同的激勵函數,首先通過sigmoid層計算初始輸出,然后采用tanh函數將值映射到(-1,1)之間,并逐對相乘,得到最終對情緒的分類書輸出,如式(5)以及式(6)所示。

為了提取語音序列中的情緒特征,采用LSTM模型對語音序列的特征進行抽取,然后對各個特征進行編碼,各個特征表示為Ct,其中t=1,...,T。由于情緒會隨著時間變化,LSTM模型可以有效地分別具有上下文依賴的情緒特點。通過將語音中的每幀信息的特征輸入到LSTM模型,然后更新不同LSTM模型中各個神經單元的數據,得到非線性的映射函數ftRNN,同時產生隱狀態ht;t=1,...,T,在t時刻更新Cp,更新公式如公式(7)所示。


為了進一步提升L ST M模型對語音情緒識別的準確性,本文在LSTM模型的基礎上,通過采用AdaBoost模型迭代學習,進一步提升LSTM模型對情緒識別的準確性。AdaBoost模型的原理是通過對樣本抽樣生成不同的學習模型,然后采用梯度學習的方式,不斷改進對語音情緒識別的準確性,最終通過聯合各個模型的形式,提升對情緒識別的性能。在AdaBoost模型中,每一輪迭代會生成一個LSTM模型,然后在每一輪的學習中,計算學習的誤差。并將誤差傳遞到下一次迭代中,經過多輪訓練以后,不斷縮小誤差,最終將多輪學習得到的LSTM模型進行聯合預測,最終得到對情緒識別的結果。
為了驗證本文構建的AdaBoost-LSTM模型的性能,本文采用南加州大學搜集的IEMOCAP語音情緒數據集進行實證分析。IEMOCAP數據集中包含了12小時左右的語音數據,其中包括五組男女演繹的對話。本文采用五折交叉驗證的方式進行實證。在語音數據中,包括臨時對話以及文本表演的對話,通過標注不同的語音片段,可以將不同的對話劃分為中性、開心、悲傷、憤怒、驚奇、恐懼、厭惡、沮喪、激動和其他等不同類型的情緒,其中每一句話可以標注一個情緒類別,本文對數據集的處理流程如圖1所示。
本文基于TensorFlow構建LSTM模型,采用隨機梯度下降算法對LSTM模型進行參數優化,學習率為0.000017,Batch值為10,采用以下指標來評判對語音情緒的識別性能。
(1)加權準確率。測試集中的每個句子具有相同的權重,直接計算得到的準確率,計算公式如式(9)所示。
(2)不加權準確率。首先計算每種情感的準確率,然后進行平均得到的準確率,計算公式如式(10)所示。

式中,L代表不同情緒類別的數量;代表對類樣本預測錯誤的樣本和數量。
如表1所示,采用AdaBoost-LSTM模型對IEMOCAP語音情緒數據集具有最優的識別效果,在WA指標上高于LSTM模型9.33%,在UA指標上高于LSTM模型10.02%。同時,采用AdaBoost-LSTM模型對語音情緒的識別準確性也高于CNN卷積神經網絡以及RNN循環神經網絡。

表1 不同算法在IEMOCAP數據集上的準確率
對語音序列的情緒進行識別具有一定的復雜度,為構建較為快捷的語音識別模型,本文基于LSTM模型對語音序列中的情緒進行識別,并采用AdaBoost模型進行效果增強,通過對IEMOCAP數據集進行實證,驗證AdaBoost模型有效提升了LSTM模型的語音情緒識別的準確性。