情感化聊天机:结合内外记忆的情感对话生成

摘要

情感的感知和表达是对话系统或会话代理成功的关键因素。然而,到目前为止,这一问题还没有在大规模对话生成中得到研究。本文中,我们提出的情感聊天机(ECM)不仅在内容层面(相关性和语法性),而且在情感层面(情感一致性)也能产生合适的回复。据我们所知,这是第一个考虑到大规模对话生成中涉及情感因素的工作。ECM使用三种新机制来解决这一问题:(1)通过嵌入情感类别来模拟情感表达的高层抽象;(2)捕捉隐含的内部情感状态的变化;(3)使用带有外部情感词汇的显性情感表达。实验表明,该模型不仅能在内容层面产生合适的回复,而且在情感方面也能生成合适的回复。

介绍

作为人类智力的重要组成部分,情商被定义为感知、整合、理解和调节情绪的能力。使机器能够感知情感是人工智能的长期目标。为了创造一个能像人类一样与用户交流的聊天机器人,使机器具有感知和表达情感的能力是必要的。

现有研究表明,在对话系统或会话代理中考虑情感因素可以提高用户满意度,并减少对话系统中的错误。在调整对话行为以适应用户的情感状态,以及对用户对话生成既和内容又和情感相关的回复方面目前已经有了一些初步的工作。

然而,这些研究大多受到心理学研究结果的启发,要么基于规则,要么局限于小规模的数据。近年来,基于大规模数据训练的神经模型显著地促进了开放域对话生成。这些模型大多旨在提高生成对话的内容质量,据我们所知,在现有的对话生成神经模型中还没有考虑到情感因素。表1展示了一些考虑/不考虑情感的示例。我们可以发现ECM模型是带有情感参与的,更具同理心。

    表1:有/无考虑情感的对话

在大规模会话生成中涉及情感因素有几个挑战。首先,在大规模语料库中很难获得高质量的情感标注数据,因为情感标注是一项相当主观的任务,情感分类也很有挑战性。其次,很难以自然和连贯的方式考虑情感,因为我们需要平衡语法和情感的表达,正如(Ghosh et al. 2017)所论述的那样。最后,如我们的实验所示,简单地将情感信息嵌入现有的神经模型中,不能产生满意的情感回复,只是些难以感知情感的普通表达(这些表达中只包含关于情感的隐含或模棱两可的常用词,占我们数据集中所有情感回复的73.7%)。

本文针对开放领域对话系统中情感回复的生成问题,提出了一种情感聊天机(简称ECM)。为了获得用于ECM的大规模情感标注数据,我们在人工标注的语料库上训练分类器。该分类器用来给ECM的训练自动标注大规模的对话数据。为了在句子中自然、连贯地表达情感,我们设计了一个序列到序列生成模型,该模型具有新的情感表达生成机制,即用于捕捉情感表达高级抽象的情感类别嵌入机制,动态平衡语法和情感的内在情感状态机制,以及帮助生成更明确的情感表达的外部情感记忆机制。

综上所述,本文做出了以下贡献:

·提出了在大规模对话生成中考虑情感因素,据我们所知,这是关于这个主题的第一项工作。

·提出了一个端到端的框架(称为ECM)来将情感因素的影响融入到大规模对话生成中。它有三种新颖的机制:情感类别嵌入、内部情感记忆和外部情感记忆。

·结果表明,与传统的seq2seq模型相比,ECM可以产生更高得分的兼顾内容和情感的回复。我们相信,具有共情能力的计算机代理和情感交互模型等未来的工作都可以在ECM的基础上进行。

相关工作

在人机交互中,检测人类情感迹象并对其做出适当反应的能力可以丰富交流。例如,具有同理心带有情感化表达的展示增强了用户的表现,并提高了用户满意度。在(Prendinger and Ishizuka,2005)中的实验表明,具有同理心的计算机代理有助于在互动中有更积极的感知。在(Martinovski And Traum 2003)中,作者表明,如果机器能够识别用户的情感状态并敏锐地做出反应,就可以避免许多错误。(Polzin And Waibel 2000)中的工作展示了对话行为如何根据用户的情绪状态进行调整。Skowron(2010)提出了一种称为“情感听众”的对话系统,它可以在内容层面和情感层面对用户的话语做出回应。

