EmoElicitor: An Open Domain Response Generation Model with User Emotional Reaction Awareness论文翻译

EmoElicitor:一种具有用户情感反应感知的开放域回复生成模型

摘要

产生情感回复对于建立类似人类的对话系统至关重要。然而,现有的研究只关注于通过控制对话系统的情感来产生回复,而忽略了对话系统的最终关注点用户的感受。本文提出了一种新的变分模型EmoElicitor,用于产生能够激发用户特定情感的适当回复。我们将系统回复后的下一轮话语纳入后验网络以丰富上下文,并利用预训练的语言模型将单个潜变量分解为多个连续变量来指导生成回复。在真实世界的数据集上进行的大量实验表明,EmoElicitor不仅在多样性和语义相似度方面优于基线,而且能够以更高的准确率激发情感。

1 介绍

情感交互是人际交流中的一个关键因素,并且已经成为构建人性化对话系统的一个重要因素(Picard,1997)。大量的证据[Partala和Surakka,2004;Prendinger和Ishizuka,2005]已经表明,能够表达情感的对话系统可以在人机交互过程中显著提高用户满意度。情感回复生成(ERG)是一种情感交互任务,目的是在给定情感的条件下生成适当的对话回复。早期研究[Skowron,2009]手动设计了从语料库中选择期望情感回复的规则。最近,由于大规模对话数据的获得[周和王,2018年;Rashkin等人,2019年]和Seq2Seq模型的发展[Sutskever等人,2014年;周等人,2018年;Song等人,2019年;钟等人,2019年],这一研究线上取得了巨大的成就。

虽然先前的方法已经取得了有希望的结果,但这些模型只是尝试控制对话系统回复的情感。与此同时,在设计对话系统时实际的最终关注点——用户,在交互过程中的感受被忽略了。在图一中,假设我们希望设计一个能够安慰用户的Agent,并且将情感标签Happness提供给两个Agent。传统的ERG方法(Agent A)可以产生具有正确情感且与话题相关(CAT)的回复。然而,Agent A未能成功安慰用户,因为它没有考虑到用户的情感反应。相比之下,Agent B可以激发用户的快乐情感。因为Agent B考虑了用户的视角,不仅基于的向后上下文,而且还基于用户可能回复下一个话语以及相应的情感来生成更合适的回复。

本文重点研究开放域的情感激励对话生成(RGEE),即给定后续的语境和期望的情感反应(考虑下一轮话语和它的情感反应标签),目标是产生一个和主题相关的能激励期望情感的回复。RGEE任务与ERG任务有根本的不同。(i)不同的目标:ERG的目标是产生一种表现出特定情感的回复,而RGEE则侧重于激发特定的情感,以增强聊天的互动性。因此,RGEE需要从面向用户的角度进行响应,并且比传统的ERG更主动。(Ii)不同的输入:两个任务的情感标签在概念上是不同的。此外,在训练阶段,RGEE不仅考虑了用户的后续语境,还考虑了用户的下一轮话语,这在以往的对话生成模型中很少考虑。

RGEE有助于构建一个更可信、更像人类的聊天系统,可以进行共情交互[Rashkin等人,2019年]或满足用户的情感需求[Picard和Klein,2001]。然而,RGEE是一项极具挑战性的任务,因为生成的回复和情感反应标签没有直接关联。此外,尽管在训练期间结合用户的下一轮话语有助于产生更连贯的回复,但在推理阶段不能使用下一轮话语。

为了应对这些挑战,我们提出了一个变分模型EmoElictor,该模型建立在一个预训练的语言模型(Yang等人,2019年)的基础上,可以捕捉情感反应和回复之间的关系。在生成过程中,在每个时间步长将原始的单个潜变量分解为连续变量,提高了回复的话题连贯性和情感一致性。

