任务驱动的多轮对话的设计参考Word文件下载.docx
- 文档编号:14260637
- 上传时间:2022-10-21
- 格式:DOCX
- 页数:6
- 大小:121.13KB
任务驱动的多轮对话的设计参考Word文件下载.docx
《任务驱动的多轮对话的设计参考Word文件下载.docx》由会员分享,可在线阅读,更多相关《任务驱动的多轮对话的设计参考Word文件下载.docx(6页珍藏版)》请在冰豆网上搜索。
输入若干个相关句子,解码成一个句子,即答案。
多轮交互的一个重点问题是:
如根据上下文理解当前的意图,而不仅仅是针对单轮进行一个分析,从而能够使得对话在一个连续的语境下,是具备session粒度理解能力的。
以下案,均假设有一个已经做得比较好的单轮理解以后的情况:
尝试案1:
最简单粗暴地,把多轮query,融合成一个单轮的query,进行一次性的解析.
直接将多轮交互的意图理解问题,转换成一个单轮的意图理解问题,从而复用原有的单轮理解效果。
例如:
我想看电影--星驰演的--喜剧片,三个query合并以后,解析到实际用户的需求,是星驰主演的喜剧电影。
优点:
简单,粗暴,易于实现,几乎服用了单轮解析能力
缺点:
简单,粗暴,易于出错,几乎没有任实质性的多轮解析能力,纯粹靠运气
优化向:
可以加入一些query拼接的限制,提高拼接的准确率,从而在运用到单轮解析能力的同时,不至于在准召上偏离得太离谱(如:
只拼接两轮的、三轮及以上拼接,考虑拼接后的意图变化情况等)
尝试案2:
不是简单拼接,而是结果和query的识别过程拼接:
单轮已经解析出了一个意图和某些槽位,将此意图及槽位存储起来。
遇到query的时候,判定该意图下,这个query能否纳入同样的意图中,抽取出对应的槽位。
如果可以,则更新意图的槽位容。
如果不可以,则抛弃当前意图,以query作为单轮解析,得到新的意图。
我想看电影--要免费的,第一轮意图为电影,第二轮在电影这个意图下,发现“免费”这个槽位,是符合电影意图描述的,所以,为该意图的槽位新增一个“免费”
我想看爱情电影--能给我讲个笑话吗,第一轮意图为电影,而第二轮在电影这个意图下,发现query并没有任跟电影相关的槽位信息,所以,抛弃第一轮的电影意图,直接将第二轮query当成单轮的,直接解析得到新的意图--笑话。
基于意图来进行判定,比拼接更准确,也更广泛地识别当前query是否仍在同一个意图中,递归地实现多轮意图解析,避免了拼接过长,拼接过于粗暴带来的误召回和欠召回
存储下来的是意图和槽位,然后再基于此进行新的query解析,判定是否槽位能够纳入原有意图围,这种递归一旦有某一步除了问题,后面的每一步,基本上都挂掉了,解析错误的传播深度和广度,都会很大
前面几步,可以辅助以案一的拼接,来提高意图的正确性,保证后续的向,都是正确的
尝试案3:
以对话管理过程中增加一些冗余性来对案2进行扩充,提高召回率。
多轮交互一旦进入了某个意图,即开始该意图的满足,而当其第一次多轮解析未能命中该意图,也无法命中任其他意图(纯属闲聊)的时候,可以跳过该轮的意图解析,而继续进入下一轮,检测该意图是否涵盖了当前query中的槽位,是则可以继续该意图的满足,不至于轻易断开多轮对话流(此处的冗余轮数可以根据实际情况自行调整,一轮、两轮均可)。
给我推荐个餐厅--有川菜口味的吗--咦,还蛮多嘛(冗余跳过)--找个最便宜的吧
可以一定程度上缓解案二递归性带来的意外跳出意图的问题,提高每个意图的服务整体性,保证多轮的延续性。
因为原理上跟案二是一致的,所以还是会存在案二的缺点,并且冗余跳过有可能是未能识别到具体的意图,从而令本该跳出对话的多轮,多停留了一两轮在了当前意图,才能跳出去,会降低交互的智能性。
尽可能提升多个意图的覆盖面,从而减少切换意图的误判为聊天,提升冗余的准确性
上述三个案,都是可以直接通过比较简单的框架设计来实现的,而读者可以发现,可能最关键的还是这些案的前提:
【假设有一个已经做得比较好的单轮理解】。
可以看到,单轮理解是所有意图识别的基础,只有做好单轮的理解,才可能做好多轮,当然,做好了单轮,不一定就能做好多轮。
对话系统的分类及法:
按照对话答案的生成式大致可以分为以下几种:
1.规则依存系统(Rule-basedsystem):
对话经过预定义的规则(关键词、if-else、机器学习法等)处理,然后执行相应的操作,产生回复。
(ELIZA系统,如果输入语句中没有发现预定义规则,则生成generic的响应)。
缺点是规则的定义,系统越复杂规则也越多,而且其无法理解人类语言,也无法生成有意义的自然语言对话。
处在比较浅层的阶段;
2.检索依存系统(IR-basedSystems):
信息检索或者最近邻法,要求生成的响应与对话存在语义相关性(VSM、TF-IDF、page-Rank、推荐等排序法)。
有点是比生成模型简单,直接从训练集中选择答案,且可以添加自定义规则干预排序函数较为灵活;
缺点是无法应对自然语言的多变性、语境解构、连贯性等,对语义的细微差别也无法识别;
3.自生成依存系统(Generation-basedSystems):
将对话视为input-outputmapping问题,提出了MT-based法(SMT统计机器翻译、IBM-model、phrase-basedMT等),这种法复杂且无法很好的解决输入输出的对应关系(尤其是当句子较复杂的时候,只适合单词级别)。
但是NN、seq-to-seq等法很好地解决了这些问题,可以生成更加丰富、有意义、特别的对话响应。
但是还存在多问题,比如沉闷的回应、agent没有一个固定的风格、多轮对话槽填充等等。
4.框架依存系统(Frame-basedDialogueSystems):
定义一个对话的框架,及其中所涉及的重要元素。
优点是目标明确框架对对话指导意义明显,适用于飞机票、餐馆等预定领域。
缺点是框架设计需要人工成本,且无法迁移到别的领域,并未涉及到人类语言的理解层面。
按照对话的应答式大致可以分为以下几种:
1.有限状态机系统(Finite-StateMachineSystems):
(用户使用预定义的模板提问,系统之响应能力围之的问题),这种法的缺点是完全依赖于对框架slot的填充,而无法决定对话的进程和状态(用户接受建议、拒绝等)
2.纯粹的多轮对话依存系统(State-basedSystems):
主要包含系统状态(上下文信息、用户意图、对话进程等)和系统行动两(基于state采取action)个部分。
MDP、POMDP等模型。
3.纯粹的单轮对话(Question-Answering-QA)系统(BasedDialogueSystems):
factoidQA-based,个人助手,需要回答各种各样的问题并且进行交互式对话。
目前的研究点主要包括,bot如通过对话进行自学习、对于out-of-vocab的词汇应该学会问,即学会与人交流、如通过在线反馈学习(犯错时调整、正确时加强)
----待处理部分----
1.2本文解决问题
本文主要关注于chit-chat和QA-baseddialogsystem。
1.2.1开放域对话生成chit-chat
首先探讨如构建一个能够与人类进行有趣,有意义,连贯,一致和长期对话的引人入胜的闲聊式对话系统。
要求其拥有以下特性:
∙避免dull沉闷的回应,产生语义更加丰富的响应
∙解决一致性问题,避免前后相应不一致
∙可以进行长期多轮对话
∙使用对抗学习生成人类无法区分的对话响应
为了实现上述的功能和特点,主要会引入下面几种技术和算法来解决相应的问题。
互信息-避免无聊的相应
目前神经网络倾向于产生类似于“Idon'
tknow”这种无聊的响应(dullresponse/genericresponse),不利于对话进行。
因为对于模型来讲,“Idon'
tknow”这种答案往往都是正确的,但是我们可以反过来思考这个问题,也就是将"
Idon'
tknow"
作为输入进行训练。
因此可以使用MaximumMutualInformation(MMI)取代MLE作为训练的优化指标,事实证明这种法可以大幅度提升模型响应的丰富度,减少dullresponse产生的频率。
这部分法将会在第三章进行详细的介绍。
解决Bot前后一致性问题
目前对话机器人无法产生前后一致性的对话,简单说就是没有一个固定的风格。
所以要给bot一个连续的“角色”,这种角色可以当做是身份元素(事实背景、用户简介)、语言行为、交互式等的组合。
作者基于Seq-to-Seq模型提出了两种角色模型,一个是单bot的SpearkerModel,另一个是双bot的Spearker-AddresseeModel。
这部分容可以参考第四章以及他在2016年发表在ACL的论文“Apersona-basedneuralconversationmodel”。
使用强化学习RL实现长期多轮对话
当前的Seq-to-Seq模型大都使用MLE作为目标函数并根据一轮对话来产生响应,很难产生更长久的多轮对话,一般在两轮之后就陷入重复。
所以作者提出使用强化学习来最大化长期奖励的期望来增加对话轮次。
并建设性地提出了三种Reward公式,**forward-looking、informative、coherent**,最后使用policygradient的法进行训练,取得了很好的效果。
这部分容会在第五章进行详细介绍,或者参考其在2016年发表在EMNLP的文章“DeepReinforcementLearningforDialogueGeneration”
使用对抗生成学习GAN产生对话
目前模型生成的对话大都来自于训练数据集,这就一定程度上限制了产生相应的多样性、丰富程度等。
所以引入GAN来生成更接近于人类语言的响应。
这里使用一个Seq-to-Seq作为生成器,在用一个鉴别器来标记生成的响应是人类语言还是机器生成语言,这样Seq-to-Seq最终生成的响应会越来越接近人类语言。
这部分容会在第六章进行介绍,或者参考其在2017年发表在EMNLP上的文章“Adversariallearningforneuraldialoguegeneration”。
1.2.2交互式QA对话机器人
其次探讨bot如通过online学习完善自己,使得交互性更强。
要求其可以:
∙学会向人类提问,时处问什么
∙从online学习,根据错误改进自己
通过提问进行交互学习
因为目前问答系统当遇到自己回答不了的问题时(没见过的表达形式,自己不知道的东西等情况),往往会做出很差的回应或者重定向到其他资源(展示搜索网页的结果)。
但我们更希望机器人在遇到这种问题时可以通过向对提问的式来进行交互式问答进而解决该问题。
可以通过离线学习或者在线强化学习的式进行训练。
这部分容将会在第七章进行介绍,也可以参考其在2017年发表在ICLR上的论文“Learningthroughdialogueinteractionsbyaskingquestions”。
Human-in-the-Loop的对话学习
目前的对话机器人大都使用固定的数据集提前训练好之后就开始使用,但很多情况下我们需要机器人上线之后不断地根据具体环境改
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 任务 驱动 轮对 设计 参考