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

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

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 上已经实现了端到端的对话模型,并且在政务、疫情等业务中落地应用。一个省信访外呼对话例子如下:


a8437bf359180836297a020b9afa5e54.png

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

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

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

    ffa66a074ef3d384ca5800d18e0aa91c.png

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


    a5e9ca24e54b53868fffbbacecee06f8.png

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

    2. 技术方案

    通过前期调研我们发现,应对数据少的问题的常用方法有元学习、数据增强等,应对训练和测试对话数据不一致的问题的常用方法有人机协同[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)预测器,根据对话状态向量和回复句向量判断出正确的回复,通常就是计算余弦相似度给出。
    image.png

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

    2.2. 模型详解

    我们沿用了上述的模型结构 [1],但是在每个模块和训练方法上都进行的改进创新。整个 MDS 的框架如下:
    image.png
    和 [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 信息,具体计算如下:


    4b3e056faeebb33eeb4bf6b15d347a0c.png

    $\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),步骤如下:

    1. 采样 K 个对话场景 (每个场景对应一个对话任务)
    2. 每个对话任务,采样 N 个对话数据作为支撑集(supoort set),N 个数据作为问询集(query set)

    然后 MDS 的 MAML 优化如下:


    3212bade95d8ea9125cad4fc3c1dbf1c.png

    3. 实验结果

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

    3.1. 数据集构造

    3.1.1 Extended-bAbI

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


    3a9728d092891bc0ac0dd1cad1e44149.png

    3.1.2. MultiWOZ

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


    94085d13d2cd22a10237d462de702dbf.png

    3.2. Baselines

    1. $\textbf{Mem}$: 利用 MLE 训练的一个 MemN2N 模型。
    2. $\textbf{MetaMem}$: 利用 MAML 训练的 一个 MemN2N 模型。$\textbf{MetaMem}$ 和 $\textbf{Mem}$ 都没有请求人工的判决器。
    3. $\textbf{Mem+C}$:论文[1] 的人机协同模型。该模型的训练准则和损失函数和我们都不一样。
    4. $\textbf{IDS}$:论文[8] 提出的 incremental dialog system, 该模型的判决器是一个变分自编码器,通过估计对话的不确定性来判断是否请求人工。
    5. $\textbf{MDS}_\text{-switch}$: MDS 去掉判决器部分。
    6. $\textbf{MDS}_\text{mle}$: MDS 保持模型一致,但是训练方法采用 MLE。
    7. $\textbf{MDS}_\text{rand}$: MDS 的判决器替换成一个 请求人工率一致的 random classifier,

    3.3. 实验结果和分析

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

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


    0586dd28607cda0f411365514b541091.png

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

    4. 总结和展望

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

目录
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
浅析人机对话系统的主要模块及核心技术
之前,在我的另一篇博客:简述智能对话系统 里面概述了对话系统的分类、应用场景及产生的社会价值。今天,来简单讲述一下对话系统的主要模块与核心技术。
|
19天前
|
人工智能 Serverless
AI 大模型助力客户对话分析 ——实践操作
参与《AI大模型助力客户对话分析》项目,基于阿里云社区操作路书,从架构设计到部署测试,逐步学习并应用大模型进行AI质检。过程中虽有控制台跳转等小挑战,但整体体验流畅,展示了AI技术的便捷与魅力,以及阿里云平台的先进性和社区支持。最终实现的AI质检功能,能够有效提升企业客户服务质量与效率。
45 0
|
3月前
|
人工智能 Java 知识图谱
典型热点应用问题之Conversational AI团队探索了哪些智能对话中的新任务
典型热点应用问题之Conversational AI团队探索了哪些智能对话中的新任务
|
5月前
|
机器人
北大推出全新机器人多模态大模型!面向通用和机器人场景的高效推理和操作
【6月更文挑战第29天】北京大学研发的RoboMamba是新型机器人多模态大模型,融合Mamba SSM的高效推理与视觉编码器,提升复杂任务处理能力。通过微调策略,仅用少量参数即可快速习得操作技能,实现在通用及机器人场景的高效运行,推理速度提升7倍。尽管面临泛化和可解释性挑战,RoboMamba展示了多模态模型的新潜力。[论文链接:](https://arxiv.org/abs/2406.04339)
84 1
|
6月前
|
机器学习/深度学习 机器人
用MoE横扫99个子任务!浙大等提出全新通用机器人策略GeRM
【4月更文挑战第28天】浙江大学等研究团队提出的通用机器人模型GeRM,基于Transformer和Mixture-of-Experts(MoE)架构,能有效处理多种任务。通过离线强化学习,GeRM在99个子任务中展现出优越性能,优于单一专家网络策略,且具备高训练和推理效率。尽管需更多计算资源,但GeRM为多任务机器人技术带来了新突破,有望推动领域发展。[链接:https://arxiv.org/abs/2403.13358]
56 2
|
6月前
|
机器学习/深度学习 自然语言处理 安全
18LLM4SE革命性技术揭秘:大型语言模型LLM在软件工程SE领域的全景解析与未来展望 - 探索LLM的多维应用、优化策略与软件管理新视角【网安AIGC专题11.15】作者汇报 综述
18LLM4SE革命性技术揭秘:大型语言模型LLM在软件工程SE领域的全景解析与未来展望 - 探索LLM的多维应用、优化策略与软件管理新视角【网安AIGC专题11.15】作者汇报 综述
648 0
|
人工智能 自然语言处理 安全
ai智能外呼系统主要具备的能力有哪些
​  近年来,大多数互联网公司都进入了智能化领域。 随着人工智能技术的不断升级和突破,智能出境行业涌现出许多新品牌。 这些品牌有的以价格取胜,有的以产品性能取胜,这确实给消费者增加了很多选择。 ​ 然而,智能外呼产品对于企业最大的意义在于实用性,以及产品的功能是否能够满足企业的生产经营需求。 目前,企业在选择智能外呼系统时,首先要关注公司的产品是否成熟安全,是否有优化开发和维护的后端团队,以及团队的技术水平。 因此,企业应优先选择有人工智能行业经验的公司,可以将产品研发、销售、售后一体化。 在产品性能方面,智能外呼系统主要具备以下能力: 1、语音识别:智能外呼包括智能外呼机器人。
ai智能外呼系统主要具备的能力有哪些
|
存储 人工智能 小程序
一个合格的 ChatGPT 应用需要具备什么?一文带你打通 GPT 产品功能!
一个合格的 ChatGPT 应用需要具备什么?一文带你打通 GPT 产品功能!
234 0
|
人工智能 自然语言处理
阿里云产品体系分为6大分类——人工智能——分为10种模块——机器翻译
阿里云产品体系分为6大分类——人工智能——分为10种模块——机器翻译自制脑图
97 1
|
机器学习/深度学习 人工智能 编解码
GPT充当大脑,指挥多个模型协作完成各类任务,通用系统AutoML-GPT来了
GPT充当大脑,指挥多个模型协作完成各类任务,通用系统AutoML-GPT来了
149 0
下一篇
无影云桌面