我们的三大贡献可以概括如下:(i)我们将RGEE问题明确表达为在给定后续语境和下一轮话语的条件下生成能够激励用户特定情感的回复的问题。(ii)我们提出了一个变分模型EmoElicitor,据我们所知,它是第一个利用序列潜变量来捕捉上下文信息并在预训练的语言模型的帮助下指导回复生成的模型。(iii)我们为RGEE任务构建了一个大规模的数据集。实验结果表明,我们的模型始终优于强基线方法。

2 相关工作

情感感知对话系统是近年来新兴的研究领域。Zhou等人[2018]首先使用端到端神经学习框架将情感因素合并到对话生成任务中。Zhong等人[2019]通过会话建模中的注意力机制,考虑了VAD影响模型以及否定词和强化词的影响。zhou和Wang[2018]提出了一个基于CVAE的强化模型Mojitalk,它可以基于表情符号生成回复。Rashkin等人[2019]聚焦于共情对话生成,每一次对话只包含一个情感标签。

然而,以前的大多数研究只考虑了系统回复的情感,而忽略了使用者的情感反应。Lubis等人[2018;2019年]生成了可能引发积极情感的回复。Hasegawa等人[2013]利用统计机器翻译模型生成可以激励用户预期情感的回复。与上述两种方法相比,我们的模型不仅使用了更细粒度的表情符号标签,而且还考虑了用户的下一轮话语,以生成更连贯的主题和情感一致的回复。

对于给定的上下文,可能有多个适当的回复;因此,回复生成是已知的一对多问题。变分自编码器(VAE)是解决此类问题的最成功的模型之一[Serban等人,2017年]。然而,传统的基于VAE的模型只利用单个隐变量对整个回复序列进行编码。我们的工作灵感来自变分循环神经网络(VRNNs)[Chung等,2015],在解码过程中的每个时间步长执行变分推理。变分模型存在后验塌陷问题,但这些问题可以通过KullbackLeibler(KL)退火和辅助损失来缓解。

3 我们的方法

3.1 问题表述

在给定对话语境C和下一轮说话人的情感反应标签e的情况下,我们的目标是生成不仅与语境C一致而且能够从下一轮说话人那里激发所需情感e的回复Y。

对话上下文是表示人b在第i轮的话语。回复是情感反应e是下一轮话语的情感标签,因此,Ue指的是下一轮的

3.2 CVAE

我们的方法建立在条件VAE(CVAE)[Kingma和Welling,2014]的基础上,其中回复y的生成基于给定的上下文C、下一轮话语Ue、情感反应标签e和旨在捕捉回复分布的潜变量z。

其中KL是Kullback-Leibler散度,p(Y|z,C,e)是从潜变量z、条件上下文C和情感反应e产生Y的解码器;Pφ(z|C,e)是用于从先验分布中抽样z的先验模型;qθ(z|C,Y,Ue)是用于逼近潜变量z的真实后验分布的后验网络;θ和φ是模型的参数。在训练阶段,使用从后验模型采样的隐变量z来生成给定条件C和e的回复p(Y|z,C,e)。在推理阶段,仅利用从先验模型采样的隐变量z来生成回复p(Y|z,C,e)。

受变分循环神经网络的启发,我们的模型在每个时间步长使用一个潜变量zt来产生回复

3.3 模型框架

输入表示

我们的多轮二元对话模型的输入是对话语境C、回复Y和带有情感反应标签e的下一轮话语Ue。所有输入文本都使用SentencePiece进行标记化。为了捕捉细粒度和逼真的情感标签,我们将表情符号作为话语的标签,在处理过程中将这些表情符号作为纯文本处理。每个token的输入嵌入包括一个词嵌入、一个类型嵌入和一个位置嵌入,如图3所示。

(i)输入表示是C、Y和Ue与特殊的开始token[s]和结束token[/s]的拼接。对于上下文C,我们用一个特殊的token[SEP]连接C中的所有话语。我们为表情符号添加了一个辅助表情符号词汇表。(ii)使用类型嵌入来区分二元对话数据中的说话人(例如A和B)和情感标签。假设说话人A的话引起了说话人B的情感。因此,Y和Ue的类型嵌入分别是EA和EB。Ee表示情感反应标签类型嵌入(iii)位置嵌入与预训练模型的位置嵌入一致。

