- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
110|任务型对话系统有哪些技术要点?
2018-05-14洪亮劼来自北京
《AI技术内参》
在上一期的分享中,我为你开启了另外一种和文字相关的人工智能系统——对话系统的一些基
础知识。我重点和你分享了对话系统的由来,以及对话系统分为“任务型”和“非任务型”两
种类型的概况。同时,我们也聊了聊早期的基于规则的对话系统的构建,以及这样的系统对后
来各式系统的影响。最后,我为你简单介绍了对话系统的各个基本组件以及这些组件的主要目
标。
在今天的分享里,我们就来看一看任务型对话系统的一些技术要点。
任务型对话系统的基本架构
首先,我们来回顾一下任务型对话系统的一些基本架构。尽管不同的对话系统有着不同的目
的,但是从大的架构上来看,所有的任务型对话系统都有一些基本共同的组件。
第一个组件是“自动语音识别器”(ASR),这个组件是把人的语音进行识别,转换成为计算
机能够理解的信号。
第二个组件是“自然语言理解器”(NLU)。在这个组件里,我们主要是针对已经文字化了的
输入进行理解,比如提取文字中的关键字,对文字中的信息进行理解等。
第三个组件是“对话管理器”(DM)。这个组件的意义是能够管理对话的上下文,从而能够
对指代信息,上下文的简称,以及上下文的内容进行跟踪和监测。
第四个组件是“任务管理器”(TM),用于管理我们需要完成的任务的状态。
第五个组件是NLG,既从管理器的这些中间状态中产生输出的文本,也就是自然和连贯的语
言。
最后一个组件是TTS。在一些产品中,我们还需要把自然语言能够用语音的方法回馈给用户。
在我们今天的分享里,因为ASR和TTS都并不是对话系统的特殊组件,我们就不对这两个部
分进行更加深入的探讨了。
任务型对话系统组件详解
我们先来看一下NLU这个组件。这个组件的目的是把用户输入的文字信息给转换成为任务型
对话系统可以理解的内部的表征(Representation)形式。
我们试想一个餐馆的对话系统,当用户输入了一个句子“看一下北京西单附近今晚7点左右的
西餐厅”,这个时候,我们都需要了解哪些信息呢?
首先,我们需要知道这个输入的“意图”(Intent)。作为一个餐馆的对话系统来说,我们有
可能需要处理好几种不同的意图,比如“订餐”的意图,“查询菜品”的意图等。那么对于我
们刚才的这个句子来说,很有可能是一个订餐的意图。也就是说,我们针对一个输入的句子来
判断当前的意图,而意图其实就是一个离散的输出结果。这其实就是一个多类的分类问题,或
者可以看作是句子的分类问题。
当我们知道了整个句子的意图之后,我们就需要进一步理解这个输入句子的细节。而进一步的
理解其实就是希望能够从输入的句子中获得可以“执行”(Execution)的信息。
当我们真实进行餐馆预定的时候,餐馆的名字,预定的时间,用餐人数等信息就显得尤为重
要。我们可能需要这样的操作,能够提取出餐馆名字、预定时间、用餐人数等信息,执行餐馆
预定的动作,并且能够在餐馆的后台系统中记录下来。于是,我们需要对刚才的语句进行这样
的分析。这种分析有时候也被叫作“填空”(SlotFilling)。
“填空”其实也可以看作是一个分类问题。比如,需要知道“北京西单”是一个地点,要把这
个地点给识别出来,而且能够知道我们已经填了一个叫“地点”的空。再比如,“今晚7点”
也需要被识别出来,让我们知道时间的空也被填好了。在这方面有很多方法,有基于传统模型
比如“条件随机场”(ConditionalRandomField),简称CRF的;也有基于“递归神经网
络”RNN的。
经过了NLU这个组件之后,我们就来到了对话系统的中枢大脑的位置,就是DM这个组件。
这个组件重点的是对对话进行跟踪和管理。从整个对话的角度来看,DM的主要职责就是监控
整个对话的状态目前到达了一个什么情况,下一步还需要进行什么样的操作。
还是以刚才我们的输入句子为例,通过NLU的分析,我们知道已经有地点和时间两个“空”
(Slot)被补齐了,但是很明显有一些最核心的信息依然缺失,比如就餐的人数,订餐人的联
系电话等。DM的一大作用就是对所有的“空”都进行管理,并且决定下面还有哪些“空”需
要填写。在传统的系统中,DM大多是基于规则的,不过在最近的发展中,DM逐渐变成了基
于分类问题的,利用CRF或者RNN来对DM进行建模的也越来越多。
下一个模块就是TM。这其实是整个任务型对话系统中执行任务的部分。对于一个“订单”意
图的餐馆对话系统来说,当必要的“空”都已全部填齐的时候,TM就会去触发当前需要进行
动作,比如真
您可能关注的文档
- 019-SIGIR2018论文精读:偏差和“流行度”之间的关系【萌萌家】.pdf
- 025-ICML2018论文精读:模型经得起对抗样本的攻击?这或许只是个错觉【萌萌家】.pdf
- 026-ICML2018论文精读:聊一聊机器学习算法的“公平性”问题【萌萌家】.pdf
- 027-ICML2018论文精读:优化目标函数的时候,有可能放大了“不公平”?【萌萌家】.pdf
- 031-经典搜索核心算法:TF-IDF及其变种【萌萌家】.pdf
- 035-机器学习排序算法:配对法排序学习【萌萌家】.pdf
- 038-“查询关键字理解”三部曲之解析【萌萌家】.pdf
- 043-文档理解第一步:文档分类【萌萌家】.pdf
- 046-大型搜索框架宏观视角:发展、特点及趋势【萌萌家】.pdf
- 048-搜索索引及其相关技术概述【萌萌家】.pdf
文档评论(0)