任务型对话概述
[TOC]
什么是任务型对话

任务型对话的应用
智能家居——结合语音唤醒、语音识别、语音合成等技术,让各种电器、家居设备理解人的语音控制指令,实现“动嘴不动手”
消费电子——适用于儿童故事机、教育机器人、智能手表、智能儿童玩具、商场导购机器人、政府办事大厅服务机器人
车载出行——语音交互,比如导航,播放音乐
智能客服
文字机器人客服(应用于网页、APP、微信等)
语音智能客服
智能外呼——对传统呼叫中心进行改造,实现通知、邀约等
智能呼入——满足来电用户诉求,比如:订咖啡,订餐位,预约出租车等
智能回访——电话回访中,满足信息收集,比如满意度调查等
任务式对话技术沿革
以对话管理的方式来划分

基于pipeline的任务型对话系统
什么是pipeline的任务型对话系统

pipeline型任务式对话系统中的NLU、DST、DPL、NLG等模块的介绍
NLU
NLU(自然语言理解):是指将用户表述映射为结构化的语义表示,典型的结构化语义表示是意图+词槽的形式。
意图:是指对话中用户想要表达的目的,比如订票,查天气等。
词槽:是指用户表述中,与任务相关的核心语义元素

意图分类+词槽识别 ==> 文本分类+序列标注
文本分类:规则;分类算法(SVM, DL)
经典NLU数据集

深度学习时代NLU的发展历程

NLU典型算法示例

NLU开源工具
RASA
DST
DS(对话状态):是指将t时刻的对话表示为可供系统选择下一时刻动作信息的抽象信息(数据结构),典型而言就是每个槽值的取值分布情况(Belif State)
DST:对DS进行追踪,当前大多数工作采用Belif State
DST 模块:存储了当前的对话状态,包括意图和槽位,这一模块的目标是追踪用户需求并判断当前的对话状态。该模块以多轮对话历史、当前的用户动作为输入,通过总结和推理理解在上下文的环境下用户当前输入自然语言的具体含义。

经典DST数据集

DST的典型算法示例

Policy
DPL(对话策略学习)- 确定系统动作,意图 + 槽值
DPL 模块:也被称为对话策略优化(optimization),根据当前的对话状态,对话策略决定下一步执行什么系统动作。系统行动与用户意图类似,也由意图和槽位构成。
对话策略是指根据DST估计的对话状态,通过预设的候选动作集,选择系统动作的过程。

典型方法

FSA(Finite State Machine)有限状态机

NLG
自然语言生成的主要任务是将对话管理模块输出的抽象表达转换为句法合法、语义准确的自然语言句子,一般视为一个条件语言生成任务。

NLG中的典型方法

端到端的任务型对话系统
什么是端到端的任务型对话系统
类pipeline型和完全端到端型系统的介绍

两种类型的任务式对话系统的对比

pipeline每个模块都需要数据
示例

任务式对话平台化产品发展


UNIT——面向小样本的意图识别

UNIT——TaskFlow:可编程对话流管理框架

未来发展方向
领域适配能力:有自己的知识库,词槽等,不一定适用于别的领域
鲁棒性与持续学习能力:训练数据可能比较好,上线后领域变多,对话类型也变多;增加新的意图
预训练与端到端模型
参考资料
百度NLP打卡营
Last updated
Was this helpful?