陳國偉,張鵬洲,王婷,葉前坤
(中國傳媒大學媒體融合與傳播國家重點實驗室,北京 100024)
情感是一種心理狀態,通常會導致人們的行為方式和計算理性相沖突,是人類等高等生物區分于計算機的顯著屬性[1],人類的大腦具有意識的維度,著名的情感學家Scherer[2]將情感定義為組成過程,Scherer指出,情緒在適應生物體生命中頻繁發生和典型模式的重大事件方面發揮著重要作用,情緒范圍很難界定,而憤怒、喜悅、恐懼、悲傷等功利主義情緒相對頻繁出現。情感在人工智能領域有著重要的研究價值。情感分析,又稱情感計算、意見挖掘,最早起源于Picard提出的“情感計算”概念[3],Picard指出,情緒在人類的思維、推斷和決策中發揮著重要作用,情感計算機可以通過識別人類情感來提高決策能力。目前對基本情感暫未有嚴格的定義,在情感分析的研究中,大部分學者使用六種基本情感:悲傷、高興、恐懼、厭惡、驚訝、憤怒。
情感分析的研究對象主要是情感交互時發生變化的外部行為,如文本、語音參數、人臉表情、肢體動作、生理參數。模態是某件事發生或經歷的方式,許多人將模態和感官模態相聯系,感官模態代表我們主要的交流和感覺渠道,如視覺或觸覺。[4]傳統的情感分析主要根據文本、語音、面部表情等模態中的一種模態進行分析。在情感分析的發展過程中,早期會對文本進行基于情感詞典的情感分析,根據情感詞的強度對文本進行分數統計,國內外都有著豐富的情感詞典,如SetiWordNet[5]、知網Hownet情感詞典、臺灣大學NTUSD情感詞典,早期對語音進行情感分析最常用的方法是HMM模型,如Lin等人在2005年結合HMM和SVM模型對語音情感進行分類[6]。早期的表情識別通常是基于幾何特征和紋理特征的,如李悅等人采用多種表情特征分類進行人臉表情識別[7]。在機器學習的發展下,一些常見的機器學習算法如SVM、貝葉斯分類器、KNN等都被廣泛運用于各個模態的情感分析中,如Bhakre等人使用樸素貝葉斯實現音頻的四種情緒狀態分類[8],Mehmood等人使用SVM和KNN對腦電信號進行情感分類[9]。在神經網絡開始興起后,卷積神經網絡、長短期記憶網絡等神經網絡在各個模態的情感分析中也得到良好運用,如Wang等人使用CNN-LSTM對文本進行維度情感分析[10]。近年興起的Attention機制、遷移學習、預訓練模型也被廣泛運用于單模態情感分析中,如Munikar等人使用預訓練的Bert模型對其進行微調,實現細粒度的情感分類[11]。利用單模態進行情感分析具有一定的局限性,人類表達情感時會通過聲音、內容、表情、肢體語言等多種方式聯合表達情感。多模態來自多個異構源,如圖1所示,相對于單模態情感分析,利用多種模態可以更加準確的捕捉情感信息,部分研究者致力于結合多個模態進行情感分析,利用表征學習、模態對齊、模態融合等方法,有效改善了利用單模態進行情感分析的局限性。

