任务驱动的多轮对话的设计参考

上传人:夏** 文档编号:510433628 上传时间:2024-02-01 格式:DOC 页数:11 大小:40KB
返回 下载 相关 举报
任务驱动的多轮对话的设计参考_第1页
第1页 / 共11页
任务驱动的多轮对话的设计参考_第2页
第2页 / 共11页
任务驱动的多轮对话的设计参考_第3页
第3页 / 共11页
任务驱动的多轮对话的设计参考_第4页
第4页 / 共11页
任务驱动的多轮对话的设计参考_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《任务驱动的多轮对话的设计参考》由会员分享,可在线阅读,更多相关《任务驱动的多轮对话的设计参考(11页珍藏版)》请在金锄头文库上搜索。

1、1.1背景知识介绍多轮对话之所以称之为多轮对话,而不是多轮问答,是因为除了问答内容外,还有闲聊模 式下的情感交流,以及多数情况以陈述句形式表达的情景模式,因此多轮问答实际是多轮 对话的子集。由于事件的复杂性直接导致了多轮对话的复杂性,即上文所述的正常的知识 问答和命令问答外,还有情感和场景表述,造成每一句与上下文语义高度相关或不相关交 错出现,就导致了规则的高度复杂性。如果用有限状态机来处理多轮对话,就必须对话语权方(即谁说出的话,必须被对方回答, 则这方为对话话语权方)的每一个token语句进行意图识别,引入意图队列,对队列进行 基于规则的推理机处理或基于深度学习的预测,例如:(寒暄 查订单

2、 确认退款 ?)正常情况?=再见结束本轮对话。当然也可以用seq2seq的方法,将整个对话过程,抽象成一个 session。输入若干个相关 句子,解码成一个句子,即答案。多轮交互的一个重点问题是:如何根据上下文理解当前的意图,而不仅仅是针对单轮进行 一个分析,从而能够使得对话在一个连续的语境下,是具备session粒度理解能力的。以下方案,均假设有一个已经做得比较好的单轮理解以后的情况:尝试方案1 :最简单粗暴地,把多轮query,融合成一个单轮的query,进行一次性的解析直接将多轮交互的意图理解问题,转换成一个单轮的意图理解问题,从而复用原有的单轮 理解效果。例如:我想看电影-周星驰演的-

3、喜剧片,三个query合并以后,解析到实际用户的需求,是周星驰主演的喜剧电影。优点:简单,粗暴,易于实现,几乎服用了单轮解析能力缺点:简单,粗暴,易于出错,几乎没有任何实质性的多轮解析能力,纯粹靠运气优化方向:可以加入一些query拼接的限制,提高拼接的准确率,从而在运用到单轮解析能力的同时,不至于在准召上偏离得太离谱(如:只拼接两轮的、三轮及以上拼接,考虑拼接后的意图变化情况等)尝试方案2:不是简单拼接,而是结果和query的识别过程拼接:单轮已经解析出了一个意图和某些槽位,将此意图及槽位存储起来。遇到query的时候,判定该意图下,这个 query能否纳入同样的意图中,抽取出对应的槽位。如

4、果可以,则更新意图的槽位内容。例如:我想看电影-要免费的,第一轮意图为电影,第二轮在电影这个意图下,发现“免 费”这个槽位,是符合电影意图描述的,所以,为该意图的槽位新增一个“免费”例如:我想看爱情电影-能给我讲个笑话吗,第一轮意图为电影,而第二轮在电影这个意 图下,发现query并没有任何跟电影相关的槽位信息,所以,抛弃第一轮的电影意图,直 接将第二轮query当成单轮的,直接解析得到新的意图-笑话。优点:基于意图来进行判定,比拼接更准确,也更广泛地识别当前query是否仍在同一个意图中,递归地实现多轮意图解析,避免了拼接过长,拼接过于粗暴带来的误召回和欠召 回缺点:存储下来的是意图和槽位,

