论文:Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory

原文链接:pdfs.semanticscholar.org

来源:AAAI 2018

问题介绍

情感的感知和表达是对话系统成功的关键因素。 但是,迄今为止这个问题还没有在大规模的转换生成中进行过研究,而人类认知行为的一个主要部分就是理解并表达情感。 在本文中,我们提出的情感聊天机(ECM)不仅可以在内容(相关性和语法)上产生适当的回答,还可以加上情感因子使机器更加人性化。 例如:

模型介绍

1、参数说明和模型框架

  • 输入:输入句子X=left( x_1, x_2, cdot cdot cdot , x_n
ight)
  • 情感词:用e表示某种情感,共有5种情感{ Anger, Disgust, Happiness, Like, Sadness, }。每个句子的情感类别使用情感分类模型预处理得到的。

输出:应答句子Y=left( y_1, y_2, cdot cdot cdot , y_m
ight)

模型框架如下,可以分为两个大的部分:基于GRU模型结合Attention机制的Encoder-Decoder模型和情感模型。这两个模型密不可分,情感模型的输出是Decoder的输入,同时Decoder的输出也是情感模型的输入,最终Encoder-Decoder和情感模型的输出联合生成最终应答句子。

2.情感模块

本文的主要工作就是在seq2seq的模型中加入了感情模块,分为三个部分:

情感Embedding模块,内部记忆模块,外部记忆模块;

情感Embedding模块:将情感类别和Encoder的输出一起输入到Decoder中;

内部记忆模块:

目的是在decoding的过程中,抓住情感状态的动态变化;

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

意思是当机器准备生成第t个应答词,有多大概率使用当前状态的情感状态M^{I}_{e,t},并更新下一时刻(t+1)的情感状态。公式如下:

gate g^r_t可以理解成生成第t个词时考虑情感状态的概率,而gate g^w_t则可以理解为更新情感状态的概率

因为gate g^r_t中有sigmoid,而且是元素相乘,相当于一个delet的操作;

外部记忆模块

在内部记忆模块中,内部情感状态的变化与词的选择之间的相关性是隐含的而不是直接可观察的,所以用一个外部记忆模块显式的考虑情感(用包含情感的词),首先根据当前的隐含情感状态选择情感词并根据当前Decoder输出的隐含状态选择其他非情感词,最终生成应答词。

3.LOSS

用的交叉熵加上内部和外部情感模块的正则;

实验结果

数据集:NLPCC 2013&2014,是关于情感分类的数据集,包括23,105个句子和8种情感词 {Anger, Disgust, Fear, Happiness, Like, Sadness, Surprise, and Other}。

结果:

在情感转换的正确率上是最好的,在复杂度上没有最后一个好。

总结

本文思路比较新颖,在大规模对话生成中引入情感,用了三个独特的感情模块模拟人情感的表达,取得了很好的效果。

推荐阅读:

相关文章