基于生成对抗网络的人机对话情感回复文本生成探讨

发布时间:2021-10-15 19:24:50 论文编辑:vicky
本文对于情感对话研究工作尽管取得一定的进步,但有需要完善的地方,研究中只是通过指定一个情感标签,使系统生成带有带情感色彩的回复,不能完全表达出情感信息,同时,在回复时指定情感类别的方法在实际生活中,并不能覆盖所有情况,对话是一个持续进行的过程,而不是只执行一次就结束,在交互中,情感是会发生变化的,在今后的工作中,可以从以下方面探讨情感对话的生成。

第一章 绪论

1.1 研究的背景和意义
人机对话并非是一个新概念,一直以来,人们都希望机器人可以理解用户的问句,生成自然多样的回复,通过对话的形式完成人机交互。早在 20 世纪 50 年代,图灵就已经提出了机器是否具有智能的判断标准,参与测试的人在事先没有准备的情况下和机器对话,若有超过 30%的被测人员无法确定与之对话的是人还是机器,那么认为参与测试的机器可以通过测试且具有人类智慧[1]。在此之后,越来越多的学者开始在人机对话系统进行探索,并研发出早期的人机对话系统[2-5]。比较著名的有,世界上第一款人机对话系统 ELIZA 聊天机器人[2],可以通过关键词匹配,应用规则生成回复,是具有重要意义的一步,之后,聊天机器人 ALICE 被 Richard Wallace 通过利用模式匹配研发出现[5],在当时被称作是“世界上最像人的机器人”,然而仍未通过图灵测试,只需几轮简单的对话,就可以确定它的真实身份。这些早期的人机对话系统取得了一定的进步,但主要是通过规则或者匹配预先设定的模板来实现,无法覆盖用户的所有输入,只可以在某一固定领域能够实现与人交互,可移植性较差。
近几年来,伴随深度学习技术的持续创新与突破,人工智能再一次走进人们的视野,成为人们关注的焦点,研究者开始尝试用深度学习的技术生成对话,从海量的信息中提取用户需要的信息,相对于传统的搜索方式,聊天机器人能够根据用户输入直接给出答案,避免传统搜索方法返回信息过多的弊端,更加注重机器与人交互的粘性,使对话能够持续不断地进行,具有更好的交互效果[6]。当下,随着社交平台的发展,生成了大量的短文本数据,可以为基于深度学习的对话生成研究积累丰富的语料。
聊天机器人作为一种具有良好的人机交互性的产品,可以提高效率,更加方便的完成某一任务,基于用户的不同使用需求,聊天机器人在功能上大体主要分为两类,任务型对话与闲聊式对话[7]。任务型对话需要根据对话历史以及结合外部知识库,对用户提出的问题,完成答复。比如生活中常用的京东智能客服以及车载导航等,人们只需通过自然语言下达一个简单的指令,机器就可以帮助人们完成购物、规划路线等任务。闲聊式对话多用于社交机器人中,比如微软小冰,对话主题多样,系统扮演的角色更加接近于人,对于用户输入的任意文本,系统都能给出合适的回复,实现用户陪伴、心灵安抚等。
.............................

1.2 国内外研究现状及分析
人机对话作为一种新型交互方式,近年来随着深度学习技术的进步,正逐渐走入人们的实际生活中,如天猫精灵和个人助理等等。用户可以直接通过对话表达自己的想法,系统会自动理解用户的输入,辅助人们完成任务的处理。同时人们希望机器可以识别对话中的情感,在生成对话回复时表达情感,促进对话的发展。
1.2.1 对话系统研究现状
通过实现方法,可以将对话模型分为三大类,分别为基于人工模板定制的或规则的对话模型[9-10]、基于检索的对话模型[11-12]以及基于深度学习的对话模型[14-17]。
基于人工模板或规则的方法会根据任务制作回复规则,回复时通过匹配用户输入,结合预先准备的回复模板,给出完整回复。该方法在一些特定的数据集上会有很好的表现,产生的回复句子语义通顺,不会发生语法或其它错误。例如,ELIZA 是典型的基于规则的聊天机器人之一,被用来辅助医生进行疾病诊断,利用关键字匹配用户输入的问题,通过提前准备的规则填充具体参数,对用户的问题进行回复,是对话系统的简单实现。但随着业务变得更加复杂,需要指定的模板逐渐增加,人力物力消费量过大、致使其可扩展性不足、缺乏新颖性,在实际应用中,由于人类的对话的内容及表达形式构成多样,仅基于人工预先设定的模板及规则无法完全覆盖。
基于检索的方法其实就是计算输入与语料库中语句的相似度,首先将输入的用户对话及语料库中的候选语句分别表示为向量,并计算两个向量的相似程度,然后运用排序算法选择与用户输入的对话匹配分数最高的候选语句作为最终回复。Lu 和 Li 等人[16]。通过对话文本语料训练 LDA 主题模型,得到对话语句的主题词,计算文本的共现情况得到匹配分数,通过排序选择输出。文献[17]对上述模型进行了改进,运用CNN 网络把输入和回复的文本转化为隐语义向量,将其输入到 Softmax 函数得到相似度分数。Wang 等人[18]将依存句法用于文本匹配,进行对话上下文信息的匹配。Wu等人[19]提出主题增强模型[20],将消息向量,响应向量和主题向量馈送到匹配层,以计算消息和回复之间的匹配分数,提高回复语句的多样性。随着人工智能的技术不断成熟,研究者们开始利用深度学习的技术计算对话输入与候选语料的匹配程度,大幅度提升了回复相关性。基于检索得到的回复实质上是在真实对话语料中选择的结果,内容和流畅性表现都很好,不会出现病句。但不会生成新的回复,一旦遇到新问题时,模型生成的回复可能偏离主题。
................................

第二章 相关理论与技术介绍

2.1 词语向量化表示
利用深度学习处理视觉图像任务是相对简单的,图像是由一个像素点矩阵组成的,计算机可以直接识别计算这种向量形式的数据,而文本是由多个词组合构成的序列,不能直接被机器识别,需要将其转化为向量进行表示。因此,在自然语言处理任务中,数据预处理阶段需要对文本序列分词,然后进行向量化表示,才能使机器识别并进一步完成计算操作,从而可以将自然语言理解任务转换为机器学习的问题。
基于分布式的向量表示方法、基于文本向量空间模型是当前两种常用文本向量化的方法。
2.1.1 词的独热表示
独热编码(One-hot Representation)是较为简便的文本向量化方式,该方法通过构建词典的方式,为词典中每一个词赋予一个编号,这样,每个单词都为一个固定维度的向量,向量的长度代表单词的大小。用独热编码进行文本向量化时只有单词对应的位置数值为 1,其余项都为 0,比如
“桌子”表示为[0 0 0 0 0 1 0 0 0]
“大海”表示为[0 1 0 0 0 0 0 0 0]
这种表示方式虽然简单有效,但显然存在很多不足,随着应用的扩展,词典中的词会逐渐增加,相对应地词向量的维度也会越来越大,表示过于稀疏,将带来维度灾难问题。而且要扩展新词也比较麻烦,同时这种表示任意两个词向量内积都为 0,词与词是没有联系的。因此 one-hot 编码不能很好地刻画词与词之间的语义关系,无法体现词与词之间的联系和差异。
................................

2.2 主要神经网络介绍
2.2.1 卷积神经网络简介
卷积神经网络(Convolutional Neural Network,CNN)[41]受人类视觉系统启发而设计,是一种特殊的前馈神经网络。1998 年,Yann LeCun 等人[42]首次在 MNIST 数字手写体识别任务中运用 CNN,正确率超过了 99%。受此启发,越来越多的研究人员开始使用它进行图像分类,在 ImageNet 数据集上通过 CNN 网络识别的正确率竟然可以超过人类。鉴于 CNN 在图像分类、图像分割等领域上的突破,有越来越多的学者尝试将它应用于情感分类[43]、机器翻译[44]、对话系统[45]等 NLP 领域。
CNN 通常由输入层(Input Layer)、卷积层(Convolutional Layer)、池化层(PoolingLayer)、非线性层(Re LU Layer)、全连接层(Fully Connected Layer)组成,可以看作一个多层感知器,取得成功的关键是采用局部连接(Local Connection)和权值共享(Weigh Sharing)的方式,简化模型的复杂度,使得网络易于优化,以下是每层的介绍。
(1)输入层用于数据的输入,并对原始输入数据进行标准化处理。例如图像分类任务,图像是由一系列的像素组成的,在输入层中首先将输入的图像数据以向量的形式表示,然后对其进行特征标准化处理,经处理的图像数据特性符合标准正态分布,即所有数据均具有零均值和单位方差。
(2)卷积层作为卷积神经网络中的核心层,其作用主要在于特征提取及映射,滤波器对输入的数据进行卷积计算,进而提取特征。卷积层的一个重要特征是局部连接,就识别图片来说,其识别过程与人类识别图片的过程相似,人类在对一张图片进行信息提取时,通常首先对图片进行局部感知,而不是直接识别整张图,然后再将感知到的图片局部信息进行整合,从而获得全图信息。权值共享是卷积层另一个重要特征,过滤器的参数是恒定的,其在对图像信息进行处理时,模型的运算量及复杂度有效降低,进而减少模型过拟合的可能性。
(3)非线性层的作用将卷积层的输出结果进行非线性运算,增强模型的表达能力。图 2-4 展示了常见的激活函数。目前在卷积神经网络中常把 ReLU 函数作为激活函数,从图中可以看出,该函数作为一个分段线性函数,如果输入是正值,则不会改变,如果输入值为负时,则输出结果为 0,表示神经元不会被激活,将该特征丢弃,使得网络很稀疏,进而减少计算量。
图 2-4 神经网络中常用的激活函数
图 2-4 神经网络中常用的激活函数
......................

第三章 基于 RNN 的 Seq2Seq 对话生成.....................................21
3.1 基于 RNN 的对话生成.........................................21
3.2 情感对话的任务描述.............................. 25
第四章 基于生成对抗网络的情感对话生成............................... 33
4.1 基于生成对抗网络的对话生成................................... 33
4.2 基于生成对抗网络的情感回复生成................................. 34
第五章 总结与展望...................................... 47
5.1 总结................................................. 47
5.2 展望....................................... 47

第四章 基于生成对抗网络的情感对话生成

4.1 基于生成对抗网络的对话生成
GAN 自被提出以来,因其具有更好的泛化和学习能力,可以拟合更加抽象的特征,且框架非常灵活,损失函数可以根据不同的任务设计并整合到 GAN 模型当中进行学习和优化,备受研究者的喜爱,并取得了不错的进展。
基础的生成对抗网络对话生成模型,包括一个生成模型和一个判别模型,生成模型采用循环神经网络及其变体,判别模型本质上是一个二分类器,可以区分输入的对话文本是由模型生成的还是在数据集中采样的真实对话。然而,大多研究都旨在用GAN 生成文本回复,未考虑情感信息,因此,本章将探索如何用 GAN 生成带情感的回复。
在第 3.3 节中,尝试通过直接加入情感标签的方法可以使模型生成具有某类情感的回复语句,但生成文本的多样性和情感准确度表现的并不是很理想,而且情感信息表达很弱。为了进一步提高人机交互的体验感,增强对话生成模型的情感表达能力和减少“通用回复”的生成,提高语句的多样性,本章提出了基于生成对抗网络的多分类器情感对话生成模型 EC-GAN(emotional conversation based on generative adversarialnetwork)。
图 4-1 EC-GAN 的整体框架
图 4-1 EC-GAN 的整体框架
..............................

第五章 总结与展望

5.1 总结
人机对话作为人工智能领域的一个研究热点,旨在通过自然语言与机器完成交互,根据用户输入生成贴近真实对话回复。本文分析了当前聊天机器人的发展现状,发现目前的人机对话系统中,缺乏对情感的感知和表达,交互过程中用户体验效果很差,容易导致对话终止。实际上,人们在对话交流中往往伴随着情感的表达,交互中发挥着不可替代的作用。研究情感在人机对话中的生成表达,使生成的句子不仅能够在内容上做出回复,同时包含情感色彩,可以使人机交互更加自然。
针对目前对话生成缺乏对情感信息的利用,提出在基于 RNN 的 Seq2Seq 对话生成方法中嵌入情感信息。对比了 LSTM 和 GRU 对实验结果的影响,发现在 XHJ 数据集上,LSTM 比 GRU 生成回复的效果稍微强一点。另外还引入注意力机制以及改用Beam Search 搜索算法,提高回复语句的质量,并在此基础上分别在编码器或解码器注入情感向量,对比不同的情感嵌入方式对情感表达的影响,模型在解码时注入情感向量效果更好,可以生成带情感的文本回复。
针对目前生成回复容易出现“安全回复”以及情感信息表达弱的问题,提出基于生成对抗网络的情感对话模型 EC-GAN,在基础生成对抗网络上,添加了情感判别器和内容判别器,生成器基于基本 Seq2Seq 文本生成模型的对话文本生成模型,根据用户输入和指定的情感类别,生成合适的回复,同时带有指定类别的情感色彩;判别模型分为基本判别器、内容判别器和情感判别器,基本判别器区分回复是模型生成的还是数据集中采样得到,参与模型的对抗训练过程;情感判别器区分生成的回复文本的情感类别与指定的情感类别是否相同,内容判别器将生成的回复与数据集中对应的真实回复距离最小化,反馈到生成器指导生成回复,在 NLPCC 2017 Shared Task 4 的对话数据集上,可以避免“安全回复”的生成,情感表达更强烈,进而提高人机交互的体验感。
参考文献(略)