AAAI'22 | 基于情感分析的开放域对话系统

每天给你送来NLP技术干货!


来自:复旦DISC

作者:赵刚

0aa3b671b827e8efaf6868758868c66b.gif

引言

25b97457f5685bd7f624a74d3601ac29.gif

基于情感分析的对话系统,旨在捕获用户的情感,并产生共情的回应。本次分享将介绍三篇来自 AAAI 2022 的相关论文,第一篇文章和第三篇文章均提出了共情对话生成任务的新模型,前者专注于为模型引入情感相关的知识概念,后者专注于推理用户当前状态。第二篇文章介绍了一个适用于对话情感分析任务的混合课程学习策略。仔细研读三篇论文,有助于我们对如何围绕情感做对话生成产生更深刻的理解。

25a46c8bf24b4cadefc432c1b6322f69.gif

文章概览

37612ff348809f904bcb587caec0baad.gif

Knowledge Bridging for Empathetic Dialogue Generation

缺乏外部知识使得共情对话系统难以感知隐含隐情绪并从有限的对话历史中学习情感交互。因此,作者提出利用外部知识,包括常识知识和情感词汇知识,来明确地理解和表达情感。在共情对话生成中。首先通过与外部知识联合交互丰富对话历史,并构建情感上下文图。然后从知识丰富的情感上下文图中学习情感上下文表示并提取情感信号。最后,提出一个情绪交叉注意力机制,从情感上下文图中学习情绪的依赖关系。广泛的的实验验证了所提出方法的有效性。

Hybrid Curriculum Learning for Emotion Recognition in Conversation

对话情绪识别旨在检测每个话语的情感标签。近期的研究证明,按照一个有意义的顺序提供训练数据,而不是随机排序,可以有效地提高模型性能。作者提出了一个面向 ERC 的混合课程学习框架,框架包括两类课程,对话级课程(CC)和话语级课程(UC)。通过在 CC 层和 UC 层分别设计难度测量器和训练调度器,使各个 ERC 模型获得性能的显著提升。

CEM: Commonsense-aware Empathetic Response Generation

在共情对话生成任务上,相关工作主要集中在监测并利用用户的情感来产生共情回应。然而,由于共情包括情感和认知两个方面,作者认为除了识别用户的情绪外,还应该考虑对用户情况的认知理解。为此,作者提出了一种新的共情回应生成方法,该方法利用常识获得更多关于用户情况的信息,并利用该额外信息进一步增强共情性在生成回应中表达。

a3e19f435792ff58fcbe829ab096a833.gif

论文细节

6123fed7b9f9fbf035957ba572dc90ee.gif

1

214f5cc43bc1f9bc21b130c70239fbf2.png


动机

人们通常会依赖过往经验和外部知识来表达隐含情绪。通过对 Empathetic Dialogue 数据集的调研,作者发现回应和提问中重合词的比例非常低,这说明人们需要更多的外部知识来做出共情回应。此外,调研结果表明,情感依赖性和情感惰性常常和外部知识在共情对话中一起出现。基于以上结果,作者提出了基于外部知识的共情对话生成模型 KEMP。

外部知识

作者利用的外部知识源为 ConceptNet 和 NRC_VAD。ConceptNet 是一个用于描述自然语言中一般性人类知识的大规模知识图谱。基本单元是由头部概念,关系,尾部概念和置信度组成的四元组。NRC_VAD 是一个表示 2000 多个英文单词的三维向量的集合,每个向量有三个维度,用于表示对应单词不同方面的信息,各个维度的取值范围及含义如下表所示。4ef87534bb48f912b3c0f8f8673872aa.png

模型

模型由三个模块组成,情感上下文图,情感上下文编码器和情感依赖解码器。cefca25dc4e7df94ea286bd47a232122.png

情感上下文图通过将对话上下文和两类外部知识交互构建情感上下文图,对于对话历史中的每个词,在 ConceptNet 中检索最相关的若干情感相关概念,将每个概念词和查询词用边相连。此外,对话上下文中的相邻词通过边相连,上下文序列头部的 [CLS] 需要和所有其他节点通过边相连,构图完成。

情感上下文编码器融合了词编码,位置编码和图节点状态编码,对图中节点用向量表示。然后采用多头图注意力机制和全局上下文信息对节点表示进行更新。此外,模型从情感上下文图中学习情感信号来指导共情对话生成。

