41

赛尔笔记 | 对话中的情感分析与生成简述

 3 years ago
source link: http://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ%3D%3D&%3Bmid=2650414108&%3Bidx=4&%3Bsn=c61bf63b44431e978afc605c00963233
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

7z2URfZ.jpg!web

作者: 哈工大SCIR 陆鑫,田一间

介绍

近年来,随着自然语言处理技术的快速发展,人机对话系统受到了很多关注,并逐渐成为了学术界和工业界的研究热点。人机对话系统不断发展进步,应用范围不断扩大,人们对它也有了更高的要求,希望机器在关注回复内容的基础上,可以与人进行更深入的交流。

近期的一些工作表明

[10, 13, 15,16, 18-21, 23]

,在人机对话系统中,除了回复内容之外,机器与人的情感交流也是一个重要问题。人类可以通过语言进行情感上的交流,获得情感上的慰藉,对话系统想要和人类进行有效的情感沟通,就必须具备一定的情感能力。具体来说,机器一方面需要对用户情感进行识别和判断,另一方面也需要在其回复中融入合适的情感。因此,如何在对话中赋予机器理解情感和表达情感的能力,是人机对话和情感分析领域面临的新的机遇和挑战。

本文主要介绍对话情感中的两个关键任务:对话情绪识别、对话情感生成,梳理了这两个任务常用的数据集和相关方法。本文在接下来的部分首先阐述对话情绪识别任务的相关内容;接着围绕对话情感生成任务展开介绍;最后是全文总结和对未来的展望。

对话情绪识别

任务介绍

对话情绪识别是一个分类任务,旨在对一段对话中的话语进行情绪分类。任务的输入是一段连续的对话,输出是这段对话中所有话语的情绪,图1给出了一个简单的示例。由于对话本身具有很多要素,话语的情绪识别并不简单等同于单个句子的情绪识别,而是需要综合考虑对话中的背景、上下文、说话人等信息,这些都是对话情绪识别任务中独特的挑战。

对话情绪识别可广泛应用于各种对话场景中,如社交媒体中评论的情感分析、人工客服中客户的情绪分析等。此外,对话情绪识别还可应用于聊天机器人中,实时分析用户的情绪状态,实现基于用户情感驱动的回复生成。

eUb6z2E.png!web

图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是对话情绪识别中最常用的数据集,质量较高,优点是有多模态信息,缺点是数据规模较小。

数据集链接:https://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是对话情绪识别中常用的数据集之一,缺点是数据规模较小。

数据集链接:https://semaine-db.eu/

DailyDialog [4] 。高质量多轮对话数据集,纯文本,噪声小,对话反映不同主题的日常生活,无固定说话人。数据集除了7类情绪标注,还有10类主题标注以及4类对话行为标注。12218段对话,共103607句。标注了7类情绪:Neutral, Happiness, Surprise, Sadness, Anger, Disgust, Fear,非中性情绪占比16.8%。DailyDialog在对话情绪识别中应用较少,优点是数据规模较大,缺点是中性情绪占比过高。

数据集链接:http://yanran.li/dailydialog

EmotionLines [5] 。来源于老友记(多人对话)和私人Facebook聊天记录(双人对话),纯文本,有固定说话人。曾用于SocialNLP 2018 EmotionX Challenge。内容上两部分独立,各1000段对话,共29245句。标注了7类情绪:Neutral, Happiness, Surprise, Sadness, Anger, Disgust, Fear,非中性情绪占比44.5%。EmotionLines在对话情绪识别中应用较少,通常使用多模态的MELD数据集。

数据集链接:http://doraemon.iis.sinica.edu.tw/emotionlines/index.html

EmoContext [6] 。纯文本双人对话,每段对话三句,仅最后一句有情感标签。用于SemEval-2019 Task 3。38421段对话,共115263句。标注了4类情绪:Happiness, Sadness, Anger, Other,非中性情绪占比42.8%。 E moContext在对话情绪识别中应用较少,优点是数据规模较大,缺点是对话长度过短和仅标注最后一句。

数据集链接:https://www.humanizing-ai.com/emocontext.html

MELD [7] 。来源于老友记,多人对话形式,是EmotionLines老友记部分的多模态扩充(文本+视频)。1433段对话,共13708句。标注了7类情绪:Neutral, Happiness, Surprise, Sadness, Anger, Disgust, Fear和3类情感:Positive, Negative, Neutral,非中性情绪占比53%。 MELD是对话情绪识别中常用的数据集之一,优点是数据集质量较高并且有多模态信息,缺点是数据集中的对话涉及到的剧情背景太多,情绪识别难度很大。

数据集链接:https://affective-meld.github.io/

