End-to-End Reinforcement Learning of Dialogue Agents for Information Access

作者

Bhuwan Dhingra, Lihong Li, Xiujun Li, Jianfeng Gao, Yun-Nung Chen, Faisal Ahmed, Li Deng

单位

School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, USA
Microsoft Research, Redmond, WA, USA
National Taiwan University, Taipei, Taiwan

关键词

Dialogue Agent, Reinforcement Learning

问题

用强化学习构造一个端到端的任务驱动的基于知识图谱的对话系统。

模型

一个任务驱动的对话系统,一般通过自然语言与用户进行多轮交流,帮助用户解决一些特定问题,例如订机票或检索数据库等。一般由下面四部分组成:

  • Language Understanding Module(LU): 理解用户意图并提取相关slots。例如用户想找一部电影,那么就需要提取出电影名称,演员,上映时间等相关slots信息。
  • Dialogue State Tracker: 追踪用户的目标和对话的历史信息。
  • Dialogue Policy: 基于当前状态选择系统的下一步action, 例如向用户询问电影上映时间的action是request(year)。
  • Natural Language Generator(NLG):将系统的action转化成自然语言文本。例如将request(year) 转换成:电影什么时候上映的?

在Dialogue Policy这一步,传统方法一般是生成一个类似SQL的查询语句,从数据库中检索答案,但是这会使模型不可微从而只能分开训练。本文使用了基于概率的框架,因此是可微的,从而实现了端到端的训练过程。

论文中用到的数据库,是来自IMDB的电影数据库。每一行代表一部电影,每一列是一个slot,信息有可能存在缺失。
这里写图片描述

整体框架如下图:
这里写图片描述
下面分别介绍各个部分:

Feature Extractor
将用户每轮的输入文本转化成一个向量,这里使用了ngram词袋模型(n=2)。

Belief Trackers
用于追踪对话状态和历史信息。

这里针对每一列的slot,分别有一个belief tracker。每个belief tracker的输入是从feature extractor得到的向量,用GRU处理以后,得到一个状态向量。根据这个状态向量,分别计算得到两个输出: pjqj

pj 是当前slot下所有值的概率分布, qj 是用户不知道这个slot值的概率。

因为在和用户交互的过程中,应当尽可能询问用户知道的信息,询问用户不知道的信息对后面的查询没有任何意义。

Soft-KB Lookup
根据Belief Trackers的输出,计算数据库中每个值的概率分布。

Beliefs Summary
由Belief Trackers和Soft-KB Lookup,可以得到当前的对话状态向量st。st向量包含了数据库中所有值的概率分布户是否知识等信息,实在是太大了,直接送给Policy Network会导致其参数过多,难以训练。因此这一步把slot-values转化成了加权的熵统计信息。

Policy Network
这里使用策略网络,根据Beliefs Summary的输入状态向量,来输出各个action的概率分布π。具体结构是GRU+全连接层+softmax的方式。

Action Selection
这里从策略分布π采样,得到下一步的action。如果action是inform(),说明到了对话的最后一步,需要给用户返回Top k的查询结果。这里按照Soft-KB Lookup步骤中得到的每一行电影的概率,进行采样来返回Top K候选。

NLG
这里的NLG部分和上面是独立的,使用了sequence-to-sequence模型,输入action,输出包含slot的对话模板,然后进行填充,得到自然语言文本。

训练

这里用的基于策略梯度的强化学习模型进行训练,目标是最大化reward的期望。最后一轮inform部分的reward是由正确答案在Top K候选中的排序位置决定,排序越靠前,reward越高。如果候选没有包含正确答案,那么reward是-1。

对话交互训练数据是通过一个模拟器从电影数据中采样生成得到。

Baselines
  • End2End-RL:本文提出的模型。
  • Rule-based:Belief Trackers和Policy部分都是人工规则。
  • Simple-RL:只有Belief Trackers是人工规则,而Policy部分是基于GRU。

实验结果如下图:
这里写图片描述

相关工作

