任务驱动型人机对话|学习笔记

简介: 快速学习任务驱动型人机对话

开发者学堂课程【达摩院智能语音交互 - 人机对话技术浅析任务驱动型人机对话】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/42/detail/959


任务驱动型人机对话

 

内容介绍:

一、任务驱动型人机对话

二、自然语言理解(NLU )

三、NLU 常用神经网络方法

四、BERT 联合建模意图分类和槽填充

 

一、任务驱动型人机对话

 image.png

一般沿用如上的流程框图。用户给出一条智能语言的指令,例如例子中的找一部电影,通过语言给出,人机系统在入口前会接入一个ASR的语音识别系统来将语音转为文字。

文字会通过自然语言理解模块即NLU模块,功能识别输入块的语义和意图,获得任务相关的语义信息。例如上图中NLU模块识别出电影领域,意图为寻找电影,其中的演员为bill murry。(NLU模块在日后会详细介绍。)接着信息流会进入到对话管理模块,其中包括对话状态追踪和对话决策模块。

对话管理DM控制着人机对话的过程。DM会根据对话的历史信息来决定对用户的反应。其中对话状态追踪主要为回复和更新对话的状态例如NLU模块的一些输出,用户的特征等。对话决策模块基于当前的对话状态选择接下来的合适的动作。

对话管理常会涉及到与领域相关的知识库的交互,例如在该地址中,机器会在知识库中查找bill murray电影,并发现bill murray出现过很多部电影。因此对话管理模块会做出一个请求电影发行年份的动作。对话管理模块主流的方法一般是基于启发式的方式,当前正在探索,技术并不够成熟。

接着请求电影的动作通过自然语言NLG模块生成自然语言的语句:是什么时候发行的,NLG方法有基于神经网络的方法,但报告中不会具体描述。

NLG后一般也会接TTS的语音合成系统,TTS会将文字转为语音和人类进行交互。最后从NLU到DM再到NLG形成了一个完整的任务型驱动型的人机对话流程。

 

二、自然语言理解(NLU )

领域分类 Domain Classification(就是将用户输入进的自然语言语句划分到某个特定的领域,例如电影领域、餐馆领域、航班领域等。一般不同的领域后会对接不同的知识库。例如电影领域后会接一个与电影相关的知识库)

电影,餐馆,航班,..

意图分类 Intent Classification(例如在航班领域,常用的意图有航班时间、机票费用、地面服务等。意图分类模块就是将用户的语句分类到某个意图上)

航班时间,机票费用,地面服务...

槽填充 Slot Filling(就是将某些槽填上对应的槽值。一般用key value形式来表示。例如在航班领域,出发城市为一个槽,当前语句对应的一个槽值为杭州,出发月份为另一个槽,对应的槽值为四月。)

出发城市=“杭州”,出发月份=“四月”,...

例子:

杭州机场有什么地面交通?(用户的自然语言输入)

领域:航班(NLU模块划分到一个航班领域)

意图分类和槽填充:地面服务(城市名=“杭州”)

 

三、NLU 常用神经网络方法

领域分类

CNN,LSTM,Transformer

意图分类

CNN,LSTM,Transformer

槽填充(一般会当成一个序列标注的问题来解,给输入的领域打上标签,例如哪些属于城市名)

Sequence labeling approaches

BiLSTM+CRF,Transformer(常用的方法)

流水线pipeline:领域分类->意图分类->槽填充

为什么不联合意图分类和槽填充?(近年来业界关注到了该问题,2016年 Sequence-based 与 Parallel 方法都尝试将意图分类和槽填充联合起来。而不是使用一个 pipeline 流水线的模式。)

Sequence-based (Hakkani-Tur et al, 2016),Parallel (Liu and Lane, 2016)

 

四、BERT 联合建模意图分类和槽填充

BERT for Joint Intent Classification andSlot Filling (Chen et al., 2019)(具体细节可参考公开论文)

优点:

预训练 BERT 缓解对话标注数据稀少造成的泛化能力较弱问题

巧妙地利用 BERT 结构联合建模意图分类和槽填充

在两个 benchmark 获得 SOTA

方法原理图如下:

image.png

BERT 模型和一个特殊的 talker CLS 会被用来做 Intent 分类。其它的会被用来做 Slot Filling。

相关文章
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
# 人工智能驱动的生产力手册(二)(2)
# 人工智能驱动的生产力手册(二)
39 0
|
6天前
|
人工智能 开发者
# 人工智能驱动的生产力手册(二)(1)
# 人工智能驱动的生产力手册(二)
433 0
|
6天前
|
人工智能 Java iOS开发
# 人工智能驱动的生产力手册(二)(3)
# 人工智能驱动的生产力手册(二)
23 0
|
6天前
|
人工智能 JavaScript 前端开发
# 人工智能驱动的生产力手册(二)(4)
# 人工智能驱动的生产力手册(二)
34 0
|
7月前
|
人工智能
AI大模型,让认知操作系统
AI大模型,让认知操作系统
75 0
|
12月前
|
人工智能 算法
《阿里云产品手册2022-2023 版》——AI通用算法与应用
《阿里云产品手册2022-2023 版》——AI通用算法与应用
183 0
|
12月前
|
机器学习/深度学习 自然语言处理 算法
谷歌的野心:通用语音识别大模型已经支持100+语言
谷歌的野心:通用语音识别大模型已经支持100+语言
167 0
|
机器学习/深度学习 自然语言处理 达摩院
如何用一套语音识别系统实现多语种混合自由说?
语音识别技术,也被称为自动语音识别 (Automatic Speech Recognition,ASR),其目标是将语音转成文字。
259 0
|
机器学习/深度学习 自然语言处理 达摩院
任务驱动型人机对话|学习笔记
快速学习任务驱动型人机对话
114 0
任务驱动型人机对话|学习笔记
|
架构师 开发者
通用行业分析|学习笔记
快速学习通用行业分析。
69 0
通用行业分析|学习笔记