NLP中基于联合知识的任务导向型对话系统HyKnow

描述

引言

对话系统(dialogue system)是 NLP 中的的重点研究方向之一。其可以分为任务型对话系统和开放域对话系统。两者在现实生活中都有着广泛的应用。

本次 Fudan DISC 实验室将分享 ACL 2021 中关于对话系统的 3 篇论文,介绍了任务型对话系统和基于人设的开放域对话系统的相关创新。

文章概览

HyKnow: End to End Task-Oriented Dialog Modeling with Hybrid

论文地址:https://arxiv.org/pdf/2105.06041v2.pdf

这篇文章提出了一个基于联合知识的任务导向型对话系统HyKnow,该模型通过延伸信念状态来管理结构化知识和非结构化知识,它是第一个基于两类知识进行联合优化的端到端对话系统。实验证明,HyKnow 模型展现了优于现有模型的强大的端到端性能。其更加出色的非结构化知识检索准确率,也证明了模型胜于管道知识管理策略的联合知识管理能力。

BoB: BERT Over BERT for Training Persona-based Dialogue Models

论文地址:https://arxiv.org/pdf/2106.06169.pdf

当前对话数据的人设稀疏性,阻碍了鲁棒且一致的基于人设的对话系统的构建。本文提出了 BoB 模型,通过将基于人设的对话生成任务分离为一致性理解子任务和回应生成子任务,利用非对话关系数据集训练一致性,解决了上述困难。模型在少量训练数据和人设稀疏的数据集上均展现了出色的性能。

Modulating Language Models with Emotions

论文地址:https://aclanthology.org/2021.findings-acl.379.pdf

针对情感对话生成任务,本文受 CV 领域相关技术的启发,在Transformer 模型的层归一化模块中融入了情感信息,使得能够利用大规模的预训练的语言模型来生成情感回应。

论文细节

论文动机

现有的基于人设的对话模型严重依赖和人设相关的对话数据,比如 PersonaChat 数据集。这类众包数据集包含了大量的人设特征,但是其规模受到两个因素的制约:其一,标注者根据给定的人设来设计一致的对话会消耗大量精力;其二,日常生活中的对话常常不具备鲜明的人设特征,因此很难获得现有的涉及丰富人设的对话。所以,在这类人设稀疏的对话数据集上训练的模型不能充分地学习一致性。

一个合格的基于人设的对话模型应当具备以下功能:一是能够理解“人设-回应”的一致性,二是能够根据对话上下文生成人设相关的回应。显然,当下缺乏合适的数据集支持这些功能的实现。然而,一旦将基于人设的对话生成任务分解为一致性理解子任务和对话生成子任务,就很容易得到大量的训练资源。对于一致性理解子任务,可以利用大规模的非对话关系数据集,比如 SNLI 和 MNLI 作为训练数据。至于对话生成子任务,我们已经有了充足的大规模人设稀疏的数据集。

模型

文章提出的模型主要分为三个模块,包括一个编码器(),一个用于回应生成的解码器()和一个一致性理解解码器()。模型框架如下图所示

编码器

编码器的输入包括人设 P 和上下文 Q,对于人设,只需将人设句子简单地拼接即可。模型将一个 special token 放在人设序列和对话上下文之间,得到编码器  的输入

接着嵌入层将输入  转化为表示,这种表示是词嵌入,类型嵌入和位置嵌入的和,其中在类型嵌入中,用 0 和 1 分别表示人设和上下文。用  和 代表人设  和上下文  独立的表示,用  代表   和  的联合表示,即

其中  表示输入  的最大长度。

然后编码器  对  做多头注意力,将其转化为隐向量的序列  ,

即其中  ,MultiHead是带有  的全连接层,  是编码器  的最终输出,即  。

回应生成解码器

一个交叉注意力被植入在  和  之间,其中  来自  的最后一层,且  和  均来自  :

包含多个相同的层,每一层的输出都会作为下一层的输入,最终输出  被送往 。这里的  是模型产生的粗糙回应,其不一定和人设保持一致,一致性学习和调整将会在一致性理解解码器模块上进行。

一致性理解解码器

利用  进行初始化。在  的每一层中,多头注意力被执行两次

以上得到的结果  融合了人设信息  和 粗糙回应 。 最后一层的输出  连接一个线性层即可得到模型生成的最终回应 。