这些工作主要受到心理学研究结果的启发,要么是基于规则的,要么局限于小数据,这使得它们很难应用于大规模对话生成。最近,序列到序列生成模型(Sutskever,Vinyals和Le 2014;Bahdanau,Cho和Bengio 2014)已经成功地应用于大规模对话生成(Vinyals和Le 2015),包括神经反应机(Sang,Lu和Li2015),分层递归模型(Serban et al.2015年),以及其他许多。

然而,还没有研究工作考虑大规模会话生成中涉及情感因素。有几项研究从可控制的变量中生成文本。(Hu等人。2017)提出了一个生成模型,该模型可以根据语言的某些属性(如情感和时态)生成句子。情感语言模型是在(Ghosh等人2017)提出用来生成以上下文词和影响类别为条件的文本。(Cagan,Frank和Tsarfatiy2017)合并了语法信息,用情感和主题为文档生成评论。我们的工作主要有两个方面的不同:1)以前的研究在文本生成过程中严重依赖于语言工具或定制化参数,而我们的模型完全是数据驱动的,不需要任何人工调整;2)先前的研究无法模拟输入和回复之间的多轮情感互动,取而代之的是,生成的文本只是简单地延续了前导语境的情感。

情感聊天机

背景:编解码器框架

我们的模型基于通用序列到序列(简称seq2seq)模型(Sutskever,Vinyals和Le 2014)的编码器解码器框架。它是用门控循环单元(GRU)实施的(Cho等人2014年;Chung等人2014年)。编码器将POST序列X=(x1,x2,···,xn)转换为隐层表示h=(h1,h2,···,hn),其定义为:ht= GRU(ht−1, xt)  (1)

解码器将上下文向量ct和先前解码的词e(yt−1)的嵌入作为输入,使用另一个GRU来更新其状态st:st = GRU(st−1,[ct;e(yt−1)])

(2),其中[ct;e(yt−1)]是两个向量的拼接,用作GRU单元的输入。上下文向量ct设计用在解码期间动态关注输入POST的关键信息(Bahdanau, Cho, and Bengio 2014)。一旦获得状态向量st,解码器就从解码器的状态st计算的输出概率分布Ot进行采样来生成令牌,如下:

(3) (4)

任务定义和概述

我们的问题表述如下:给定POST X=(x1,x2,···,xn)和要生产回复的情感类别e(下面解释),目标是生成与情感类别e一致的回复Y=(y1,y2,···,ym)。本质上,该模型评估了这个概率:,情绪类别为{愤怒、厌恶、快乐、喜欢、悲伤、其他},取自中文情绪分类挑战任务1。

在我们的问题陈述中,我们假设要生成的响应的情感类别是给定的,因为情感是高度主观的。给出一个POST,可能有多种情绪类别适合它的回复,这取决于受访者的态度。例如,对于一个悲伤的故事,有人可能会表示同情(作为朋友),有人可能会感到愤怒(作为易怒的陌生人),而另一些人可能会感到高兴(作为敌人)。POST和回复之间灵活的情感交互是与以前研究的一个重要区别(Hu等人,2017年;Ghosh等人,2017年;卡根、弗兰克和萨法蒂2017),他们使用与输入POST中相同的情感进行回复。

因此,由于情感反应的主观性,我们选择专注于解决核心问题:生成给定POST和回复的情感类别的情感回复。我们的模型在不考虑反应情感类别的情况下都是有效的。注意,可以有多种方式来使聊天机器人能够选择用于回复的情感类别。一种方法是赋予聊天机器人人格和一些背景知识。另一种方法是使用训练数据找到给定POST中情感最频繁的回复情感类别,将其作为回复情感。这种方法是合理的因为它反映了人们的普遍情感,我们把这项研究留给了我们今后的工作。

在上一节讨论的生成框架的基础上,我们提出了情感聊天机(ECM),它使用三种机制生成情感表达:首先,由于情感类别是情感表达的高级抽象,ECM将情感类别嵌入到解码器中,并将嵌入的情感类别反馈给解码器。其次,我们认为解码过程中存在一种内在的情感状态,为了捕捉这种状态的隐含变化,动态平衡语法状态和情感状态之间的权重,ECM采用了内部记忆模块。第三,通过外部记忆模块对通用词(非情感)或情感词的明确选择来对情感的显式表达进行建模。

图1概述了ECM。

图1 ECM(灰色单元)概述,粉色单元用来对框架中的情感因素进行建模