圖1 不同模態的互補性
在多模態情感分析的研究歷程中,許多會議和競賽推動著多模態情感分析的進步,如2011年起在德國慕尼黑工業大學開始舉辦的多模態情感識別的競賽(AVEC);2016和2017年的多模態情感識別挑戰(MEC2016、MEC2017),使用中文自然音頻-視覺數據庫(CHEAVD)作為挑戰數據集,促進了漢語多模態情感分析的研究;科大訊飛在2020年的IFLYTEKA.I.開發者大賽中的多模態情感分析賽道。在情感分析的研究歷程中,多模態情感分析起步較晚,但仍有許多研究學者和機構致力于多模態情感分析的研究,國內外許多頂級會議如NLPCC(CCF International Conference on Natural Language Processing and Chinese Computing)、ACL(The Association for Computational Linguistics)、INTERSPPECH(Conference of the International Speech Communication Association)、ICASSP(IEEE International Conference on Acoustics,Speech and SP)、EMNLP(Conference on Empirical Methods in Natural Language Processing)、NAACL(The North American chapter of the association for computational linguistics)、AAAI(Association for the Advance of Artificial Intelligence)上收錄了許多圍繞多模態對齊、融合、情感識別模型展開研究的論文。
人類的情感是復雜繁瑣的認知過程,很難對人類情感進行簡單的概括,現階段的情感模型大多分為兩種,分別是離散情感模型和維度情感模型。
離散情感模型將情感分為獨立的類別,著名的心理學家Ekman[12]等人總結了六種基本情緒:快樂、悲傷、憤怒、恐懼、驚訝、厭惡。且這六種基本情感可以組合派生出其他復合情緒。Roseman[13]等人通過評價因素對情感進行評估,給出17種基本情緒。由于情緒的復雜性,很難精確的對其進行模擬,在實際使用場景中,針對離散情感模型的分類模型比較常見。
相較于離散情感模型,維度情感模型更加具有普適性,可以有效的對情緒強度進行描述。Russell[14]等人提出了基于愉悅度和激勵度兩個維度進行情感模擬的二維情感模型,采用環狀結構對情感進行描述(見圖2)。在維度情感模型中,認同度最高的PAD模型是基于愉悅度(Pleasure)、喚醒度(Arousal)、支配度(Dominance)三個維度的模型[15],PAD三維情感模型可以有效解釋人類的情感,模擬情緒的相似和對立性(見圖3)。

圖2 二維情感模型

圖3 PAD情感模型
如圖4所示,多模態情感識別對所采用的數據集中的不同模態進行預處理,提取特征后采用不同的模態融合方式,輸入模型對融合的模態信息進行情感識別,分為對句子級別和對話級別進行多模態情感分析,訓練模型后為測試樣本匹配情感標簽,從而評估預測結果。

圖4 多模態情感分析方法論
(1)文本特征表示
對于文本的特征表示,主要是將文本轉化為可供機器識別的語言,通常有兩種表示方法,分別是One-hot Representation(離散表示)和Distribution Representation(分布式表示)。常用的文本特征工具是詞向量模型,詞向量將文本進行向量表示,維度是自己事先定義的,相似的詞會有相似的向量表示。常用的詞向量模型如Google發布的Word2vec模型[16],主要依賴Skip-grams或CBOW兩個模型,分別通過中心詞預測附近詞,以及通過附近詞預測中心詞,如文獻[17]中使用Word2vec模型進行文本模態的特征提取。GloVe[18]詞向量使用共現矩陣考慮了全局信息,ELMo詞向量[19]能夠隨著語言環境的變化捕捉詞語中和語境相關的含義。2018年Google提出Bert預訓練模型[20],許多學者使用大規模語料進行預訓練,學習語義關系后進行下游任務詞向量的輸入,如文獻[21]分別使用GloVe詞向量和Bert模型來進行文本特征的表示并比較其性能。
(2)語音特征表示
聲學特征涵蓋豐富的信息,通過對聲學特征進行分析可以獲取其傳遞的情感信息,對分類器進行情感識別有著顯著影響。最常使用的聲學特征有梅爾頻率倒譜系數(Mel Frequency Cepstral Coefficient,簡稱MFCC)、能量/幅度特征、線性預測倒譜系數(Linear Predictor Cepstral Coeffcients,簡稱 LPCC)等?;赑ython的Librosa工具可以對語音進行時頻處理、提取多種語音特征、繪制聲音各類相關圖像(如頻譜圖),Schuller團隊在2015年開發了OpenSmile工具[22],可以對語音進行預處理和特征提取,對幀能量、幀強度、自相關函數、幅度譜加權等多種特征進行提取。如文獻[23]中使用OpenSmile提取MFCC和LPCC等特征作為語言的情感識別特征。
(3)圖像/視頻特征表示
人臉信息是根據五官等不斷變化的,含有豐富的情感信息。人臉圖像/視頻特征提取主要基于幾何特征和紋理特征。幾何特征根據五官的位置、大小、比例關系等使用一組矢量對人臉進行表示。紋理特征主要有SIFT、局部二值模型(Local Binary Patterns,簡稱LBP)、Gabor小波系數、HOG等,如文獻[24]中提取LBP和Gabor特征作為人臉信息特征;文獻[25]使用SIFT作為表情識別的特征。對于動態圖像序列,光流法反映了動態幀中灰度的變化,可以反映基于人臉肌肉的運動。Python的OpenCV和Dlib庫常用于人臉特征關鍵點識別。如文獻[26]中使用OpenCV來檢測人臉。Brandon等人在2016年提出的Open-Face[27]工具也可以提取面部特征,獲取低維表示,用于表情分析。如文獻[28]中使用OpenFace工具來進行視頻模態的處理,用于過濾無關信息,提取面部特征。
除此之外,神經網絡也被廣泛運用于特征提取中,如Cambria等人使用深度卷積神經網絡提取文本和視覺特征[29],Wang等人使用神經網絡進行人臉面部特征提取[30]。
多模態數據從不同角度(文本、語音、視頻等)對對象進行描述,涵蓋比單模態信息更加豐富的信息量,不同的模態信息在內容上可以互補。在進行多模態情感分析任務時,要明確如何融合不同模態的特征信息,保證模態的語義完整性,實現不同模態之間的良好融合,不同的融合方式也會影響任務結果。根據模態融合的方式的不同,可以分為早期基于特征的融合,中期基于模型的融合,晚期基于決策的融合。
(1)早期特征融合
如圖5所示,特征級融合是早期在特征提取后的淺層融合,將多個模態進行特征的直接連接,即淺層的拼接、相加、加權求和。在進行深度學習之前,往往會使用特征工程來提取模態特征。特征融合要將不同模態的多種特征整合到一個公共空間,由于各個模態的差異性,往往涵蓋大量的冗余信息,會采取降維方法來消除冗余信息,通常采用主成分分析(Principal Component Analysis,簡稱PCA)等方式。

