基于深度学习的生成式聊天机器人算法综述

2018-11-26 09:33孙立茹余华云
电脑知识与技术 2018年23期
关键词:深度学习

孙立茹 余华云

摘要:随着深度学习算法的发展,聊天机器人也迎来了发展的黄金时期,本文主要研究的是生成式聊天机器人,这种方式区别于检索式的聊天机器人,使得聊天机器人的迁移性与泛化性更佳。具有非常广阔的应用场景。本文首先对生成式聊天机器人领域主流框架进行实验,在此基础上加入attention注意力模型机制来提高生成效果,为了避免大量的无意义的安全回复,又采用强化学习评估对话的未来奖励,保证对话的自然流畅。

关键词:深度学习;聊天机器人;强化学习

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2018)23-0227-02

聊天机器人思想出现是从20世纪70年代,当时称为专家系统,由庞大的知识库构建而成。随着2015年人工智能技术的飞速发展,把深度学习模型应用到自然语言处理领域取得了很好的效果,成为近几年来了热门研究方向。聊天机器人分为两种方式,检索和生成两种方式。生成式聊天机器人与原来的检索不同,是指在人与机器进行对话时,机器自动组织语言回复。聊天机器人在未来有广阔的应用前景。但是目前聊天对话有很多不完善的地方,比如对话过程中容易产生安全回答,前后信息不一致以及容易使聊天陷入僵局等情况。在文章中我们会简单介绍生成式聊天机器人中所涉及的几种算法。

1 基于RNN的seq2seq模型

目前在深度学习模型中,循环神经网络(RNN)在自然语言处理领域中应用越来越广。但是因为RNN有一定局限性,一些学者在原来模型的基础上进行了改进,也就是LSTM和GRU模型。在对话模型中,我们需要对输入的文本进行处理,输入的文本信息转化成向量形式是最常见的方法,以向量形式输入到所选的深度模型中进行训练。在对话任务中,所选用的框架是seq2seq模型,这个框架一开始在自然语言处理领域中的翻译系统上取得了较好的效果,在聊天机器人的对话模型中,也取得了比较好的效果。Bahdanau等人后来在原来的深度框架模型上添加了attention机制,解决了循环神经网络中信息丢失的问题。

1.1 聊天机器人中的关键算法

在研究聊天机器人对话中,我们首先需要对输入的文本信息进行处理。一般是做向量化处理也就是将文本内容上下文信息用向量来表示。将文本信息转化成向量格式有两种方法:一种是文本分布式,另一种是文本向量空间模型(VSM)。词嵌入(Word Embedding)属于文本分布式中的一个方法也是文本处理的主流方式,指将文本信息映射到向量中,根据向量间的距离判断词语是否相近。

RNN主要解决的是序列问题,也就是当前的输出不仅与当前时刻的输入有关还与前一时刻的输出有关,这就构成了前后词之间的关联。所以非常适合來解决文本处理的问题。但是RNN网络也存在诸多难以解决的问题,比如说数据集太大,训练难度会增加,容易产生的梯度消失和梯度爆炸的问题。在此基础上一些学者设计出了RNN两个变种LSTM(Long Short Term Memory Network) 和GRU(Gated Recurrent Unit Network)。

LSTM和GRU与RNN的不同在于神经网络层中隐藏层设计的不同,因为LSTM带有记忆特性,所以能解决RNN中的长距离问题。另外GRU在隐藏层上做出了改进,主要是对前面状态中信息进行加权计算,离当前时刻越近的信息权值越大。另外在训练过程中,为了减少数据量少而引起的过拟合,所以在模型中引入了Drop out机制。Drop out指在训练过程中,去掉神经网络单元中某些单元,简化模型的结构,进而可以增强模型的泛化能力

1.2 seq2seq 模型框架

seq2seq模型也称为序列到序列模型,因为在翻译系统中取得了不错的效果,随后应用到聊天机器人中。seq2seq模型有两部分构成:编码器和解码器,引入到聊天机器人任务中,定义编码器对应的是问句,解码器对应的是回复的语句。

从理论上讲seq2seq模型表现很好,但是在实际场景中训练数据效果不好。Bahdanau等人把注意力机制运用到了对话生成中,对于循环神经网络中随时间增长信息丢失的问题有了很好的解决方法,也提升了整个系统的效果。attention机制思想是编码器中输入词映射到解码器中对每个词都是有影响的,只是概率分布不同。

2 基于深度强化学习的对话模型

Alphago证实了强化学习技术的成功,也推动了强化学习技术在自然语言处理领域的发展。强化学习中智能体与环境进行交互,根据系统提前定义的奖励函数来判定智能体的行为是否合适。系统会给出一定的奖励或惩罚,最终目标是奖励函数最大化。

2.1 奖励函数简介

在智能聊天机器人对话系统中,强化学习模型所代表的含义是利用两个机器人不断的对话来模拟智能体与环境的交互过程,最后训练出我们想要的效果。马尔科夫决策过程包括动作,状态,策略,奖励函数等几个要素。其中奖励函数作为目标函数是最重要的因素。当每次都出现无意义的回答时,我们将给出惩罚。最后我们希望对话过程中所给的回答是有效的,并且在生成的语句中更多的是有意义的回复,保证对话的流畅性。

我们可以自由设定聊天机器人中的奖励函数,第一个奖励函数可以定义为让对话产生新的信息。第二个奖励函数设定为问题与答案的相关度。第三个奖励函数设定为回答的语句中带有情绪的词语。第四个奖励函数设定为回答文本中不带有尴尬的词语出现,避免聊天陷入僵局。最后对几个奖励函数进行加权求和,奖励函数最大时对应的模型就是我们想要的模型。

3 总结

本文介绍了生成式聊天机器人中的主流算法模型,通过对算法的优化希望与聊天机器人对话语句更加的自然顺畅。我们首先介绍循环神经网络,然后简单说明seq2seq模型与attention机制的思想。由于聊天机器人经常给出一些安全回复,容易使对话陷入僵局,因此后来把强化学习算法引入到聊天机器人对话生成中。在一定程度上可以提升对话的流畅性。在未来的发展中,我们希望聊天机器人还拥有自己的情商,使生成语句更加自然顺畅并保持前后一致。

参考文献:

[1] Vinyals O, Le Q. A neural conversational model[J].arXiv preprint arXiv:1506.05869,2015.

[2] Guo H. Generating text with deep reinforcement learning[J].arXiv preprint arXiv:1510.09202,2015.

[3] Li J,Monroe W,Ritter A, et al. Deep reinforcement learning for dialogue generation[J].arXiv preprint arXiv:1606.01541,2016.

[4] Van Hasselt H,Guez A, Silver D. Deep Reinforcement Learning with Double Q-Learning[C]//AAAI.2016:2094-2100.

[5] Cuayahuitl H. Simpleds: A simple deep reinforcement learning dialogue system[M]//Dialogues with Social Robots. Springer Singapore, 2017:109-118

[6] Lison P. Model-based bayesian reinforcement learning for dialogue management[J]. arXiv preprint arXiv:1304.1819,2013.

[7] 曹东岩.基于强化学习的开放领域聊天机器人对话生成算法[D].哈尔滨:哈尔滨工业大学,2017.

【通联编辑:唐一东】

猜你喜欢
深度学习
从合坐走向合学:浅议新学习模式的构建
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
构建“单元整合、主题牵引”诗歌鉴赏“深度学习”课堂的策略