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

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

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

========

通过前期调研我们发现,应对数据少的问题的常用方法有元学习、数据增强等,应对训练和测试对话数据不一致的问题的常用方法有人机协同[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] 作为损失函数 $mathcal{L}_{LMC}$,因为它可以学习更有鉴别性的特征(discriminative features)。针对请求人工的判决器,我们在 [1] 的基础之上提出了一个新的 reward 设置,使用增强学习来进行优化 $mathcal{L}_{RL}$。最终,我们使用 MAML [5] 方法对 $mathcal{L} = mathcal{L}_{RL} + mathcal{L}_{LMC}$ 进行联合优化,帮助模型找到一组合适的参数,使得预测器和判决器一起快速适应新场景。

2.2.1. Learning to Switch

设第 $i$ 个数据为 $d_i$, 该对话状态向量为 $s_i$, 回复候选集为 $mathcal{R}$, 每个回复的句向量设为 $r_k$, 判断器的输出整体考虑了 $s_i$ 的信息以及它和各个 $r_k$ 的 attention 信息,具体计算如下:

$sigma$ 是 sigmoid function, $FC(cdot)$ 是一个全连接网络,$W$ 是个 trainable matrix。得到判决器的预测结果后,我们需要设计合适的 reward 使用增强学习来优化。直观来看,一个理想的判决器应当是模型预测错时多转人工,模型预测对时少转人工,这样就能保证整体的转人工率低,且整体 turn ACC (请求人工也算对)高。

reward 设置:设一个batch data 为 $mathcal{D}={d_1, d_2, ...,d_i, ...}$, 我们将模型预测错误的 $d_i$ 设为正样本(label=True), 预测正确的设为负样本 (label=False), 判决器判断转人工的数据设为预测正样本( prediction=True), 判断不转人工的设为预测负样本(prediction=False), 然后计算出正样本和负样本的 F1 score,再取平均得到整个 batch 的 得分 $score(mathcal{D})$, 其中每个数据 $d_i$ 分配到的 reward $r_i=score(mathcal{D})-score(mathcal{D}-d_i)$。 RL 的优化我们选择 policy gradient method。

2.2.2. MAML 训练

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

首先需要构造元任务 (meta-task),步骤如下:采样 K 个对话场景 (每个场景对应一个对话任务)

每个对话任务,采样 N 个对话数据作为支撑集(supoort set),N 个数据作为问询集(query set)

然后 MDS 的 MAML 优化如下:

实验结果

========

为验证模型在新场景的迁移能力,我们需要多场景的端到端对话数据集。在评估时,依次选取一个场景作为目标场景,剩余的作为训练场景,利用 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$textbf{Mem}$: 利用 MLE 训练的一个 MemN2N 模型。

$textbf{MetaMem}$: 利用 MAML 训练的 一个 MemN2N 模型。$textbf{MetaMem}$ 和 $textbf{Mem}$ 都没有请求人工的判决器。

$textbf{Mem+C}$:论文[1] 的人机协同模型。该模型的训练准则和损失函数和我们都不一样。

$textbf{IDS}$:论文[8] 提出的 incremental dialog system, 该模型的判决器是一个变分自编码器,通过估计对话的不确定性来判断是否请求人工。

$textbf{MDS}_text{-switch}$: MDS 去掉判决器部分。

$textbf{MDS}_text{mle}$: MDS 保持模型一致,但是训练方法采用 MLE。

$textbf{MDS}_text{rand}$: MDS 的判决器替换成一个 请求人工率一致的 random classifier,

3.3. 实验结果和分析

在extended-bAbI 上的结果如下表所示:

request 是请求人工率,accuracy 是含转人工的整体 turn ACC,即转人工或模型预测正确均算对。

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

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

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

=========

本文主要介绍了如何结合 元学习方法 和 人机协同 方法 提高端到端对话模型在新场景上的快速适应能力和预测效果。对于元学习方法,我们采用了 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.

端到端训练 联合训练_基于元学习和人机协同的端到端对话模型相关推荐

  1. 达摩院基于元学习的对话系统

    作者:戴音培, 黎航宇, 李永彬, 孙健 出品:阿里达摩院Conversational AI团队 导读:随着科技的不断进步发展,智能对话系统因其巨大的潜力和商业价值将会成为下一代人机交互的风口,不少公 ...

  2. 专家点评Nat Mach Intell | 刘琦团队开发基于元学习的AI模型进行抗原-TCR亲和力识别及肿瘤新生抗原免疫原性预测...

    T细胞受体(T-cell receptor, TCR)是获得性免疫过程中的关键分子.TCR经过特定的基因重组和进化筛选,具备高度的多样性及特异性.MHC-多肽复合物与TCR亲和力的计算识别(pMHC- ...

  3. 基于元学习的红外弱小点状目标跟踪算法

    基于元学习的红外弱小点状目标跟踪算法 人工智能技术与咨询 昨天 本文来自<激光技术>,作者热孜亚·艾沙等 引言 红外点状目标的跟踪是红外搜索和跟踪(infrared search and ...

  4. 干货!基于元学习的内容定向推广

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 在推荐系统和广告平台上,内容定向推广模块需要尽可能将商品.内容或者广告传递到潜在的对内容感兴趣的用户面前.扩充候选集技术(Look-al ...

  5. COLING'22 | MetaPrompting:基于元学习的soft prompt初始化方法

    每天给你送来NLP技术干货! 论文名称:MetaPrompting: Learning to Learn Better Prompts 论文作者:侯宇泰,董泓源,王兴昊,李博涵,车万翔 原创作者:董泓 ...

  6. 【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-第10章-基于模型预测控制的人机协同控制

    第9章 回到目录 第11章 第10章-基于模型预测控制的人机协同控制 10.1 引言 同时干预问题 10.2 问题描述 10.3 基于模型预测的人机协同控制器设计 模型预测控制 10.3.1 基于模型 ...

  7. 端到端训练 联合训练_图分解的端到端学习

    source:End-to-end Learning for Graph Decomposition Jie Song ETH Zurich Bjoern Andres MPI for Intelli ...

  8. 端到端训练 联合训练_中巴空军“雄鹰-Ⅷ”联合训练:首次实现全过程体系对抗...

    中巴空军"雄鹰-Ⅷ"联合训练9月6日在中国西北某地结训,此次联合训练首次实现全过程体系对抗. 在为期半个月的训练中,由中巴空军多型飞机和地空导弹.雷达.通信等要素组成的红蓝方,围绕 ...

  9. 卷积神经网络训练准确率突然下降_基于联邦学习和卷积神经网络的入侵检测方法...

    王蓉1,马春光2,武朋2 1. 哈尔滨工程大学计算机科学与技术学院,哈尔滨 150001:2. 山东科技大学计算机科学与工程学院,青岛 266590 doi :10.3969/j.issn.1671- ...

最新文章

  1. bat 一键启动多个程序
  2. 聊聊 scala 的模式匹配
  3. 快上车!2021次“网易云信号”回顾列车发车啦!
  4. eclipse下java.lang.OutOfMemoryError: PermGen space解决方法
  5. Android Studio Problems
  6. (129)System Verilog限制建仓方法
  7. 无法打开数据库‘mysql_MySQL数据库之MYSQL无法启动解决方法
  8. TeamViewer运行在Windows Server 2008下连接时错误提示:正在初始化显示参数
  9. 双轨制奖金分配系统,兼顾技术人员老龄化问题
  10. JAVA基础语言——JAVASE
  11. android音视频焦点切换
  12. 软考信息系统项目管理师考试心得-备考
  13. 如何用Deeplink为快应用提供多个快速直达入口
  14. Autocad 2022版本插件开发基础1
  15. 用evo工具箱评估LeGO-LOAM轨迹
  16. python分句_Python 中文分句 | 学步园
  17. 本周最新文献速递20211212
  18. 微信公众平台-测试号网页授权-获取openid方法
  19. python每日一练:输入一个字符串,统计其中的小写字母,大写字母,空格键,以及其它字符,并在一行内输出统计的个数
  20. c语言循环嵌套do do while while结构例子,讲解C++的do while循环和循环语句的嵌套使用方法...

热门文章

  1. 区块链学习笔记:来份P2P
  2. 微信小程序 —— 监听网络状态
  3. Android自定义图片拼图游戏
  4. 架构的演进,阿里资深Java工程师表述架构的腐化之谜
  5. 计算机应用技术环境评估,Web服务环境下的信任评估模型研究-计算机应用技术专业论文.docx...
  6. 基于 Ploto 华为云 Solution as Code 推出构建自动驾驶平台
  7. 阿里云个人账号实名认证和企业账号实名认证的区别在哪里
  8. 中通科技代码覆盖率应用实践(一)
  9. 一文跑通简单地图demo
  10. 应对各类网盘关闭最有效方法以及使用Aria2+KodExplorer轻松搭建私有云存储