圖5 早期特征融合
文獻[31]認為基于特征的模型學習低等級語音信號情緒特征的能力有限,提出了一種多模態雙重遞歸編碼模型,對文本和音頻序列的雙模態信息進行編碼,將文本和音頻進行特征融合后分類,將準確率提高到了71.8%,有效解決了錯誤預測為中立的情況。文獻[32]采用卷積神經網絡提取文本的淺層特征,最后使用包含100個神經元的全連接層連接文本表征,采用OpenSMILE工具中的is13compare1config文件,提取共計6373個語音特征,進行標準化后采用全連接層降維至100層,采取3D-CNN提取面部表情和視覺特征,利用含有100個神經元的全連接層提取視頻特征。在經過上述處理后,各個模態具有相同的維度,文獻中將單個模態通過簡單的線性連接形成維度為300的多模態映射。文獻[33]提出一種分層的多模態情感分析層次融合網絡(Hierarchical Feature Fusion Network,簡稱HFFN),涵蓋了局部融合模塊和全局融合模塊,通過滑動窗口探索局部的跨模態融合,有效降低了計算復雜度,通過ABS-LSTM網絡探索全局多模態向量,引入記憶細胞的雙向殘差連接和隱藏狀態,使用注意力機制整合兩個層次下的融合機制。實驗結果證明,HFFN能夠有效提高準確率,三模態下的融合機制表現最好。
(2)中期模型融合
如圖6所示,基于模型的融合是將不同的模態數據共同輸入網絡,基于模型的中間層進行融合,模型融合的好處是可以選擇融合的位置,也可以實現模態間的交互性,基于模型的融合通常使用多核學習、神經網絡、圖像模型等方法。