训练目标

模型针对文本生成子任务采用了负对数损失,针对一致性理解采用了非似然损失。

回应生成

模型在  和  上分别生成粗糙和精确的回应,两者的负对数损失可以表示为

非似然训练

在一致性理解模块的训练中,模型主要利用非对话的关系数据集。对于一个样本,将 premise 和 hypothesis 输入解码器  中。如果两者关系是 entailment,则应当促进这种生成,那么训练目标是最大化这类输出的概率;如果两者关系是 contradiction,则应当抑制这种生成,那么训练目标是最小化这类输出的概率。经过上述训练模式,一致性理解模块可以隐式地判断人设  和粗糙回应  的关系,并倾向于产生一种和人设  保持一致的回应。具体而言,将关系数据集划分为两类,一类是关系为 entailment 的样本组成的子集 ,另一类是关系为 contradiction 的样本组成的子集 。在  和  上的损失可以表示为(记 premise 和 hypothesis 为 ,)

生成损失和一致性理解损失可以表示为

总损失可以表示为

其中  和  是超参数。

实验

本文为了验证 BoB 在人设稀疏的数据集上依然能够保持优秀的性能,挑选了两个数据集 PersonaChat 和 PersonaDialog,前者包含了充足的人设信息,后者人设信息较少。本文在两个数据集上分别进行实验。基线模型选择了包括 GPT-2 在内的预训练模型和一些非预训练模型。评价指标包括人工评价和自动评价,人工评价主要评估模型生成的流利度,信息量和相关性;自动评价中,利用困惑度评价回应的内容质量,利用 Dist 评价回应的多样性,利用 C.Score 和  来评价回应和人设的一致性。在人设密集的 PersonaChat 数据集上实验,得到如下结果

实验证明,在各项评价指标上,BoB 都超过了基线模型。同时当数据量减少为 1/2,1/4,1/8 时,模型依然展现出比肩基线模型的强大性能,证明了 BoB 模型的优越性。

在人设稀疏的 PersonaDialog数据集上实验,得到如下结果

我们发现,即使在人设信息不足的情况下,BoB 依然能够产生和人设高度一致的回应,这得益于一致性理解模块的训练脱离了有限的人设对话数据,转而依赖大量的非对话关系数据。因此,一致性的学习不受人设信息多少的影响。这也是 BoB 最核心的创新点!

2

论文动机

近几年,任务型对话系统在达成用户目的方面已经收获了不错的效果。大部分这样的对话系统基于用户需求查询结构化知识,比如表格和数据库等,并利用查询到的结果引导系统回应的生成。然而,现实生活中的对话常常涉及到非结构化的知识,比如餐厅的广告,用户用餐反馈等等。这些出现在非结构化知识中的信息通常无法在结构化知识中查询得到。但是现有的任务型对话系统缺乏利用非结构化知识的能力,这样的缺陷可能导致对话进程的终端,造成追踪用户需求和生成系统回应的困难。

针对以上问题,本文考虑在任务型对话系统中结合不同形式的领域知识,构建了一个同时基于结构化知识和非结构化知识的对话系统 HyKnow。在基于结构化知识的对话轮中,系统需要用三元组来跟踪用户需求,以此查询数据库条目,最后利用查询结果生成回应;在基于非结构化知识的对话轮中,模型管理文档库来检索相关信息来做回应的生成。

模型

下图给出了模型 HyKnow 的框架。模型总共分为三个部分:第一,模型使用拓展信念追踪(extended belief tracking)来追踪用户需求;第二,模型基于拓展信念状态(extended belief state)来搜索和用户需求相关的结构化知识和非结构化知识;最后,模型利用拓展信念状态和相关知识来生成系统回应。

信念状态

信念状态有着特定的格式。信念状态均由以上形式的三元组构成,每个三元组表示用户的某个需求,以(restaurant, food, Italian)为例,该三元组表示用户需要了解餐饮领域关于意式食物的讯息。所谓拓展信念状态,就是随着对话轮的进行,用户需求的更新,信念状态中添加了一些表示用户新需求的三元组,我们将这样的三元组集合记为 ,其中  表示第  轮对话。除此之外,信念状态中也会包含关于用户需求的话题,记作 。注意到, 和  在解码时所用到的词表是不同的!!