在训练过程中,将输入回复对语料库给情感分类器以生成每个回复的情感标签,然后对三元组(POST,回复,回复的情感类别)的数据进行ECM训练,在推理过程中,一个POST被提供给ECM,以生成针对不同情感类别的情感回复。

情感类别嵌入

由于情感类别(例如,愤怒、厌恶、高兴)提供了情感表达的高级抽象,因此在回复生成中对情感建模的最直观的方法是将生成回复的情感类别作为附加输入。每个情感类别由一个低维向量表示。对于每个情感类别e,我们随机初始化一个情感类别Ve的向量,然后通过训练学习该情感类别的向量。将情感类别嵌入Ve与词嵌入e(yt−1)以及上下文向量ct一起喂给解码器,以更新解码器的状态st:st= GRU(st−1,[ct;e(yt−1);Ve]) (5).基于st,解码器概率分布可以相应地通过公式4计算生成下一个令牌yt。

内部记忆

上一节提出的方法是相当静态的:情感类别嵌入在生成过程中不会改变,这可能会牺牲(Ghosh等人,2017)中所讨论的句子的语法正确性.受情感回复相对短暂且涉及变化的心理学发现的启发(Gross 1998;Hochschild 1979),以及情感回复中的动态情感状况(Alam,Danieli和Riccardi 2017),我们设计了一个内部记忆模块来捕捉解码过程中的情感动态。我们模拟情感表达的过程如下:在解码过程开始之前,每个类别都有一个内在的情感状态;每一步情感状态都会衰减一定的量;一旦解码过程完成,情绪状态应该衰减到零,表明情感已经完全表达。内部记忆模块的详细流程如图2所示:

图2 具有内部记忆模块的解码器的数据流。

在每个步骤t,ECM用先前解码的词e(yt−1)的词嵌入、解码器的先前状态st−1和当前上下文向量ct的输入计算读入门。写入门是由解码器的状态向量st计算的。读入门和写入门如下定义:

(6)   (7)

然后,读入门和写入门分别用于从内部记忆模块读取和内部记忆模块写入。因此,情感状态在每个步骤(通过)被擦除一定的量。在最后一步,内部情感状态将衰减到零。这个过程正式描述如下:

(8)(9)

其中,⊗是同元素对应相乘,r/w分别表示读/写,I表示内部。GRU根据先前目标单词e(yt−1)、解码器st−1的先前状态、上下文向量ct和情感状态更新来更新其状态,如下所示:(10) 基于该状态,可以用公式4求出词的生成分布Ot,则可以对下一个字yt进行采样。在生成下一个词后,被写回内部记忆模块,请注意,如果公式9多次执行,则相当于将矩阵连续相乘,从而产生衰减效应,因为0≤Sigmoid(·)≤1。这类似于记忆网络中的删除操作(Miller等人,2016)。

外部记忆

在内部记忆模块中,内部情感状态的变化与选词之间的关联是隐含的,而不是直接观察到的。由于情感表达与句子中的情感词是截然不同的(Xu et al.2008),例如可爱和令人敬畏,与一般(非情感)词相比,例如人和天,它们承载着强烈的情感,我们提出了一个外部记忆模块,通过为情感词和普通词分配不同的生成概率来显式地对情感表达进行建模。因此,该模型可以选择从情感词汇或通用词汇生成词。

具有外部记忆模块的解码器如图3所示:

图3:带有外部记忆模块的解码器的数据流。最终解码概率在情感softmax和通用softmax之间加权,其中权重由类型选择器计算。

给定解码器st的当前状态,分别对从外部记忆模块读取的情感词汇和通用词汇计算情感Softmax Pe(yt=we)和通用Softmax Pg(yt=wg)。类型选择器α控制生成情感词或通用词的权重。最后,从下一个词概率(两个加权概率的连结)中采样下一个词yt。

该过程可按如下方式制定:

其中αt∈[0,1]是平衡情感词WE和通用词WG之间的选择的标量,Pg/Pe分别是一般词/情感词的分布,P(Yt)是最终的词解码分布。请注意,这两个词汇表没有交集,并且最终分布P(Yt)是两个分布的连结。

损失函数

损失函数是训练语料库中预测的令牌分布Ot和黄金分布Pt之间的交叉熵误差。另外,我们应用了两个正则化项:一个在内部记忆模块上,强制内部情绪状态在解码结束时衰减到零,另一个在外部记忆网络上,限制对情感词或普通词的选择。