圖6 中期模型融合
文獻[34]介紹了Multiple Kernel Learning(MKL)算法,多核學習可以更好的融合異構數據,將多模態特征輸入到核空間,能夠獲得比單核更好的性能。圖像模型也是常見的模型融合方法,可以很好的利用不同模態的時間信息,但多核學習和圖像模型在多模態情感分析中的使用較少,神經網絡是多模態情感分析中最常使用的模型融合算法。文獻[35]使用Bert和VQ-Wav2Vec預訓練模型提取特征,使用淺層的特征融合將提取出的特征向量直接連接起來;使用CoAttention機制,進行語音和文本間的模態交換,具體的方法是,一個模態的Key-Value是通過另一個模態的Query來進行計算的。文獻比較了不同的融合機制如何影響模型的性能,結果顯示,純文本的效果比純語音要好,淺層的特征融合比單模態效果要好,而在網絡固定的情況下,Co-Attentional模型的表現更好,更多的交互使得Co-Attentional機制的適應性更好。文獻[36]使用BiGRU學習文本,使用VGG網絡學習圖片,提出了使用視覺信息對齊文檔的VistaNet網絡,將視覺模態整合到文本信息。文獻[37]提出了基于耦合平移的融合網絡,使用Transformer的解碼部分,使用并行融合策略,在公共數據集上達到了先進的性能。
(3)后期決策融合
如圖7所示,決策級融合是在后期各個單模態分別訓練完后,將各個模態的結果進行決策打分,即對每個模態的預測結果進行集成。在某些模態數據缺失時,決策級融合也能具有良好表現,且來自不同模態的數據可以分別運用合適的分類器進行訓練,不同模態間的錯誤不會互相影響。決策級融合常見的融合機制有加權、投票、集成學習、規則融合等。

圖7 后期決策融合
文獻[38]認為組合多個模態信息有助于解決模糊信息,開發并比較了特征融合和決策融合,具體的方法是使用PCA進行降維,去除冗余特征后,進行簡單的未加權拼接和使用訓練單獨模態所學習到的權值實現特征融合,使用分類器利用權重進行決策融合。結果表明,特征融合、決策融合兩種融合方式都能取得比單模態更好的性能;PCA可以改善直接連接的特征融合性能;不使用PCA進行降維的視頻、文本雙模態在決策融合中表現更好;而在三種融合方式中,學習模態權重,不使用PCA的視頻、文本雙模態在所有實驗中表現最佳,可以達到76%的準確率。文獻[39]提出了一種量子認知來驅動決策的多模態決策級融合策略。具體的方法是,通過將話語分為積極與消極情緒判斷的量子疊加狀態在一個具有正算子值測度的復值希爾伯特空間上,將單模態分類器建模為復值空間上的互不相容的可觀察量,從訓練數據中估計復值希爾伯特空間和單模態可觀察量,然后從學習到的單模態可觀察量中建立測試話語的最終多模態情感狀態。文獻[40]指出,在微表情識別中運用語音作為輔助信息,可以有效提高模型準確率,其提出了包含數據級和決策級融合的T1MF方法,使用張量融合網絡生成文本、音頻和文本、視頻的嵌入,在決策融合層面,根據后驗概率輸出單個分類器的得分矩陣,引入軟融合進行決策從而獲得新的預測標簽。
多模態對齊是尋找兩個或兩個以上模態之間的對應關系,在多模態融合的過程中,存在文本、音頻、視頻不同步的現象,采用多模態對齊方法可以有效解決這種問題,現在的主流做法是基于時間序列的。文獻[41]指出,語音和文本在時間上存在固有的共存關系,對齊對多模態學習是有益的,文獻將語音經過語音識別(ASR)識別成文字,利用注意力網絡學習語音和文本在時間域上的一致性,計算語音編碼器和文本編碼器隱藏狀態間的權重,將語音特征和文本特征在詞的層次上結合,實現語音模態和文本模態的對齊,實驗結果證明,該方法優于直接連接的方法,體現了文本和語音學習對齊的優勢。
在多模態情感分析的研究歷程中,對模型的改進也是研究重點,目前已經有許多優秀的成果,主要可以分為句子級多模態情感分析和對話級多模態情感分析。
(1)基于句子級的多模態情感分析
由于對話間交互過程建模難度大,多模態情感分析的研究大部分都是基于獨立的話語,許多學者致力于判斷孤立句子的情感極性,基于句子級別使用先進的方法如注意力機制、遷移學習、預訓練模型等對模型進行改進。文獻[42]采用并行的交叉和自注意力機制來模擬模態之間的交互關系。文獻[43]指出,不是所有單模態的貢獻度都相同,文獻提出了一個輕量級掩碼層M3,在訓練過程中對主模態文本進行掩蓋,提高弱模態的貢獻,結果證明,多模態掩碼能有效提高模型準確率。
(2)基于對話級的多模態情感分析
情感分析的適用場景多半是基于真實對話場景下的,對話之間會產生交互關系,而當說話人進行交談時,說話人自身和說話人之間的情感也存在著依賴關系,捕捉這種交互性也可以有效提高情感識別的準確率。在多模態情感分析的研究歷程中,許多學者開始著眼于對話間的交互關系,如文獻[32]指出,說話人的自我影響與情緒慣性有關,情緒可以在一個時刻延續到另一個時刻,文獻中使用GRUs對說話人的歷史語句進行建模,基于改進記憶網絡的協同記憶網絡(CMN)模型,通過注意力的跳躍捕獲說話者之間的依賴關系。文獻[44]提出了DialogueRNN模型,對雙方說話者和全局進行三方建模,使用三個GRU進行存儲,采用注意力機制,實現了更好的上下文表征。而文獻[45]提出了DialogueGCN模型,通過圖神經網絡為對話者之間的依存關系建模上下文,有效改善了上下文理解和依存關系。
如表1所示,在多模態情感分析的研究中,科研人員們創建了許多不同模態和類型的數據集以供研究。在雙模態數據集中,較常使用的有從Yelp.com評論網站收集評論構建的Yelp數據集[46]、手機評論相關信息的Multi-ZOL數據集、YouTube上電影評論視頻為主的CMU-MOSI數據集[47];在三模態數據集中,使用較多的有從YouTube搜集構建的YouTube數據集、由10位演員情感互動交流12h視聽數據的IEMOCAP數據集[48]、從美劇《老友記》中剪輯出的聊天對話片段等MELD數據集。

