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

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

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

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


探索式人机对话

 

内容介绍:

一、检索式人机对话

二、三类常用方法

三、基于 ESIM 多轮回复选择

四、DSTC 7 Track1任务介绍

五、两个数据集实例

六、ESIM 原理简介

七、ESIM 与之前的 SOTA 方法比较

 

一、检索式人机对话

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

按使用场景划分

单轮回复选择

给定单轮 query,在候选集中选择正确回复

多轮回复选择

给定多轮对话历史,在候选集中选择正确回复

两者核心的差别为:一个是给用户单轮的 query,一个为多轮的对话历史。例如常用的销售引擎,可以看作为多轮回复选择的任务。多轮回复选择通常更复杂,有一个更长的输入信息,不仅要考虑用户之前输入的信息还要考虑机器本身之前说过的信息。

下图为客户场景中多人对话的例子:

image.png

机器需要在候选答复中选出一个作为最优的答复,选择最优答复时不仅需要考虑用户当前的 query,还需要看历史对话的信息。

 

二、三类常用方法

基于句子编码的方法

人工特征: TF-IDF

神经网络: RNN,CNN,LSTM, BiLSTM

优点为计算速度较快

基于序列匹配的方法

MV-LSTM, Matching-LSTM, Attentive-LSTM,Multi-Channels

我们提出的 ESIM (Chen et al, 2019)

较高准确率,目前SOTA(其中提出的 ESIM 为目前最先进的模型。)

基于层级建模的方法

Multi-View, DL2R,SMN,DUA,DAM

优点为能显式建模 token-level 和 utterance-level 信息

 

三、基于 ESIM 多轮回复选择

·包揽两项冠军,第七届对话系统技术挑战赛(DSTC7 Track1 )

·基于序列的方法>基于层级的方法(之前论文工作的声明基于层级的方法优于基于序列的方法)

·代码开源

https://github.com/alibaba/esim-response-selection

image.png

如图在8个值任务上以显著的优势获取7个第一,以及1个第二,综合排名在两个数据中都为第一。

 

四、DSTC 7 Track1任务介绍

任务目标

给定多轮对话历史,在候选集中选择正确回复

规则

参赛系统不能使用基于规则的特征或系统

不能使用除了词向量以外的额外的标注或未标注预料

两个数据集

Ubuntu(规模较大,更多样化)

Advising(规模较小,更集中)

 

五、两个数据集实例

给定一个多轮的对话历史,模型需要从上百个候选答复中选定一个正确的答复。有的任务从一百个候选中选择,有的从上万个候选中选择,还有的任务可以使用官方提供的一些额外的知识文本。

多轮对话历史

image.pngimage.png

候选回复

image.pngimage.png

正确回复

image.pngimage.png

 

六、ESIM 原理简介

一种用于句子对分类问题的主流模型,最早用于自然语言推理任务(Chen et al, 2017),自然语言推理是指模型来判断一句话是否可以推出另一句话。

三个部分

输入编码: word embedding, BiLSTM encoders

局部匹配:dot product attention, heuristic matching

匹配组合:BiLSTM,MLP classifier

image.png

 

七、ESIM 与之前的 SOTA 方法比较

在两个公开的大规模数据上取得了新的 SOTA

Ubuntu (Lowe et al.2015),+2.9% R@1的绝对提升(在Ubuntu 上获得了2.9%的绝对提升)

E-commerce (Zhang et al.2018),+6.9% on R@1的绝对提升

image.png

相关文章
|
存储 边缘计算 对象存储
阿里云盘正式公测
今天,我们的第一款个人云产品——阿里云盘,正式启动公测
5113 0
阿里云盘正式公测
|
分布式计算 MaxCompute
MaxCompute 行转列 列转行
搜了一下行转列、列转行,除了隐林一篇之外,好像没有了 最近在帮助项目组初学者整理初学者文档,刚好用关系型数据库的例子变化实现了一个 借鉴:https://developer.aliyun.com/article/40518 供大家参考
4179 0
|
3月前
|
应用服务中间件 Nacos nginx
黑马头条_SpringCloud项目阶段一:环境搭建(Mac版本)
本文为 Mac 用户介绍微服务项目环境搭建,含阿里云服务器用 Docker 装 Nacos 1.2.0,本地通过 brew 装 OpenJDK 8、Maven 3.6.1、Redis,Docker 部署 MySQL 5.7 并配字符集,及 Nginx 安装与反向代理设置,附命令与配置步骤。
264 4
黑马头条_SpringCloud项目阶段一:环境搭建(Mac版本)
|
4月前
|
安全 Linux iOS开发
Tenable Nessus 10.9.3 (macOS, Linux, Windows) - 漏洞评估解决方案
Tenable Nessus 10.9.3 (macOS, Linux, Windows) - 漏洞评估解决方案
513 0
Tenable Nessus 10.9.3 (macOS, Linux, Windows) - 漏洞评估解决方案
|
4月前
|
Web App开发 Ubuntu Oracle
Ubuntu安装与使用详解:掌握开源操作系统的钥匙
遵循这些步骤和指南,你将能够顺利地开始使用Ubuntu,并充分利用其强大的功能和友好的界面。
|
缓存 运维 Kubernetes
阿里云云效操作报错合集之有几个老项目流水线,部署过程一直是部署中不结束,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
传感器 自然语言处理 运维
技术详解 阿里云AIoT物模型支撑设备规模已超亿级
本文介绍的物模型技术,对于阿里云AIoT来说,物模型技术早已沉淀多年,所以能够让各种硬件产品实现真正的智能化连接。
1836 1
技术详解 阿里云AIoT物模型支撑设备规模已超亿级
|
应用服务中间件 Linux nginx
CentOS 7.6安装 nginx
CentOS 7.6安装 nginx
505 0
CentOS 7.6安装 nginx
|
前端开发 编译器 iOS开发
Clang编译OC程序的常用命令
在Objective-C开发过程中,尤其在了解某些功能的底层实现时,常用到Clang编译器的命令。这篇文章是简单了解Clang和Clang的常用指令。
674 0
Clang编译OC程序的常用命令
|
Java Maven
IDEA创建maven项目
IDEA创建maven项目
495 0
IDEA创建maven项目