开发者学堂课程【达摩院智能语音交互 - 人机对话技术浅析:检索式人机对话】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/854/detail/14078
检索式人机对话
内容介绍:
一、检索式人机对话
二、人机对话的三类常用方法
三、基于 ESIM 的多轮回复选择和 DSTC7 Track1
一、检索式人机对话
是客服聊天机器人中最常用的方法
1.按使用场景划分
(1)单轮回复选择
给定用户的单轮 query ,机器在候选集中选择正确回复,如普通的搜索引擎。
(2)多轮回复选择
给定用户的多轮对话历史,机器在候选集中选择正确的回复。
多轮回复选择有更强的数据信息,不仅需要考虑用户之前输入的信息,还需要考虑机器本身之前的信息。
如图,下图是客服场景下的多轮对话的例子::
客户首先会问299的湿巾和399的湿巾有什么区别,然后机器会回答材质一样的大小不同,用户又会问哦299的有5包80抽399的才4包72抽,此时用户已经明白两种湿巾的差别,然后机器需要从 n 个不同的回答中选择最优的答案作为回复,这里机器选择的是一种是大包的一种是小包的亲看一下哦,也就是最优答复。
二、人机对话的三类常用方法
1.基于句子编码的方法
(1)基于人工特征的方法,如:TF-IDF
(2)基于神经网络的方法,如:RNN,CNN,LSTM,BiLSTM
(3)优点:速度较快。
2.基于序列匹配的方法
(1)
Mv-LSTM,Matching-LSTM,Attentive-LSTM,Multi-Channels
(2)ESIM 模型(Chen et al,2019)
(3)优点:有较高准确率,其中 ESIM 模型是目前 SOTA 。
3.基于层级建模的方法
(1)Multi-View,DL2R,SMN,DUA,DAM
(2)优点:能显式建模 token-level 和 utterance-level 信息。
三、基于 ESIM 的多轮回复选择和 DSTC7 Track1
1. 基于 ESIM 的多轮回复选择
(1)在第七届对话系统技术挑战赛(DSTC7 Track1)包揽了两项冠军。
如图:
可以看到,阿里在众多知名院校如麻省理工学院等中脱颖而出,拿到了七
(2)ESIM 模型打破了之前基于层级的方法优于基于序列的方法的规律,证明了:基于序列的方法>基于层级的方法。
(3)为了回馈业界,阿里将 ESIM 的代码开源公布:
http://github.com/alibaba/esim-response-selection
2. DSTC7 Track1 任务介绍
DSTC 是由微软研究院于2013年发起的一项比赛。
(1)任务目标
①要求参赛模型根据给定多轮对话历史,在百或者上万个候选集中选择正确回复
(2)两个硬性规则
①参赛系统不能使用基于规则的特征或系统。
②不能使用除了词向量以外的额外的标注或未标注的预料。
(3)比赛分为两个数据集,所以会决定两个冠军。
①Ubuntu 数据集(规模较大,更多样化)
②Advising 数据集(规模较小,更集中)
(4)两个数据集实例
给定一个多轮对话历史,参赛模型需从候选集中选择出正确回复,根据任务的不同,候选集的数量不同,有的是一百个,有的是上万个,有的还可以使用官方的知识文本。
3.ESIM 原理简介
(1)是一种用于句子对分类问题的主流模型,最早用于自然语言推理任务(Chen et al,2017)
自然语言推理任务指通过模型从一句话推理出另外一句话,是一种典型的对句子分态任务,ESTM 模型已经获得页面大规模关注,被称为是匹配的利器。
详情可见下图:
(2)ESTM 模型主要由三个部分组成
①输入编码:word embedding,BiLSTM encoders
②局部匹配:dot product attention,heuristic matching
③匹配组合:用 BiLSTM,MLP classifier 进行分类
4.ESIM 与之前的 SOTA 方法比较
(1)在两个公开的大规模数据上取得了新的 SOTA
①在zUbuntu(Lowe et al.2015)中获得了2.9%R@1的绝对提升。
②在E-commerce(Zhang et al.2018)获得了6.9%onR@1的绝对提升。
详情可见下图: