揭秘任务型对话机器人(上篇)

https://juejin.im/post/5b21d548e51d4506d93701e7

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

本文来自专栏语言、知识与人工智能,作者腾讯知文实验室

1. 什么是任务型机器人

任务型机器人指特定条件下提供信息或服务的机器人。通常情况下是为了满足带有明确目的的用户,例如查流量,查话费,订餐,订票,咨询等任务型场景。由于用户的需求较为复杂,通常情况下需分多轮互动,用户也可能在对话过程中不断修改与完善自己的需求,任务型机器人需要通过询问、澄清和确认来帮助用户明确目的。

2. 任务型机器人的组成

任务型机器人核心模块主要包括三部分:

  1. 自然语言理解模块 —— Language Understanding

  2. 对话管理模块 —— Dialog Management

  3. 自然语言生成模块 —— 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语料的测试结果见表1:

2. 规则与统计结合的方法

例如组合范畴语法 (CCG),可以基于标注数据,对大量的复杂语言现象进行统计建模和规则自动提取。 由于语法规则的宽松性以及与统计信息的结合,该方法在口语语义理解中 的应用可以学习解析无规则的文本 (Zettlemoyer et al., 2007)。基于ATIS语料的测试结果见表2:

3. 统计方法(对齐)

基于词对齐数据的口语理解通常被看做一个序列标注问题。基于生成模型有随机有限状态机 (FST),统计机器翻译(SMT)、动态贝叶斯网络 (DBN)等,判别模型主要CRF,SVM,MEMM等(Hahn et al., 2011)。基于Media evaluation预料测试结果见表3。

4. 统计方法(非对齐)

如生成式的动态贝叶斯网络 (DBN) (Schwartz et al., 1996) ,缺点:马尔科夫假设使得该模型不能准确地对词的长程相关性进行建模;分层隐状态的方法能解决上述长程相关性的问题,但所需要的计算复杂度很高 (He et al., 2006);支持向量机分类器的基础上提出了语义元组分类器 (Mairesse et al., 2009) 的方法。基于TownInfo,ATIS语料测试结果见表4。

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)等。上述方法测试结果见表5。

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)。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190516160237643.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N0YXlfZm9vbGlzaDEy,size_16,color_FFFFFF,t_70) 3. 应用:阿里小蜜调研

