构建一个回复多样性的开放型对话系统模型,以尝试解决对话系统在回复过程中回答单调的问题。提出一种融合双向长短期记忆神经网络和强化学习模型的生成式对话方法。首先,采用多种类型过滤器对语料库进行预处理,使对话语料库能够被多样化探索到;其次,为了增加对话系统回复的多样性,采用多样性集束搜索作为解码器;最终,在微调模型阶段采用自评序列训练方法削减REINFORCE算法策略梯度的高方差现象。所提方法比Srinivasan等人的方法在BLUE、ROUGE-L、Perplexity分别增长了10.5%,9%和5%,模型的训练时间比原来缩短了43%。部分类型语料数量较少,所以对话系统在这方面的话题相对缺乏。传统的网络架构融合强化学习方法,能够有效地使对话系统产生极具价值意义的回复。
随着大数据和深度学习技术的发展,创建智能对话系统不再是一个只会出现在电影里面的幻想[1]。
对话系统根据模式可以分为检索式对话系统和生成式对话系统。与检索式对话系统不同,生成式对话系统通常使用基于神经网络的生成模型逐字生成回复。对话系统场景可以建模成为马尔可夫决策过程,恰巧强化学习也是在马尔可夫决策过程基础上发展起来的,所以用强化学习解决对话系统场景有着天然的优势。
这种方法有时候也会出现一些问题, 对话系统的目标是找到一个令人满意的对话策略, 但是探索、测试和评估策略都极其耗时;模型在训练时缺乏对用户谈话风格的关注,有时候会故意转移话题,从而使模型更加以自我为中心[2]。
本文提出一种融合Bi-LSTM 和强化学习的对话系统模型。首先,针对强化学习探索、测试和评估策略耗时问题,提出了一种数据处理方法,对复杂的语料库进行了多次过滤整理。我们认为从多角度探索数据集可以高效、快速地使模型收敛。其次,针对对话系统有时候说话喜欢以自我为中心的问题,选择将[3]中的内部奖励信息流替换为情商,意在生成与之前输入具有相同情感基调的语言。最后,用REINFORCE 算法和自评序列训练方法替换[3] [4]中的策略梯度算法[5], 从而对网络参数起到更好的优化效果。
2. 对话系统模型 生成式对话系统模型利用双向LSTM 神经网络模型对输入文本进行情感分类,考虑到SEQ2SEQ 模型很容易出现通用性、安全性的回复,需要通过DBS 算法挑选可能性回复,进而通过强化学习系统对SEQ2SEQ 模型不断地进行优化[6]。如图1 所示,该模型框架主要包括以下几个子模块:数据集探索、双向LSTM、多样性集束搜索、强化学习系统。
2.1. 多样性集束搜索 在每个时刻输出中,保存前K 个概率最大的候选序列,其余全部舍弃掉,这样就能减少搜索空间, 提高搜索效率[7] [8]。但是BS 有个最大的问题是其输出的K 个句子之间差异性很小,这样会造成计算资源的浪费, 并且不能体现实际语言的多样性。
基本上相同的计算被重复, 性能没有显著提高。
除此之外,