回顾2019年对话策略学习在NLP顶会上的一些进展

举报
listen2Bot 发表于 2020/05/11 15:16:20 2020/05/11
【摘要】 对话系统在最近几年发展非常迅速,特别在NLP顶会上的论文数量在逐步增多。通常,对话系统包含语言理解、对话状态跟踪、对话策略学习、语言生成等四个模块。之前很多的文章在对话系统中的语言理解和生成的工作有较多的分享,本文主要关注点在对话策略学习,因而梳理了2019年对话策略学习在NLP顶会上的工作。

回顾2019年对话策略学习在NLP顶会上的一些进展

对话系统在最近几年发展非常迅速,特别在NLP顶会上的论文数量在逐步增多。通常,对话系统包含语言理解、对话状态跟踪、对话策略学习、语言生成等四个模块。之前很多的文章在对话系统中的语言理解和生成的工作有较多的分享,本文主要关注点在对话策略学习,因而梳理了2019年对话策略学习在NLP顶会上的工作。我们从ACL/EMNLP/NAACL/CoNLL2019年会议上的论文中筛选出对话策略学习相关的工作并进行介绍,总共有5篇论文。

Budgeted Policy Learning for Task-Oriented Dialogue Systems

团队:微软Jianfeng Gao团队和中科大、华盛顿大学

论文地址:https://www.aclweb.org/anthology/P19-1364.pdf

发表:ACL2019

 

解决的问题:能够利用固定、更少量的用户交互来学习对话策略。主要是在之前Deep Dyna-Q基础上扩展了Budget-Conscious Scheduling (BCS)BCS主要包括:(1)基于Poisson的全局调度程序Scheduler,用于在不同阶段的训练进行分配;(2)一个用户目标抽样模块User Goal Sampling Module,用来选择之前失败的或者没有探索过的用户目标,以生成对策略学习最有效的经验样本。(3)一个控制器,决定(基于预分配的预算、在取样的用户目标上智能体的效果)在每个训练步骤中是收集人与人之间的交互数据、进行与人的互动以获得高质量的真实体验数据、还是通过与世界模型交互生成仿真的体验数据。

在对话策略学习过程中,真实的体验数据用来训练世界模型,同时又能直接通过强化学习提升对话策略;仿真的体验数据通过间接强化学习(规划)来增强对话策略。最终,在电影票预定任务的实验结果表明本文提出的方法相交于最好的方法大大提高了成功率。本文所提的“budget”是通过真实用户交互的次数来衡量。

image.png

那么,BCS-DDQ的对话系统主要由以下6个模块组成:

(1)     基于LSTMNLU模块:识别用户的意图和提取相关的槽位。

(2)     对话状态跟踪器:跟踪对话状态,比如意图、每个槽位的值等。

(3)     对话策略学习模块:根据对话状态和数据库的结果选择下一步的行为。

(4)     自然语言生成:根据对话行为生成自然语言描述。

(5)     世界模型:用来生成仿真的用户行为和仿真的奖励(reward)。

(6)     BCS模块:全局的调度程序、用户目标采样模块、控制器。

image.png

 

总结:本文提出了一个任务型对话策略学习新框架BCS-DDQ,通过成功率的阈值来决定使用仿真数据还是使用真实数据,结合主动采样策略来充分利用“budget”生成强化学习所需要的经验数据。最终的结果也表明,该方法在固定的更少量预算的数据下有更好的表现,比如在仿真和真实与人交互的实验中。

Guided Dialog Policy Learning: Reward Estimation for Multi-Domain Task-Oriented Dialog

团队:清华大学黄民列老师团队

论文地址:https://www.aclweb.org/anthology/D19-1010.pdf

源码:https://github.com/truthless11/GDPL

发表:EMNLP2019

 

解决的问题:主要侧重在对话策略学习,之前的工作通常是基于强化学习去训练一个对话策略,这样需要精心设计奖励函数和预先定义好的用户目标。随着多领域对话任务越来越复杂,手动设计奖励函数不可行,作者因此提出基于对抗逆强化学习的GDPL去联合奖励估算和策略优化。

具体做法是在对话会话中去估计奖励信号和推断用户的目标,奖励评估器评估<状态-动作>对,以便于在每轮对话中指导对话策略。奖励评估器是基于逆强化学习,与常规逆强化学习不同的是本文除了学习奖励函数,还需要训练策略。所以,本文集成了对抗学习以便能够同时学习策略和奖励评估器。

整个框架流程如下图,包含三个模块:多领域对话状态跟踪,对话策略,奖励评估器。对话策略π根据状态跟踪器提供的对话状态s决定对话动作a,而奖励估算器f通过将生成的状态动作对(sa)与人工对话进行比较来评估对话策略。本文reward estimator包含session级别和state-action级别的奖励评估器,引入state-action评估器主要因为session级别的奖励比较稀疏以及会有很高的方差。

image.png

实验结果:本文实验采用的数据是MultiWOZ,一个多领域多意图的任务型对话数据。仿真器使用agenda-based方法和VHUS(神经网络模型)构建出来的。评价指标包括对话损失,任务成功率(inform F1:是否所有槽被填充完;匹配率:填充完的槽值是否都匹配所有约束)。最终在用户满意度和对话成功率上都比现有的方法要好。

 

Modeling Multi-Action Policy for Task-Oriented Dialogues

团队:伊利诺伊大学liubinguber ai团队

论文地址:https://www.aclweb.org/anthology/D19-1130.pdf

源码: https://github.com/leishu02/EMNLP2019_gCAS

发表:EMNLP2019

 

