近年來,隨著自然語言處理技術的快速發展,人機對話系統受到了很多關注,並逐漸成為了學術界和工業界的研究熱點。人機對話系統不斷發展進步,應用範圍不斷擴大,人們對它也有了更高的要求,希望機器在關注回復內容的基礎上,可以與人進行更深入的交流。
近期的一些工作表明[10, 13, 15,16, 18-21, 23, 24],在人機對話系統中,除了回復內容之外,機器與人的情感交流也是一個重要問題。人類可以通過語言進行情感上的交流,獲得情感上的慰藉,對話系統想要和人類進行有效的情感溝通,就必須具備一定的情感能力。具體來說,機器一方面需要對用戶情感進行識別和判斷,另一方面也需要在其回覆中融入合適的情感。因此,如何在對話中賦予機器理解情感和表達情感的能力,是人機對話和情感分析領域面臨的新的機遇和挑戰。
本文主要介紹對話情感中的兩個關鍵任務:對話情緒識別、對話情感生成,梳理了這兩個任務常用的數據集和相關方法。本文在接下來的部分首先闡述對話情緒識別任務的相關內容;接著圍繞對話情感生成任務展開介紹;最後是全文總結和對未來的展望。
對話情緒識別任務介紹對話情緒識別是一個分類任務,旨在對一段對話中的話語進行情緒分類。任務的輸入是一段連續的對話,輸出是這段對話中所有話語的情緒,圖1給出了一個簡單的示例。由於對話本身具有很多要素,話語的情緒識別並不簡單等同於單個句子的情緒識別,而是需要綜合考慮對話中的背景、上下文、說話人等信息,這些都是對話情緒識別任務中獨特的挑戰。
對話情緒識別可廣泛應用於各種對話場景中,如社交媒體中評論的情感分析、人工客服中客戶的情緒分析等。此外,對話情緒識別還可應用於聊天機器人中,實時分析用戶的情緒狀態,實現基於用戶情感驅動的回覆生成。
圖1 對話情緒識別示例[1]數據集介紹IEMOCAP[2]。南加州大學的SAIL實驗室收集,由人扮演的雙人對話,12小時的多模態視聽數據。10個專業演員(5男5女),一共分為5個Session,每個Session分配1男1女。對話分為兩部分,一部分是固定的劇本,另一部分是給定主題情景下的自由發揮。151段對話,共7433句。標註了6類情緒:Neutral, Happiness, Sadness, Anger, Frustrated, Excited,非中性情緒佔比77%。IEMOCAP是對話情緒識別中最常用的數據集,質量較高,優點是有多模態信息,缺點是數據規模較小。
數據集連結:sail.usc.edu/iemocap/
SEMAINE[3]。SEMAINE資料庫收集的多模態對話數據,由四個固定形象的機器人與人進行對話,曾用於AVEC2012挑戰賽。AVEC2012使用的數據有95段對話,共5798句。標註了4個情感維度:Valence (愉悅度), Arousal (激活度), Expectancy (預期), Power (力量)。Valence表示情感積極的程度,Arousal表示興奮的程度,Expectancy表示與預期相符的程度,Power表示情感影響力。其中Valence、Arousa和Expectancy為[-1, 1]範圍內的連續值,Power為大於等於0的連續值。SEMAINE是對話情緒識別中常用的數據集之一,缺點是數據規模較小。數據集連結:semaine-db.eu/DailyDialog[4]。高質量多輪對話數據集,純文本,噪聲小,對話反映不同主題的日常生活,無固定說話人。數據集除了7類情緒標註,還有10類主題標註以及4類對話行為標註。12218段對話,共103607句。標註了7類情緒:Neutral, Happiness, Surprise, Sadness, Anger, Disgust, Fear,非中性情緒佔比16.8%。DailyDialog在對話情緒識別中應用較少,優點是數據規模較大,缺點是中性情緒佔比過高。數據集連結:yanran.li/dailydialogEmotionLines[5]。來源於老友記(多人對話)和私人Facebook聊天記錄(雙人對話),純文本,有固定說話人。曾用於SocialNLP 2018 EmotionX Challenge。內容上兩部分獨立,各1000段對話,共29245句。標註了7類情緒:Neutral, Happiness, Surprise, Sadness, Anger, Disgust, Fear,非中性情緒佔比44.5%。EmotionLines在對話情緒識別中應用較少,通常使用多模態的MELD數據集。數據集連結:doraemon.iis.sinica.edu.twEmoContext[6]。純文本雙人對話,每段對話三句,僅最後一句有情感標籤。用於SemEval-2019 Task 3。38421段對話,共115263句。標註了4類情緒:Happiness, Sadness, Anger, Other,非中性情緒佔比42.8%。EmoContext在對話情緒識別中應用較少,優點是數據規模較大,缺點是對話長度過短和僅標註最後一句。
數據集連結:humanizing-ai.com/emoco
MELD[7]。來源於老友記,多人對話形式,是EmotionLines老友記部分的多模態擴充(文本+視頻)。1433段對話,共13708句。標註了7類情緒:Neutral, Happiness, Surprise, Sadness, Anger, Disgust, Fear和3類情感:Positive, Negative, Neutral,非中性情緒佔比53%。MELD是對話情緒識別中常用的數據集之一,優點是數據集質量較高並且有多模態信息,缺點是數據集中的對話涉及到的劇情背景太多,情緒識別難度很大。
數據集連結:affective-meld.github.io
相關工作介紹第一類:上下文建模區別於傳統的單句情感分析,對話中的話語進行分類時,周圍的話語可以提供重要的上下文信息。C-LSTM[8]是基於LSTM的能夠捕捉上下文信息的模型,其模型如圖2所示。每個話語的輸入特徵經過LSTM單元以及一個全連接層得到話語的輸出特徵,用於話語情感分類。雙向的LSTM可捕捉話語的上下文關係,優於單向LSTM。
圖2 C-LSTM模型圖[8]第二類:說話人建模對話中除了話語的上下文信息外,還需要考慮說話人的狀態與相互影響。CMN[9]對於當前要識別的話語,通過GRU分別建模每個說話人的歷史話語,作為記憶單元。然後通過注意力機制將每個說話人的記憶與當前話語的表示進行融合,得到的結果用於話語分類,從而模擬說話人個人的狀態以及不同說話人的狀態對當前話語的影響,其模型如圖3所示。
圖3 CMN模型圖CMN對於不同的說話人採用了獨立的記憶單元,在此基礎之上,ICON[10]使用交互式的記憶單元,其模型如圖4所示。對於當前要識別的話語,ICON通過SIM(Self-Influence Module)模塊分別對每個說話人的歷史話語進行建模,接著通過DGIM(Dynamic Global Influence Module)模塊對說話人之間的影響進行建模得到全局的狀態,存入記憶單元,然後使用Attention機製得到記憶單元與當前話語表示的融合結果,用於話語分類。
圖4 ICON模型圖[10]第三類:區分說話人的建模CMN、ICON等模型雖然對不同的說話人信息進行了建模,但是對於最終要識別的話語,並未區分該話語屬於哪個說話人。DialogueRNN[11]解決了這個問題,同時認為對話中的話語情感取決於三個因素:說話人信息,先前話語的語境和情感信息,並分別使用說話人狀態(Party GRU)、全局狀態(Global GRU)和情感狀態(Emotion GRU)進行捕捉,其模型如圖5所示。對於當前時刻的話語,全局狀態由前一時刻的全局狀態、當前話語的表示、當前話語說話人前一時刻的狀態進行更新,說話人狀態由當前話語說話人前一時刻的狀態、當前話語的表示、之前時刻的全局狀態進行更新,情感狀態由說話人當前時刻的狀態以及上一時刻的情感狀態更新,之後用當前時刻的情感狀態進行當前話語的分類。
圖5 DialogueRNN模型圖[11]第四類:和Dialog Act識別聯合建模在對話中,情感識別和dialog act識別兩個任務是緊密聯繫的,考慮顯示建模這兩個任務的關係能夠同時促進兩個任務的性能。DCR-Net[24]首次顯示的探索建模了兩者的交互,並且系統的對比了三種不同的關係層。最終在多個數據集上證明了聯合建模的有效性。
圖6 DCR-Net模型圖[23]對話情感生成任務介紹對話情感生成是一個生成任務,旨在對話中生成蘊含情感、有針對性的回覆。對於待生成回復的情感,一般有兩種觀點:一種認為待生成回復的情感需要明確指出,這類做法的輸入是對話上文和目標情感,輸出是蘊含該情感的回覆,其優點是生成情感靈活可控,缺點是需要大規模情感標註的對話語料;另一種則認為待生成回復的情感已經隱含在對話上文之中,不需要明確指出,因此這類做法只需要提供對話上文,其優點是可利用已有的大規模對話語料,缺點是生成的情感不易控制。圖6給出了對話情感生成的一個簡單示例。對話情感生成主要應用在聊天機器人之中,可以讓聊天機器人在顯式或隱式理解用戶情感的基礎上,生成情感合理的回覆,解決聊天機器人的情感表達問題。
圖7 對話情感生成任務示例[13]數據集介紹STC[12]。新浪微博數據,無情感標註,中文,由問題和回復組成,可視為單輪對話,共440萬對,問題與回復的句子平均長度分別為20、15。ECM[13]中使用Bi-LSTM情感分類器自動標註了六類情感:Angry, Disgust, Happy, Like, Sad, Other。STC是對話情感生成中常用的數據集之一,優點是數據規模大,缺點是無人工情感標註,需要藉助情感分類器自動標註,因此數據質量一般。
數據集連結:ntcir12.noahlab.com.hk/
Cornell Movie Dialogs[14]。康奈爾大學收集的電影對話語料,無情感標註,22萬段對話,30萬個句子,涉及617部電影中的9035個角色,無標註,噪聲相對較小。ANRG[15]和EMOTICONS[16]中用於seq2seq模型訓練。Cornell Movie Dialogs是對話情感生成中常用的數據集之一,優點是數據質量較高,缺點是無人工情感標註。
數據集連結:cs.cornell.edu/~cristia
OpenSubtitles[17]。多語言的電影字幕資料庫,數據量大,無情感標註,噪聲相對較大。ADGEE[18]使用OpenSubtitles2016,過濾後有1130萬句子,訓練了Bi-LSTM情感分類器進行自動情感標註。EMOTICONS[16]使用OpenSubtitles2018,過濾後的數據有至少四輪對話,250萬句子。OpenSubtitles是對話情感生成中常用的數據集之一,優點是數據規模巨大,缺點是噪聲大且無人工情感標註。
數據集連結:opus.nlpl.eu/OpenSubtit
Twitter[19]。Twitter上獲取的帶emoji表情的對話,由問題和回復組成,可視為單輪對話,共66萬對。使用句子帶的emoji表情作為句子標註,共64種標籤。Mojitalk[19]使用該語料訓練模型,進行情感回復生成。Mojitalk[19]構造了該數據集,並使用該數據集訓練模型進行情感回復生成。
數據集連結:github.com/claude-zhou/
DailyDialog[4]。高質量多輪對話數據集,10萬句,詳見對話情緒識別數據集介紹。AR-S2S[20]使用該數據集作為測試集,評估模型在不同領域對話的泛化性能。數據集連結:yanran.li/dailydialogSEMAINE[3]。情緒識別用的數據集,有情感屬性,無情感類別標註。AAAI 2018的Emo-HERD[21]使用工具為其標註情感。約0.5萬句,詳見對話情緒識別數據集介紹。數據集連結:semaine-db.eu/
相關工作介紹第一類:情感語言模型給定起始片段和情感信息,可生成指定情感的句子。Affect-LM[22]是基於LSTM的語言模型,在單詞的概率預測階段融入了情感標籤以及情感強度,從而期望模型可以生成一定強度的某種情感類別的回覆。語言模型採用困惑度進行評價。其模型如圖7所示。
圖8 Affect-LM模型圖[22]第二類:指定回復情感的對話生成模型給定上文和情感信息,可生成帶有指定情感的回覆。ECM[13]是第一個在大規模對話生成中考慮情感因素的工作,其模型如圖8所示。為了生成對話中指定情感的回覆,在傳統的Encoder-Decoder中引入了三個機制:情感類別嵌入,內部記憶和外部記憶。情感類別嵌入是將每個情感類別用向量代替,用於解碼器的狀態更新。內部記憶用於捕捉情感的動態變化,在解碼過程中不斷衰減。外部記憶顯式地從通用詞典和情感詞典中選擇輸出詞彙,以增強回復的情感性。最終評估採用了困惑度,回復的情感準確率,以及人工評價。
圖9 ECM模型圖[13]EmoDS[23]提出情感表達可以是使用強烈的情感詞進行顯式直接的表達,也可以是沒有情感詞的隱式含蓄的表達,因此在Encoder-Decoder中加入了兩個模塊:基於詞典的Attention機制尋找期望的情感詞進行顯式表達,情感分類器通過增加情感表達的強度以一種隱式的方式為情感回復生成提供全局指導,其模型見圖9。最終評估有嵌入得分、 BLEU、 Distinct、情感客觀指標以及人工評價。
圖10 EmoDS模型圖[23]方法總結:此類型方法是情感回復生成的主流方法,在傳統的Encoder-Decoder的基礎上,增加一些機制,如情感向量、情感記憶、情感詞典等,使生成的回覆具備情感因素。同樣方法的文章還有EMOTICONS[16],ADGEE[18],AR-S2S[20],Mojitalk[19],Emo-HERD[21]等。
第三類:不指定回復情感的對話生成模型不需要指定情感信息,認為上文已經內在地決定了下文的情感。ANRG[15]是基於LSTM的Encoder-decoder模型,其模型如圖10所示。為了加入情感因素,使用了三種方式:通過情感詞典中詞的情感信息改造詞向量;使用帶情感目標的損失函數;在解碼時使用情感多樣性的搜索算法。評價方法是在句法規範性、自然度、情感符合程度上做人工評價。
圖11 ANRG模型圖[15]總結本文主要梳理了對話情感中的兩個任務:對話情緒識別、對話情感生成,總結了這兩個任務相關的數據集和一些近期工作,這些工作解決了各自任務的很多關鍵挑戰。未來,兩個任務的關聯融合可能會帶來一些新的挑戰,這可能也是一個潛在的研究方向。
參考資料[1]S. Poria, N. Majumder, R. Mihalcea, and E. Hovy. Emotion Recognition in Conversation: Research Challenges, Datasets, and Recent Advances. IEEE Access. 2019.
[2]C. Busso et al. IEMOCAP: interactive emotional dyadic motion capture database. Lang Resources & Evaluation. 2008.
[3]G. McKeown, M. Valstar, R. Cowie, M. Pantic, and M. Schroder. The SEMAINE Database: Annotated Multimodal Records of Emotionally Colored Conversations between a Person and a Limited Agent. IEEE Transactions on Affective Computing. 2012.
[4]Y. Li, H. Su, X. Shen, W. Li, Z. Cao, and S. Niu. DailyDialog: A Manually Labelled Multi-turn Dialogue Dataset. IJCNLP. 2017.
[5]S.-Y. Chen, C.-C. Hsu, C.-C. Kuo, Ting-Hao, Huang, and L.-W. Ku. EmotionLines: An Emotion Corpus of Multi-Party Conversations. arXiv. 2018.
[6]A. Chatterjee, U. Gupta, M. K. Chinnakotla, R. Srikanth, M. Galley, and P. Agrawal. EmoContext: Understanding Emotions in Text Using Deep Learning and Big Data. Computers in Human Behavior. 2019.
[7]S. Poria, D. Hazarika, N. Majumder, G. Naik, E. Cambria, and R. Mihalcea. MELD: A Multimodal Multi-Party Dataset for Emotion Recognition in Conversations. ACL. 2019.
[8]S. Poria, E. Cambria, D. Hazarika, N. Majumder, A. Zadeh, and L.-P. Morency. Context-Dependent Sentiment Analysis in User-Generated Videos. ACL. 2017.
[9]D. Hazarika, S. Poria, A. Zadeh, E. Cambria, L.-P. Morency, and R. Zimmermann. Conversational Memory Network for Emotion Recognition in Dyadic Dialogue Videos. NAACL. 2018.
[10]D. Hazarika, S. Poria, R. Mihalcea, E. Cambria, and R. Zimmermann. ICON: Interactive Conversational Memory Network for Multimodal Emotion Detection. EMNLP. 2018.
[11]N. Majumder, S. Poria, D. Hazarika, R. Mihalcea, A. Gelbukh, and E. Cambria. DialogueRNN: An Attentive RNN for Emotion Detection in Conversations. arXiv. 2019.
[12]L. Shang, Z. Lu, and H. Li. Neural Responding Machine for Short-Text Conversation. ACL. 2015.
[13]H. Zhou, M. Huang, T. Zhang, X. Zhu, and B. Liu. Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory. AAAI. 2018.
[14]C. Danescu-Niculescu-Mizil and L. Lee. Chameleons in Imagined Conversations: A New Approach to Understanding Coordination of Linguistic Style in Dialogs. CMCL. 2011.
[15]N. Asghar, P. Poupart, J. Hoey, X. Jiang, and L. Mou. Affective Neural Response Generation. in Advances in Information Retrieval. 2018.
[16]P. Colombo, W. Witon, A. Modi, J. Kennedy, and M. Kapadia. Affect-Driven Dialog Generation. NAACL. 2019.
[17]J. Tiedemann. News from OPUS : A Collection of Multilingual Parallel Corpora with Tools and Interfaces. 2009.
[18]C. Huang, O. Zaïane, A. Trabelsi, and N. Dziri. Automatic Dialogue Generation with Expressed Emotions. NAACL. 2018.
[19]X. Zhou and W. Y. Wang. MojiTalk: Generating Emotional Responses at Scale. ACL. 2018.
[20]P. Zhong, D. Wang, and C. Miao. An Affect-Rich Neural Conversational Model with Biased Attention and Weighted Cross-Entropy Loss. AAAI. 2019.
[21]N. Lubis, S. Sakti, K. Yoshino, and S. Nakamura. Eliciting Positive Emotion through Affect-Sensitive Dialogue Response Generation: A Neural Network Approach. AAAI. 2018.
[22]S. Ghosh, M. Chollet, E. Laksana, L.-P. Morency, and S. Scherer. Affect-LM: A Neural Language Model for Customizable Affective Text Generation. ACL. 2017.
[23]Z. Song, X. Zheng, L. Liu, M. Xu, and X. Huang. Generating Responses with a Specific Emotion in Dialog. ACL. 2019.
[24]Libo Qin, Wanxiang Che, Yangming Li, Mingheng Ni, Ting Liu. DCR-Net: A Deep Co-Interactive Relation Network for Joint Dialog Act Recognition and Sentiment Classification. AAAI. 2020.
重磅!憶臻自然語言處理-學術微信交流群已成立
我們為大家整理了李航老師最新書籍的ppt課件,
添加小助手領取,還可以進入官方交流群!
注意:請大家添加時修改備註為 [學校/公司 + 姓名 + 方向]
例如 —— 哈工大+張三+對話系統。
號主,微商請自覺繞道。謝謝!
推薦閱讀:
使用 TensorFlow 做文本情感分析
通俗易懂!使用Excel和TF實現Transformer!
深度學習中的多任務學習(Multi-task-learning)——keras實現