相关工作介绍

第一类:上下文建模

区别于传统的单句情感分析,对话中的话语进行分类时,周围的话语可以提供重要的上下文信息。 C-LSTM [8] 是基于LSTM的能够捕捉上下文信息的模型,其模型如图2所示。每个话语的输入特征经过LSTM单元以及一个全连接层得到话语的输出特征,用于话语情感分类。双向的LSTM可捕捉话语的上下文关系,优于单向LSTM。

qYfU3eq.png!web

图2 C-LSTM模型图 [8]

第二类:说话人建模

对话中除了话语的上下文信息外,还需要考虑说话人的状态与相互影响。

CMN [9] 对于当前要识别的话语,通过GRU分别建模每个说话人的历史话语,作为记忆单元。然后通过注意力机制将每个说话人的记忆与当前话语的表示进行融合,得到的结果用于话语分类,从而模拟说话人个人的状态以及不同说话人的状态对当前话语的影响,其模型如图3所示。

FFra6fA.png!web

图3 CMN模型图

CMN对于不同的说话人采用了独立的记忆单元,在此基础之上, ICON [10] 使用交互式的记忆单元,其模型如图4所示。

对于当前要识别的话语,ICON通过SIM(Self-Influence Module)模块分别对每个说话人的历史话语进行建模,接着通过DGIM(Dynamic Global Influence Module)模块对说话人之间的影响进行建模得到全局的状态,存入记忆单元,然后使用Attention机制得到记忆单元与当前话语表示的融合结果,用于话语分类。

e2AJ3iR.png!web

图4 ICON模型图 [10]

第三类:区分说话人的建模

CMN、ICON等模型虽然对不同的说话人信息进行了建模,但是对于最终要识别的话语,并未区分该话语属于哪个说话人。 DialogueRNN [11] 解决了这个问题,同时认为对话中的话语情感取决于三个因素:说话人信息,先前话语的语境和情感信息,并分别使用说话人状态(Party GRU)、全局状态(Global GRU)和情感状态(Emotion GRU)进行捕捉,其模型如图5所示。

对于当前时刻的话语,全局状态由前一时刻的全局状态、当前话语的表示、当前话语说话人前一时刻的状态进行更新,说话人状态由当前话语说话人前一时刻的状态、当前话语的表示、之前时刻的全局状态进行更新,情感状态由说话人当前时刻的状态以及上一时刻的情感状态更新,之后用当前时刻的情感状态进行当前话语的分类。

3MvQJbE.png!web

图5 DialogueRNN模型图 [11]

对话情感生成

任务介绍

对话情感生成是一个生成任务,旨在对话中生成蕴含情感、有针对性的回复。对于待生成回复的情感,一般有两种观点:一种认为待生成回复的情感需要明确指出,这类做法的输入是对话上文和目标情感,输出是蕴含该情感的回复,其优点是生成情感灵活可控,缺点是需要大规模情感标注的对话语料;另一种则认为待生成回复的情感已经隐含在对话上文之中,不需要明确指出,因此这类做法只需要提供对话上文,其优点是可利用已有的大规模对话语料,缺点是生成的情感不易控制。图6给出了对话情感生成的一个简单示例。

对话情感生成主要应用在聊天机器人之中,可以让聊天机器人在显式或隐式理解用户情感的基础上,生成情感合理的回复,解决聊天机器人的情感表达问题。

JNbqArN.png!web

图6 对话情感生成任务示例 [13]

数据集介绍

STC [12] 。新浪微博数据,无情感标注,中文,由问题和回复组成,可视为单轮对话,共440万对,问题与回复的句子平均长度分别为20、15。 ECM [13] 中使用Bi-LSTM情感分类器自动标注了六类情感:Angry, Disgust, Happy, Like, Sad, Other。 STC是对话情感生成中常用的数据集之一,优点是数据规模大,缺点是无人工情感标注,需要借助情感分类器自动标注,因此数据质量一般。

数据集链接:http://ntcir12.noahlab.com.hk/stc.htm

Cornell Movie Dialogs [14] 。康奈尔大学收集的电影对话语料,无情感标注,22万段对话,30万个句子,涉及617部电影中的9035个角色,无标注,噪声相对较小。 ANRG [15] 和 EMOTICONS [16] 中用于seq2seq模型训练。 Cornell Movie Dialogs是对话情感生成中常用的数据集之一,优点是数据质量较高,缺点是无人工情感标注。

数据集链接:http://www.cs.cornell.edu/~cristian/Cornell_Movie-Dialogs_Corpus.html

