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: 基于元学习和人机协同的端到端对话模型]()
- 背景
======
端到端对话模型近几年失去了学术界和工业界的宽泛关注(详见可参考《小蜜团队万字长文:对话治理模型最新研究进展》),相比 pipeline 式的对话零碎,端到端对话零碎能够间接利用对话日志进行训练,不须要人工设计特定的语义标签,因而更具备可扩展性。咱们在 Dialog Studio 上曾经实现了端到端的对话模型,并且在政务、疫情等业务中落地利用。一个省信访外呼对话例子如下:
上述例子是一个满意度回访考察的场景,因为没有简单的常识推理、语义解析等,是端到端对话零碎特地实用的场景。一般来说,端到端对话模型可分为检索式和生成式,检索式模型就是给定对话历史从预约义回复候选汇合中选出最佳回复作为以后零碎输入,生成式模型则是给定对话历史间接生成回复。两种形式都能够通过和用户多轮交互实现最终的对话工作。
然而,只管端到端对话模型简略易用,然而在理论利用中依然面临着两大常见问题:
-
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.
原文链接
本文为阿里云原创内容,未经容许不得转载。