一个样本<X,Y>(X=x1,x2,.,xn,Y=y1,y2,.,ym)的损失定义为:

其中,是最后步骤m处的内部情感状态,α是选择情感词或通用词的概率,而qt∈{0,1}是Y中情绪词或通用词的真实选择。第二项用于监控选择情感词或通用词的概率。第三项用于确保一旦生成完成,内部情感状态已被完全表达。

数据准备

由于没有现成的数据来训练ECM,我们首先使用NLPCC情感分类数据集训练情感分类器,然后使用分类器对STC对话数据集(尚、鲁和李2015)进行标注,以构建我们自己的实验数据集。数据准备过程分为两个步骤:

1.构建情感分类器。我们在NLPCC数据集上训练了几个分类器,然后选择最好的分类器进行自动标注。该数据集被用于NLPCC2013和NLPCC2014中具有挑战性的情感分类任务,包含从微博收集的23105个句子。它被手动标注了8种情感类别:愤怒、厌恶、恐惧、快乐、喜欢、悲伤、惊讶和其他。去除不常见的类别(恐惧(1.5%)和惊讶(4.4%)),我们有六种情感类别,即愤怒、厌恶、高兴、喜欢、悲伤和其他。

然后,我们将NLPCC数据集按8:1:1的比例划分为训练集、验证集和测试集。在过滤后的数据集上训练了几个情感分类器,包括基于词典的分类器(Liu 2012)(我们使用了Xu等人的情感词典,2008),RNN(Mikolov等人,2010)LSTM(Hochreiter和Schmidhuber,1997年)和双向LSTM(Bi-LSTM)(Graves,Fernández和Schmidhuber,2005年)。表2中的结果表明,所有神经网络分类器的性能都优于基于词典的分类器,其中BiLSTM分类器获得了0.623的最佳准确率。

2.给STC数据集标注情感。我们使用最好的分类器Bi-LSTM对STC数据集进行了六种情感类别的标注。经过标注,我们得到了一个情感标注数据集,我们称之为情感化STC(ESTC)数据集。表3显示了ESTC数据集的统计数据。

尽管ESTC数据集的情感标签由于自动标注而存在噪声,但该数据集足以在实际应用中训练模型。在今后的工作中,我们将研究分类错误对回复生成的影响。

实验

实施细节

我们使用Tensorflow来实现提出的模型。编码器和解码器具有两层GRU结构,每层具有256个隐藏单元,并且分别使用不同的参数集。词嵌入大小设置为100。词汇量限制在40000个以内。情感类别的嵌入大小设置为100。内部记忆模块是大小为6×256的可训练矩阵,而外部记忆模块是包含通用词和情感词(但情感词具有不同标记)的40000个词的列表。为了产生多种回复,我们在解码过程中采用集束搜索,将beam大小设置为20,然后在去除包含UNKs、未知词的回复后,根据生成概率对回复重新排序。

我们采用小批量的随机梯度下降(SGD)算法。批次大小和学习率分别设置为128和0.5。为了加快训练过程,我们在STC数据集上训练了一个带有预训练词嵌入的seq2seq模型。然后,我们在ESTC数据集上使用由预先训练的seq2seq模型中的参数初始化参数来训练我们的模型。我们跑了20个epoch,每个模型的训练阶段在a Titan X GPU花了大约一周的时间。

基准

就像之前提到的,我们是第一项考虑到大规模对话生成中涉及情感因素的工作,我们没有找到非常密切相关的基准。Affect-LM(Ghosh等人,2017年)不能作为我们的基准,因为它不能对同一个POST产生不同情感的回复。相反,它只是简单地复制和使用输入POST的情感。此外,它严重依赖语言资源,需要手动调整参数。然而,我们还是选择了两条合适的基准:通用的seq2seq模型(Sutskever,Vinyals和Le 2014)和我们创建的情感类别嵌入模型(Emb),将情感类别嵌入到向量中,该向量作为每个解码位置的输入,类似于用户嵌入(Li等人,2016)的想法。由于情感类别是情感表达的高级抽象,这是我们模型一个合适基准。

自动评估

衡量标准:正如(Liu et al.,2016年)所述,BLEU不适合评估会话生成,因为它与人类判断的相关性较低。我们在内容层面(内容是否相关,是否符合语法)采用困惑度对模型进行评估。为了在情感层面对模型进行评价,我们采用情感准确度作为期望情感类别(作为模型的输入)与由情感分类器生成的回复的预测情感类别之间的一致性。