5、然后再基于此进行新的 query解析,判定是否槽位能够 纳入原有意图范围内,这种递归一旦有某一步除了问题,后面的每一步,基本上都挂掉了, 解析错误的传播深度和广度,都会很大优化方向:前面几步,可以辅助以方案一的拼接,来提高意图的正确性,保证后续的方向, 都是正确的尝试方案3:以对话管理过程中增加一些冗余性来对方案 2进行扩充,提高召回率。多轮交互一旦进入了某个意图,即开始该意图的满足,而当其第一次多轮解析未能命中该 意图,也无法命中任何其他意图(纯属闲聊)的时候,可以跳过该轮的意图解析,而继续 进入下一轮,检测该意图是否涵盖了当前 query中的槽位,是则可以继续该意图的满足,不至于轻易断开多

6、轮对话流(此处的冗余轮数可以根据实际情况自行调整,一轮、两轮均可)。例如:给我推荐个餐厅-有川菜口味的吗-咦,还蛮多嘛(冗余跳过)-找个最便宜的吧优点:可以一定程度上缓解方案二递归性带来的意外跳出意图的问题,提高每个意图的服务整体性,保证多轮的延续性。缺点:因为原理上跟方案二是一致的,所以还是会存在方案二的缺点,并且冗余跳过有可能是未能识别到具体的意图,从而令本该跳出对话的多轮,多停留了一两轮在了当前意图,才能跳出去,会降低交互的智能性。优化方向:尽可能提升多个意图的覆盖面,从而减少切换意图的误判为聊天,提升冗余的准确性上述三个方案,都是可以直接通过比较简单的框架设计来实现的,而读者可以发现,

7、可能最关键的还是这些方案的前提:【假设有一个已经做得比较好的单轮理解】。可以看到,单轮理解是所有意图识别的基础,只有做好单轮的理解,才可能做好多轮,当然,做好了单轮,不一定就能做好多轮。对话系统的分类及方法:按照对话答案的生成方式大致可以分为以下几种:1. 规则依存系统(Rule-based system ):对话经过预定义的规则(关键词、if-else 、机器学习方法等)处理,然后执行相应的操作,产生回复。(ELIZA系统,如果输入语句中没有发现预定义规则,则生成generic的响应)。缺点是规则的定义,系统越复杂规则也越多,而且其无法理解人类语言,也无法生成有意义的自然语言对话。处在比较浅

8、层的阶段;2. 检索依存系统(IR-based Systems ):信息检索或者最近邻方法,要求生成的响应与对话存在语义相关性(VSMTF-IDF、page-Rank、推荐等排序方法)。有点是比生成模型简单, 直接从训练集中选择答案,且可以添加自定义规则干预排序函数较为灵活;缺点是无法应 对自然语言的多变性、语境解构、连贯性等,对语义的细微差别也无法识别;3. 自生成依存系统(Gen eratio n-based Systems):将对话视为 in put-outputmappi ng 问题,提出了 MT-based方法(SMT统计机器翻译、IBM-model、phrase-based MT等

9、),这种方法 复杂且无法很好的解决输入输出的对应关系(尤其是当句子较复杂的时候,只适合单词级 别)。但是NN seq-to-seq等方法很好地解决了这些问题,可以生成更加丰富、有意义、 特别的对话响应。但是还存在许多问题,比如沉闷的回应、age nt没有一个固定的风格、多轮对话槽填充等等。4. 框架依存系统(Frame-based Dialogue Systems ):定义一个对话的框架,及其中所涉及的重要元素。优点是目标明确框架对对话指导意义明显, 适用于飞机票、餐馆等预定领域。 缺点是框架设计需要人工成本,且无法迁移到别的领域,并未涉及到人类语言的理解层面。按照对话的应答方式大致可以分为以

10、下几种:1. 有限状态机系统(Finite-State Machine Systems):(用户使用预定义的模板提问,系统之响应能力范围之内的问题),这种方法的缺点是完全依赖于对框架 slot的填充, 而无法决定对话的进程和状态(用户接受建议、拒绝等)2. 纯粹的多轮对话依存系统(State-based Systems):主要包含系统状态(上下文信息、 用户意图、对话进程等)和系统行动两(基于 state采取action )个部分。MDP POMDP等模型。3. 纯粹的单轮对话(Question-Answering -QA)系统(Based Dialogue Systems) : factoi