解决的问题:目前对话管理方法,通常在每轮中只预测一个策略行为。这样限制了对话智能体的表达能力,可能会引入不必要的交互行为。同时轮数太多了也会导致对话出错。本文主要比较了一些现有模型在预测每轮多行为的任务中的效果,并提出了新的对话策略模型gCAS(gated Continue-Act-Slots)解决目前多行为预测的问题。实验也表明该方法确实比其他方法要好。

整体结构如下,这里把kb搜索的结果输入隐掉了。首先,输入当前轮的对话状态(包含前一轮的系统行为、用户当前轮的行为、用户询问的槽、用户确认的槽、系统询问的槽、系统确认的槽等等),编码器采用GRU,视为对话状态为一个序列,输出是一个向量序列和最后一层的隐状态;解码器是本文提出的CAS结构,循环生成三元组,直到停止输出。

image.png

gCAS包含三个单元:continue unit, act unit, slots unit。三个单元都是用门机制和循环嵌套。Continue unit输出循环是否结束,act unit输出行为类型,slots unit输出对应的槽位和值。最后总的损失函数是三个单元的损失累加。

image.png

 

总结:本文使用的数据集是微软的对话挑战数据集(https://github.com/xiul-msr/e2e_dialog_challenge),包含电影、出租、餐馆三个领域。其中大概有23%的数据标注的行为有多个。论文比较了一些分类、序列标注的经典方法,最终结果都比现有方法好。在多行为预测的任务中,本文提出的gated CAS主要作用是在解码过程中允许输出多个行为,也可以用在编码器中。目前该模型是基于监督学习训练完成,未来也可以扩展成强化学习训练方式。

Building Task-Oriented Visual Dialog Systems Through Alternative Optimization Between Dialog Policy and Language Generation

团队:加利福利亚大学的Zhou Yu团队

论文地址:https://www.aclweb.org/anthology/D19-1014.pdf

发表:EMNLP2019

 

解决的问题:本文关注任务型视觉对话系统的策略学习问题,将强化学习应用到端到端的模型框架中。问题是比较难设计能够在学习到有效策略的同时又能生成自然对话回复的一种奖励函数,本文提出可替代训练用户图像猜测的强化学习模型和有监督的seq2seq模型的框架,最终在Guess-Which数据集上实验效果在任务完成率和对话质量上都比现有方法都要好。

问题描述:在GuessWhich问题上,本文的目标是建立一个智能体(Q-Bot)通过向另一个机器人(A-Bot)询问一系列的问题去猜测一个图片a同时A-Bot是知道这个图片的。如下图框架主要包括三个模块:Response Encoder, Question Decoder, Image Guesser

(1)     Response Encoder:图片采用VGG16编码,文本采用LSTM编码。

(2)     Question Decoder:双层的LSTM编码。

(3)     Image Guesser:通过向量欧式距离计算得到。

image.png

本文首先使用监督目标对对话框架进行预训练,然后应用强化学习来学习检索目标图像的最佳策略。监督学习的联合损失函数如下,同时将整个对话过程中图片的猜测序列当作POMDP,通过强化学习训练策略网络以获得目标图像的最佳策略。奖励信号是使用目标图片在对话历史向量中的排名百分位。

image.png

总体来说,本文主要提出了新的联合优化(图片猜测)策略和问题生成。在每个epoch,通过交替应用强化学习来获取更好的图片猜测策略,同时又利用监督学习来提高问题生成的质量。本文也构建了两个评价任务:AI-AI图片猜测游戏(通过与其他的bot交互)以及Human-AI图片猜测游戏(通过与人交互)。最终在AI-AI图片猜测游戏中对比了图片检索和语言生成等指标。在Human-AI图片猜测游戏中,对比了语言回复的流畅性、相关性等指标。在这几个实验中,本文提出的方法都达到最好。

Rethinking Action Spaces for Reinforcement Learning in End-to-end Dialog Agents with Latent Variable Models

团队:CMU和上海交通大学团队

论文地址:https://www.aclweb.org/anthology/N19-1123.pdf

源码:https://github.com/snakeztc/NeuralDialog-LaRL

发表:NAACL2019

 

解决的问题:对话行为空间的定义以及对话策略优化问题,之前的经验要么使用手工编写的对话行为要么就是输出的词汇。本文提出一种隐行为框架,将端到端对话系统的行为空间视为隐变量,并开发无监督方法从数据中得出自己的行为空间。结果表明在DealOrNoDealMultiWoz对话数据上隐行为方法比之前的词级别的策略梯度方法有更好的效果。

目前的e2e方法如下图,基于词级别的强化学习,认为每个输出的词汇都是一个行为步骤,对每个词汇都有一个reward

image.png

本文提出的隐行为强化学习LaRL,在生成过程中引入了一个隐变量z,然后在z上应用REINFORCE算法。对比第一种方法,该方法有以下几个优势:

(1)     在计算策略梯度的时候,缩短了优化范围,之前每个单词都要计算一次。

(2)     隐行为空间维度远比单词级别的空间要小得多

(3)     策略梯度只需要优化编码器参数,解码器保持。

本文的隐行为类型主要采用了之前方法提出的连续各向同性高斯分布(continuous isotropic Gaussian distribution)以及多元分类分布(multivariate categorical distribution)。

image.png

 

总结:本文实验采用的是DealOrNoDeal数据,包含在2236个场景中5805个对话;MultiWoz数据,包含6个领域10438个对话。对比的方法是各自数据所采用的baseline方法,本文提出的论文模型都有较好的效果,并在MultiWoz上取得最好的成功率。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200