首页 学者频道 学术频道 创新频道 全国学会 科协智库

从ICLR 2020、AAAI 2020看对话系统近期研究进展

肖攀峰 05月28日

来源:PaperWeekly

©PaperWeekly 原创 · 作者|王馨月

学校|四川大学本科生

研究方向|自然语言处理

本文盘点近期 ICLR 2020、AAAI 2020 上几篇对话系统相关的论文。


wt_a12302200529142741_d210a3.jpg

ICLR 2020

wt_a22322000529142741_d37db2.jpg

论文标题:Sequential Latent Knowledge Selection for Knowledge-Grounded Dialogue论文来源:ICLR 2020论文链接:https://arxiv.org/abs/2002.07510代码链接:https://github.com/bckim92/sequential-knowledge-transformer


基于知识是一项结合上下文和外部知识生成有效回复的任务,一般通过更好地建模多轮基于知识的对话中的知识来提升。主要分为两步:1)知识选择;2)根据选择出的知识以及上下文生成回应。不同于 TextQA 任务,基于知识的对话系统中上下文与要选择的知识之间是一对多的关系。

因此,文章将序列潜在变量模型引入知识选择过程,提出了 sequential knowledge transformer (SKT)。将知识选择看作序列决策过程,根据多轮的潜在变量,联合推断出要选择的知识,因此不仅能减少知识提取的多样化造成的歧义,还能够促使回复过程选择合适的知识。在 Wizard of Wikipedia 上达成 SOTA 性能。

模型由三部分构成:句子编码器用 BERT 和 average pooling 实现;序列知识选择用 SKT 实现;解码器用 Transformer 的 Decoder 结合 Copy 机制实现。

文章的核心在于 SKT 模型,如图所示是模型在 t=3(迭代到第三轮对话)的状态。

wt_a72392020052142741_d9bbf0.jpg

模型首先通过后验知识推断出前 t-1 轮选取的知识,再通过先验知识分布推断出 t 轮选取的知识并根据推断出的知识生成回应。其中 代表 encoder, 为先验知识分布, 为后验知识分布。

wt_a52352020029142741_dcc0b6.jpg

作者在 Wizard of Wikipedia 和 Holl-E 上进行了实验,结果如下:

wt_a62322020059142741_de1bfd.jpg

wt_a62322020059142742_e25428.jpg

作者在结论中指出,在基于知识的多轮对话知识提取中还有一些可能的研究方向,比如利用 filtering variational objectives 的序列蒙特卡洛推断模型,以及探究知识选择的可解释性等。


wt_a42302020529142742_e53478.jpgICLR 2020

wt_a12302200529142742_e6f04c.jpg

论文标题:Low-Resource Knowledge-Grounded Dialogue Generation

论文来源:ICLR 2020

论文链接:https://arxiv.org/abs/2002.10348

在开放域对话系统中,目前大多数模型只能拟合小规模训练数据,而基于知识对话的知识也很难获取。因此,文章在缺少资源的假定下,设计了 disentangled response decoder,将依赖于基于知识的对话的参数从整个模型中分离分离。

通过这种方法,模型的主要部分可以从大规模的非真实对话以及非结构化文本中训练,而其余的很少一部分参数则可以用有限的训练数据拟合。在两个基准上实验的结果显示只用 1/8 的训练数据,模型就能达到 SOTA 性能并生成很好的跨领域知识。

文章将生成回应的问题分解为 3 个不相关的行为:1) 根据已生成的部分选择合适的词使得句子语法正确(符合语言模型);2) 根据上下文选择合适的词使得对话连贯(符合上下文处理器);3) 根据对话基础上的外部知识选择合适的词(符合知识处理器)。

这三个步骤可以独立地学习,据此,文章提出了如图所示的生成模型:wt_a72392020052142742_ec9651.jpg

相较传统模型,主要的区别在作者通过将 decoding 过程分解为一个语言模型、一个上下文处理器、一个知识处理器,以模拟上述三个步骤。

作者在 encoding 过程使用 RNN+GRU 得到句子的隐藏向量序列 ,作为 decoding 过程上下文处理器的输入;通过双向 GRU 得到文本的表示 ,作为decoding过程知识处理器的输入。值得注意的是,模型并不像一般的 Transformer 模型在 encoding 过程通过 attention 机制来选择知识,而是将这一步留在 decoding 过程,这能去除上下文编码和知识编码间的依赖。Decoder 中将隐藏序列 根据 t-1 步骤的预测 word embedding 定义为 。将三个部分定义如下:语言模型:语言模型基于 通过一个 MLP 进行词的预测。

