基于元学习和人机协同的端到端对话模型

Dialog Studio 是达摩院NLP-小蜜Conversational AI团队研发的面向开发者的智能对话开发平台,目前已经在云(多省市政务12345热线、中移动10086、金融、医疗等)、钉钉(通过钉钉官方智能工作助理服务几百万企业)、集团内(淘宝优酷等十几个BU)、淘宝天猫商家以及Lazada东南亚6国大规模应用。

为了应对疫情,基于 Dialog Studio 紧急开发的智能疫情外呼机器人,截止3月底,总共呼出了1600多万通电话,帮助23个省筛查出了18万健康异常的人员,对话完成率高达90%,在人民网“人民战疫”大赛评为唯一的一等奖。

围绕 Dialog Studio,我们有系列文章:

【1】一个中心+三大原则 – 小蜜这样做智能对话开发平台

【2】自然语言理解-从规则到深度学习

【3】Few-shot Learning 最新进展

【4】EMNLP 2019: 基于 Few-shot learning 的对话意图识别

【5】Dialog Studio - 新一代智能对话开发平台

【6】对话用户模拟器最新进展

【7】小蜜团队万字长文:对话管理模型最新研究进展

【8】ACL 2020: 基于元学习和人机协同的端到端对话模型

  1. 背景
    端到端对话模型近几年得到了学术界和工业界的广泛关注(详见可参考《小蜜团队万字长文:对话管理模型最新研究进展》),相比 pipeline 式的对话系统,端到端对话系统可以直接利用对话日志进行训练,不需要人工设计特定的语义标签,因此更具备可扩展性。 我们在 Dialog Studio 上已经实现了端到端的对话模型,并且在政务、疫情等业务中落地应用。一个省信访外呼对话例子如下:

上述例子是一个满意度回访调查的场景,由于没有复杂的知识推理、语义解析等,是端到端对话系统特别适用的场景。一般来说,端到端对话模型可分为检索式和生成式,检索式模型就是给定对话历史从预定义回复候选集合中选出最佳回复作为当前系统输出,生成式模型则是给定对话历史直接生成回复。两种方式都可以通过和用户多轮交互完成最终的对话任务。

然而,尽管端到端对话模型简单易用,但是在实际应用中仍然面临着两大常见问题:

Data Scarcity Problem:端到端模型一般需要大量的训练数据,且场景越复杂,需求越大。在云小蜜 Dialog Studio 中的ToB 的业务,不少新场景一开始是没有可用的高质量对话日志的,比如我们已经在政务12345 场景 和 114 移车场景上积累了大量的对话,可以当我们做省信访外呼场景时,一开始只有很少的对话可以使用。因此如何利用已有场景的丰富数据训练一个端到端模型,使其可以快速迁移到缺少数据的新场景上是一个很大的挑战。

Covariate Shift Effect:有限的离线训练数据和真实的在线测试数据之间存在数据分布的差异性,会导致系统在线表现不佳,和离线测试效果不匹配,这种差异性主要来自于未见的用户行为(例如:新槽值、新意图、复杂句等)。例如下图中,训练数据中从未出现过“喂,内容是什么?我忘了反馈什么了” 类似的用户语句,一旦真实上线,模型很容易预测出错误的结果,从而影响用户体验。尤其是当数据量少的时候,模型对于在线数据的鲁棒性会进一步下降。因此如何解决线上线下数据不匹配,提高端到端对话模型的鲁棒性是另一大挑战。

实际上,在云小蜜的业务中,不少场景都存在训练数据少的问题,而客户又需要我们的对话系统能够达到可直接上线的标准。因此综合来看,我们希望提出一种新的对话系统以及对应的训练方法,能够兼具备面对新场景的快速适应性 (fast adaptability)和稳健的在线表现 (reliable performance),能够在低训练资源下依旧能够保证较好的线上效果。

  1. 技术方案
    通过前期调研我们发现,应对数据少的问题的常用方法有元学习、数据增强等,应对训练和测试对话数据不一致的问题的常用方法有人机协同[1]、在线学习[2]等。最终我们选择将元学习(meta-learning)方法和人机协同(human-machine collaboration)方法结合,提出了元对话系统(Meta-Dialog System, MDS):利用元学习,系统能够在少量训练数据上进行快速学习,解决 Data Scarcity Problem;利用人机协作,模型可以在对话中请求人工客服帮助,以保证系统达到可接受的线上水平,降低 Covariate Shift Effect。相关成果已经发表至 ACL2020 [3],该系统有望在有辅助人工客服且缺数据的新场景中得到应用。

