陳曉婷,李 實
東北林業大學 信息與計算機工程學院,哈爾濱 150040
對話系統作為人們日常溝通和情感表達的載體,其應用場景廣泛并受到了學術界和產業界的高度關注。早前的對話系統針對特定領域開展任務[1],例如手機語音助手,此類任務只需確保生成回復的語義和邏輯正確,無需考慮用戶的具體情緒,因此缺乏共情性。近年來,隨著人機交互技術逐漸從交叉學科中脫離出來成為一個獨立的研究領域[2],人們開始從提高生成對話的語義質量轉向為加強對話過程的交互。
情感是人和機器的本質區別,情感理解是人工智能的一個重要研究方向。作為人類智力的重要組成部分,情商被定義為感知、整合、理解和調節情緒的能力[3]。在聊天過程中,機器若能感受到用戶的情緒并對此進行準確的處理,就能極大地豐富對話的內容并且讓用戶產生移情和共情反應[4-7],從而提高用戶滿意度。
除此之外,對話情緒識別(emotion recognition in conversation,ERC)在其他任務中也有潛在的應用,例如社交媒體中的意見挖掘[8]、推薦系統[9-10]、醫療保健[11]和假新聞檢測[12]等諸多領域。圍繞對話進行情感分析旨在讓機器理解說話者的感受和情緒,從而產生共情心。隨著近幾年臉書(facebook,https://www.facebook.com/)、推特(Twitter,https://twitter.com/)和微博等社交媒體平臺以及亞馬遜Alexa等對話助手的增多,對話情緒識別受到學術界越來越多的關注[13-14],研究者開始致力于通過提高任務的模型效果來為后續的感知和響應情感對話奠定基礎。
對話情緒識別的目標是識別對話中每個話語的情感標簽,本質上是分類問題,即從定義好的情感類別中,為對話的每一句表達確定其情感類別[15]。如果不考慮對話中的上下文依賴,一般的文本分類方法都能用來解決對話文本中的情感分類問題。但由于對話本身具有很多要素,比如,對話文本通常是簡短的、非正式的文本,對話中的主題時??焖偾袚Q,上下文信息是動態的,同時,說話者的情緒和狀態也會受其他說話者的影響。因此,話語的情感識別并不簡單地等同于單個文本句子的情感識別,而是需要綜合考慮相關信息,這些都是對話情緒識別任務中存在的獨特挑戰。
對話情緒識別任務不僅需要對話語語義和情感表達有更深刻的理解,還要考慮不同話語之間的信息交互。圖1所示,說話者A本來是一個悲傷(“Sad”)的狀態,但由于模型忽略了歷史對話信息,結果第三次話語被分配了錯誤的情緒標簽“Happy”。因此,應該探索更有效的自然語言處理技術,同時結合心理和認知領域的知識,從而提高對話情緒識別模型的整體效果。

圖1 對話情緒識別的例子Fig.1 Example of conversational emotion recognition
為了解決對話情緒識別任務中存在的關鍵問題,需要綜合考慮以下三點:首先,對話情緒識別在識別目標句子的情感時,需要利用對話上下文信息,建模上下文可以為情緒識別提供更多背景知識。此外,對話情緒識別中的上下文信息是依賴說話者的,對于相同的話語,由同一個說話者說出與不同說話者說出帶來的影響是不同的,因此許多研究人員對說話者的狀態和說話者之間的依賴關系進行了建模。最后,情感是通過多種模態的形式進行表達的,不同模態提供的信息往往也是不同的,利用單一模態有時很難做出準確的判斷,需要綜合考慮不同模態內和跨模態之間的差異化信息進行多模態建模。
近年來已有不少學者關注對話情緒識別這一方向,該領域的研究處于一個明顯上升的勢頭,產生并積累了許多成果。為了便于研究者在現有研究工作的基礎上取得更好的進展,有必要對目前對話情緒識別的研究成果進行全面的分析和總結。本文的組織結構如圖2所示。

圖2 本文的組織結構Fig.2 Organization of this paper
對話情緒識別是一個分類任務,旨在對一段對話中的話語進行情緒分類,任務的輸入是一段連續的對話,輸出是這段對話中所有話語的情緒。本文所指的“情緒”是更為廣義的概念[16],它既包括普通的正向、負向和中性的情感含義,也包括高興、生氣、害怕等具體層面的情緒含義。
對話情緒識別任務的形式化定義如下:
給定對話記錄以及每個組成話語的說話者信息,對話情緒識別任務旨在從一組預定義的情緒中識別每個話語的情緒。具體來說,假設有N個連續話語u1,u2,…,uN和M個說話者p1,p2,…,pM的對話。每個話語ui由一個說話者pS(ui)說出,其中函數S將話語的索引映射到其對應的說話者,對話情緒識別的目標是預測每個話語ui的情感標簽ei。
現有的對話情緒識別研究可以分為兩個方向:靜態和實時。靜態對話情緒識別[17-18]意味著整個對話已經完成,因此可以利用歷史和未來的上下文信息來檢測話語的情緒。實時對話情緒識別[19]中沒有未來的上下文,需要構建記憶庫來捕獲歷史背景信息并適當地總結記憶進行話語情感的識別,現有工作主要遵循三個步驟,先分別獲取對話中每個話語的特征表示,再捕獲查詢語句的上下文信息,最后將上下文信息融合到查詢中以提取查詢的情感表示。
對話情緒識別的研究也可以根據會話場景進一步分類:多模態和單模態。在多模態場景中,所有文本、視頻和音頻信息都可以用于識別情緒,而單模態對話情緒識別則獨立地利用文本、視頻或音頻信息。對多模態對話情緒識別和文本對話情緒識別的區別和相關方法介紹詳見第3章和第4章。
識別對話話語中的情緒需要綜合考慮多方面的信息,該問題的切入方式大致分為兩類:上下文建模和說話者建模。一方面,周圍的話語可以提供重要的上下文信息。另一方面,不同說話者的狀態以及說話者之間的相互影響也與情緒狀態息息相關。除此之外,還有一些輔助建模的工作,用于更好地提升模型效果,比如情緒一致性建模和對話主題信息建模等。下面分別介紹這三類建模方式的應用與研究情況。
在對話情緒識別中,當前話語情緒的表達依賴于周圍話語中的上下文信息,這些信息來源于局部和遠距離的上下文,因此,掌握對話情緒識別的長距離上下文依賴是有必要的。例如,Poria等人[20]利用長短期記憶網絡(long short term memory,LSTM)提取每個上下文語句,再用全連接層融合上下文信息。但未考慮到每個語句也依賴與其相關的上下文語句,即句子之間存在著依賴關系。為了解決這個問題,Chen等人[21]采用了多層遞歸神經網絡(recurrent neural network,RNN)提取語句信息并處理對話中連續的句子表示。現有的基于上下文的對話情緒識別方法主要集中于利用循環神經網絡和注意力機制來建模局部句子之間的聯系,而忽略了對話作為一個整體所呈現的特征。吳良慶等人[22]對此進行完善,提出了基于神經主題的情感分類模型,通過提取每段對話中的主題信息作為全局信息嵌入到上下文句子表示。
對話中說話者的情感狀態主要包括兩方面,第一,每個人的情感具有一定的延續性;第二,說話者會受對話中其他人的情感所影響,換句話說,說話者敏感的交互主要由自我影響和說話者之間的影響兩個重要因素引起。因此,對說話者建模可以提高對話情緒識別模型的效果。Hazarika等人[23]使用不同的GRU為說話者內和說話者間的上下文建模,該特征融合是當前話語信息,相當于局部信息融合,并未考慮將每個用戶的信息進行融合獲得全局信息狀態。為了解決該問題,Hazarika等人[24]在此模型的基礎上加入了DGIM模塊,對說話者的歷史狀態信息進行整合得到全局狀態信息。此外,還有一些工作從不同的角度考慮對話中的說話者,例如,DialogueRNN[25]解決了對于最終要識別的話語中未區分該話語屬于哪個說話者的問題。DialogueGCN[26]構建整篇對話的關系圖,使用不同類型的邊來表示時序以及說話者之間的關系。
同時考慮說話者敏感建模和上下文敏感建模有助于獲取到更多的信息,從而提升情緒預測的準確率,在此基礎上,一些研究者開始探索其他輔助建模,來幫助提高模型效果。
(1)情緒一致性建模
在對話中,說話者傾向于保持穩定的情緒趨勢,符合實際說話者本身的說話邏輯,這被稱為情緒慣性[15]。因此,在簡短的對話中,說話者的情緒往往保持不變。但是,由于對話的獨特性,說話者的情緒可能會受到其他說話者的影響。在這種情況下,來自同一說話者的兩個連續話語的情感標簽可能不同,稱之為情緒變化[27]。田雨亭[28]通過引入判斷相鄰對話情緒一致性(JECD)的子任務,用于分析對話上一句與當前句之間的情緒是否發生轉變。Wang等人[29]提出了一種將對話情緒識別任務建模為序列標記的方法,其中利用條件隨機場層來學習對話中的情緒一致性。Gao等人[30]提出了一種多任務學習模型ESD-ERC,利用情緒轉移檢測作為輔助任務來協助完成對話情緒識別。
(2)對話主題信息建模
對話主題作為一段對話的全局背景信息,與對話中句子的情感傾向有著密切的聯系,情緒的表達方式以及話語的含義會根據所討論的特定主題而變化,因此,融入主題信息有助于提高對話情緒識別的性能。傳統的主題模型,例如概率潛在語義分析[31]和潛在狄利克雷分配[32],已被廣泛應用于推測一段文本的主題分布。同時,建立在神經變分推理的基礎上,出現了一些基于神經網絡的主題模型,例如基于潛在狄利克雷分配的概率模型[33],基于預訓練主題分布的獨立訓練模型[34],主題信息融入詞向量[35]等?,F有工作并沒有強調對對話的整體屬性(即對話主題和語氣)進行建模,因此,不易捕捉與所討論主題相關的說話者的情感狀態。王建成等人[22]提出利用主題模型學習對話全局的主題信息。Zhu等人[36]提出主題驅動的對話情感檢測方法,設計了一個主題增強語言模型。
對話中的情緒識別任務不僅要考慮文本的語義信息,還要考慮說話者之間的影響,因此,上下文建模和說話者建模是兩個必不可少的關鍵挑戰。隨著自然語言處理技術的深入發展,現有的研究從多個角度設計不同的模型同時考慮這兩種問題切入方式,取得了一定的進展,本文在第3章和第4章分別從文本和多模態方面對相關工作展開介紹。
人類語言理解和人類語言生成是自然語言處理的兩個方面。然而,由于自然語言中存在歧義問題,前者更具有挑戰性。對話情緒識別作為對話理解中的關鍵任務,得到了學術界和工業界廣泛關注,下面將從基于詞典的方法、基于機器學習的方法和基于深度學習的方法三方面對文本對話情緒識別的技術進行總結和概括。
情感詞典將數字、文本和符號進行整合,是情感識別系統的知識庫[37]?;谇楦性~典的文本情感分析常指通過情感詞典獲取情感詞的情感值,再使用情感值的總和或平均值來計算整個句子或文檔的情感,通過計算判定文本對話中的情感傾向[38-39]。這種方法本質上是一種基于關鍵詞的搜索方法,它搜索分配給某些心理狀態的情感關鍵詞[40]。流行的情感檢測詞典是WordNet-Affect[41]和NRC情感詞典[42],WordNet-Affect是WordNet的擴展形式,這些詞典是分類詞典,用情感狀態標記每個單詞以進行情感分類。然而,由于忽略了情緒強度,這些傳統詞典暴露出信息量少、適應性差的問題,因此,Li等人[43]提出了一種有效的策略,通過合并一個名為NRC-Valence arousal dominance的維度字典,來獲得詞級情緒分布,將具有強度的情緒分配給情緒詞。除此之外,早期還有大量的研究基于情感詞典來提升情緒識別效果[44-50]。圖3概述了該方法的基本流程,初始情感關鍵字列表來自常規詞匯資源,先對數據集進行預處理,在預定義的關鍵字列表和文本中的情感詞之間執行關鍵字匹配,再檢查情感關鍵字的強度。之后,檢查否定,判斷否定線索和范圍,最后進行情感標簽計算。

圖3 使用情感詞典進行對話情緒識別Fig.3 Emotion recognition in conversation using emotion dictionary
然而,這些僅基于關鍵字的分類方法仍存在一些問題,首先,單詞根據用法和上下文具有不同含義的歧義。其次,這些詞典無法識別句子中不包含情感關鍵字的情感。最后,根據情感詞典進行文本對話情緒識別,往往由于對話文本數據的靈活性、文本數據的專業性以及缺乏語言相關信息等問題影響情緒識別的準確度。因此,研究者開始探索基于統計機器學習的相關方法。
監督學習包括使用支持向量機(support vector machine,SVM)、最大熵、特征組合、樸素貝葉斯等算法,而無監督學習包括使用情感詞典、語法分析和句法分析。圖4是在對話情緒識別任務中使用機器學習的常規方法,一般是把帶有情感信息的對話文本數據作為輸入,將文本矩陣化,同時,利用樸素貝葉斯、支持向量機、邏輯回歸等方法進行訓練,得到情感分類器,把需要預測情感傾向的對話文本進行情感分類。研究者利用基于統計機器學習的方法在對話情緒識別任務上開展了大量工作[51-58],然而,機器學習的方法缺乏透明度,推理過程無法解釋,存在一定的局限性。

圖4 使用機器學習的方法進行對話情緒識別Fig.4 Emotion recognition in conversational using machine learning methods
早期的研究往往是基于特定任務驅動的對話數據集,只使用了3~4個情緒分類標簽,很難在對話中詳細地描述人類的情感。此外,基于詞典和統計機器學習的方法并未考慮上下文信息和說話者信息,也沒有明確區分對話文本和普通文本。對話文本情緒識別和傳統文本情感分析的相關工作非常類似,因此,許多文本情感分析的方法都可以用在對話情緒識別中。近年來,深度學習技術在對話情緒識別領域展現出了優異的表征能力,優于基于情感字典或統計機器學習的傳統方法,對話情緒識別任務得到了研究者的高度關注,其數據集也不斷增多,許多工作開始考慮對話情感的各個方面。
3.3.1 神經網絡及其混合模型
(1)長短期記憶網絡
RNN存在兩個關鍵缺陷:第一,它會受到短時記憶的影響。第二,在反向傳播期間,會面臨梯度消失的問題。而LSTM應用于對話情緒識別任務能夠解決上下文中存在的短期記憶問題,其具有稱為門的內部機制,從而調節信息流。Gupta等人[59]首次對對話情緒識別進行了清晰的定義,并利用LSTM進行句子的上下文建模,得到了不錯的結果?;诖耍芯空唛_始利用LSTM進行大量的工作來捕獲說話者信息和上下文信息[20,29,60-62]。
(2)門控循環單元
門控循環單元(gated recurrent unit,GRU)的輸入輸出結構與普通的RNN相似,其內部思想與LSTM相似。與LSTM相比,GRU內部少了一個門控,參數比LSTM少,但是卻能夠達到與LSTM相當的功能。考慮到硬件的計算能力和時間成本,因而很多時候會選擇更加實用的GRU。Jiao等人[63]提出層次門控循環單元(HiGRU)框架,其中低級GRU對詞級輸入進行建模,高級GRU用于捕獲話語級嵌入的上下文。但當對話長度增加時,該模型僅采用GRU并不能有效地對位置信息進行建模。因此,Ma等人[64]提出了一個帶有殘差門控循環單元(HAN-ReGRU)框架的分層注意網絡來改善上述缺陷。為了以有意義的方式去區分對話的不同方,Majumder等人[25]提出了DialogueRNN模型,該模型利用三個GRU分別捕獲先前話語的說話者信息、上下文和情感信息。除此之外,還有一些工作利用GRU進行對話情緒識別任務[19,65-66]。
(3)Transformer
Transformer拋棄了傳統的CNN和RNN,整個網絡結構由自注意和前饋神經網絡組成,從而將序列中任意兩個位置之間的距離縮小為一個常量。另外,它不是類似RNN的順序結構,因此具有更好的并行性。Zhang等人[67]提出多任務學習知識感知增量Transformer(KAITML),設計雙層圖注意力機制來利用常識知識,再應用增量Transformer編碼多輪上下文話語。Li等人[68]提出了一種基于Transformer的上下文和說話者敏感模型HiTrans,它由兩個分層Transformer組成。Tu等人[69]提出上下文和情感感知框架SenticGAT,構建對話Transformer網絡(DTN)來捕獲上下文中的內部依賴和相互依賴關系。許多現有方法僅將對話中的話語視為時間序列,而忽略了細粒度情感線索,模型很難捕捉到話語的準確語義特征,從而導致記憶庫中積累了不正確的情感特征。因此,Liu等人[70]提出了一個帶有Transformer預訓練的基于樹的注意力網絡(TANTP),將上下文表示和遞歸選區樹結構合并到模型架構中。
(4)圖神經網絡和圖卷積網絡
現有的對話情緒識別方法大多通過注意力機制或聯合學習來獲取語義信息,其子句編碼器基本是以LSTM或GRU為基礎序列模型,這類模型難以刻畫子句之間的長距離依賴或全局依賴,從而忽略子句間的深層依賴關系。隨著圖神經網絡(graph neural network,GNN)在自然語言處理任務中的興起,研究人員越來越關注基于GNN的對話情緒識別方法。與RNN中只對序列數據進行循環建模的方法不同,GNN把對話情緒識別問題看作圖中節點之間的連接和消息傳播問題,對節點之間的依賴關系進行建模,旨在通過各種聚合算法捕獲各種圖結構信息。此外,Transformer也是圖神經網絡的特例,但僅支持詞的全連接交互,不支持與任意圖結構的復雜交互,并且Transformer只關注單詞的交互,而不是上層語言單元的交互,因此具有一定的局限性。
最早對GNN的研究是由Scarselli等人[71]提出的,后來,Kipf和Welling[72]提出了GCN,將卷積濾波器的特征推廣到圖上,Schlichtkrull等人[73]提出了GCN關系數據模型。然而,由于要用作節點的每個話語都需要附加額外信息以及文本本身信息,例如說話者信息和句子的順序等,GCN的現有架構并不適用于對話情緒識別任務。因此,Ghosal等人[26]提出對話圖卷積網絡(DialogueGCN),用來調整GCN的結構以適應對話數據,并利用說話者內和說話者之間的依賴性來模擬對話上下文以進行情感識別。通過圖網絡,DialogueGCN解決了當前基于DialogueRNN的方法中存在的上下文傳播問題,但忽視了話語之間的順序信息。為了解決這個問題,Ishiwatari等人[74]提出了具有關系位置編碼的關系感知圖注意網絡(R-GAT),Shen等人[75]提出了基于說話者身份和位置關系從具有約束的對話中構建有向無環圖的方法(DAG-ERC)。雖然DialogueGCN、RGAT和DAG-ERC模型證明了GNN在建模會話上下文中的優越性,但在建模特定說話者的上下文方面效果不佳,并且沒有真正利用細粒度的時間信息?;诖?,Liang等人[76]提出用于對話情緒識別的說話者和位置感知圖神經網絡模型(S+PAGE),結合關系圖卷積網絡和Transformer的優點,以實現更好的上下文建模。除了傳統的兩人對話,一些研究也開始專注于多人對話中的情緒檢測,Sun等人[77]為多方對話情緒識別提出了一種話語感知圖神經網絡(ERMC-DisGCN)。Zhang等人[78]提出了一種基于圖的對話卷積神經網絡(ConGCN),正確建模多人對話中的上下文敏感依賴和說話者敏感依賴。此外,一些學者也從多個角度對進一步提高對話情緒識別的性能做了努力,例如,提出對話情緒校正網絡(DECN)[79]來自動糾正情緒識別策略所產生的一些錯誤、兩階段的總結和聚合圖推理網絡(SumAggGIN)[80]來關注常被忽視的話語之間的短語級語義聯系以及基于依存關系的圖卷積網絡[81]來同時考慮語義信息和句法結構。
(5)記憶網絡
傳統的深度學習模型使用隱藏狀態或者注意機制作為其記憶功能,但由于記憶模塊過?。ㄖ挥幸粋€固定維度的向量),將輸入編碼成密集向量時丟失了大量信息,無法精確記錄一段話中所表達的全部內容。因此,在模型中加入一系列的記憶單元,增強模型的記憶能力,便有了記憶網絡。利用記憶網絡可以存儲說話者的歷史信息以及跟蹤完整對話中的情感變化[23-24],然而,無論記憶庫是如何建立的,用于總結的軟注意都會丟失記憶的位置和排序信息。為了解決這個問題,Jiao等人[82]提出注意力門控分層記憶網絡(HMN),其中注意力GRU(AGRU)利用注意力權重來更新相應的內部狀態進行記憶總結。
(6)膠囊網絡
2011年Hinton等人[83]提出“膠囊”的概念,用向量表示空間上的相對位置關系,2017年Sabour等人[84]提出膠囊網絡,通過動態路由機制捕獲CNN模型丟失的小概率語義信息。將膠囊網絡應用于具有豐富文本結構的對話情緒識別任務中,用神經元向量代替傳統神經網絡的單個神經元節點,以Dynamic Routing的方式去訓練這種全新的神經網絡,進行有效的編碼,有助于提高對話文本的表達能力和模型的效率。Xiao等人[85]提出了一個帶有門循環單元框架的膠囊網絡(CapsGRU),解決了數據不平衡對情緒識別產生的影響以及對話標注數據不足的問題。
3.3.2 外部信息輔助模型
(1)任務輔助:多任務聯合學習模型
對話行為識別(dialog act recognition,DAR)和情感分類(sentiment classification,SC)是捕捉說話者意圖的兩個相關任務,具體來說,是為每條語句添加上標簽,分別表示出說話者的隱式意圖和顯式意圖。
DAR和SC常被用在對話系統中進行聯合建模,挖掘出對話文本的跨任務隱藏交互信息,從而更好地掌握說話者的意圖,提高情感分類與對話行為識別的準確性。Cerisara等人[86]為了利用跨任務交互信息,提出了JointDAS模型聯合訓練SC任務以及DAR任務,但只利用了跨任務交互信息而沒有利用對話上下文信息,因此,無法讓模型學習到對話語句之間的關聯。Kim等人[87]提出IIIM模型利用先前的行為信息去預測接下來的行為標簽,只利用了上下文的信息而沒有利用跨任務交互信息去構建模型,這種做法等于將兩個相關聯的任務分別建模,同樣也無法充分利用對話文本信息。為了充分考慮跨任務信息以及對話上下文信息,Tan等人先后提出DCR-Net模型[88]和Co-GAT模型[89]完成對語句標簽的預測。然而,先前工作將DAR和SC聯合建模為序列標記問題,存在一個關鍵缺點是未能完全納入對話中的局部上下文信息。Li等人[90]在2021年提出使用動態卷積網絡(DCN)作為話語編碼器來捕獲對話上下文,在多任務學習下將框架擴展為雙通道版本(即BDCN和BCDCN),以實現聯合DAR和SC。
以前的工作提出了不同的模型來模擬兩個任務之間的相關性,但無法對說話者間的交互進行建模,并且省略了話語之間的時間關系。如圖5所示,對于雙任務推理,一方面,以前的工作只考慮參數共享和語義級的交互,而標簽信息沒有集成到雙任務交互中,無法捕獲兩個任務之間的顯式依賴關系。另一方面,以前的工作沒有考慮雙任務推理中話語之間的時間關系,而這些在模型中起著關鍵作用。因此,Xing等人[91]提出DARER模型,通過引入時間關系和利用標簽信息來解決上述問題。

