任务型对话机器人简介
1 什么是任务型机器人
任务型机器人指特定条件下提供信息或服务的机器人。通常情况下是为了满足带有明确目的的用户,例如查流量,查话费,订餐,订票,咨询等任务型场景。由于用户的需求较为复杂,通常情况下需分多轮互动,用户也可能在对话过程中不断修改与完善自己的需求,任务型机器人需要通过询问、澄清和确认来帮助用户明确目的。
2 任务型机器人的组成
任务型机器人核心模块主要包括三部分:
自然语言理解模块——
Language Understanding
对话管理模块——
Dialog Management
自然语言生成模块——
Natural Language Generation
整体的框架如下:
下面根据各个模块进行详细介绍:
2.1 自然语言理解模块
2.1.1 简介
当用户语言经过自然语言理解模块时,即需要经过领域识别,用户意图识别以及槽位提取三个子模块。领域识别,即识别该语句是不是属于这个任务场景,一般有多个机器人集成时,如闲聊机器人,问答机器人等,领域识别应当在进入任务型机器人之前做判断与分发;意图识别,即识别用户意图,细分该任务型场景下的子场景;实体识别与槽位填充,用于对话管理模块的输入。
2.1.2 举例
对这个模块举个简单的例子:假设Text=“人民币对美元的汇率是多少”;经过自然语言理解模块会解析为 act ( slot1 = value1, slot2 = value2 ……) 的形式,即意图,槽位,槽位信息三元组形式,即 Text会解析为“查询(槽位1=人民币,槽位2=美元)”这样的形式。
2.1.3 自然语言理解模块的相关研究工作
意图理解与槽位提取作为任务型机器人的核心模块之一,引起研究者的广泛兴趣。有以下方法:
1. 基于规则理解方法
例如商业对话系统VoiceXML和Phoenix Parser (Ward et al., 1994; Seneff et al., 1992; Dowding et al., 1993)。Phoenix Parser 将输入的一句文本(词序列)映射到由多个语义槽(Slot)组成的语义框架里,一个语义槽的匹配规则由多个槽值类型与连接词构成的,可以表示一段完整的信息,如图2所示。优点:不需要大量训练数据。缺点:1. 规则开发易出错 。2. 调整规则需要多轮的迭代。 3. 规则冲突,较难维护。
Phoenix基于TownInfo语料的测试结果见表:
2. 规则与统计结合的方法
例如组合范畴语法 (CCG),可以基于标注数据,对大量的复杂语言现象进行统计建模和规则自动提取。 由于语法规则的宽松性以及与统计信息的结合,该方法在口语语义理解中 的应用可以学习解析无规则的文本 (Zettlemoyer et al., 2007)。基于ATIS语料的测试结果见表:
3. 统计方法(对齐)
基于词对齐数据的口语理解通常被看做一个序列标注问题。基于生成模型有随机有限状态机 (FST),统计机器翻译(SMT)、动态贝叶斯网络 (DBN)等,判别模型主要CRF,SVM,MEMM等(Hahn et al., 2011)。基于Media evaluation预料测试结果见下表。
4. 统计方法(非对齐)
如生成式的动态贝叶斯网络 (DBN) (Schwartz et al., 1996) ,缺点:马尔科夫假设使得该模型不能准确地对词的长程相关性进行建模;分层隐状态的方法能解决上述长程相关性的问题,但所需要的计算复杂度很高 (He et al., 2006);支持向量机分类器的基础上提出了语义元组分类器 (Mairesse et al., 2009) 的方法。基于TownInfo,ATIS语料测试结果见下表。
5. 深度学习方法
单向RNN应用于语义槽填充任务,在ATIS评测集合上取得了显著性超越CRF模型的效果 (Yao et al., 2013; Mesnil et al., 2013); LSTM等一些扩展(BiLSTM+CRF);CNN用于序列标注 (Xu et al. 2013; Vu 2016) ;基于序列到序列(sequence-to-sequence)的编码-解码(encoder-decoder)模型,attention等拓展 (Zhu et al., 2016; Liu et al., 2016); 加入外部记忆单元(External Memory)的循环神经网络可以提升网络的记忆能力 (Peng et al., 2015);RecNN (Guo et al., 2014)等。上述方法测试结果见下表。
6. 基于上述方法的例子
基于规则的解析:如将”我想查询一下美元现在的汇率”输入基于规则的解析器,可以解析出如下意图与槽位的信息。
基于LSTM的模型:句子的标注格式如下,采用BIO标注,以及对整个句子所属的意图标注,采用极大化槽位与意图的似然来求解模型参数。
基于统计方法的模型(SVM):对句子进行n-gram特征提取,通过训练领域的SVM与槽位的SVM进行分类。
2.2 对话管理模块
2.2.1 简介
自然语言理解模块的三元组输出将作为对话管理系统的输入。对话管理系统包括两部分,状态追踪以及对话策略。状态追踪模块包括持续对话的各种信息,根据旧状态,用户状态(即上述的三元组)与系统状态(即通过与数据库的查询情况)来更新当前的对话状态如图3所示。 对话策略与所在任务场景息息相关,通常作为对话管理模块的输出,如对该场景下缺失槽位的反问策略等。
2.2.2 举例
还是继续上面的text=“人民币对美元的汇率是多少”。“查询(槽位1=人民币,槽位2=美元)”这样的形式将作为对话管理模块的输入,这时候状态追踪模块就要根据前几轮的信息,结合该输入判断该轮的查询状态,确定查询的槽位,以及与数据库的交互。如得到想要查询的确实是人民币对美元的汇率信息。这时候,根据现有的对话策略判断当前的槽位状态,最后给出对话管理模块的输出,如查询结果(源货币=人民币,目标货币=美元,汇率=1:0.16)
2.2.3 对话管理系统的相关研究工作
对话管理模块相当于任务型机器人的大脑。主要方法有基于规则与统计学习的方法。目前流行的有基于强化学习的对话管理模块。基于强化学习的对话管理系统需要很多数据去训练。Jost Schatzm-ann and Steve Young等人提出了agenda user simulator模型来模拟用户,不断与对话管理模块进行训练,一定程度上解决了标注数据稀缺的问题。但对于复杂对话还是不能很好应付。Jianfeng Gao等通过实验,证明了基于强化学习训练的对话管理系统对噪声的抗干扰能力较强,同时整体误差来看槽位误差造成的影响比意图误差造成的影响更严重。
2.3 自然语言生成模块
自然语言模块通常采用基于模版,基于语法或模型等。模版与语法主要基于规则的策略,模型可以用如LSTM等网络生成自然语言。
2.4 端到端的模型
这里以微软的End-to-End 模型 (Jianfeng Gao et al., 2018)为例,见下图。
文章的主要亮点是根据 (Jost Schatzmann and Steve Young, Fellow et al., 2009) 从语义层次上升到自然语言层次,同时用误差模型对基于DQN强化学习的对话管理系统深入探究。User Simulator 沿用Steve Young之前的基于堆栈的agenda模型,自然语言生成模块和自然语言理解模块采用LSTM模型,对话管理模块采用基于DQN (Jianfeng Gao et al., 2018)。
3 应用:阿里小蜜调研
阿里小蜜机器人整体算法体系如下,采用领域识别将输入的query和context分发到不同的机器人执行任务。
其中任务型机器人的算法框架如下,基本上采用第一部分所讲的框架。
4 总结
本文较为浅显的介绍了基于任务型对话的框架与一些方法,大家如果需要深入研究可在参考文献中寻找相应的文章阅读。当然,目前这个领域还存在较多的问题,如
语义的表示方式。如何将句子设计成合适的语义结构形式,增添语义解析,语义推理,领域迁移的鲁棒性等,一直是十分有挑战性的问题。
任务型的数据收集和标注非常困难,如何设计一套较为通用的数据标注格式,有待研究推进,随着用户对任务型领域要求的日益增多,利用已有的资源对领域迁移的研究变得尤其重要。
reference:【腾讯知文】任务型对话机器人简介
任务型对话机器人简介相关推荐
- 揭秘任务型对话机器人(下篇)
本文来自专栏语言.知识与人工智能,作者腾讯知文实验室 近年来比较热门的任务型对话的研究主要集中在端到端的框架的研究,基本跟传统任务型算法框架--语言理解模块(Spoken Language Under ...
- 想了解任务型对话机器人,我们先从自然语言理解聊起
摘要:本文中主要介绍对话系统中的自然语言理解模块(NLU),NLU是对话系统中非常重要的一个模块,主要包括意图识别和槽位填充. 一.引言 随着移动互联网和智能终端的快速发展,任务型对话机器人的应用越来 ...
- 深度学习应用实例--对话机器人--简介
作者:jliang https://blog.csdn.net/jliang3 深度学习应用实例--对话机器人--简介 对话机器人按功能分类 单轮会话场景:QA形式,一问一答,标准答案只有一个,相似问 ...
- 揭秘任务型对话机器人(上篇)
https://juejin.im/post/5b21d548e51d4506d93701e7 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文来自专栏语言.知识与人工智能,作者腾讯知 ...
- 图灵测试70载,回顾对话机器人的经典实践和最新进展
本文内容整理自 PaperWeekly 和 biendata 在 B 站组织的直播回顾,点击文末阅读原文即可跳转至 B 站收看本次分享完整视频录像,如需嘉宾课件,请在 PaperWeekly 公众号回 ...
- 对话机器人70年:科幻与现实的交融
摘要:本文将围绕对话机器人相关技术及其在行业中应用实践展开,同时介绍华为云对话机器人在多模态.小样本.预训练方向上的最新进展. 从 1950 年图灵测试的提出到现在,对话系统已经走过了将近 70 年的 ...
- 对话机器人---智能客服
https://blog.csdn.net/qq_40027052/article/details/78723576 详细的介绍了对话机器人涉及到的所有知识和技术. 整个对话机器人涉及到的知识点,本人 ...
- 评估智能对话机器人的7大数据指标
编辑导语:当今人们已经进入到一个大数据时代,人们每天都在生产者各种各样的数据,这些数据又在不断被循环利用推动着行业和社会的进步.不同行业都有着不同的数据指标体系,本文作者对评估智能对话机器人的数据指标 ...
- 任务型对话(二)—— DST(对话状态追踪)
1,概述 关于任务型对话的简介看任务型对话(一)-- NLU(意识识别和槽值填充). 首先我们来看下对话状态和DST的定义. 对话状态:在$t$时刻,结合当前的对话历史和当前的用户输入来给出当前每个s ...
最新文章
- C语言面试题-这些简单的你能很快的写出来吗?
- mastercam2019中文版
- javascript:void到底是个什么?
- 5场直播丨PostgreSQL、openGauss、Oracle、GoldenDB、EsgynDB
- PowerShell 操作 Azure Blob Storage
- 超全、超详的Spring Boot配置讲解笔记
- 一加到1亿。C语言_一加官方道歉!这下良心了:老用户欢呼
- 安装依赖以及页面解析
- SQL 注入漏洞介绍及解决办法
- python培训 马哥python班
- 安装win10+黑苹果双系统零基础教程
- 小众绿软|媒体:myPlayer 2.1
- hdu3987 Harry Potter and the Forbidden Forest 最小割边数
- CT一般扫描参数_CT扫描参数介绍(1)
- 阿里云基础认证(ACA - Alibaba Cloud Certification Associate)
- IDEA中怎么设置黑色或白色背景
- JAVA数组 添加数组元素并排序---下标越界问题
- 计算机是xp系统吗,任何电脑都能装XP系统吗?
- 以太网巨人3Com退出历史舞台
- 多彩m618plus评测_要的就时这份舒适感,多彩M618Plus垂直鼠标让你拒绝鼠标手
热门文章
- 学计算机的去香港读研可以吗,香港大学计算机硕士有面试吗?
- 08年入冬后最冷的一天。。。
- 拖拽式可视化设计,打造高效流程管理体系
- 物料需求分析管理难题ERP系统帮你解决
- Android事件分发机制收藏这一篇就够了,我先收藏为敬
- 测试mac pro性能测试软件,【苹果MacBookPro评测】15款MacBook Pro性能测试 提升不大_苹果 MacBook Pro_笔记本评测-中关村在线...
- 读书笔记{11} VLAN及其在生产中的应用
- 《灌篮高手手游》的设计分析
- deepsort和MOT16指标评价
- ctfshow,misc4,5,6,