2.1 问题定义
由于回复内容可控,我们采用检索式端到端对话模型,该对话任务是一个分类任务:给定预定义的回复候选集,基于对话历史选择正确回复。如下图所示,模型一般包含: 1)历史编码器(History encoder) ,对整个对话历史进行编码提取对话状态向量,常见模型有 MemN2N,Hierarical RNN 等 ;2)回复编码器 (Response encoder),对每个回复进行编码提取句向量;3)预测器,根据对话状态向量和回复句向量判断出正确的回复,通常就是计算余弦相似度给出。

而在人机协同的框架下,端到端对话模型会多出一个判决器模块,用于判定当前对话是否转人工,如果转人工则交给人工客服解答,否则模型自己给出答案。如下图所示:

2.2. 模型详解
我们沿用了上述的模型结构 [1],但是在每个模块和训练方法上都进行的改进创新。整个 MDS 的框架如下:

和 [1, 4] 一致,对于历史编码器我们采用了一个 MemN2N 模型,对于回复编码器我们使用了一个简单的词向量相加的句向量。模型预测器的部分,我们选择了large margin cosine loss [7] 作为损失函数 LLMC\mathcal{L}_{LMC}LLMC,因为它可以学习更有鉴别性的特征(discriminative features)。针对请求人工的判决器,我们在 [1] 的基础之上提出了一个新的 reward 设置,使用增强学习来进行优化 LRL\mathcal{L}_{RL}LRL。最终,我们使用 MAML [5] 方法对 L=LRL+LLMC\mathcal{L} = \mathcal{L}_{RL} + \mathcal{L}_{LMC}L=LRL+LLMC 进行联合优化,帮助模型找到一组合适的参数,使得预测器和判决器一起快速适应新场景。

2.2.1. Learning to Switch
设第 iii 个数据为 did_idi, 该对话状态向量为 sis_isi, 回复候选集为 R\mathcal{R}R, 每个回复的句向量设为 rkr_krk, 判断器的输出整体考虑了 sis_isi 的信息以及它和各个 rkr_krk 的 attention 信息,具体计算如下:

σ\sigmaσ 是 sigmoid function, FC(⋅)FC(\cdot)FC() 是一个全连接网络,WWW 是个 trainable matrix。得到判决器的预测结果后,我们需要设计合适的 reward 使用增强学习来优化。直观来看,一个理想的判决器应当是模型预测错时多转人工,模型预测对时少转人工,这样就能保证整体的转人工率低,且整体 turn ACC (请求人工也算对)高。
reward 设置:设一个batch data 为 mathcalD=d1,d2,...,di,...mathcal{D}={d_1, d_2, ...,d_i, ...}mathcalD=d1,d2,...di,..., 我们将模型预测错误的 did_idi 设为正样本(label=True), 预测正确的设为负样本 (label=False), 判决器判断转人工的数据设为预测正样本( prediction=True), 判断不转人工的设为预测负样本(prediction=False), 然后计算出正样本和负样本的 F1 score,再取平均得到整个 batch 的 得分 score(D)score(\mathcal{D})score(D), 其中每个数据 did_idi 分配到的 reward ri=score(D)−score(D−di)r_i=score(\mathcal{D})-score(\mathcal{D}-d_i)ri=score(D)score(Ddi)。 RL 的优化我们选择 policy gradient method。

2.2.2. MAML 训练
得到整体的损失函数 L=LRL+LLMC\mathcal{L} = \mathcal{L}_{RL} + \mathcal{L}_{LMC}L=LRL+LLMC 后,我们采用 MAML 算法优化整个模型。

首先需要构造元任务 (meta-task),步骤如下:

采样 K 个对话场景 (每个场景对应一个对话任务)
每个对话任务,采样 N 个对话数据作为支撑集(supoort set),N 个数据作为问询集(query set)
然后 MDS 的 MAML 优化如下:

  1. 实验结果
    为验证模型在新场景的迁移能力,我们需要多场景的端到端对话数据集。在评估时,依次选取一个场景作为目标场景,剩余的作为训练场景,利用 MAML 预训练模型,meta trainning 完毕之后, 再在目标场景上进行小样本的迁移实验。最终结果是每个场景去平均后得到。

3.1. 数据集构造
3.1.1 Extended-bAbI
原始的 bAbI [4] 因为是单场景的对话,且初步实验效果发现将其中的 Task1-5 作为元任务效果不佳。因此我们仿造 bAbI 模拟生成了一个更大的多场景端到端数据集称作 extended-bAbI。包含场景有餐馆、机票、酒店、电影、音乐、旅游、天气等 7 个场景,每个场景的训练集/开发集/测试集为 1500/500/1000 个完整对话。 音乐和天气场景的两个对话例子如下所示:

3.1.2. MultiWOZ
MultiWOZ [6] 是最近提出的大型任务对话数据集,也可以用于进行模型评估。为了将 MultiWOZ 简化成 bAbI 对话任务,我们只使用包含 single-domain 的对话,并且进行去词汇化,利用 dialog label 将槽值替换成特定 token,再将 dialog act 进行一定的规整,最终得到端到端对话数据。一个对话例子如下所示。

3.2. Baselines
Mem\textbf{Mem}Mem: 利用 MLE 训练的一个 MemN2N 模型。
MetaMem\textbf{MetaMem}MetaMem: 利用 MAML 训练的 一个 MemN2N 模型。MetaMem\textbf{MetaMem}MetaMemMem\textbf{Mem}Mem 都没有请求人工的判决器。
Mem+C\textbf{Mem+C}Mem+C:论文[1] 的人机协同模型。该模型的训练准则和损失函数和我们都不一样。
IDS\textbf{IDS}IDS:论文[8] 提出的 incremental dialog system, 该模型的判决器是一个变分自编码器,通过估计对话的不确定性来判断是否请求人工。
MDS-switch\textbf{MDS}_\text{-switch}MDS-switch: MDS 去掉判决器部分。
MDSmle\textbf{MDS}_\text{mle}MDSmle: MDS 保持模型一致,但是训练方法采用 MLE。
MDSrand\textbf{MDS}_\text{rand}MDSrand: MDS 的判决器替换成一个 请求人工率一致的 random classifier,
3.3. 实验结果和分析
在extended-bAbI 上的结果如下表所示:

request 是请求人工率,accuracy 是含转人工的整体 turn ACC,即转人工或模型预测正确均算对。 
可以看到,MDS 的表现优于所有的基线模型,平均在新场景上仅需 10 个对话就可以达到 90% 以上的turn ACC。 使用请求人工的判决器的模型显著好于不使用或者使用random判决器的模型,说明人机协同框架在提高模型整体表现起到重要作用。利用元学习的模型相比不使用元学习的模型,在效果上也有稳定的提高。

MultiWOZ 上的实验结果如下表所示:

由于MultiWOZ是真实的人人对话,因此所有模型的表现都有合理的下降,但是 MDS 相比其他模型依然有明显的优势,在请求人工率相近的情况下有更高的 turn ACC。

  1. 总结和展望
    本文主要介绍了如何结合 元学习方法 和 人机协同 方法 提高端到端对话模型在新场景上的快速适应能力和预测效果。对于元学习方法,我们采用了 MAML 算法,在多场景的对话数据集上进行实验。实验表明,利用 MAML 可以很好地帮助模型的判决器和预测器一起找到合适的初始化参数,以更快地迁移到新的场景中去。未来,我们将探索利用更强大的编码模型(如 BERT),更好的 reward 设计,并把我们的元学习对话系统落地到云小蜜的真实业务中去。

参考文献
[1] Rajendran J, Ganhotra J, Polymenakos L C. Learning End-to-End Goal-Oriented Dialog with Maximal User Task Success and Minimal Human Agent Use. ACL, 2019.
[2] Liu B, Tur G, Hakkani-Tur D, et al. Dialogue learning with human teaching and feedback in end-to-end trainable task-oriented dialogue systems. NAACL, 2018.
[3] Dai Y, Li H, et al. Learning Low-Resource End-To-End Goal-Oriented Dialog for Fast and Reliable System Deployment. ACL, 2020. (to be appeared)
[4] Bordes A, Boureau Y L, Weston J. Learning end-to-end goal-oriented dialog. ICLR, 2016.
[5] Finn C, Abbeel P, Levine S. Model-agnostic meta-learning for fast adaptation of deep networks. ICML, 2017.
[6] Eric M, Goel R, Paul S, et al. Multiwoz 2.1: Multi-domain dialogue state corrections and state tracking baselines[J]. arXiv preprint arXiv:1907.01669, 2019.
[7] Lin T E, Xu H. Deep unknown intent detection with margin loss[J]. ACL, 2019.
[8] Wang W, Zhang J, Li Q, et al. Incremental learning from scratch for task-oriented dialogue systems. ACL, 2019.

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI释放数字经济潜能!思谋科技受邀出席2021全球数字经济大会

8月2日,2021全球数字经济大会在北京举办。本次会议以“创新引领 数据驱动——建设全球数字经济标杆城市”为主题,由北京市人民政府、国家发展和改革委员会、工业和信息化部、商务部、国家互联网信息办公室共同主办。思谋科技作为承办单位参与论坛。思谋科…

ZAO 背后的深度学习算法原理浅析

ZAO最近火爆,成为现象级产品之一,引起大家的广泛关注,ATA上面已经有同学做了一些说明分析,链接如下: https://www.atatech.org/articles/148375?spmata.13269325.0.0.27ad49fa0Vr2gG 上面文章介绍了ZAO是基于deep f…

Serverless在SaaS领域的最佳实践

简介: 特别对于当下的经济环境,SaaS厂商要明白,不能再通过烧钱的方式,只关注在自己的用户数量上,而更多的要思考如何帮助客户降低成本、增加效率,所以需要将更多的精力放在自己产品的定制化能力上。 作者&a…

终于有人把大数据讲明白了。。。

大数据是对海量数据进行存储、计算、统计、分析处理的一系列处理手段,处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据处理手段所无法完成的,其涉及的技术有分布式计算、高并发处理、高可用处理、集群、实时性计算等&a…

都 2021 年了,Serverless 能取代微服务吗?

简介: 马上就要 2021 年了,Serverless 是否终将取代微服务?从微服务到 Serverless 需要经过怎样的路径?本文将对 Serverless 与微服务在优势劣势上进行深度对比。 来源 | Serverless 公众号 编译 | OrangeJ 作者 | Mariliis Rett…

Knative 快捷操作命令 Kn 介绍

简介: kn 是 Knative 命令行操作客户端。 通过 kn 可以方便的操作Knative 相关的资源。 安装 Kn 可以通过官方获取对应的 Kn 二进制 • macOS • Linux • Windows kn 会与 kubectl 使用同样的config 文件,默认使用 $HOME/.kube/config 服务管理 使用…

四大触点,教你从“用户视角”构建数据分析体系

简介: 做增长、做产品其实和谈恋爱的道理是一样的,想要把这件事情做好,需要建立一个好的用户基础,站在用户(女朋友)的角度看待问题、发现需求、建立场景、提出解决方案,这种需求大到可以是产品的…

数据中心 48 V 直流供电,Vicor 如何解决“最后一英寸”电源设计难题?

作者 | 伍杏玲出品 | CSDN云计算(ID:CSDNcloud)7 月 27 日,由 OCP 社区主办、浪潮承办的第三届 OCP China Day 2021 在北京举行。会上,笔者有幸和全球领先的电源厂商 Vicor 公司的高管进行交流,了解这个 40…

阿里云高效基因序列检索助力新冠肺炎病毒序列快速分析

简介: 阿里云高效基因序列检索助力新冠肺炎病毒序列快速分析 AnalyticDB for MySQL是云端托管的PB级高并发低延时数据仓库,通过AnalyticDB for MySQL向量检索功能构建基因检索系统,支持毫秒级针对10亿级别的向量数据进行查询分析,…