结果:结果如表4所示。

由此可见,ECM在情感准确度上取得了最好的表现,在困惑方面的表现好于Seq2Seq,但逊于Emb。这可能是因为ECM的损失函数不仅受困惑度的监督,在通用词或情感词的选择上也受到监督(见公式15)。在实践中,考虑到生成的句子困惑度为68.0时已经是流利的和语法性的,情感的准确度比困惑度更重要。

为了考察不同模块的影响,我们进行了消融实验,每次从ECM上取下三个模块中的一个。由此可见,ECM在没有外部记忆模块的情况下困惑度性能最佳。我们的模型通过引入内部记忆模块,动态地平衡语法和情感的权重,可以产生不损失语法性的回复。去除外部记忆模块后,情感准确度下降幅度最大,表明外部记忆模块对情感词的显性选择导致了较高的情感准确度。请注意,Seq2Seq的情感准确度非常低,因为它为不同的情感类别生成相同的回复。

手动评估

为了更好地从内容和情感方面了解生成的回复的质量,我们进行了人工评估。给出一个POST和一个情感类别,所有模型产生的回复都被随机化,并呈现给三个人类评估员。

衡量标准:评估员被要求根据内容(评级等级为0,1,2)和情感(评级等级为0,1)对回复进行评分,并说明任何两个系统之间的偏好。内容层面被定义为回复对于POST来说是否合适和自然,以及是否可能是由人产生的,这是研究人员和对话挑战任务采用的一个广泛接受的衡量标准,正如(尚福林,陆兆禧和李2015)中提出的那样。情感层面是指回复的情感表达是否符合给定的情感类别。

标注统计:我们从测试集中随机抽取了200个POST。对于每个模型,我们总共生成了1200个回复:对于Seq2Seq,我们生成了每个POST的前6个回复,而对于emb和ECM,我们生成了对应于6个情感类别的最好回复。

我们计算了Fleiss‘kappa系数(Fleiss 1971)来衡量评分者之间的一致性。Fleiss‘kappa系数(对内容和情感评分分别为0.441和0.757,分别表示“适度一致”和“基本一致”。

结果:结果如表6所示。ECM的所有选项在这两个指标上的表现都显著优于其他方法。

在加入内部记忆模块和外部记忆模块后,ECM在情感方面的性能比Emb有所提高,表明我们的模型可以生成更明确的情感表达。此外,在内容上的性能从Emb的1.256提高到ECM的1.299,这表明ECM能够控制情感和在内容上产生合适的回复之间的权重。

然而,ECM在厌恶和愤怒类别中基于内容的表现不如基准线,由于这两个类别没有足够的训练数据,例如,在我们的ESTC数据集中,愤怒类别有234635个回复,远远少于其他类别。

为了评估ECM是否能够生成兼顾内容和情感方面的合适回复,我们在表5中给出了同时考虑内容和情感得分的结果。

我们可以看到,在ECM产生的回复中,27.2%的内容得分为2,情感得分为1,而Emb只有22.8%,Seq2Seq只有9.0%。这表明ECM在内容和情感两个方面都能更好地产生高质量的回复。

偏好测试:此外,情绪模型(Emb和ECM)比Seq2Seq更受欢迎,而且ECM也明显优于其他方法(2-tailed t-test,,p<0.001),如表7所示。

与Seq2Seq模型生成的通用回复相比,多样化的情感回复对用户更具吸引力。而且,由于情感表达的明确性和内容的适当性,ECM更受青睐。

情感互动分析与案例研究

图5可视化了ESTC数据集中POST和回复的情感交互模式。

情感交互模式(EIP)被定义为<EP,ER>,即POST及其响应的情感类别对。EIP的值是条件概率P(Er|Ep)=P(Er,Ep)/P(Ep)。标记为深色的EP比标记为浅色的EIP出现频率更高。从这个图中,我们可以观察到一些情况。首先,频率高的EIP块表示在给定POST情感类别下有一些主要的回复情感。例如,当POST表达Happy时,回复的情绪通常是Like或Happy。其次,对角线图案表明情感的共情能力,这是一种常见的情感互动类型。第三,一个POST也有其他的EIP,这说明对话中的情感互动是相当多样的,正如前面所说的。注意,Other类比其他类具有更多的数据(参见表3),表示由于数据偏差和情感分类错误,EIP偏向该类(图5第一列)。我们在图4中给出了一些例子。可以看到,对于一个给定的POST,有多个情感类别适合其在对话中的回复。

Seq2Seq生成带有随机情感的回复。ECM可以根据每种情感类别产生情感回复。所有这些回复都适合POST,表明存在多个EIP,以及为什么应该将情感类别指定为我们系统的输入。我们可以看到,如果预先指定的情感类别和POST的情感属于频繁的EIP之一,ECM就可以产生适当的反应。颜色词表明ECM可以通过应用外部记忆模块来明确表达情感,在解码过程中可以选择通用(非情绪)词或情感词。对于图4最后两行所示的诸如<快乐,厌恶>和<快乐,愤怒>之类的低频EIP,是由于缺乏训练数据或情感分类器产生错误,导致产生不恰当的情感回复。

总结与未来工作

在本文中,我们提出了情感聊天机(ECM)来模拟大规模会话生成中的情感影响。提出了模拟情感因素的三种机制,即情感类别嵌入机制、内部情感记忆机制和外部记忆机制。客观评价和人工评价表明,ECM不仅在内容上能产生合适的回复,而且在情感方面也可以产生合适的回复。

在我们未来的工作中,我们将通过ECM探索情感交互:模型应该为回复决定最合适的情感类别,而不是指定一个情感类别。然而,这可能是具有挑战性的,因为这样的任务取决于主题、上下文或用户的情绪。

个人总结

论文研究背景情感的感知和表达是对话系统成功的关键因素。然而,到目前为止,这一问题还没有在大规模对话生成中得到研究。目前许多对话系统的回复情感都是未知的,且比较单调,降低了对话体验。

论文目标问题在大规模对话生成中考虑情感因素,生成兼顾内容和情感的恰当回复,,输入对话Post)和期望的情感,输出相应的回复

