0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

深度学习自然语言处理 来源:复旦DISC 作者:赵刚 2021-09-08 10:43 次阅读

引言

对话系统(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

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

    关注

    9

    文章

    1131

    浏览量

    40676
  • nlp
    nlp
    +关注

    关注

    1

    文章

    487

    浏览量

    22011

原文标题:ACL2021 | 任务型和开放域对话系统

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    结合NLU在面向任务对话系统的具体应用进行介绍

    对面向任务对话系统来说,NLU模块的主要任务是将用户输入的自然语言映射为用户的意图和相应的槽位值。因此,在面向任务
    的头像 发表于 03-21 09:31 5350次阅读
    结合NLU在面向<b class='flag-5'>任务</b>的<b class='flag-5'>对话</b><b class='flag-5'>系统</b><b class='flag-5'>中</b>的具体应用进行介绍

    专栏 | 深度学习在NLP的运用?从分词、词性到机器翻译、对话系统

    从分词、词性等基础模块,到机器翻译、知识问答等领域,本文列举并分析一些深度学习在 NLP 领域的具体运用,希望对大家研究深度学习和 NLP 有所帮助。
    的头像 发表于 08-18 17:06 7530次阅读
    专栏 | 深度学习在<b class='flag-5'>NLP</b><b class='flag-5'>中</b>的运用?从分词、词性到机器翻译、<b class='flag-5'>对话</b><b class='flag-5'>系统</b>

    OpenAI介绍可扩展的,与任务无关的的自然语言处理(NLP系统

    近日,OpenAI 在其官方博客发文介绍了他们最新的自然语言处理(NLP系统。这个系统是可扩展的、与任务无关的,并且在一系列不同的 NLP
    的头像 发表于 06-17 22:20 3843次阅读
    OpenAI介绍可扩展的,与<b class='flag-5'>任务</b>无关的的自然语言处理(<b class='flag-5'>NLP</b>)<b class='flag-5'>系统</b>

    四大维度讲述了一个较为完整的智能任务对话全景

    这是一个非常典型的任务对话,它满足两个条件,第一,它有一个明确的目标;第二,它通过多轮对话交互来达成这个目标。像这样的任务
    的头像 发表于 02-04 09:20 7101次阅读
    四大维度讲述了一个较为完整的智能<b class='flag-5'>任务</b><b class='flag-5'>型</b><b class='flag-5'>对话</b>全景

    NLP的深度学习技术概述

    该项目是对基于深度学习的自然语言处理(NLP)的概述,包括用来解决不同 NLP 任务和应用的深度学习模型(如循环神经网络、卷积神经网络和强化学习)的理论介绍和实现细节,以及对 NLP
    的头像 发表于 03-01 09:13 4769次阅读
    <b class='flag-5'>NLP</b><b class='flag-5'>中</b>的深度学习技术概述

    强化学习应用对话系统的用户模拟器

    近几年来,强化学习在任务导向对话系统得到了广泛的应用,
    发表于 08-06 14:16 2018次阅读

    如何利用机器学习思想,更好地去解决NLP分类任务

    NLP分类任务我们每个NLPer都异常熟悉了,其在整个NLP业务占据着举足轻重的地位,更多领域的子任务也常常转化为一个分类
    的头像 发表于 08-28 10:02 2221次阅读
    如何利用机器学习思想,更好地去解决<b class='flag-5'>NLP</b>分类<b class='flag-5'>任务</b>

    对话系统最原始的实现方式 检索式对话

    对话系统可以说是NLP领域目前已知最扎实的落地场景了,整个流程都脱离不了NLP的核心作用,而且整个流程涉及NLP的大量
    的头像 发表于 09-25 17:08 2321次阅读
    <b class='flag-5'>对话</b><b class='flag-5'>系统</b>最原始的实现方式   检索式<b class='flag-5'>对话</b>

    口语语言理解在任务对话系统的探讨

    1.1 研究背景与任务定义 口语语言理解在任务对话系统扮演了一个非常重要的角色,其目的是识别
    的头像 发表于 03-31 17:48 2424次阅读
    口语语言理解在<b class='flag-5'>任务</b><b class='flag-5'>型</b><b class='flag-5'>对话</b><b class='flag-5'>系统</b><b class='flag-5'>中</b>的探讨

    知识图谱是NLP的未来吗?

    我的看法:知识图谱不是NLP的未来,因为知识图谱是另外一种与NLP有很多交集的技术。在目前所有已知的发展方向
    的头像 发表于 04-15 14:36 3669次阅读
    <b class='flag-5'>知识</b>图谱是<b class='flag-5'>NLP</b>的未来吗?

    通过NVIDIA DLI课程学习NLP对话人工智能

      Riva 语音 API 服务器公开了一个用于执行语音识别、语音合成和各种 NLP 推断的简单 API 。在本课程,开发人员使用 Python 示例从 Riva 示例客户机运行其中几个 API
    的头像 发表于 04-11 09:32 2780次阅读

    基于知识对话生成任务

    基于知识对话生成任务(Knowledge-Grounded Dialogue Generation,KGD)是当前对话系统的研究热点,这个
    的头像 发表于 09-05 09:54 1638次阅读

    多语言任务在内的多种NLP任务实现

    WeLM是一个百亿级别的中文模型,能够在零样本以及少样本的情境下完成包括对话-采访、阅读理解、翻译、改写、续写、多语言阅读理解在内的多种NLP任务,并具备记忆能力、自我纠正和检查能力。
    发表于 10-13 11:52 610次阅读

    基于主观知识任务对话建模

    我们参加了 DSTC11-track5 并在所有 14 个参赛队伍排名第三(客观指标),其中 Turn Detection 子任务排名第一。本文将介绍 track 5 相关内容以及我们在竞赛尝试的方法。
    的头像 发表于 10-31 16:48 465次阅读
    基于主观<b class='flag-5'>知识</b>的<b class='flag-5'>任务</b><b class='flag-5'>型</b><b class='flag-5'>对话</b>建模

    nlp自然语言处理的主要任务及技术方法

    的应用,如搜索引擎、机器翻译、语音识别、情感分析等。 NLP的主要任务 NLP的主要任务可以分为以下几个方面: 1.1 词法分析(Lexical Analysis) 词法分析是
    的头像 发表于 07-09 10:26 870次阅读