上下文处理器:通过一个 MLP 结合注意力分布权衡预测单词来自词汇表或上下文。

知识处理器:知识处理器通过多层注意力机制(此处使用了 sentence-level 和 word-level)通过和上下文处理器类似的方式预测单词。最终通过 gumbel softmax 计算三个部分的参数。作者在 Test Seen of Wizard 和 CMU_DoG 上进行的实验结果如下:

wt_a72392020052142743_f0bf2b.jpg

wt_a62322020059142743_f3e62c.jpg此外,作者还探讨了对使用固定参数还是 fine-tune 效果更好进行了实验。结果显示,当数据量较小(<5K)时,用固定参数效果更好,而数据量较大时,fine-tuning 则可以进一步提升模型表现。


wt_a12302200529142743_f74bdd.jpgAAAI 2020

wt_a42302020529142743_f8b0c7.jpg

论文标题:A Pre-training Based Personalized Dialogue Generation Model with Persona-sparse Data论文来源:AAAI 2020论文链接:https://arxiv.org/abs/1911.04700


在这篇文章中,作者指出,让模型生成更加 human-like 的回复是对话系统中非常重要的问题,但由于自然语言中难以适当地添加角色信息,且真实生活中大多数对话中是缺少角色信息的(persona-sparse),使得这一问题更加艰难。

而角色信息相关的数据集如 PERSONA-CHAT,则由于构造时对话者被要求在很少轮中显示性格而包含了过多个人信息(persona-dense),这一点不符合真实情况。

针对这一问题作者提出了可以在 persona-sparse 数据集上训练的预训练模型,并提出了一种注意力路由机制(attention routing mechanism)以在 decoder 中动态预测权重。实验结果显示此模型可以很好地生成连贯且 persona-related 的回应。

模型框架如图:

wt_a52352020029142744_015dd1.jpg

其中,人物信息 是一个包含性别、位置、兴趣标签信息的键值对集合 为对话-人物信息集合 。Encoder 和 decoder 按照 Transformer 架构实现。 经过 encoder 变为 ,作为 Decoder 的输入,通过注意力路由机制得到的权重 merge。

wt_a72392020052142744_04f3ce.jpg

如上图,在 encoding 过程中作者将不同信息的 embedding 加在一起作为每个单词最终的 embedding,通过encoder得到 ,同种方法将 的每个键值对组成一个句子序列 embedding 得到 而在 Decoder 中的 Attention Routing 的实现机制是:将 multi-head attention 的每一组操作视作一个 attention route,因此,对目标任务信息 、对话上下文 和上一轮编码的 token 分别有:

wt_a42302020529142744_086781.jpg

作者又根据 设置了一个 0 到 1 之间的参数 ,用以调整 feature 的权重。参数 通过训练时使用一个二分分类器,判断回复是否 persona 来实现。可以看出 越大, 的占比越大。最终得到混合输出:

wt_a72392020052142744_0a7cc1.jpg

训练数据集 PersonalDialog 来自微博。实验结果随 的变化如图所示:

wt_a22322000529142744_0c2a3f.jpg

作者在文中还给出了模型的 case study,可以参考。wt_a52352020029142745_1447a7.jpg


wt_a72392020052142745_182324.jpgAAAI 2020wt_a32302020529142745_19a179.jpg论文标题:End-to-End Trainable Non-Collaborative Dialog System论文来源:AAAI 2020论文链接:https://arxiv.org/abs/1911.10742


本文主要针对非协作设定(如协商或劝导)下的对话中用户和系统不具备相同目标的问题,引入了 hierarchical intent annotation scheme,基于 TransferTransfo 构建了一个端到端的神经网络模型 MISSA (Multiple Intents and Semantic Slots Annotation Neural Network)。

作者还基于模型开发了一个防诈骗对话系统以及一个说服对话系统以说服人们做公益等。并创建了数据集 ANTISCAM。
GitLab:https://gitlab.com/ucdavisnlp/antiscam

wt_a22322000529142745_1cec09.jpg

MISSA 在 ANTISCAM 数据集的训练过程如上图所示。作者在 TransferTransfo 的基础上主要做的改变为:

1) 由于 TransferTransfo 原本用于没有意图的开放域对话,作者加入了两个 intent classifier 和两个 semantic slot classifier;2) 为增加回复的多样性,根据 nucleus 采样策略设计了一个 filter 根据预设的规则对生成的回复进行采样。TramsferTransfo: Transformer 模型在对话生成方面的应用,将 Transformer 的 segement embedding 变为 dialogue state embedding 以标注意图和对话状态。

第 t 轮的 Intent classifier 和 semantic slot classifier 根据第 t-1 轮的最后一句的最后一个隐藏状态和第 t 轮第 i 个句子的最后一个隐藏状态加权求 Softmax 得到。

在训练过程中,作者在每句话结尾设置了一个 token < sep > 。并在系统回应的橘子开头设置 token < pos_ans >。作者在 ANTISCAM 和 PERSUASIONFORGOOD 数据集上进行了实验,结果如下(其中 MISSA-sel 是 MISSA 去除回应 filter,MISSA-con 是 MISSA 去除回应开头的 intent token):wt_a82312020052942746_21458e.jpg


wt_a52352020029142746_23b72b.jpg

ICLR 2020

wt_a62322020059142746_26214f.jpg论文标题:Augmenting Non-Collaborative Dialog Systems with Explicit Semantic and Strategic Dialog History
论文来源:ICLR 2020论文链接:https://arxiv.org/abs/1909.13425


这篇文章同样是针对 Non-collabratibe 的情况,提出了利用有穷状态转换器(finite state transducers, FSTs)构造的模型 FeHED (FST-enhanced hierarchical encoder-decoder model),用于建模对话中的语义和策略 history。

如下图所示,FeHED 模型主要由四个部分组成:一个对话动作分类器、一个策略分类器、两个 FST(FST-DA/S),以及一个层次 encoder-decoder 模型(HED)。

对话动作分类器和策略分类器的输出作为 FSTs 的输入,FSTs 的输出结合 utterance embedding 作为 HED 的输入,最终 HED 生成下一轮的策略和 utterance。

wt_a32302020529142746_2adeea.jpg

作者在 CraigslistBargain 和 Persuasion For Good 数据集上进行了实验,结果如下。

wt_a32302020529142746_2f2d91.jpg

这篇文章将有穷状态转换器用在规则和对话状态的转换,相较于 hidden states只能描述语义 history 而言,将 FSTs 用在多轮对话也是一种有意义的新思路。


wt_a82312020052942747_343a80.jpg

数据集

AAAI 2020 上 Google 团队发表了一篇论文 Towards Scalable Multi-Domain Conversational Agents: The Schema-Guided Dialogue Dataset,介绍了数据集 SGD (Schema-Guided Dialogue)。

研究团队称 SGD 数据集是目前公开可用的最大的任务型对话数据集,包含 16k 多领域对话数据,数据集也为每个领域提供了多个 API。wt_a12302200529142747_35ed0b.jpg
论文标题:Towards Scalable Multi-Domain Conversational Agents: The Schema-Guided Dialogue Dataset论文来源:AAAI 2020论文链接:https://arxiv.org/abs/1909.05855GitHubhttps://github.com/google-research-datasets/dstc8-schema-guided-dialogue
还有一篇 ACL 2020 上的论文 KdConv: A Chinese Multi-domain Dialogue Dataset Towards Multi-turn Knowledge-driven Conversation 中介绍的 KdConv 数据集,包含影视、音乐、旅游方面的共计 4.5K 的多轮对话数据集。


wt_a52352020029142747_3b7728.jpg


论文标题:KdConv: A Chinese Multi-domain Dialogue Dataset Towards Multi-turn Knowledge-driven Conversation论文来源:ACL 2020论文链接:https://arxiv.org/abs/2004.04100GitHubhttps://github.com/thu-coai/KdConv
wt_a72392020052142748_41b981.jpg总结

对话系统的论文数量虽然在各个会议中占比不算很高,但可以看出,还是有一些很有趣的想法。比如在第一篇文章中对 latent variable model 进行改进在解决回复多样性的同时使得知识选择更加准确。

而在第二篇文章中针对低资源的问题将语言模型、上下文与知识分离开,使得仅用 1/8 真实数据情况就能达到很好的性能。

而第三第四篇文章都对于对话系统的个性化作出了不同的尝试,其中第三篇文章很有新意地将人物信息加入 encoding,第四、第五篇文章则考虑到日常生活中更多对话是非协作的情形作出了尝试。

还可以看到 Visual Dialogue 也取得了一定进展,有兴趣的读者可以参考 AAAI 2020 的 DualVD: An Adaptive Dual Encoding Model for Deep Visual Understanding in Visual Dialogue。

上下文 aaai dialogue

推荐资讯