拓展信念状态解码

遵循 Seq2Seq 框架,首先利用上下文编码器来编码对话上下文 ,其中  的最后一维输出用来初始化解码器的隐层。基于上下文编码器的隐状态  和上一轮对话的拓展信念状态  ,接着解码本轮对话的拓展信念状态 ,具体可以采用两种方案。

因为  和  基于的词表是不同的,所以用两种方法实现  的解码:

第一,利用一个信念状态解码器来生成整个 ,优化过程是联合的,即

第二,对  和  用各自的解码器分别解码,两个解码器的参数是不共享的,优化过程是非联合的,即

知识查询

基于拓展信念状态 ,模型查询数据库得到 ,检索文档库得到相关文档 ,两者用来引导系统生成。在数据库的查询中,只需要用三元组匹配条目即可。在文档库的检索中,只需预处理文档库,提取每个文档的话题,和三元组的相关内容匹配即可。

回应生成

基于上下文 ,拓展信念状态  和查询结果 ,生成回应由以下公式给出

其中  和  表示信念状态编码器和文档编码器。

实验

本文选择了修改的 MultiWOZ 2.1 数据集,并将 HyKnow 模型和以下几类基线模型相比较:一、现有的端到端任务型对话模型(E2E TOD)和对话状态跟踪模型(DST),以证明结合非结构化知识的好处;二、非结构化知识管理模型,以证明 HyKnow 检索非结构化知识方法的优越性;三、上述两者的结合,以证明 HyKnow 不仅强大在同时结合了结构化知识和非结构化知识,而且知识的管理,组织和查询方式以及两类知识的融合方式都是非常优秀的。实验结果如下图所示

实验表明,HyKnow 在各项性能指标上都超过了基线模型,包括用户需求的完成度,知识查询准确率等等。除此之外,实验证明,当模型采用联合优化的时候,表现会更高,这说明两类知识的模块在共享参数时能够彼此促进。

3

论文动机

当前对话系统领域的一个重要任务是基于情感产生合适的回应。关于这个任务,研究者提出了一些经典的模型,比如 Seq2Seq 模型的变体,变分自编码器,对抗网络等等,不过这些模型生成的回应通常较为枯燥乏味,可能是带有情感标签的数据量有限的缘故。最近的研究提出了预训练模型来解决这类问题,比如 GPT-2 等等。不过,从头训练一个预训练模型成本太高,并且收集用于预训练的包含丰富情感的对话数据非常困难。

针对上述困难,本文提出了一个简单且易于部署的技术,使得大规模的预训练模型能够产生细粒度的情感回应。首先,利用 emoji 表情作为情感标签;其次,在 Transformer 块的每个层归一化模块中引入情感 emoji,使得在每次做层归一化的时候模型都能向着目标情感进行自我调整,这种方法简单而自然,且易于推广。

方法

模型的创新主要集中在对 Transformer 模型的层归一化的改造,我们称经过改造的层归一化模块为 Mod-LN。具体操作如下:对于输入层归一化模块的隐状态向量 x,,按照如下方式进行归一化

其中  是磨光参数,以避免分母为 0。 和  是两个可训练的模块,运行机制如下

其中  和  是属于层  的全连接层, 表示情感标签的表示向量, 表示偏置, 表示激活函数。模型结构如下图所示

实验

本文在 MojiTalk 数据集上进行实验,其中有 64 个细粒度的情感 emoji。基线模型选取 R-CVAE。本文分别在 BERT-to-BERT,GPT2-to-GPT2 上利用 Mod-LN,和基线模型相比较,以证明添加的 Mod-LN 的优越性。关于情感分析性能,作者对模型生成的回应用情感分类器预测情感,将其和正确情感比较,从而得到模型的情感预测准确率,准确率越高,情感分析质量越高。除此之外,采用人工评价的方式,评估回应的情感性和可读性。以上两个评价方面的结果如下表所示

实验证明,添加了 Mod-LN 的模型不仅在各项性能指标上超过了基线模型,而且在有限数据集上依然表现尚佳。这是因为,将目标情感渗透到每个层归一化模块中,每个 Transformer 中,使得模型总是频繁地向着目标情感的方向进行自我调整。

责任编辑:haq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分