DTCC 2020 | 阿里云赵殿奎:PolarDB的Oracle平滑迁移之路

简介: Oracle兼容性是业务客户从Oracle生态迁移到PolarDB生态的第一步也是至关重要的一步,PolarDB通过不断沉淀支持大量实际业务的真实Oracle兼容性功能,确保客户业务可以真正做到平滑迁移。同时PolarDB带给Oracle生态客户的不仅仅是上的来的…

边缘计算助力云游戏成为5G时代的杀手级应用

作者:王超引言随着技术、架构以及商业模式的快速发展和完善,边缘计算作为一种成熟的计算范型已经得到广泛应用。边缘计算是为应用开发者和服务提供商在网络的边缘侧提供云服务和IT环境服务,“边缘”指的是位于管理域的边缘,尽可能…

阿里如何做好双11技术保障?大队长霜波分享4点经验

简介: 为什么说双11是阿里每年技术保障稳定性最困难的一次?50多个BU一起加入双11,怎么组织和运营?为了保障双11的顺利进行,又有哪些备战方案以及创新技术?在由阿里云CIO学院主办的【2020中国企业数字创新峰…

47 张图带你走进浏览器的世界!

作者: 零一0101来源:前端印象大家好,我是零一,每个开发者(尤其是前端工程师)或多或少会跟浏览器打交道,那么你们有没有想过去深入了解浏览器呢?无论是因为好奇还是为了面试&#xff…

一文教你轻松搞定ANR异常捕获与分析方法

简介: 选择一款有超强捕获能力的专业产品,对于开发者定位和修复稳定性问题至关重要。友盟U-APM SDK集成了UC 内核团队强大的技术及友盟超强的错误捕获能力,通过数万次捕获实践中积累了丰富经验,在产品、性能和研发能力上都极大保障…

DTCC 2020 | 阿里云梁高中:DAS之基于Workload的全局自动优化实践

简介: 第十一届中国数据库技术大会(DTCC2020),在北京隆重召开。在12.23日性能优化与SQL审计专场上,邀请了阿里巴巴数据库技术团队高级技术专家梁高中为大家介绍DAS之基于Workload的全局自动优化实践。 SQL自动优化是阿…

更便捷:阿里云DCDN离线日志转存全新升级

简介: 1月6日,阿里云CDN年度产品升级发布会中,阿里云CDN产品专家邓建伟宣布DCDN离线日志转存全新升级,并对离线日志转存方案的价值、应用及使用进行了详细解读。 1月6日,阿里云CDN年度产品升级发布会中,阿里…

20 行代码:Serverless 架构下用 Python 轻松搞定图像分类和预测

简介: 本文将会通过一个有趣的 Python 库,快速将图像分类的功能搭建在云函数上,并且和 API 网关结合,对外提供 API 功能,实现一个 Serverless 架构的“图像分类 API”。 前言 图像分类是人工智能领域的一个热门话题。…

夯实数字化转型算能基石 构建洛阳银行核心云

作者 | 李清溪 洛阳银行信息技术部副总经理 当前,以移动互联网、云计算、大数据、区块链等技术为代表的新一轮科技革新正全面渗透到经济社会各行业各领域。在推动数字经济与实体经济融合发展的同时,也不断改变和重塑着银行业的发展模式和经营理念。 根…

MaxCompute Spark 使用和常见问题

简介: 本文将就MaxCompute Spark开发环境搭建、常用配置、作业迁移注意事项以及常见问题进行深入介绍。 一. MaxCompute Spark 介绍 MaxCompute Spark是MaxCompute提供的兼容开源的Spark计算服务。它在统一的计算资源和数据集权限体系之上,提供Spark计算…

DTCC 2020 | 阿里云程实:云原生时代的数据库管理

简介: 随着云原生技术的不断发展,数据库也逐渐进入了云原生时代。在云原生时代,如何高效、安全且稳定地管理云上与云下的数据库成为摆在企业面前的一大难题。在第十一届中国数据库技术大会(DTCC2020)上,阿里…