我们的输入表示与基于Transformer的预训练的语言模型兼容,包括token、segment和位置嵌入。需要注意的是,我们用类型嵌入代替了segment嵌入,这符合二元会话的特点,并对训练数据集上的类型嵌入进行了微调。

框架

图2显示了我们提出的模型的总体框架,它是预训练的语言模型和变分模型的组合。我们的基础框架骨干灵感来自[Lample and Conneau,2019],这是一项通过特定的自注意力mask灵活支持双向编码和单向解码的技术。为了更好地捕捉后面和前面的上下文表示,我们使用双向注意力Transformer来建模上下文C和情感反应标签e。利用单向注意力Transformer对要生成的回复Y进行建模。编码和解码Transformer共享相同的权重集。

具体地,对于编码器来说输入和输出分别表示Ein和Eout,对于解码器来说表示为Din和Dout。所有输入都是tokens序列,包括token嵌入(TOK)、类型嵌入(TYP)和位置嵌入(POS):

式中,C;e表示C和e的连接。编码器可以attend其自己的token(例如,可以attend任意的),并且解码器中的每个token只能attend其前面的那些token。

其中Ein(C;e);Din(Y)表示Ein(C;e)和Din(Y)的连接;是在时间步长j将回复Y作为输入时解码器的最终输出;是预训练模型的参数,其中dvocab值为词汇表大小,与原始词汇表的大小相同,因为我们的回复不包含表情符号;Pj是在时间步长j生成的词的概率分布。

3.4 EmoElicitor

传统的CVAE方法只使用一个潜变量z,很难对回复p(y|z,c)的分布进行建模。为了更有效地利用隐变量来捕捉情感反应和回复之间的关系,我们在生成过程中的每个时间步长t将z分解为序列变量zt。此外,为了避免后验塌陷,我们增加了辅助损失。

EmoElicitor模型细节

在CVAE和预训练的语言模型的基础上,我们构建了EmoElicitor,它利用上下文C、回复Y和下一个话语Ue来指导每个时刻t的回复生成。后验网络编码C、Y和Ue。由于我们假设zt服从各向同性高斯分布,因此我们有

其中Ein(C;Y;Ue)是双向注意力Transformer的输入表示,是上下文C、回复Y和下一话语Ue的连接,如在3.3节中所描述的。请注意,位置嵌入也是序列的。Eout(Y)是回复的双向注意力输出表示,其是长度为n−1的序列表示,因为在用于计算后验隐变量的回复Y的输出表示中不需要句首标记。zt表示在时刻t的后验潜变量。是权重参数,其中dz是潜变量的维数,dmodel是在每个时刻t预训练模型输出的维数。先验网络编码上下文C和反应情感e。类似地,我们有

其中Ein(C;e)是连接上下文C和下一话语情感e的双向注意力Transformer的输入表示。Din(Y)是单向注意力Transformer的输入表示,它attend它前面的那些标记。Dout(Y)是回复的单向注意力输出表示,其是长度为n−1的序列表示,因为回复Y包括在生成过程中不需要的句末标记[/s]。是一个多层感知器。

我们组合时间步长潜变量zt加入到预训练模型的输出中,通过计算预测Yt。

其中,是用于将zt+1和组合成Gt的权重参数。包括:第一部分加载原始预训练模型Woo的参数,第二部分用Xavier方法随机初始化[Glorot and Bengio,2010]。

学习

基于VAE的模型往往会忽略潜变量,导致后验塌陷。对于文本生成任务,赵等人[2017]利用词袋(BOW)损失来缓解这一问题,从而提高了性能。在本文中,我们引入了一种新的辅助损失,它利用后验隐变量zt来预测每一个生成步骤中对应的词,以保存信息。

我们的最终损失函数是每个时刻t的的加权和:其中α是权重控制辅助损失,是预测Yt时的对数似然损失,是近似后验分布qt和先验分布pt−1的kL散度。这两项损失计算如下:

在生成阶段,通过计算来预测tokenYt,其中后验隐变量Zt被先验隐变量代替。

4 实验

由于没有现成的富含表情符号的多轮对话数据集,我们收集了大量带有表情符号的Twitter对话语料库。我们使用58个常用表情包作为标签,除了去掉了使用频率最低的6个表情包外,与Mojitalk[周和王,2018]中使用的选择一致。在我们的语料库中,每个对话至少由三轮组成,其中第一轮属于上下文,最后一轮是包含一个表情符号的Ue。如果Ue中有多个表情符号,则选择使用频率最高的表情符号作为情感反应标签。当频率相等时,我们选择语料库中频率最低的表情符号,因为它是最有特色的。

4.1 数据处理

在预处理过程中,所有提及和标签标记都被删除,重复的字母和符号被缩短。为了更好地捕捉对话的情感,我们增加了一个1k大小的外部表情词汇表,它与情感反应e的标签空间共享。

我们的情感反应标签e的分布与Mojitalk相近(例如,占34%)。我们删除了回复Y和情感反应话语Ue中少于6个单词和超过34个单词的对话。在上下文C中少于6个单词和超过100个单词的对话也被删除。我们将语料库随机分为137,421/4,661/4,739个会话对,用于训练/验证/测试集。为了构建验证和测试数据集,我们选择带有表情符号的回复Y作为标签,以测试生成回复的情感准确性。注意,在训练数据集中不考虑回复Y的情感标签,并且Y中的所有表情符号都被移除。

4.2 实施细节

我们选择XLNet-base[Yang等人,2019年]作为我们的预训练模型,因此,dmodel为768,输入和输出词汇量分别为33K和32K。

所有模型均采用初始学习率为1E−5的Adam优化器。批处理大小设置为15,并且对所有方法都使用贪婪搜索。对于变分模型,dz设置为64,KL退火策略中使用的温度在10k步长内从0到1变化。所有实验都是在单个11 GB NVIDIA GeForce RTX 2080 Ti GPU卡上进行的,最多需要大约7个小时才能达到收敛。

4.3 基线

对于所有基线方法,我们使用相同的输入词汇表进行比较。

S2S:一种基于GRU的简单seq2seq模型。

ECM:利用内部情感记忆和外部情感记忆进行情感表达的情感聊天机[周等,2018]。

Mojitalk:一种基于编解码器的结合情感嵌入的CVAE模型[周,王,2018]。

XLNet:一个带有情感反应标签e的seq2seq模型,用XLNet初始化。单向注意力用于生成,如图2所示。

T-CVAE:一种基于Transformer的CVAE模型。与原来的T-CVAE实现[Wang and wan,2019]相比,我们的实现是基于XLNet的;因此,T-CVAE的组合层与EmoElicitor相同。我们还增加了BOW损失,以减轻模型的坍塌。

4.4 自动评估

基于回复生成嵌入的指标的结果:Y-avg[Liu等人,2016]借助基于Twitter词嵌入[Godin,2019年]的词平均嵌入计算生成的回复和基本事实回复之间的语义相似度。Ue-avg和Ue-Gre分别是基于平均匹配和贪婪匹配计算生成的回复与真实反应话语Ue之间的语义相似度。

Dist1和Dist2:不同的单字和双字在生成的回复中的比例[Li等,2016]。

BLEU和B1/2:单词重叠分数与黄金标准答案的对比。BLEU[Papineni等人,2002年]指的是BLEU-4,B1和B2指的是其他n元语法分数。

Acc5:我们采用TOP-5表情准确率[周和王,2018]来评估真实反应的预期表情类别与训练有素的分类器预测的生成回复的情感类别之间的一致性。注意,验证和测试数据集中的回复具有与Ue的情感反应标签在概念上不同的表情符号标签。

Avg-len:平均回复长度。

如表1所示,我们的模型在Y-avg、Ue-avg、Ue-Gre、Dist2、BLEU、Avg-Len和ACC5方面表现最好。基于Transformer的模型比基于RNN的模型具有更好的性能。在该表中,‘w/o Ue’表示Ue被去除后且仅使用后验网络中的情感反应标签e的情况。包含潜变量的模型(例如T-CVAE和EmoElicitor)可以产生更多样化的回复。我们观察到T-CVAE在Dist1方面比我们的模型表现得更好;这是因为我们模型的回复越长,公式Dist1=NDist1/NTotal中的分母就越大。

不考虑Ue的模型在Y-avg、Ue-avg、Ue-Gre、BLEU、Acc5和Avg-len上表现较差,表明考虑Ue有助于在会话中产生更连贯的回复。但是,Dist指标并不像其他指标那样降低。我们推测,后验隐变量可以从Ue中受益,但Ue对先验网络的影响有限,这对多样性的贡献更大。另一方面,在没有预训练模型的情况下,我们的模型的Dist度量确实减少了。这一发现证实了预训练模型在学习对语境的依赖方面的有效性。

情感激励的结果

为了评估模型的情感诱导能力,我们对于58个表情符号中每一个,在测试集中对每个上下文C中生成一个回复Ye

Acc10是基于生成的回复Ye和上下文C激励的情感e的预测准确度。注意,我们使用Acc10(TOP-10 emoji Accuracy),因为激励的情感预测比回复情感分类要困难得多。

是概率p(e|C,Ye)的和。

Pro@5是每个上下文C的前5个情感标签的概率之和。我们基于给定的上下文C构建了另一个分类器来预测情感反应e。

在表2中,我们方法模型的Acc10分数在没有预训练模型的情况下增加。这是因为我们的分类器可以更容易地判断情感词(例如,爱你),而预训练的模型生成的词更加多样化。Pro直接计算激励情感的概率,这在所有类别中都是公平的,而Acc10经常忽略一些难以判断的类别。我们的模型在Pro和Pro@5方面得分最高,这表明它是最有效地激发期待情感的模型。

4.5 人工评估

为了更好地评估生成回复的质量,我们执行了人工评估。给出一个post和一个情感反应标签,所有基于Transformer的模型产生的回复都被随机化,并呈现给五名情感分析专业的研究生。我们从测试集中随机抽取了200个post,选择一个特定的表情符号作为目标情感反应标签,根据表情符号的分布情况生成回复。

每个标注者被要求根据以下每个指标对每个回答进行评分,评分为0或1:(i)语法(Gram):生成的回复是否自然流畅。(ii)话题连贯性(TC):回复在主题上是否与上下文一致,在逻辑上是否合理。(iii)情感一致性(EC):回复是否能激励给定的情感。

结果:我们计算了Fleiss‘kappa[1971]来衡量评分者之间的一致性。Gram、TC和EC的Fleiss‘kappa分别为0.84、0.60和0.58,分别为基本一致、中度一致和中度一致。如表3所示,我们的模型的性能与人的看法一致。值得注意的是,由于情感类别的不平衡(例如,占34%),XLNet能够激发情感的成功率为38.2%。

T

4.6  个例研究

我们在表4中三个模型生成所有回复中抽样一部分。XLNet模型为不同的表情符号反应标签生成相同的回复,因为单个表情符号很难代表用户的反应,这导致XLNet忽略这些表情符号。T-CVAE总是在每个句子的开头生成相同的单词(例如,They are)。我们推测单个潜变量z在开始时很难影响解码器输出。相比之下,我们的模型对不同的表情符号(如笑哭,心痛)产生不同的回复,从而证明了潜变量zt在时刻t能够捕捉到词语和情感反应之间的依赖关系。

5 结论

本文研究了二元对话生成中的情感反应,包括下一轮话语和相应的激发情感标签,并提出了一种新的模型EmoElicitor来生成具有情感反应感知的回复。通过在每个时间步长加入一个潜变量zt,我们可以捕捉到单词和情感反应之间的依赖关系,从而允许我们的模型生成连贯的、多样的回复,目的是激励不同的情感反应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

食物发动机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值