相关工作:这些工作主要受到心理学研究结果的启发,要么是基于规则的,要么局限于小数据,这使得它们很难应用于大规模对话生成。在文本生成过程中严重依赖于语言工具或定制化参数,无法模拟输入和回复之间的多轮情感互动,取而代之的是,生成的文本只是简单地延续了前导语境的情感。

核心想法:使用三种新机制来解决这一问题:(1)(emotion embed)通过嵌入情感类别来模拟情感表达的高层抽象;(2)(internal emotion memory)捕捉隐含的内部情感状态的变化;(3)(external emotion memory)使用带有外部情感词汇的显性情感表达。

具体做法:

Emotion category embedding

模拟情感表达的高级抽象

情感类别是情感表达的高级抽象,ECM将情感类别嵌入到解码器中,并将嵌入的情感类别反馈给解码器。

Internal Memory

捕捉隐含的内部情感状态的变化,平衡情感和语法

在解码过程开始之前,每个类别都有一个内在的情感状态;每一步情感状态都会衰减一定的量;一旦解码过程完成,情绪状态应该衰减到零,表明情感已经完全表达。

External Memory

使用带有外部情感词汇的显性情感表达

通过为情感词普通分配不同的生成概率来显式地对情感表达进行模,因此模型可以选择从情感词汇或通用词汇生成词用来计算下一个生成的词是情感词或非情感词的概率。

Baselines: seq2seq、Emb

实验结果:ECM的表现比seq2seq和Emb都好,可以生成兼顾内容和情感层面的回复。

总结:本文提出了情感聊天机(ECM)来模拟大规模会话生成中情感因素的影响。客观评价和人工评价表明,ECM不仅在内容上能产生合适的回复,而且在情感方面也可以产生合适的回复

未来工作:通过ECM探索情感交互,模型应该为回复决定最合适的情感类别,而不是指定一个情感类别

决定合适情感类别的方法:一种方法是赋予聊天机器人人格和一些背景知识。另一种方法是使用训练数据找到给定POST中情感最频繁的回复情感类别,将其作为回复情感。

思考:1.有情感的智能的对话系统是很必要的,可以针对不同的情感给出不同的回复2.没有指定情感的回复,情感应取决于主题上下文或用户的情感。3.每个人对文字的理解可能不一样,情感表达不够充分,可以考虑语音语气语调辅助机器表达。

参考:

https://zhuanlan.zhihu.com/p/47427827