11、dQA-based,个人助手,需要回答各种各样的问题并且进行交互式对话。目前的研究点主要包括,bot如何通过对话进行自学习、对于 out-of-vocab 的词汇应该学会问,即学 会与人交流、如何通过在线反馈学习(犯错时调整、正确时加强)-待处理部分-1.2本文解决问题本文主要关注于 chit-chat 和 QA-based dialog system 。开放域对话生成chit-chat首先探讨如何构建一个能够与人类进行有趣,有意义,连贯,一致和长期对话的引人入胜的闲聊式对话系统。要求其拥有以下特性:避免dull沉闷的回应,产生语义更加丰富的响应解决一致性问题,避免前后相应不一致可以进行长期多

12、轮对话使用对抗学习生成人类无法区分的对话响应为了实现上述的功能和特点,主要会引入下面几种技术和算法来解决相应的问题。互信息-避免无聊的相应目前神经网络倾向于产生类似于 “I dont know”这种无聊的响应(dull response/generic response ),不利于对话进行。因为对于模型来讲,“ I dont know ”这种答案往往都是正确的,但是我们可以反过来思考这个问题, 也就是将I do nt know作为输入进行训练因此可以使用 Maximum Mutual In formation (MMI) 取代MLE乍为训练的优化指标,事实证明这种方法可以大幅度提升模型响应的丰

13、富度,减少dull respo nse 产生的频率。这部分方法将会在第三章进行详细的介绍。解决Bot前后一致性问题目前对话机器人无法产生前后一致性的对话,简单说就是没有一个固定的风格。所以要给 bot 一个连续的“角色”,这种角色可以当做是身份元素(事实背景、用户简介)、语言 行为、交互方式等的组合。作者基于 Seq-to-Seq模型提出了两种角色模型,一个是单 bot 的Spearker Model,另一个是双bot的Spearker-Addressee Model。这部分内容可以参考 第四章以及他在 2016年发表在 ACM论文“ A persona-based neural conver

14、sation model”。使用强化学习RL实现长期多轮对话当前的Seq-to-Seq模型大都使用MLE乍为目标函数并根据一轮对话来产生响应,很难产生更长久的多轮对话,一般在两轮之后就陷入重复。所以作者提出使用强化学习来最大化长 期奖励的期望来增加对话轮次。并建设性地提出了三种Reward公式,*forward-looking、in formative 、cohere nt*,最后使用policy gradie nt的方法进行训练,取得了很好的效 果。这部分内容会在第五章进行详细介绍,或者参考其在2016年发表在EMNLP勺文章“DeepRei nforceme nt Lear ning fo

15、r Dialogue Gen erati on”使用对抗生成学习GAh产生对话目前模型生成的对话大都来自于训练数据集,这就一定程度上限制了产生相应的多样性、丰富程度等。所以引入GAN来生成更接近于人类语言的响应。这里使用一个Seq-to-Seq作为生成器,在用一个鉴别器来标记生成的响应是人类语言还是机器生成语言,这样Seq-to-Seq最终生成的响应会越来越接近人类语言。这部分内容会在第六章进行介绍,或者参考其在 2017 年发表在 EMNL上的文章“ Adversarial learning for neural dialogue generation ”。交互式QA对话机器人其次探讨bot如何通过online学习完善自己,使得交互性更强。要求其可以:学会向人类提问,何时何处问什么从online学习,根据错误改进自己通过提问进行交互学习因为目前问答系统当遇到自己回答不了的问题时(没见过的表达形式,自己不知道的东西 等情况),往往会做出很差的回应或者重定向到其他资源(展示搜索网页的结果)。但我 们更希望机器人在遇到这种问题时可以通过向对方提问的方式来进行交互式问答进而解决 该问题。可以通过离线学习或者在线强化学习的方式进行训练。这部分内容将会在第七章 进行介绍,也可以参考其在 2017年发表在

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号