情感依赖编码器采用自回归的方式预测回应中的下一个词,在解码的第 j+1 部,输入是情感上下文编码器得到的情感信号向量和前 j 步预测的序列。因为对话中情感显著的信息会更大可能被捕捉到,作者设计了一个情感注意力误差来专注于那些情感强度值更高的节点。

模型采用多任务的方式进行训练,训练误差有三个部分组成 —— 情感预测误差,生成误差,情感注意力误差。情感预测误差用于衡量模型情感分析方面的性能,公式如下:

b4ab84976a974325180e35d56235dc22.png

实验结果

下图是作者在 Empathetic Dialogue 数据集上进行的相关实验,评价指标分为人工评价和自动评价,自动评价指标包括 Emotion Accuracy,Perplexity,Distinct-N;人工评价指标包括 Empathy,Relevance,Fluency。实验结果表面,KEMP 模型相比于基线模型在大部分的指标上出现了很大的提升。此外,可以发现,如果没有情感建模,Transformer 只能基于语义映射生成流畅的响应,但无法表达多样化的响应。2fbd4b93bd1eb9f767ff437988e1eb88.png

作者关于外部知识注入量的影响进行了相关实验。结果如下图所示。当为上下文中每个词注入的情感相关概念为 10 的时候,情感分类的准确率最高,情感分析效果最好。f6742e0200078555501f5960c1f85c93.png

下图是 KEMP 和基线模型在说话者两种不同的情绪状态下生成的响应。下划线表示与知识相关的词。可以看出 KEMP 对于外部知识的利用对于响应生成有很大提升。e516ca24a51d4bee4b342bf09a224314.png

2

ca5e1c79148ec47e8f08f97f4d24f22d.png


介绍

作者构建了一个基于对话中的 “情绪转移” 频率的难度测量器,然后根据返回的难度分数将对话安排在 “从易到难” 的模式中。话语级课程考虑情感相似性,逐步增强模型识别混淆情绪能力。通过提出的与模型无关的混合课程学习策略,作者实验发现各种现有 ERC 模型的性能显著提升,并且能够在四个公共 ERC 数据集上实现 SOTA。

训练框架

课程学习一般包含两个部分,难度测量器和训练调度器。难度测量器用于量化每个数据样本的相对容易程度。训练调度器根据难度测量器返回的判断,安排数据样本在整个训练过程中的顺序。文章提出的混合课程学习策略包含两类课程:对话级课程(CC)和话语级课程 (UC)。下图是混合课程学习的框架:e1883511d209347a4cf2dadc991a94ae.png

对话级课程

在 ERC 任务中,如何有效的解决 “情感转移” 问题是一个核心挑战。因此,在 CC 中,作者采用情感转移频率作为难度测量器,情感转移越频繁,课程难度越大。公式如下:

68273695644e3cd24668fbdbe3085cfc.png

 表示对话课程  中情绪转移的频率, 表示对话课程  中话语(utterance)的个数, 表示对话课程  中说话者(speaker)的数量,也作为平滑因子。

训练调度方式采用 baby step,将整个训练集分为若干个桶 ,桶内的数据样本的难度相似,所有桶按照从易到难的顺序排列。所有桶依次参与训练,在一轮训练结束后,下一个桶合并到当前训练集合中,在新的训练集上开始下一轮的训练。

话语级课程

在训练过程中,同一对话中的话语必须同时输入到一个批次中。因此,采用传统的训练调度器(如 baby step)来安排话语的训练顺序是不可行的。为此,作者提出了基于情感相似性的课程学习来解决这个问题。下图是作者基于之前工作提出的情绪唤醒 - 效价 (arousal-valence) 坐标,其中包含标准 ERC 数据集中的所有情绪。每个情绪标签都可以映射到单位圆上的一个点,可以借此计算情感标签之间的相似度。

de47c2deba45c3297b46487449384b94.png

首先将每个情感标签对之间的相似度按如下公式计算,并生成情感相似度矩阵 ,然后将  归一化为 。

21e921ca7f3587f28ba7816920f6a25b.png

在 ESC 训练开始时,将  的行作为所有可能的类别上初始目标概率分布,每一行代表一个情感标签。每个输入话语不仅仅属于对应的标准情感标签,也较小程度地属于相似的情感标签。随着训练的进行,这个标签表示向量会逐渐收敛到 one-hot 向量。上述更新策略如算法流程的第 9-11 行。在训练的每一步,话语  的预测概率分布定义为 。最后,模型会以标准的交叉熵损失进行训练,损失函数如下:

b687c0b6a4bce5ef8305b6d534c6cb6c.png

其中  表示在对话  中话语  的情感标签预测为  的概率, 表示第  个训练步上  的标签  的目标概率。

整个混合课程学习的训练算法流程如下:

a340ed34bc5eb08fb66d764cbca9e877.png

实验结果

下图是一些 baseline 模型使用混合课程学习的对比结果,可以看出混合课程学习能使现有 ERC 模型性能显著提高。

4dd7c91c47e8f90850a00ce6287d87d8.png

3

9756d73064c5d76ece7afaf44a8cd0cd.png

动机

人类习惯于在对话中使用常识在提及的显式信息和未提及的隐含信息之间建立联系。因此,作者认为,如果对话系统也能够利用常识来从显式信息中推断隐含信息,那么将有利于更好地了解用户的情况和感受,从而带来更有效的认知上的共情力,进而产生更具共情性的回应。

模型

CEM 利用的常识知识库是 ATOMIC。具体方式是采用 COMET 进行用户情况推理,其中 COMET 是在 ATOMIC 的三元组数据上微调的 GPT-2 模型。通过 COMET,可以获得关于用户情况的不同角度的推理,包括反应推理(React),意图推理(Intent),前提推理(Need),影响推理(Effect),需求推理(Want)。模型框架如下:

d7c2211ba768cb16ef42868aa53cfa44.png

上下文编码

将上下文进行拼接,然后对每个 token 用向量表示,编码方式有 token embedding,position embedding 和 speaker embedding。speaker embedding 用于区分不同的话语出自的说话者。接着将上下文矩阵输入编码器,得到上下文编码 。

1d4786e1fafc36efc1e45399b35f288f.png

知识获取

利用 COMET 获得关于用户情况的不同角度的常识推理。将反应推理结果作为情感类,其余推理结果作为认知类。对于情感类中的结果,输入编码器,再利用平均值池化,得到相应的情感向量表示 ;对于认知类中的结果,输入编码器,再提取 [CLS] 对应的向量,得到相应的认知向量表示 。情感向量会经过一个线性层和 softmax,得到情感概率分布,于是利用交叉熵得到情感预测误差 。

c421508f4021efe7515ad0eddacbeb75.png

78c6a9eacfdff11378ad841b5ed6555c.png
上下文精炼

将(2)中得到的情感向量  和认知向量  分别和(1)中的上下文表示  进行字符级上的拼接,在经过各自的编码器得到情感 - 上下文表示  和认知 - 上下文表示 。

876dfdf072ef4c35337d6fd48d72444c.png

d3443edf74b7132eecfc92042ff605c2.png

知识选择

将情感 - 上下文表示  和认知上下文表示  相拼接得到融合上下文表示 ;对  做 sigmoid 可以得到所有推理角度的重要性,接着继续融合得到最终表示 。

d0f66af5d1953702451fcc0d3b37ca17.png9a62767706b9a6ca9ed42f4f4e0c0960.png

回应生成

最后,利用  自回归地进行回应生成,公式如下:

dade4a3cb9fa8b180445cd47b2568565.png


实验结果

作者在 Empathetic Dialogue 数据集上进行了相关实验,发现在各个指标上都达到了 SOTA。CEM 不仅考虑了对用户情感的捕捉,而且考虑了对用户当前状态的推理,提高了模型回应的共情能力。57d7c409f3e38f0f0d47cfe1196e7824.png

供稿丨 赵   刚 编辑丨 赵丽敏 责编丨 马若雪

供稿人:赵刚 丨研究生一年级丨研究方向:对话系统 丨邮箱:21210980095@m.fudan.edu.cn

最近文章

EMNLP 2022 和 COLING 2022,投哪个会议比较好?

一种全新易用的基于Word-Word关系的NER统一模型,刷新了14种数据集并达到新SoTA

阿里+北大 | 在梯度上做简单mask竟有如此的神奇效果


下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!  后台回复【五件套】
下载二:南大模式识别PPT  后台回复【南大模式识别】

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

5a1cde7b1eb7db6dace2e013ff39d953.png

记得备注呦

整理不易,还望给个在看!
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值