检索式人机对话|学习笔记

简介: 快速学习检索式人机对话

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

课程地址https://developer.aliyun.com/learning/course/854/detail/14078


检索式人机对话


内容介绍:

一、检索式人机对话

二、人机对话的三类常用方法

三、基于 ESIM 的多轮回复选择和 DSTC7 Track1

一、检索式人机对话

是客服聊天机器人中最常用的方法

1.按使用场景划分

1)单轮回复选择

给定用户的单轮 query ,机器在候选集中选择正确回复,如普通的搜索引擎。

(2)多轮回复选择

给定用户的多轮对话历史,机器在候选集中选择正确回复

多轮回复选择有更强的数据信息,不仅需要考虑用户之前输入的信息,还需要考虑机器本身之前的信息。

如图,下图是客服场景下的多轮对话的例子::

image.png

客户首先会问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)包揽了两项冠军。

如图:

image.png

可以看到,阿里在众多知名院校如麻省理工学院等中脱颖而出,拿到了七

(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 模型已经获得页面大规模关注,被称为是匹配的利器。

详情可见下图:

image.png

(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的绝对提升

详情可见下图:

image.png

相关文章
|
缓存 负载均衡 应用服务中间件
高性能网络编程技术 Nginx 的概念与实践
Nginx 是一款高性能、轻量级的Web服务器和反向代理服务器,它在网络编程技术领域中被广泛应用。本文将详细介绍Nginx的概念和实践,包括其核心原理、功能特点、优势和应用场景等方面。同时,还将深入探讨如何使用Nginx进行高性能网络编程,结合实际案例进行分析。
|
敏捷开发 存储 运维
ITIL 4—发布管理实践
ITIL 4—发布管理实践
737 0
|
网络安全 数据安全/隐私保护
用smtp发送邮件,语法错误,无法识别命令。 服务器响应为:Authentication is re
用smtp发送邮件,语法错误,无法识别命令。 服务器响应为:Authentication is re
661 0
|
Linux 数据安全/隐私保护
ntp协议为什么不能主动同步超两年的时钟差异?是由哪些配置决定的
ntp协议为什么不能主动同步超两年的时钟差异?是由哪些配置决定的
634 3
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
473 1
|
负载均衡 监控 网络协议
rpc简介
rpc的了解
428 6
|
XML 数据格式
XML中的CDATA区块
XML中的CDATA区块
300 0
|
C语言 CDN
C语言逗号表达式
C语言逗号表达式
451 0
|
存储 JSON 前端开发
第四章 前后端数据交换格式详解
第四章 前后端数据交换格式详解
398 0