張亞偉, 吳良慶, 王晶晶, 李壽山
(蘇州大學 計算機科學與技術(shù)學院,江蘇 蘇州 215006)
情緒分析一直是自然語言處理的研究熱點,當今大數(shù)據(jù)時代,各大網(wǎng)絡平臺上每天增長著數(shù)以億計的不同情緒觀點的數(shù)據(jù),例如,對商品的評價、對事件的看法,又或者是一條簡單的朋友圈等,準確把握用戶發(fā)布數(shù)據(jù)所蘊含的情緒一直是情緒分析領(lǐng)域的工作重心。目前,文本的情緒分類已經(jīng)發(fā)展得較為成熟,但是對于多模態(tài)數(shù)據(jù),單獨使用文本來對多模態(tài)數(shù)據(jù)進行情緒分析,不能準確把握文本背后所蘊含的情緒,具有一定的片面性。如圖1中例子所示,一個人說話的文本是“我很開心!”,但是圖像中該人皺著眉頭,聲音強度和音調(diào)都是非常低沉,單從文本模態(tài)分析很有可能判斷此人的情緒是“高興”,但是從三個模態(tài)協(xié)同分析可以發(fā)現(xiàn)該人的情緒大概率是“悲傷”。因此多模態(tài)情緒分析就需要使用多個模態(tài)進行融合分析。如何更好地融合信息,也是多模態(tài)情緒分類目前面臨的一個挑戰(zhàn)。
圖1 單模態(tài)和多模態(tài)情緒識別對比
分析人類多模態(tài)語言是自然語言處理領(lǐng)域的一個新興研究領(lǐng)域[1]。多模態(tài)情緒分析把基于文本的單個模態(tài)的情緒分析擴展到多個模態(tài)進行融合分析。目前,常見的模態(tài)有文本、語音和圖像,多模態(tài)與單模態(tài)相比,難點在于不僅要捕獲每個模態(tài)內(nèi)部的特征信息,也要把握模態(tài)之間的交互特征信息。目前已經(jīng)出現(xiàn)了一些關(guān)于多模態(tài)情緒識別的融合模型,例如,張量融合網(wǎng)絡(Tensor Fusion Network,TFN)[2]、記憶融合網(wǎng)絡(Memory Fusion Network,MFN)[3]以及動態(tài)融合圖(Dynamic Fusion Graph,DFG)[1]等,這些模型在單模態(tài)的基礎上加入了多模態(tài)信息特征的交互,并且在情緒識別的結(jié)果上都取得了不錯的效果??紤]到三個模態(tài)的信息都是連續(xù)的時間序列信息,不同模態(tài)的信息在相同時間段上是一一對應的,且前后時間段的信息對當前時間段也具有一定的影響,上述方法在多模態(tài)時間信息特性的挖掘方面沒有進一步深入。
基于上述問題,本文提出了分層LSTM的多模態(tài)融合網(wǎng)絡(Multi-LSTMs Fusion Network,MLFN)來進行多模態(tài)情緒識別。該模型使用的是文本、語音和圖像三個模態(tài),將文本數(shù)據(jù)、語音數(shù)據(jù)以及圖像數(shù)據(jù)作為網(wǎng)絡的輸入: ①首先使用單模態(tài)LSTM特征提取層捕獲三個模態(tài)內(nèi)部的時間序列數(shù)據(jù)的特征; ②接著將三個單模態(tài)的t-1和t時刻的特征信息進行兩兩交互,結(jié)果作為第二層雙模態(tài)LSTM特征融合層的輸入,進行雙模態(tài)信息融合; ③然后將雙模態(tài)信息的輸出再進行交互,結(jié)果作為三模態(tài)LSTM特征融合層的輸入; ④最后將多模態(tài)信息的融合結(jié)果輸入到門控記憶網(wǎng)絡和分類預測層得到最終的情緒識別結(jié)果。
本文的組織結(jié)構(gòu)如下: 第1節(jié)將介紹多模態(tài)情緒識別的相關(guān)工作;第2節(jié)詳細介紹分層LSTM融合網(wǎng)絡的具體實現(xiàn)方法;第3節(jié)介紹實驗結(jié)果數(shù)據(jù)以及結(jié)果分析;最后一節(jié)對本文進行總結(jié)并提出對未來的展望。
近年來,神經(jīng)網(wǎng)絡飛速發(fā)展,其為許多問題帶來了新的解決方法,特別是高維非結(jié)構(gòu)化數(shù)據(jù)的領(lǐng)域,如計算機視覺、語音和自然語言處理等,有著不可否認的成功[4]。
情緒識別一直是自然語言處理(NLP)的研究熱點。如今,文本情緒識別已經(jīng)發(fā)展得相當成熟。隨著研究的推進,多模態(tài)情緒識別進入研究人員的視野。與單一模態(tài)相比,多通道數(shù)據(jù)可以產(chǎn)生豐富的信息,進而提升情緒識別任務的性能[4]。
多模態(tài)情緒識別方法發(fā)展至今,涌現(xiàn)了很多優(yōu)秀的融合方法。早期的多模態(tài)融合方法大多是將多個模態(tài)輸入特征進行簡單的拼接,如Wang等[5]提出SAL (Select-Additive Learning)以及Poria等[6]提出的卷積MKL的多模態(tài)情緒分析。早期融合可以看作是多模態(tài)研究人員進行多模態(tài)表示學習的初步嘗試,因為它利用每種模態(tài)的底層特征之間的相關(guān)性,在融合上只是對輸入特征的簡單串聯(lián)連接,將多個獨立的模態(tài)信息融合成一個單一的特征向量,因為不需要特定的模型的設計,所以往往無法充分利用多個模態(tài)數(shù)據(jù)間的互補性,同時也會造成融合的數(shù)據(jù)包含大量的冗余信息,并且它的融合特性通常會忽略時間因素。后來的多模態(tài)融合方法是將不同模態(tài)數(shù)據(jù)訓練好的分類器輸出打分(決策)進行融合,如W?llme的信息獲取分析[7]和Nojavanasghari的深度多模態(tài)融合[8]等方法。這些方法的優(yōu)點是融合模型的錯誤來自不同的分類器,而來自不同分類器的錯誤往往互不相關(guān)、互不影響,因此不會造成錯誤的進一步累加,在特定模態(tài)的模內(nèi)信息建模方面很強,但是它們在多模態(tài)模間特征交互方面有明顯的不足,因為這些交互信息通常比決策投票更復雜[9]。最近的研究則更加側(cè)重模態(tài)內(nèi)的信息和模態(tài)間的信息的結(jié)合。Zadeh先后提出了張量融合網(wǎng)絡TFN[2]、記憶融合網(wǎng)絡MFN[3]以及動態(tài)融合圖DFG[1],它們能夠很好地融合模態(tài)內(nèi)和模態(tài)間的特征信息,在多模態(tài)情緒分類上取得了顯著效果,但是對于各個模態(tài)的時間特性的捕獲和融合沒有進一步深入。
基于以上問題,本文提出了多層LSTM融合模型(Multi-LSTMs Fusion Model,MLFN)。不同于早期融合,它不是對輸入數(shù)據(jù)特性的簡單融合,MLFN在模態(tài)內(nèi)(intra-modal)以及模態(tài)間(inter-modal)進行特征提取。同時它也不同于晚期融合,MLFN對于每種特定的模態(tài)進行明確的建模,并且在模態(tài)間使用分層LSTM融合網(wǎng)絡,能夠更好、更穩(wěn)定地提取跨模態(tài)信息。最后它也不同于最近的模態(tài)內(nèi)和模態(tài)間信息研究中出現(xiàn)的模型,MLFN在各個模態(tài)、各個融合層使用分層LSTM能夠更加深入地把握各個模態(tài)以及模態(tài)間的相互對應時序特性的捕獲和融合,在CMU-MOSEI(Multimodal Opinion Sentiment and Emotion Intensity)數(shù)據(jù)集上取得了更好的效果。
本文實現(xiàn)分層LSTM的多模態(tài)融合,并且提出了相應的模型MLFN。如圖2所示,它主要由四個部分組成: ①特征輸入層,接收三個模態(tài)的輸入數(shù)據(jù); ②分層LSTM融合網(wǎng)絡層,由三層不同模態(tài)的LSTM組成,用于多模態(tài)的融合; ③門控神經(jīng)網(wǎng)絡層,采用一種多模態(tài)聯(lián)合時序的存儲結(jié)構(gòu),它的存儲隨著時間變化進行跨模態(tài)交互[3]; ④預測層,根據(jù)最后融合的信息得出情緒分類結(jié)果。
圖2 MLFN網(wǎng)絡
輸入由三個模態(tài)的特征數(shù)據(jù)組成,分為文本數(shù)據(jù)、語音數(shù)據(jù)和圖像數(shù)據(jù)。數(shù)據(jù)集是基于視頻分段截取,我們對每段的信息進行三個模態(tài)特征提取,因此三個模態(tài)的數(shù)據(jù)是對齊,即三個模態(tài)的數(shù)據(jù)是第一維長度一致但是第二維長度不一致的二維向量。
文本數(shù)據(jù): 文本數(shù)據(jù)使用GloVe向量來作為特征輸入詞向量,維度是300。
語音數(shù)據(jù): 按照每秒30幀的頻率截取語音信息,再由COVAREP語音分析框架得到特征輸入向量[10],維度是74。
圖像數(shù)據(jù): 按照每秒100幀的頻率截取視頻當前的圖像信息,再通過FACET面部表情分析框架進行抽取,得到圖像特征輸入向量[11],維度是35。
如圖3所示,分層LSTM融合網(wǎng)絡層由單模態(tài)特征提取層,以及雙模態(tài)和三模態(tài)特征融合層組成。
圖3 多模態(tài)分層LSTM特征融合網(wǎng)絡的整體框架結(jié)構(gòu)
(1) 單模態(tài)特征提取層。對于每個模態(tài)的特征輸入,將t-1時刻的C以及t時刻的x結(jié)合作為t時刻的單模態(tài)LSTM輸入,如式(1)~式(3)所示。
(4)
(5)
(6)
(7)
(8)
(9)
(13)
(14)
(15)
其中,N3表示三模態(tài)融合的序列,N3={(t,a,v)}。(4) 分層LSTM模態(tài)融合網(wǎng)絡的輸出,將單模態(tài)、雙模態(tài)以及三模態(tài)的輸整合起來,加強模態(tài)融合的特征表現(xiàn),具體如式(16)所示。
(16)
其中,N={t,a,v,(t,a),(t,v),(a,v),(t,a,v)},分別表示單模態(tài)、雙模態(tài)和三模態(tài)的組合。2.3 門控記憶網(wǎng)絡門控記憶網(wǎng)絡由多個神經(jīng)網(wǎng)絡組成。多模態(tài)門控內(nèi)存ut是存儲跨模態(tài)交互隨時間變化的歷史信息的網(wǎng)絡組件。它是記憶網(wǎng)絡的統(tǒng)一存儲器[3]。具體如式(17)~式(20)所示。
(21)
其中,P是最終情緒識別的概率,判斷該樣本對應的情緒類別。
分層LSTM融合網(wǎng)絡采用交叉熵(Cross-Entropy)作為損失函數(shù),如式(22)所示。
(22)
本節(jié)將系統(tǒng)介紹本文方法在多模態(tài)情緒識別數(shù)據(jù)集上的效果。
本文所使用的數(shù)據(jù)集是CMU-MOSEI。CMU-MOSEI是多模態(tài)情緒分析中規(guī)模最大的數(shù)據(jù)集。該數(shù)據(jù)集包含了超過1 000名YouTube在線演講者的大約23 500個句子表達視頻。數(shù)據(jù)集是性別平衡的,所有的句子都是從各種話題和獨白視頻中隨機挑選出來的。視頻被轉(zhuǎn)錄和適當?shù)丶訕它c,表1展示的是數(shù)據(jù)集的各個部分的統(tǒng)計。
表1 CMU-MOSEI數(shù)據(jù)集信息統(tǒng)計
CMU-MOSEI中包含6種不同的情緒,分別是angry(憤怒)、disgust(厭惡)、fear(害怕)、happy(開心)、sad(悲傷)和surprise(驚訝)。數(shù)據(jù)集中將每個情緒的強度分成-3~3的范圍,在實驗中本文將0~3范圍的歸為正樣本,-3~0范圍的歸為負樣本。數(shù)據(jù)集中每條數(shù)據(jù)對應的標簽是一個6維向量,分別對應上述的6種情緒,在實驗中分析不同的情緒時,我們將6維向量改變成0或1的標量,方便后續(xù)的情緒分類。其中,對于標簽向量中對應情緒位置的值大于或等于0的向量,改成標量1,設為正樣本;反之改成標量0,設為負樣本。
表2展示的是經(jīng)過上述預處理后的各個情緒正負樣本的數(shù)量,其中,P代表正樣本,N代表負樣本??梢钥闯?,預處理后的正負樣本的個數(shù)存在嚴重的偏差,比如angry的訓練負樣本有1 1847個,但是正樣本只有3 443個,這樣的樣本嚴重失衡會影響情緒識別的準確率,因此實驗中采用降采樣的方法,將隨機打亂后負樣本的個數(shù)向下減少,使得正負樣本的個數(shù)一致,從而使得實驗能夠較為正常地進行情緒識別。
表2 本文處理后的MOSEI的6種情緒數(shù)據(jù)
由于測試樣本的嚴重失衡,常用的測評標準不能很好地展現(xiàn)實驗效果,因此這里采用的是F1的標準以及根據(jù)Tong提出的WA(Weight Accuracy)[13]標準,其計算如式(22)所示。
(22)
其中,TP是分類結(jié)果為正樣本,且該樣本本身實際也為正樣本的樣本個數(shù);TN是分類結(jié)果為負樣本,且樣本本身實際也為負樣本的樣本個數(shù);P是正樣本的個數(shù),N是負樣本的個數(shù)。實驗證明,WA標準在數(shù)據(jù)集嚴重不平衡的情況下比不加權(quán)重的準確率能更準確地反映實驗的實際效果。
我們將提出的方法和以下方法進行對比。
單模態(tài)的方法:
(1) CNN-LSTM[14](α): 該模型將圖像特征捕獲的方法利用到文本序列上,CNN將序列的每個時間戳的特征信息通過卷積核進行卷積,得出的結(jié)果再輸入到LSTM中進行。
(2) DAN[15](γ): 結(jié)合了unordered的訓練速度快、代價小和syntactic在句法上信息提取的特點,是一種采用詞的分布表示的深度平均網(wǎng)絡。
(3) DHN[16](δ): 深度高速路神經(jīng)網(wǎng)絡,在很大程度上解決了深度神經(jīng)網(wǎng)絡由于層次過深導致的梯度消失問題。
(4) DynamicCNN(ε): 模型采用動態(tài)K-max pooling取出得分top-k的特征值,能處理不同長度的句子,并在句子中歸納出一個特征圖,可以捕捉短期和長期的關(guān)系,并且該模型不依賴解析樹,適用于任何語言。
(5) RHN[17](ζ): 循環(huán)的高速神經(jīng)網(wǎng)絡,同時它吸收了LSTM易于訓練的特性。
(6) Adieu-Net[18](η): 是一種端到端的語音情緒識別神經(jīng)網(wǎng)絡。
(7)SER-LSTM[19](ξ): 是一種基于音頻頻譜圖的卷積的遞歸神經(jīng)網(wǎng)絡。
多模態(tài)方法:
(8) RF[20](ν): 隨機森林,使用了CART決策樹作為弱學習器,并且隨機選擇節(jié)點上的一部分作為樣本特征。
(9) EF-LSTM[21](β): 將LSTM運用多模態(tài)融合的模型方法,屬于早期融合,改模型將每個時間戳的特征信息進行簡單的連接。
(10) MV-LSTM(θ): 采用雙向LSTM處理兩個句子,然后對LSTM隱藏層的輸出兩兩計算匹配度,這是一個Multi-View(MV)的過程,能夠考察每個單詞在不同語境下的含義。同時用雙向LSTM處理句子,相當于用變長的窗口逐步解讀句子,實現(xiàn)多顆粒度考察句子的效果。
(11 )TFN[2](?): 張量融合網(wǎng)絡,用于多模態(tài)情感分析,將三個模態(tài)的時間序列簡單地乘法融合。
(12)DFG-MFN[1](ι): 動態(tài)融合圖,改進于記憶融合網(wǎng)絡(MFN),將MFN的Delta記憶注意力網(wǎng)絡改進為多層融合網(wǎng)絡,用于多模態(tài)情感分析。
(13) SVM[22](κ): 支持向量機,是一類按監(jiān)督學習方式對數(shù)據(jù)進行二元分類的廣義線性分類器,其決策邊界是對學習樣本求解的最大邊距超平面。
(14) MFN[3](λ): 記憶融合網(wǎng)絡,是對張量融合網(wǎng)絡的改進,由LSTM特征提取層、Delta記憶注意力網(wǎng)絡層以及門控記憶網(wǎng)絡層組成,用于多模態(tài)情感分析。
(15) DF[23](μ): 深度融合,通過多輸入的每一個模態(tài)分別訓練一個深度模型,并且最終進行決策。
(16) MARN[24](ο): 通過分配多個注意力系數(shù),對模態(tài)內(nèi)和模態(tài)間進行建模。模態(tài)內(nèi)和模態(tài)間的交互存儲在一個混合的LSTM組件中。
具體實驗結(jié)果如表3所示,其中SOTA1和SOTA2分別表示當前性能最好的以及性能第二的模型。模型括號中的符號與表中的結(jié)果上標符號相對應。
表3 MLFN與目前最好方法的比較
通過表3可以看出,無論對比單模態(tài)方法還是多模態(tài)方法,該文采用的模型大部分有著明顯更好的效果。MLFN模型是基于DFG-MFN模型進行改進的,主要是將動態(tài)融合圖DFG部分改成分層LSTM多模態(tài)融合網(wǎng)絡。DFG-MFN模型采用的融合是簡單的多模態(tài)融合,只是考慮到模態(tài)內(nèi)和模態(tài)間的淺層交互,而MLFN模型采用的融合不僅考慮了模態(tài)內(nèi)和模態(tài)間的交互,同時對模態(tài)時序特征信息的捕獲更加深刻。采用分層LSTM融合網(wǎng)絡,一方面,對特征的提取會進一步加深;另一方面,與DFG-MFN不同,考慮多模態(tài)之間時序特征信息對應關(guān)聯(lián)的情況,在當前時段的信息融入上下文信息的同時融合對應其他模態(tài)的信息,相輔相成進一步提高多模態(tài)情緒識別的效果。從表3可以看出,整體提升非常明顯,其中WA最高的達到7%的效果提升,最低的提升效果不是很明顯,原因是該情緒相比較其他情緒對應的樣本過少,學習不充分,同時樣本質(zhì)量相較于其他情緒的樣本稍差,樣本特征表現(xiàn)不像其他情緒對應的樣本那樣明顯。
本節(jié)給出一個樣本來解釋本文所提出模型具體進行多模態(tài)情緒分析的過程,展示如圖4所示。
圖4 單模態(tài)分析的片面性和多模態(tài)分析的全面性的比較
可以看出,圖4中的男人在說“Oh, well done, you’re really clever.”,如果單從文本單模態(tài)來進行分析,大概率會被判斷成“高興”的情緒。然而再看圖像模態(tài),可以發(fā)現(xiàn)說話者皺著眉頭,表現(xiàn)出不高興的情緒。再結(jié)合語音模態(tài)的特點,音調(diào)偏高,但從語音模態(tài)不好判斷這個人是高興還是不高興,這就體現(xiàn)了單模態(tài)去進行情緒分析的片面性,然而結(jié)合三種模態(tài)可以看出,一個皺著眉頭音調(diào)偏高地說“你真聰明”可以大概率判斷出這個人的情緒是不高興的。結(jié)合圖4可以看出,在采用了多模態(tài)信息融合后,模型綜合考慮了三個模態(tài)的特征信息并且相互交融,能夠正確判斷出樣本的情緒是“憤怒”。
本文提出的方法是從時間序列上下文以及不同模態(tài)之間相應時間段信息有著一一對應關(guān)系的角度去考慮模態(tài)內(nèi)特征信息和模態(tài)間交互特征信息的,模型通過單模態(tài)特征提取層來捕獲每個模態(tài)內(nèi)部的特征信息,再通過雙模態(tài)融合層捕獲兩個模態(tài)之間的特征交互,最后通過三模態(tài)融合層捕獲三個模態(tài)之間的特征交互,實驗結(jié)果表明,本文方法能夠充分融合多模態(tài)信息,明顯提升多模態(tài)情緒識別的準確性。