一、如何定义一个好的对话
尽管SEQ2SEQ模式在对话生成方面取得了成功,但仍出现了两个问题(图1):
-
通过使用最大似然估计(MLE)目标函数预测给定会话上下文中的下一个对话转角来训练SEQ2SEQ模型。SEQ2SEQ模型倾向于生成概率较大、高度通用的回答,比如“我不知道”,而不管输入是什么。然而,“我不知道”显然不是一个好的行动,因为它结束了谈话。
-
系统被困在一个无限循环的重复响应中。

好的对话应当是前瞻性的或互动性的,信息丰富,连贯一致。因此,我们的目标是整合SEQ2SEQ和强化学习,同时利用两者的优势。实验结果(表1右侧面板的抽样结果)表明,对比使用MLE目标函数训练的标准SEQ2SEQ模型,我们的方法促进了更持久的对话(图2)。

二、开放领域对话中的强化学习
在这一部分中,我们详细描述了所提出的RL模型的组成部分。
学习系统由两个agents组成。我们使用p来表示从第一个agent生成的句子,使用q表示来自第二个agent的句子,两个agents轮流交谈。一个对话可以表示为由两个agents生成的句子的交替序列:。
作者对网络参数进行了优化,以便使用策略搜索最大限度地实现预期的未来回报。Policy gradient方法比Q-learning方法更适合我们的场景。因为在改变目标和调整策略以实现长期奖励最大化之前,我们可以使用已经产生合理响应的MLE参数初始化编码器-解码器 RNN。而Q-learning直接估计每项行动的未来预期回报,这可能与MLE目标相差数量级,因此使MLE参数不适合初始化。
Action
动作 a 就是生成的对话语句,且a是无限的,因为可以生成任意长度的序列。
State
先前的两个对话回合表示状态。通过将
喂给LSTM编码器模型,对话历史将进一步转换为向量表示。
Policy
策略采用LSTM编解码器的形式(即),并由其参数定义。注意,我们使用策略的随机表示(对给定状态的动作的概率分布)。确定性的策略会导致一个不连续的目标,很难使用基于梯度的方法进行优化。
Reward
r 表示每项行动所获得的奖励。在本小节中,我们将讨论有助于对话成功的主要因素,并描述如何在可计算的奖励函数中对这些因素进行近似操作。
-
Ease of answering
这部分的奖励函数如下:
Note:S——包含8个回合的迟钝响应列表,例如: “I don’t know what you are talking about”,“I have no idea”等(这是在SEQ2SEQ对话模型中经常出现的情况)
——迟钝回复s出现的次数
——SEQ2SEQ模型的似然输出
-
Information Flow
我们希望每个代理提供新的信息在每一个回合