表1 多模態相關數據集
雙模態數據集中的模態并不總是相同的,一般是文本、圖像和語音的兩兩組合。其中Yelp數據集是由233569張圖像和44305條文本組成的;Multi-ZOL數據也是由圖像和文本組成,共有5288條數據,每條數據至少有一條文本和一個圖像;CMU-MOSI數據集是從YouTube上收集的93個有關電影評論的視頻,共89人2~5 min的電影評論;CHEAVD2.0[49]則由視頻和音頻數據組成;SEMAINE[50]由 150人參與錄制的959段對話數據組成,包含視頻和音頻數據;DEAP數據集則由32名受試者觀看視頻的腦電信號和面部表情的視頻數據組成。
三模態數據集中的模態多是由文本、圖像、音頻和視頻組合而成。其中較為出名的數據集IEMOCAP由10位演員情感互動交流的大約12個小時視聽數據組成,有音頻、文本和視頻數據;YouTube數據集評論視頻數據由47人對產品的評論視頻組成,有文本、視頻、音頻數據;CH-SIMS數據集[51]由2281個視頻片段組成,且視頻片段中只有說話者的面部,有文本、圖像、音頻數據;ICT-MMMO數據集由370個影評視頻組成,有文本、圖像、音頻數據;MELD 數據集[52]由1433個聊天片段組成,有文本、視頻、音頻數據。
本文對多模態情感分析的研究進展和主要研究過程進行了梳理,闡述了多模態的特征提取、融合方式和模型改進等方面的現狀,介紹了多模態的相關數據集資源。在多模態情感分析領域仍有許多待解決的問題,其面臨的挑戰如下:
1)不同模態之間的特征可靠性不完全一樣,目前大部分研究表明文本模態的可靠性較強,且不同模態之間存在著依賴關系。
2)模態連接后容易產生高維災難,增加了計算復雜度。且融合模型的時候很難利用模態間的互補性,由于模態采樣率、噪音類型、強度等因素的不同,在同一時刻模態的密集程度不同,不同模態信息很難做到完全對齊。
3)目前大部分多模態情感分析都采用了文本、視頻和音頻,腦電、生理信號等模態的數據集缺少,考慮其他更多的模態,可以給多模態情感分析領域帶來更多可能性。
4)情感是復雜的決策過程,人類的決策在某些情況下是高度非理性的,大部分研究多半考慮了不同模態之間融合,如何搭配不同的模態模擬復雜決策過程也尤為重要。
5)在對話時通常存在許多個談話者,考慮到在真實世界的對話場景中,人的情感中通常存在著交互,時序信息顯得尤為重要,在不同的對話場景中相同的話語也會存在不同的含義,對情感交互性進行研究,可以有效提高模型在實際場景中的泛化能力。