OpenSubtitles [17] 。多语言的电影字幕数据库,数据量大,无情感标注,噪声相对较大。 ADGEE [18] 使用OpenSubtitles2016,过滤后有1130万句子,训练了Bi-LSTM情感分类器进行自动情感标注。 EMOTICONS [16] 使用OpenSubtitles2018,过滤后的数据有至少四轮对话,250万句子。 OpenSubtitles是对话情感生成中常用的数据集之一,优点是数据规模巨大,缺点是噪声大且无人工情感标注。

数据集链接:http://opus.nlpl.eu/OpenSubtitles-v2018.php

Twitter [19] 。Twitter上获取的带emoji表情的对话,由问题和回复组成,可视为单轮对话,共66万对。使用句子带的emoji表情作为句子标注,共64种标签。 Mojitalk [19] 使用该语料训练模型,进行情感回复生成。 Mojitalk [19] 构造了该数据集,并使用该数据集训练模型进行情感回复生成。  

数据集链接:https://github.com/claude-zhou/MojiTalk

DailyDialog [4] 。高质量多轮对话数据集,10万句,详见对话情绪识别数据集介绍。 AR-S2S [20] 使用该数据集作为测试集,评估模型在不同领域对话的泛化性能。

数据集链接:http://yanran.li/dailydialog

SEMAINE [3] 。情绪识别用的数据集,有情感属性,无情感类别标注。AAAI 2018的 Emo-HERD [21] 使用工具为其标注情感。约0.5万句,详见对话情绪识别数据集介绍。

数据集链接:https://semaine-db.eu/

相关工作介绍

第一类:情感语言模型

给定起始片段和情感信息,可生成指定情感的句子。

Affect-LM [22] 是基于LSTM的语言模型,在单词的概率预测阶段融入了情感标签以及情感强度,从而期望模型可以生成一定强度的某种情感类别的回复。语言模型采用困惑度进行评价。其模型如图7所示。

uQFzuyJ.png!web

图7 Affect-LM模型图 [22]

第二类:指定回复情感的对话生成模型

给定上文和情感信息,可生成带有指定情感的回复。

ECM [13] 是第一个在大规模对话生成中考虑情感因素的工作,其模型如图8所示。为了生成对话中指定情感的回复,在传统的Encoder-Decoder中引入了三个机制:情感类别嵌入,内部记忆和外部记忆。情感类别嵌入是将每个情感类别用向量代替,用于解码器的状态更新。内部记忆用于捕捉情感的动态变化,在解码过程中不断衰减。外部记忆显式地从通用词典和情感词典中选择输出词汇,以增强回复的情感性。最终评估采用了困惑度,回复的情感准确率,以及人工评价。

uuMnqm6.png!web

图8 ECM模型图 [13]

EmoDS [23] 提出情感表达可以是使用强烈的情感词进行显式直接的表达,也可以是没有情感词的隐式含蓄的表达,因此在Encoder-Decoder中加入了两个模块:基于词典的Attention机制寻找期望的情感词进行显式表达,情感分类器通过增加情感表达的强度以一种隐式的方式为情感回复生成提供全局指导,其模型见图9。最终评估有嵌入得分、 BLEU、 Distinct、情感客观指标以及人工评价。

zIziMva.png!web

图9 EmoDS模型图 [23]

方法总结:此类型方法是情感回复生成的主流方法,在传统的Encoder-Decoder的基础上,增加一些机制,如情感向量、情感记忆、情感词典等,使生成的回复具备情感因素。同样方法的文章还有 EMOTICONS [16] , ADGEE [18] , AR-S2S [20] , Mojitalk [19] , Emo-HERD [21] 等。

第三类:不指定回复情感的对话生成模型

不需要指定情感信息,认为上文已经内在地决定了下文的情感。 ANRG [15] 是基于LSTM的Encoder-decoder模型,其模型如图10所示。为了加入情感因素,使用了三种方式:通过情感词典中词的情感信息改造词向量;使用带情感目标的损失函数;在解码时使用情感多样性的搜索算法。评价方法是在句法规范性、自然度、情感符合程度上做人工评价。

vEbIvuz.png!web

图10 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.

本期责任编辑:李忠阳

本期编辑:顾宇轩

推荐阅读

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

太赞了!Springer面向公众开放电子书籍,附65本数学、编程、机器学习、深度学习、数据挖掘、数据科学等书籍链接及打包下载

数学之美中盛赞的 Michael Collins 教授,他的NLP课程要不要收藏?

自动作诗机&藏头诗生成器:五言、七言、绝句、律诗全了

这门斯坦福大学自然语言处理经典入门课,我放到B站了

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。

qIR3Abr.jpg!web

阅读至此了,点个在看吧 :point_down:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK