对话系统学习笔记(3)

对话系统学习笔记(3)–Deep Reinforcement Learning for Dialogue Generation

此篇文章是李纪为博士于EMNLP_2016发表的一篇有关于增强对话的多样性,一致性,和持续性的文章。
首先,对于传统的Sequence-to-Sequence模型存在以下问题:

  • 模型在decode时采用的方法是用MLE来进行评价,产生的结果是dull response,无意义
  • 由于没有考虑上下文,会产生死循环

针对以上问题,作者提出了以下方案:

  • 提出新的reward函数来代替MLE方法
  • 建立长期依赖关系

模型建立

该模型依旧使用LSTM encoder-decoder模型,不同之处在与使用了两个机器人进行对话:
在这里插入图片描述该系统包含两个机器人,用 p 表示第一个机器人生成的句子,用 q 表示第二个机器人生成的句子。

reward函数定义

Action:a 是产生的响应,生成的句子可以是任意长度。
State:上一轮两个机器人的对话 [pi,qi]。对话历史通过将 pi 和 qi
拼接起来,利用 LSTM 编码。
Policy:指给定 State 之后各个 Action 的概率分布,也就是 pRL(pi+1|pi,qi)

1. 避免无聊响应
作者给出的函数为:
在这里插入图片描述
其中,S是建立好的无聊响应的response集和,Ns是回答S中无聊响应的个数,响应a为输入时模型输出s的概率,本文设计了8个常见的dull utterance作为整体使用的dull utterance集合。作者在实验中证明,由于dull utterance之间彼此表示接近,所以仅仅使用集合中的8个,效果就能够覆盖得很好。在计算过程中,由于p小于1,所以整体r1大于0。
2.避免重复回答
函数为:
在这里插入图片描述
h代表的是相近两轮对话的代表值。cos是对话的相似度,r2也为正值。
3.避免高reward回答
函数为:
在这里插入图片描述
r3的目的是避免只产生高reward回答而舍弃了对话的连贯性。该函数分为两部分,第一部分是基于上文产生a的概率,第二部分是对a产生q的反向预测。反向的seq2seq是使用source和target反过来训练的另外一个模型,这样做的目的是为了提高q和a之间的相互关系。
最终函数为:
在这里插入图片描述
最终的 reward 由这三部分加权得到。
实验评测

1.两个自动评测:(1)对话长度(2)对话多样性;
2.人工评测。

对于对话长度,当出现无聊响应或对话重复率较高时就结束:
在这里插入图片描述
对于对话多样性,使用unigrams、bigrams元组的数量和多样性来进行评测:
在这里插入图片描述

总结

在实验的评测中没有采用使用比较广泛的BLUE指标,其实在论文中作者也提到了由于RL模型是基于未来的奖励而不是MLE,所以基于RL的模型实现的BLUE评分会更低也就不足为奇,因此在使用MLE算法的基础上提升对话的质量是值得思考的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值