圖5 先前的工作和DAREA模型中的工作Fig.5 Previous work and work in DAREA model
(2)量子輔助:基于量子驅動的模型
近年來,量子理論被用于各種信息檢索和自然語言處理任務中來構建文本表示。在量子物理實驗中,一個粒子在測量之前處于多個相互獨立的純態的混合狀態,測量使其坍縮成一個單一的純測量態。同樣,說話者處于多種獨立情緒的模棱兩可的狀態,對話上下文作為一種測量,使得情緒狀態坍縮到純粹的狀態。此外,量子態隨時間的演變類似于說話者在談話過程中情緒狀態的演變。Zhang等人[92]提出量子驅動交互網絡QIN,該方法利用量子理論的數學形式和長短期記憶網絡來學習這種交互動力學。Li等人[93]提出了量子驅動神經網絡QMNN,通過將單詞視為疊加態和將句子視為混合態來模擬自然語言,從而統一復值向量空間中不同級別的語義單元。為了將量子框架從建模單詞序列推廣到建模復雜圖文本交互,Yan等人[94]提出量子概率驅動的圖注意網絡QPGAT,同時提出了一個通用且高效的應用框架,在情感原因對以及聯合建模對話行為識別和情感分類兩個復雜的NLP任務上驗證其有效性。
(3)知識輔助:融合外部知識的模型
使用機器準確分析人類對話中的情緒具有很大挑戰性,部分原因是人類經常依賴上下文和常識知識來表達情緒,而機器很難捕捉到這些情緒,因此,一些學者開始嘗試將外部知識引入到模型中。Zhong等人[95]提出了一種知識豐富的Transformer(KET)使用上下文感知情感圖注意機制整合常識知識。但沒有考慮外部知識庫中的各種關系,這可能會導致語義信息的丟失。Ghosal等人[96]提出以常識為指導的對話情緒識別框架COSMIC,用來捕獲常識知識庫中的個性、事件、心理狀態、意圖和情緒之間的一些復雜交互作用。然而,COSMIC忽略了從上下文話語到目標話語的結構性心理影響。為了解決這個問題,Li等人[97]提出心理知識感知交互圖SKAIG,利用知識表示來豐富邊,并用圖Transformer處理SKAIG,實驗結果得到了提升。
由于情緒識別的復雜性,單一模態難以滿足需求,文本、視覺和語音是機器感知人類情感的三種模式,因此,可以通過三種情緒表達方式來傳達一種特定的情緒。然而,在表達特定情緒時,特別是在對話中,情緒行為在模態內部和模態之間并不是嚴格同步的。這種現象可以從兩個方面來解讀,從模態內來看,不同模態中的情感表達對對話上下文有不同的偏好,例如,視頻模態中會更關注面部表情和肢體動作,音頻模態中會更關注聲學特征。從模態間的角度來看,不同模態的情緒表達對情緒預測的貢獻是不同的,當多個模態中的情感表達不一致時,需要綜合考慮權重不同模態中的情感信息。因此,對話情緒識別任務不僅要關注上下文敏感建模和說話者敏感建模,也應當關注不同模態內和跨模態的差異化情緒行為,設計適合差異化的多模態情緒行為的適當策略,從而產生更準確的情緒預測。
為了融合多模態特征,以前的工作集中在兩個關鍵步驟:多模態對齊和多模態融合[98]。具體來說,先對齊多模態特征,再使用融合技術融合這些對齊的特征。
多模態對齊的目標是找到同一個實例的不同模態信息元素之間的對應關系,該工作具有兩方面挑戰,一是不同模態數據之間通常具有長度差異;二是不同模態數據之間通常具有語意(信息量)差異?,F有策略包括顯式對齊和隱式對齊,顯示對齊關注模態之間組件的對應關系,而隱式對齊則是在深度學習模型訓練期間對數據進行潛在的對齊。
顯式對齊的方法是假設多模態特征已經在話語級或單詞級中對齊,以前的工作主要集中在話語級顯式對齊。Zadeh等人[99]提出了一種基于話語級顯式對齊的融合方法,稱為張量融合網絡TFN,TFN通過笛卡爾積學習模態內和模態間的交互。后來,Liu等人[100]和Mai等人[101]改善了TFN,他們試圖提高效率并減少可訓練參數。然而,人類通常在單詞層面感知情緒,如果將詞級特征壓縮成話語級特征,就會丟失時間信息和短期信息。為了解決這個問題,絕大多數工作都在探索詞級顯式對齊。Gu等人[102]利用模態之間的詞級對齊并探索時間受限的跨模態動態交互信息。
顯式對齊僅在對齊部件的多模態交互上進行建模,卻忽略了長期的跨模態交互。為了克服這個問題,研究人員提出模態隱式對齊,學習在模型訓練期間潛在地對齊數據[103]。Xu等人[104]利用注意力網絡來學習語音和文本之間的對齊,并將對齊后的特征在詞級組合,用作情感話語的多模態特征。Tsai等人[105]提出了多模態Transformer,通過重復強化一種模態的特征與其他模態的特征來潛在地將數據流從一種模態調整到另一種模態。這種利用神經網絡進行隱式對齊的方法與多模態融合中的模型層融合在應用的技術方面存在交叉,但研究對象略有不同。隱式對齊是在深度學習模型訓練期間對數據進行潛在對齊;多模態對話情緒識別中的模型融合旨在捕捉所涉及模態的互補相關性,并降低了這些模態時間同步的需求。本文為了使邏輯條理更加明確,將多模態對齊和多模態融合分開敘述。
利用多個模態的特征進行對話情緒識別可以整合來自不同模態的互補信息,但是同時也會導致信息冗余和相互干擾,因此,如何信息互補的同時去除信息冗余和相互干擾以提升性能是多模態對話情緒識別任務上面臨的挑戰。目前多模態信息融合主要有三種策略:特征層融合、決策層融合和模型層融合[106]。
特征層融合只是在輸入級將不同模態的特征連接成一個聯合特征向量,將其送到單個分類器中進行情感識別。這種融合方式利用了各個模態信息之間的關聯性,并且簡單易操作,最大限度地保留了最終決策所需的特征信息。雖然特征層融合的方法可以提高識別性能[107-111],但高維特征集很容易出現數據稀疏的問題,因此,通過簡單串聯來組合不同模式的性能是有限的。
為了解決上述問題,決策層融合為每個模態使用和訓練單獨的分類器,并結合每個分類器的輸出以獲得最終預測[112-113]。具體來說,使用單峰決策值并通過投票[114]、平均[115]或加權[116]來融合它們。決策層融合的方法相對于特征層融合而言,充分考慮了各模態信息之間的差異性。但這種方法忽略了不同模式之間的相互作用和相關性,并且大多數決策融合使用投票和加權的方法,只是簡單地將各個模態的分類結果按照一定的規則進行組合,最終決策很容易受到某些單模態信息的干擾和影響,出現情緒誤判的情況。而且隨著模態信息的增多,計算量會增大,整個學習的過程也會變得耗時。
基于此,研究者開始探索深度學習模型來實現模型層融合[117-119],該方法是特征層融合和決策層融合之間的折中,提出融合不同模態的中間表示。通過利用神經網絡及其混合模型,對話情緒識別任務中的多模態融合性能得到了很大提升,涌現出不少優異的成果,例如基于Transformer的交叉模態融合[120-121],基于GRU的多模態融合[122],引入跨模態的注意力融合[123]以及基于多模態融合圖卷積網絡[124]等。這種融合架構既確保了跨模式關系的有效性,也確保了融合不同模式的魯棒性。
對話情緒識別任務用到的數據集主要分為文本模態數據集和多模態數據集,如表1和表2所示,多模態數據集提供了文本、視頻和音頻信息,但由于文本中含有大量的信息,現有的文本對話情緒識別工作不僅利用純文本數據集,也會在多模態數據集中的文本模態數據集上開展工作。

