史愛武,蔡 潤
(武漢紡織大學 計算機與人工智能學院,湖北 武漢 430200)
在智能語音助手、情感對話系統等現代人機交互系統中,情感識別扮演著至關重要的角色。情感識別系統的分析對象為語音、文本或圖片,例如語音情感識別系統就是采用機器感知語音中包含的情感。然而,想要正確識別出語音中的情感信息是一件很困難的事情,因為語音中的情感受對話內容、韻律特征等多種因素影響[1],僅通過聲學特征或口語文本中離散的單詞很難準確預測。
近年來,多模態情感識別方法得到廣泛研究,語音、文本和圖片等多個模態已經被用于提高情感識別準確率。與傳統單模態研究不同,多模態情感識別的目標是通過融合多個模態的數據預測目標序列的情感狀態。近年來,許多深度學習模型被用于從人工提取的聲學特征或原始語音信號中提取情感相關信息,例如卷積神經網絡(Convolutional Neural Network,CNN)[2]、循環神經網絡(Recurrent Neural Network,RNN)[3]、自注意 力機制以及 它們的組合[4]。然而,包含在語音中的文本信息卻很少被利用,文本信息對于語音情感識別系統同樣重要,因為在某些情況下話語中包含的情感可以由語義決定,例如“That’s great!”表達了說話者高興的心情。
將聲學與文本信息融合并不是一件簡單的事情,需要考慮模態間和模態內的交互[5]。模態內交互指單一模態內細粒度的特征交互,如在聲學特征中不同語音幀之間的交互以及在文本特征中一個句子里單詞之間的直接交互。通過對模態內的交互進行建模可以捕捉到該模態中對于情感分類更為關鍵的信息;而模態間的交互表示一種模態在考慮到另外一種模態時的交互作用,例如同一個句子用不同語氣說出時會表達出不一樣的情感。然而,目前大多數情感分析方法在對兩種模態信息進行融合時都只考慮到上述兩種交互的其中一種。為解決上述問題,本文提出一種基于雙向循環門控單元(Bidirectional Gated Recurrent Unit,Bi-GRU)[6]和多種注意力的多模態情感識別模型。該模型首先采用Bi-GRU 分別捕獲文本和語音序列的上下文特征;然后設計一種多模態特征融合網絡,其主要由兩個自注意力模塊和兩個引導注意力模塊組成,自注意力模塊利用自注意力機制捕獲每個模態內部的關鍵特征,而引導注意力機模塊利用引導注意力機制捕獲兩個模態間重要的交互特征。在上述兩種模塊的幫助下,本文模型可以同時對模態內部的關鍵特征和模態間的交互特征進行建模,從而使模型可以識別對于目標序列情感分類更為重要的模態特征,實現兩種模態特征的有效融合;最后在IEMOCAP(Interactive Emotional Dyadic Motion Capture Database)[7]數據集上進行實驗,驗證所提模型的識別分類效果。
多模態情感識別主要致力于聯合與人類情感表達相關的語音、圖像、文本等不同模態信息來識別人的情感狀態,在人機交互、人工智能等領域有重要作用[8]。與單一模態的情感識別相比,多模態情感識別不僅需要學習單個模態的獨立特征,還要考慮如何有效融合多個模態數據。現有多模態融合方法通常是在作出預測結果前融合不同模態的低級特征(早期融合),或對每個模態分開建模,然后融合每個模型的預測結果(晚期融合)[9]。在早期融合的研究中,人們越來越專注于使用不同數學公式融合語音和文本特征,包括多模態池化融合[9]、多模態層級融合[10]以及語音和文本特征的詞級拼接[1]等。例如,Zadeh 等[11]提出一種張量融合網絡模型,通過張量融合顯示聚合不同特征之間單模態、雙模態和三模態的交互以捕獲不同模態間的動力學;Arevalo 等[12]提出一種多模態門控單元,通過乘法門學習各個模態信息對單元激活的影響程度,進而找到基于不同模態聯合特征的中間特征。上述方法可以對來自不同數據源的信息進行融合,但沒有考慮到同一語句中語音和文本特定的時間相關性,即一個序列的語音幀和單詞在時間上是對齊的。對于一個語音幀序列,通過了解其中特定的單詞去學習更有辨識度的特征將有助于情感分類。例如,當一個人說出“I hate it!”來表達生氣或說出“I’m happy”來表達高興時,此時情感識別系統應該將更多的注意力放在單詞“hate”和“happy”及其對應的語音幀上,這就需要一種機制捕獲不同模態信息之間的交互。為此,Yoon 等[13]提出一個深度雙循環神經網絡來編碼語音和文本序列信息,并通過點乘注意力機制將注意力集中在語音文本序列的特定單詞上以捕獲兩種模態間的交互;Tripathi等[14]使用1D-CNN 進行詞嵌入,使用2D-CNN 對光譜特征進行編碼,但該方法只考慮捕獲模態內的交互作用,沒有考慮模態間的交互作用。
綜上所述,隨著深度學習技術的不斷發展,多模態情感識別研究也取得了長足進展,但如何充分利用單模態特征和多模態交互特征進行建模依舊是該領域需要突破的難題[15]。本文模型使用Bi-GRU 提取序列信息上下文特征的同時利用特征融合網絡中的引導注意力和自注意力對模態內與模態間的交互作用進行建模,實現了多模態特征的有效融合,有效提高了多模態情感分類準確率。
本文模型整體框架如圖1 所示。圖中的Self表示自注意力模塊,Guided表示引導注意力模塊,P表示全局最大池化層。首先使用Bi-GRU 分別對音頻和文本特征進行編碼;然后將編碼后的特征送入引導注意力模塊和自注意力模塊以學習語音和文本模態間的交互關系以及各自模態內的交互關系;最后對以上模塊輸出的特征進行拼接后送入全連接分類器中進行情感分類。
本文使用兩個獨立的Bi-GRU 分別對語音和文本進行編碼,用于提取序列的上下文信息。Bi-GRU 由兩個方向相反的GRU(Gated Recurrent Unit)構成,能有效捕獲序列中上下文的長依賴關系,解決RNN 訓練過程中出現的梯度消失和梯度爆炸問題[16]。在Bi-GRU 中,正向和反向輸入的特征向量會得到對應時刻的隱藏層表示,然后通過拼接操作得到具有上下文信息的語音或文本特征。采用[x1|,...,|xN]表示音頻及其對應文本的特征序列,計算過程如下:
引導注意力模塊旨在捕獲每一對語音幀與文本單詞之間的模態交互作用,其可以學習一種模態與另一種模態交互后的特征。對于從特征提取器中獲得的語音特征[s1,...,sK]和文本特征[t1,...,tL],使用以下公式計算第i個語音向量和第j個文本向量之間的注意力權重:
式中:u、v和b為可訓練的參數;αj,i為語音序列中歸一化后的注意力權重,表示第j個單詞與第i個語音幀之間的軟對齊強度;為語音端Bi-GRU 隱狀態的加權求和,可以看作是與第j個單詞交互后的語音特征。對該特征向量使用全局最大池化操作可得到與文本特征交互后的語音特征as→t。
使用相似方法學習與語音特征交互后的文本特征。對于從Bi-GRU 特征提取器中獲得的文本特征[t1,...,tL]和語音特征[s1,...,sK],使用以下公式計算第j個文本向量與i個語音向量之間的注意力權重:
式中:βi,j為單詞序列中歸一化后的注意力權重,表示第i個語音幀與第j個單詞之間的軟對齊強度;為文本端雙向GRU 中隱狀態的加權求和,可以看作是與i個語音幀對齊后的文本特征。對該特征向量使用全局最大池化操作可得到與語音特征交互后的文本特征at→s。
自注意力模塊旨在捕獲語音和文本各自模態內的交互作用,其可以學習模態內的關鍵特征。對于從Bi-GRU特征提取器中獲得的語音特征[s1,...,sK],其計算過程如下:
式中,wimi+bi表示mi中的線性變換;ai為文本序列中歸一化后的注意力權重,表示第i個語音幀在整個語音序列中的重要程度為語音端Bi-GRU 中隱狀態與該特征注意力權重的加權求和,可以看作是被賦予關鍵信息后的第i個語音幀。對賦予關鍵信息后的特征向量使用全局最大池化操作可得到模態內交互后的語音特征as。
采用相同方法捕獲文本序列模態內的交互作用。對于從雙向GRU 特征提取器中獲得的文本特征[t1,...,tL],其計算過程如下:
式中:at為模態內交互后的文本特征。
將以上得到的4 組特征as→t、at→s、as、at∈Rd進行拼接得到兩種模態融合后的特征,然后使用全連接層結合softmax 預測情感類別,同時采用交叉熵損失對模型進行優化。計算公式為:
本文選取的IEMOCAP 數據集由南加州大學的SAIL 實驗室創建,包含約12 h 的視聽數據,共5 段對話,每段對話由一名男演員和一名女演員完成。采取5 折交叉驗證,使用其中的4 段對話作為訓練集,剩下的1 段對話作為測試集,以此保證說話者的獨立性。為與以往在IEMOACP 數據集上進行的研究保持一致,本文將excitement 類別加入到happiness 類別中,只使用sad、angry、happiness、neutral 4個類別。
使用Python 庫從語音中提取包括梅爾倒譜系(MFCCs)、梅爾語譜圖(Mel-spectrogram)過零率、頻譜質心、頻譜延展度在內的聲學特征,每一幀的特征向量為60 維。將語音的最大長度設置為7.5 s,較長的語音會被刪減至7.5 s,較短的語音用零填充。數據集中的文本被映射為GloVe 詞向量序列,每個詞向量的尺寸為300。
實驗中的所有代碼均是在Pycharm 代碼編輯器上采用Tensorflow 和Keras 深度學習框架編寫,利用顯存為24 GB的GPU(RTX 3090)進行模型訓練。實驗參數設置如表1所示。

Table 1 Experimental parameter settings表1 實驗參數設置
選取兩個最常用的評價指標:加權準確率(Weighted Accuracy,WA)和 未加權準確率(Unweighted Accuracy,UA)。首先在每一折上計算指標,然后給出所有折的平均準確率。WA 的計算公式為:
UA 的計算公式為:
式中:N為樣本類別數。
使用本文提出的特征融合網絡可得到4 組基于注意力機制交互后的特征,分別為與文本特征交互后的語音特征as→t、與語音特征交互后的文本特征at→s、模態內交互后的語音特征as和模態內交互后的文本特征at。使用相同分類層評估4 組特征在情感分類中的辨別能力,其在5個折疊上的準確率如表2所示。

Table 2 Accuracy of 4 sets of features on 5 folds表2 4組特征在5個折疊上的準確率 (%)
實驗結果表明,多模態融合后的特征as→t和at→s的分類效果明顯優于單模態特征as和at,這是由于as→t和at→s均從另外一種模態中獲得了額外信息,證明了多模態信息的必要性。在只考慮單模態時,文本特征at的分類準確率高于語音特征as,說明與語音模態相比,文本模態的情感特性更為顯著。對于雙模態融合后的特征而言,as→t的分類效果優于at→s,原因可能是對于相同的話語,語音幀和文本序列的長度不同,語音幀數可達到750 幀,而文本序列中可能只包含約20 個單詞。as→t經過最大池化前的序列長度與文本相同,at→s最大池化前的序列長度則與語音相同,由于語音序列要比文本序列長很多,雖然同樣都融合了雙模態信息,但最大池化操作將兩者的序列長度都變為1 后,as→t中包含的全局信息更豐富,其分類效果更好。
選 擇BiAtt-TFL[11]、BiAtt-GMU[12]、CNN-Att[17]、LSTM-Att[18]、Self-Att[19]、Att-LSTM[20]模型作為對照,在IEMOCAP 數據集上與本文模型進行性能比較,結果見表3。表中S 和T 分別表示語音和文本模態,所有方法均采用5 折交叉驗證,使用其中的4 個會話作為訓練集,剩余的1個會話作為驗證集。表中僅利用語音模態的3 個模型(CNN-Att、LSTM-Att 和Self-Att)分別使用基于CNN 的注意力機制、長短期記憶網絡(Long Short-Term Memory,LSTM)和自注意力機制。在語音加文本的多模態情感識別實驗中,本文使用相同的實驗設置對所有標*的模型進行公平比較。