https://blog.csdn.net/weixin_43722880/article/details/96099423?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://blog.csdn.net/lrt366/article/details/89927661?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://blog.csdn.net/Class_guy/article/details/85014371

Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory翻译+笔记相关推荐

  1. 生成对话的主题与个性化——【AAAI 2018】《Emotional Chatting Machine》

    重磅推荐专栏: <Transformers自然语言处理系列教程> 手把手带你深入实践Transformers,轻松构建属于自己的NLP智能应用! 情绪的感知与表达能力在对话领域中起到了至关 ...

  2. 《论文阅读》Commonsense Knowledge Aware Conversation Generation with Graph Attention

    <论文阅读>Commonsense Knowledge Aware Conversation Generation with Graph Attention 简介 论文试图解决什么问题? ...

  3. 【论文笔记】Commonsense Knowledge Aware Conversation Generation with Graph Attention

    Commonsense Knowledge Aware Conversation Generation with Graph Attention 文章目录 Commonsense Knowledge ...

  4. python is not recognized_'python' is not recognized as an internal or external command

    可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: So I have recently installed Python Version 2.7 ...

  5. AI:Algorithmia《2021 enterprise trends in machine learning 2021年机器学习的企业趋势》翻译与解读

    AI:Algorithmia<2021 enterprise trends in machine learning 2021年机器学习的企业趋势>翻译与解读 目录 <2021 ent ...

  6. 【Windows10下.sh文件的运行】‘bash’ is not recognized as an internal or external command

    问题描述 由于要下载数据集,需要在Win10下用bash指令. 但是在cmd直接运行,会出现'bash' is not recognized as an internal or external co ...

  7. Angular: ‘ng’ is not recognized as an internal or external command, operable program or batch file

    今天,安装好 Angular CLI 框架后出现无法识别 ng 命令的情况.在网上搜了一些解决方案进行尝试后解决了这个问题.这里我将解决方案进行了整理,希望对看到这篇文章的小伙伴有所帮助. 问题描述 ...

  8. ‘vue-cli-service‘ is not recognized as an internal or external command

    'vue-cli-service' is not recognized as an internal or external command 这个问题的解决方法. 1.在项目的根目录下直接运行npm ...

  9. internal 和 external

    除 public 和 private 属性之外,Solidity 还使用了另外两个描述函数可见性的修饰词:internal(内部) 和 external(外部). internal 和 private ...

最新文章

  1. 强烈推荐8款高质量的网站,可以解决很多问题
  2. 文本纠错与BERT的最新结合,Soft-Masked BERT
  3. Qt5.5.1移植到freescale imx6
  4. 使用beanUtils操纵javabean
  5. 03.body_search
  6. 关于shell脚本编程一些有用资源的小结
  7. 浪擎全融合灾备云获大数据安全领域最佳创新奖
  8. Runtime.getRuntime().exec()调用外部程序
  9. Redis基础(九)——发布与订阅
  10. python图案堆积_Python数据可视化,我是如何做出泡泡堆积关联图
  11. 数据库设计-视图与中间表的比较
  12. 978_使用emacs lisp安装emacs插件
  13. 【Proteus仿真】51单片机+TLC5615输出三角波
  14. java word 批注_Java 添加、回复、修改(替换)、删除Word批注
  15. 英文文献检索网站(转)
  16. 元宇宙游戏项目:Decentraland(治理通证:MANA)
  17. 触发器一(触发器简介)
  18. 企业网络安全防护概述
  19. 一个由于侵入框架引起的故障
  20. 配网自动化WEB服务器,嵌入式工业设备联网利器——超级网口K3 V2问世!

热门文章

  1. android 代码打开usb调试,Android手机USB调试在哪?安卓手机如何打开USB调试模式?...
  2. Thinkphp开发微信商城小程序源码拼团小程序源码带后台+前端小程序拼团源码仿拼多多
  3. android无法自动识别sim卡中短信中心号码(SMSC刷新error)的解决方法
  4. tp框架如何关掉错误提示信息
  5. 回归模型拟合效果的判断(一)
  6. Python 随机数与随机数种子
  7. 基于JAVA在线民宿预定系统计算机毕业设计源码+系统+lw文档+部署
  8. 设计规则之单一职责原则
  9. mysql查询字段是否递增连续_自增长字段值的连续递增实现
  10. CVPR2021:ST3D——Self-training for Unsupervised Domain Adaptation on 3D Object Detection详解