对话的相关工作很多,包括传统基于Markov Decision Processes的POMDPs, 基于Q-Learning的SimpleDS,基于API查询的方法,基于最小化熵的EMDM等等,感兴趣的读者可以查询相关文献。

简评

深度强化学习在对话系统的应用越来越多,本文最大的贡献,是提出了一个可微的基于概率的框架,从而使End-to-End训练成为可能,相比传统方法各部分分别训练,联合训练可以有效的减少错误传递。而基于深度强化学习的训练方式,相比传统基于规则的方式,在高噪音输入的情况下,有着更好的表现。

Q&A

问题1:“把slot-values转化成了加权的熵统计信息”的物理意义是什么?

答:这个熵指的是信息熵,不是物理中的热力学熵。信息熵把一个系统的不确定性,按照其可能出现结果的概率分布,进行定量化计算,得到的是可以获取的信息量大小。信息熵越大,不确定性就越大,我们可以获取的信息量也就越大。任务驱动的问题系统,在得到最终查询结果前,希望尽可能多的从用户那里获取信息,减少系统本身的不确定性,因此我们在知道一个slot中各种实体概率的情况下,用信息熵来度量一个slot的不确定性,还是挺合理挺自然的

问题2:增强学习在chatbot研究中使用时相比监督学习有哪些优势和劣势?

先说说优势: 监督学习,当前研究比较多的,是以seq2seq为代表的生成模型,它目前一个比较大的问题,是倾向于生成比较安全比较常见的回答,例如“谢谢”,“不知道”这个主要是因为,训练目标是最大似然而经常在数据集中出现的回答,会占一些优势。因此后续有很多工作试图改进这个问题例如用互信息作为目标函数,在解码搜索过程中,对常见结果进行惩罚,提高生成结果的多样性等等。监督学习的另外一个问题是,训练过程和预测过程不一致。训练的时候,当我们解码下一个词的时候,前面已经生成的内容是训练语料中的正确结果,而预测的时候,我们并不知道标准答案是什么。因此解码下一个词的时候,前面已经生成的内容,是我们预测的结果。这个就像考试一样,当我们遇到之前没有见过的情况,我们的考试成绩就会变差。而增强学习,有希望解决这两个问题,针对第一个问题,我们借助增强学习的reward,引入一些明确的的奖励目标用来指导对话的生成。例如,如果我们想训练一个淘宝客服的对话系统,我们可以用商品是否购买,来作为奖励目标,这样可以引导对话,向着商品成功购买的方向发展,因此可以产生更好的对话结果。
目前还有一个最新的工作,是将生成对抗网络引入对话系统。因为当前对话系统一个很大的问题,是缺乏可信的自动化评价指标,而对抗生成网络中,我们有一个生成模型,也就是我们的对话生成系统,还有一个判别模型。这个判别模型的目标,是判断这个对话,是机器生成的,还是人写的。这样就引入了一个比较明确的目标,也更接近图灵测试,而连接生成网络和判别网络的桥梁,就是强化学习。因为NLP的词,相比图像,是离散的,我们可以借助类似AlphaGo中的蒙特卡洛搜索来采样得到训练样本,送给判别模型。而这个采样过程,训练和预测是一致的,因此也解决了我们第二个问题,即训练和预测不一致的问题,因此增强学习在对话系统中有很大的优势。
下面说说他的劣势: 和监督学习相比,当前强化学习在对话系统的训练过程中是很不稳定的。这里的主要挑战在于reward的分配问题,reward是以一个句子为单位的,而生成的时候,是以词为单位的。如何给每个词分配reward,是一个很大的问题。为了稳定强化学习的训练过程,我们 一般还需要借助监督学习的方法,来做初始化训练甚至在训练过程中,需要穿插监督学习过程起到稳定网络的作用,以上就是增强学习在对话系统中的优劣。

问题3:增强学习在chatbot中的reward函数是否都是根据相应的需求来手动给出,而非学习得来
答: 有些是可以手动给出的,例如Bengio曾经把BLEU作为reward,用于机器翻译模型的训练,也可以学习得来,就像我刚才提到的GAN,这个reward就是由判别模型给出的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值