Table 3 Comparison result of each model表3 各模型性能比較結果 (%)
實驗結果表明,本文模型在WA 和UA 兩個評價指標上優于對照模型,表明利用多種注意力模塊學習模態間及模態內的交互特征有利于改善網絡性能。此外,同時使用語音和文本的多模態方法的準確率明顯高于僅使用語音的方法。由于Att-LSTM 模型只考慮了與語音和文本的單向交互,其準確率低于基于模態間雙向交互的BiAtt-TFL和BiAtt-GMU 模型。本文模型不僅利用了模態間的雙向交互關系,而且利用了每個模態內的交互關系,因此準確率最高。
為進一步分析模型中自注意力模塊、引導注意力模塊和模塊數量對模型性能的影響,本文在IEMOCAP 數據集上進行了消融實驗,實驗結果如表4 所示。可以看出,當自注意力模塊和引導注意力模塊被去掉后,模型的WA 分別下降0.62%和1.21%,UA 分別下降0.87%和2.06%,證明了這兩種注意力模塊的重要性,也說明了在多模態方法中同時對模態間和模態內交互建模的必要性。此外,相較于自注意力模塊,引導注意力模塊被去掉后模型性能下降得更明顯,表明對模態間交互作用的捕獲比模態內交互作用的捕獲更為重要。本文還驗證了引導注意力模塊數量對模型性能的影響,發現對引導注意力模塊進行堆疊后,模型性能開始下降,這可能是由于堆疊模塊后導致模型太大,而IEMOCAP 數據集太小,無法充分訓練大模型,造成了過擬合現象。

Table 4 Ablation experiment results表4 消融實驗結果 (%)
為實現更加準確的語音情感識別,本文提出一種基于多種注意力機制的多模態情感識別模型。該模型首先采用Bi-GRU 作為編碼器提取語音和文本的上下文特征,然后通過注意力網絡同時捕獲模型間及模態內的交互關系,在IEMOCAP 數據集上的實驗結果證明了所提模型的有效性。后續計劃引入視覺模態,針對三模態融合問題展開深入研究。