表1 常見的文本模態評測數據集及其相關信息Table 1 Common text-modal evaluation datasets and their related information

表2 常見的多模態評測測數據集及其相關信息匯總表Table 2 Common multimodal evaluation datasets and their related information
Mastodon數據集[125]主要用于對話中的情感分類與行為識別,尤其是聯合識別任務。它包括535個對話、2 217個語句,標注了3大類情感標簽、27類對話動作。
DailyDialog數據集[126]主要包括13 118個對話,標注了7種情感、4類對話動作以及10個對話主題,對話反映了不同主題的日常生活,無固定說話者。它可以用于對話情緒識別任務、對話動作識別任務以及情感對話生成任務。該數據集的優點是數據規模較大、噪聲小,缺點是中性情緒占比過高。
EmotionLines數據集[127]來源于《老友記》(多人對話)和私人Facebook聊天記錄(雙人對話),有固定說話者,內容上兩部分獨立,共29 245句。該數據集標注了7類情緒,非中性情緒占比44.5%。
EmoryNLP數據集[128]來自電視節目《老友記》的抄本,JSON中公開提供了該節目所有季的文字記錄。每一季由大量劇集組成,每一集包含場景,每一場景包含話語,其中每一話語都為說話者提供了信息。該研究采用前四季的腳本,通過添加帶有情感的注釋來創建語料庫,共有97集、897個場景和12 606個話語。
EmoContext數據集[129]由三輪英文推文組成,屬于純文本雙人對話,每段對話有三句,僅最后一句有情感標簽,目標是在前兩個話語作為上下文的情況下檢測最后一個話語的情緒。該數據集有38 421段對話,共115 263句,其中標注了4類情緒,非中性情緒占比42.8%。它曾用于SemEval-2019 Task 3[130]。EmoContext的優點是數據規模較大,缺點是對話長度過短和僅標注最后一句。
多模態對話情緒識別是一個新興且快速發展的領域,其任務是根據來自多模態的線索為對話中的每個話語分配一種候選情緒。說話者的情緒不僅可以通過文字表達,還可以通過面部表情和語音來表達。因此,識別對話中的情緒需要對多模態數據進行聯合分析,包括文本、視覺和聲學模態。
IEMOCAP數據集[131]包含151個對話、7 433個語句、10個對話角色以及9種情緒標簽,非中性情緒占比77%。該數據集是南加州大學SAIL實驗室收集的,由10個專業演員扮演的雙人對話,一共分為5個Session,每個Session分配1男1女,共12 h的多模態視聽數據。對話分為兩部分,一部分是固定的劇本,另一部分是給定主題情景下的自由發揮。IEMOCAP是對話情緒識別中最常用的數據集,優點是包含多模態信息,數據集單條質量較高,缺點是數據規模較小,缺乏多方對話,并且可能存在過度表演的風險。
SEMAINE數據集[132]是由4個固定形象的機器人與人進行對話獲得的,標注了4個情感維度:Valence、Arousal、Expectancy、Power。其中Valence、Arousal和Expectancy為[-1,1]范圍內的連續值,Power為大于等于0的連續值。該數據集曾被用于AVEC2012挑戰賽,它是對話情緒識別中常用的數據集之一,缺點是數據規模較小且缺乏多方對話。
MELD數據集[133]包括1 433個對話、13 708個語句、3大類粗粒度情緒標簽以及7種細粒度情緒標簽,非中性情緒占比53%。該數據集是EmotionLines數據集中《老友記》部分的多模態擴充(文本+視頻)。MELD是對話情緒識別中常用的數據集之一,優點是數據集質量較高并且有多模態信息,缺點是數據集中的對話涉及到的劇情背景太多,情緒識別難度很大。
EMOTyDA數據集[134]是一個類似于Mastodon的對話數據集,它主要整理了IEMOCAP以及MELD數據集,并且增加了12種常見的對話動作標簽,最終包括1 341個對話以及19 365個對話語句,可以用于情感和對話行為的聯合識別任務。
本文回顧了近年來對話情緒識別任務的研究進展。首先,介紹了對話情緒識別的問題定義和分類,根據研究方向的不同,可以分為靜態和實時,根據會話場景的不同,又可以分為多模態和單模態。其次,考慮到現有工作對該任務的切入方式不同,將其分為上下文建模、說話者建模和其他輔助建模。最后,詳細介紹了文本對話情緒識別和多模態對話情緒識別,總結了現有的相關方法和數據集,并對其優缺點進行闡述。綜上,目前的對話情緒識別任務主要圍繞著多模態信息融合、上下文建模以及說話者建模三個方向展開,除此之外,還有很多關鍵問題也受到研究者越來越多的關注。
(1)對話中隱式表達的情緒
由于對話的風格和形式多變,話語間可能會存在諷刺現象,當說話者使用諷刺來表達自己的觀點時,其真實情緒和字面表達的情緒往往存在相反的關系,現有的對話情緒識別模型雖然能以很高的置信度分析出文本的情感極性,但是當對話中出現諷刺表達后,其性能將大幅降低,尋找將背景信息、說話者的性格特征和說話風格結合到諷刺識別的方法中,同時也可以利用說話者的面部表情和說話語調獲取更多的信息,從而提高諷刺識別方法的性能和識別結果的可解釋性。
(2)對話情緒識別的跨領域問題
跨領域對話情緒識別旨在通過源領域的標注數據對目標領域的無標注數據進行情感分類?,F有工作存在領域依賴,涉及到跨領域下的語言風格、同詞情感歧義等問題。如何利用已有領域的標注數據和模型搭建只含有少量標注數據的新領域對話情緒識別系統是當前的研究重點,未來可以考慮提出不同的對話情緒識別模型,高效地提取領域不變性特征,實現源領域到目標領域的遷移學習。
(3)缺少領域知識和常識知識
對話過程一般默認雙方知道彼此很多信息,比如彼此的需求目的、社會關系、環境、常識,性格和三觀等,但是在實際建模場景下這些大部分都會丟失。同時,對話中含有大量的網絡用語,比如“擺爛”“破防”“YYDS”等,人類具有一定的生活經驗和常識知識,可以很容易地理解對方所表達的情感,但機器并不能理解話語,做出準確判斷。此外,情緒識別具有主觀特性,不同身份、性格、經歷的人對同一事件所產生的情緒反應可能大不相同,這大大增加了情緒預測的難度?,F有的工作已經開始在對話情緒識別模型中引入外部知識庫,其實驗結果也證明了引入知識可以提升情緒識別的效果。在未來的工作中,考慮如何使模型更好地融合外部知識信息,同時針對對話情緒識別任務建立特定的知識圖譜與常識知識庫,獲得深層語義表示。
(4)對話情緒識別的應用
對話情緒識別作為一種更深層次的情感挖掘,不僅能夠豐富情感計算領域的研究成果,為情感分析提供新的研究方向,而且也能為人工智能和自然語言處理的一些分支提供有益幫助。例如,在醫療領域,問診過程會產生大量的文字記錄,這些對話文本信息包含多種實體內容,如疾病、手術、癥狀和用藥,不同的實體會有不同的情緒狀態,例如“拔牙太疼了,吃點消炎藥蠻好的”這句話中,對于拔牙這個手術實體,表現的是負面情緒,而對于消炎藥這個實體卻是正面情緒,對此進行情感分析,能夠判斷患者的情感狀態,有助于識別患者意圖。在人機對話領域,人們不再滿足于用對話系統解決特定的任務,而是更渴望實現精神層面的交流,在聊天過程中,機器若能感受到用戶的情緒并對此進行準確的情感響應,就能極大地豐富對話的內容,避免陷入僵局,從而改善雙方的對話行為,讓用戶產生共情和移情反應,提高用戶滿意度。
(1)缺乏可解釋性的深度神經網絡
基于神經網絡的深度學習算法就像一個黑盒模型,其解釋性較弱,算法無法對特定任務給出清晰的概括,為了更好地理解為對話情緒識別研究所設計的深度網絡,往往需要知曉算法所給出結果的依據。目前大部分可解釋性算法往往側重于工程性的功能實現,側重于迎合人類對被解釋事物的主觀認知,而缺少基于統一的理論基礎的科學理論體系,影響了可解釋性算法的嚴謹性,阻礙了可解釋性研究的進一步發展。未來需要在神經網絡可解釋性方面建立一個統一的體系框架,使用這個體系來指導和設計神經網絡,構建解釋能力強的深度神經網絡來促進對話情緒識別任務的發展。
(2)存在模型壓縮問題
在大數據情形下,往往只有比較復雜或表達能力強的模型,才能充分挖掘海量數據中的信息。隨著深度模型變得更強大,從大數據中挖掘出的信息往往更有價值。比如,多模態對話情緒識別包括文本、音頻和視頻信息,所面臨的是高達十億到千億級別的樣本訓練,難以適應移動計算發展對低資源、低功耗的需求。因此,在不顯著影響模型精度的前提下,通過對神經網絡進行壓縮來輕量化模型是非常有必要的。未來可以考慮在知識蒸餾方面,探索更多類型的先驗知識,提高知識蒸餾的效果,拓寬知識蒸餾的應用范圍,并且制定針對剪枝和量化范式的定制化蒸餾方法,來同時考慮模型結構的動態變化、數值表示和表征空間的差異。