阿里小蜜机器人整体算法体系如下,采用领域识别将输入的query和context分发到不同的机器人执行任务。 4.![在这里插入图片描述](https://img-blog.csdnimg.cn/20190516160338259.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N0YXlfZm9vbGlzaDEy,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190516160502790.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N0YXlfZm9vbGlzaDEy,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190516160437821.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N0YXlfZm9vbGlzaDEy,size_16,color_FFFFFF,t_70) 4. 总结

本文较为浅显的介绍了基于任务型对话的框架与一些方法,大家如果需要深入研究可在参考文献中寻找相应的文章阅读。当然,目前这个领域还存在较多的问题,如:

  1. 语义的表示方式。如何将句子设计成合适的语义结构形式,增添语义解析,语义推理,领域迁移的鲁棒性等,一直是十分有挑战性的问题。

  2. 任务型的数据收集和标注非常困难,如何设计一套较为通用的数据标注格式,有待研究推进,随着用户对任务型领域要求的日益增多,利用已有的资源对领域迁移的研究变得尤其重要。

问答
如何用php检测搜索引擎机器人?
相关阅读
任务型对话之语言理解
文本情感分析综述
当深度学习遇见自动文本摘要

此文已由作者授权腾讯云+社区发布,原文链接:cloud.tencent.com/developer/a…

欢迎大家前往腾讯云+社区或关注云加社区微信公众号(QcloudCommunity),第一时间获取更多海量技术实践干货哦~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何判断样本标注的靠谱程度?置信度学习(CL)简述

一只小狐狸带你解锁NLP/DL/ML秘籍来源:AI科技评论前言使用ImageNet、CIFAR、MNIST 或 IMDB 这些数据集时,你是不是会潜意识中假设,这些数据集中的类标签都是正确的?然而,你可能不知道:ImageNet数据集中至少…

论文浅尝 | Open world Knowledge Graph Completion

来源:AAAI2018论文链接:https://arxiv.org/pdf/1711.03438.pdf代码链接:https://github.com/bxshi/ConMask本文解决知识库补全的问题,但和传统的 KGC 任务的场景有所不同。以往知识库补全的前提是实体和关系都已经在 KG 中存在&am…

NLP十大研究方向Highlights!

前言 DeepMind 科学家 Sebastian Ruder总结整理了机器学习和自然语言处理领域 10 个影响巨大的有趣研究方向,本文将介绍该10个方向所取得的主要进展,简要说明我认为这个方向重要的原因,最后对未来的工作进行简短的展望。 这 10 个方向分别是…

图解Transformer

原文标题:The Illustrated Transformer 原文链接:https://jalammar.github.io/illustrated-transformer/ 论文地址:https://arxiv.org/abs/1706.03762 前言 Transformer在Goole的一篇论文Attention is All You Need被提出,为了方…

知识工场 | 让机器认知中文实体 —复旦大学知识工场发布中文实体识别与链接服务

本文转载自公众号:知识工场。一、什么是实体识别与链接近年来,如何通过知识图谱让机器实现自然语言理解受到越来越多的关注。其中,识别文本中的实体,并将它们链接到知识库中,是让机器理解自然语言的第一步,…

mikechen谈技术人成长的三大原则

“ 我自己是工程师出身,一路就像游戏打怪一样,不断去突破自己的职能舒适区,技术这条路我用了整整10年去把它全部打通,这些经验看似平淡,作为一个过来人,在你每一次新的选择的时候,你就会发现它…

最新进展 | 深度学习在天气预测中的应用

谷歌研究员提出使用机器学习方法预测未来短时间内的天气。此方法虽然处于早期发展阶段,但效果已经优于传统模型。 前言 天气总是会或轻或重地影响人们的日常生活,而天气预报的准确性会极大影响人们应对天气的方式。天气预报可以告知人们是否应当选取一条…

快速上手笔记,PyTorch模型训练实用教程(附代码)

前言自 2017 年 1 月 PyTorch 推出以来,其热度持续上升,一度有赶超 TensorFlow 的趋势。PyTorch 能在短时间内被众多研究人员和工程师接受并推崇是因为其有着诸多优点,如采用 Python 语言、动态图机制、网络构建灵活以及拥有强大的社群等。因…

领域应用 | 中医临床术语系统V2.0在线发布啦!

本文转载自公众号:中医药知识组织与标准。中医临床术语系统V2.0在线发布中医临床术语系统(Traditional Chinese Medicine Clinical Terminological Systems, TCMCTS)是由中国中医科学院中医药信息研究所研制的,用来描述健康状况和…

NLP Subword三大算法原理:BPE、WordPiece、ULM

Subword算法如今已经成为了一个重要的NLP模型性能提升方法。自从2018年BERT横空出世横扫NLP界各大排行榜之后,各路预训练语言模型如同雨后春笋般涌现,其中Subword算法在其中已经成为标配。且与传统空格分隔tokenization技术的对比有很大的优势~~ E.g. 模…

【小程序】微信小程序开发实践

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/diandianxiyu/article/details/53068012 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck…

技术人如何提升自己的核心竞争力

互联网行业是一个发展非常快&#xff0c;变化也快的行业&#xff0c;在这个行业&#xff0c;总是让人感觉既兴奋又不安。 兴奋的是你总能看到无数新奇的事物&#xff0c;甚至亲身参与到一场变革中去&#xff0c;而不安的则是&#xff0c;任凭你如何NB&#xff0c;你也无法保证哪…

AAAI 2018经典论文获奖者演讲:本体论的昨天和今天

本文转自公众号&#xff1a;AI科技评论。AI 科技评论按&#xff1a;正在美国新奥尔良召开的 AAAI 2018 的经典论文奖颁给了《Algorithm and Tool for Automated Ontology Merging and Alignment》。这篇论文发表在 2000 年的第 17 届 AAAI 大会上。这次颁奖是为了表彰这篇论文在…

ICLR2020 | 如何判断两个神经网络学到的知识是否一致

人工智能顶会 ICLR 2020 将于 4 月 26 日于埃塞俄比亚首都亚的斯亚贝巴举行。在最终提交的 2594 篇论文中&#xff0c;有 687 篇被接收&#xff0c;接收率为 26.5%。本文介绍了上海交通大学张拳石团队的一篇接收论文——《Knowledge Consistency between Neural Networks and B…

7张图学会SQL

第1周&#xff1a;SQL入门 学习SQL语句的书写语法和规则从零学会SQL&#xff1a;入门​www.zhihu.com 第2周&#xff1a;查询基础 Select查询语句是SQL中最基础也是最重要的语句&#xff0c;这周我们就来利用Select来对表中的数据进行查询。从零学会SQL&#xff1a;简单查询​w…

大公司稳定工作和创业之间如何选择?

“ 是留在大公司&#xff0c;还是加入小型创业公司&#xff0c;还是自己创业&#xff0c;面对房价每年高涨的趋势&#xff0c;面对未来的不确定&#xff0c;应该怎样选择。 作为一个亲历者&#xff0c;希望你看完后能有所启发。 本文作者&#xff0c;陈睿 优知学院创始人 优知…

论文浅尝 |「知识表示学习」专题论文推荐

本文转载自公众号&#xff1a;PaperWeekly。本期论文清单来自清华大学博士生韩旭和北师大本科生曹书林&#xff0c;涵盖了近年知识表示学习方向的重要论文。[ 综述类 ]■ 论文 | Representation Learning: A Review and New Perspectives■ 链接 | https://www.paperweekly.sit…

如何选择一家公司

不管是刚毕业的大学生还是工作几年的职场朋友&#xff0c;每个人都会面临选择公司和行业的困扰&#xff0c;我也相信每个人都还记忆犹新你的第一份工作以及让你无比难忘的一家公司。有时候我们也盲目的所求&#xff0c;其实&#xff0c;偶尔停下来思考下你真想去的地方&#xf…

LightGBM最强解析,从算法原理到代码实现~

1 LightGBM简介 GBDT (Gradient Boosting Decision Tree) 是机器学习中一个长盛不衰的模型&#xff0c;其主要思想是利用弱分类器&#xff08;决策树&#xff09;迭代训练以得到最优模型&#xff0c;该模型具有训练效果好、不易过拟合等优点。GBDT不仅在工业界应用广泛&#xf…

数据分析师基本技能——SQL

我们做数据分析工作时&#xff0c;多数数据来源于数据库&#xff0c;SQL非常方便我们访问和查询数据库。 SQL 作为数据分析师的基本技能&#xff0c;那么需要掌握哪些SQL核心技能 理解数据库SQL基础重点知识&#xff1a;查询&#xff0c;更新&#xff0c;提取&#xff0c;插入&…