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

    文章

    1073

    浏览量

    40157
  • nlp
    nlp
    +关注

    关注

    1

    文章

    463

    浏览量

    21819

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    【安富莱原创】【STemWin教程】第39章 对话框基础知识

    GUI_ExecCreatedDialog())才会返回值。而非阻塞式对话框则不会阻塞调用的线程--在它为可见时,可允许任务继续运行。创建对话框后,函数会立即返回值。 需要注意的是,切勿从回调函数
    发表于 04-29 10:39

    PI导向膜基础知识

    PI导向膜基础知识 做为锚定液晶分子的主要材料,导向膜的应用是从单纯离子键作用力到分子间作用力的一大发展,
    发表于 10-25 15:39 2001次阅读

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

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

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

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

    NLP中的深度学习技术概述

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

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

    近几年来,强化学习在任务导向对话系统中得到了广泛的应用,对话系统通常被统计建模成为一个 马尔科
    发表于 08-06 14:16 1854次阅读

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

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

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

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

    知识图谱是NLP的未来吗?

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

    关于NLP任务的所有GNN相关技术介绍

    传统的NLP任务中,文本序列被认为是一个由tokens组成的袋子,如BoW(词袋模型)和TF-IDF(词频-逆文档频率)。
    的头像 发表于 06-23 16:09 3299次阅读

    2021年OPPO开发者大会 融合知识NLP预训练大模型

    2021年OPPO开发者大会刘海锋:融合知识NLP预训练大模型,知识融合学习运用在小布助手里面。
    的头像 发表于 10-27 14:48 2274次阅读
    2021年OPPO开发者大会 融合<b class='flag-5'>知识</b>的<b class='flag-5'>NLP</b>预训练大模型

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

    调用。服务器预填充了 ASR 、 NLP 和 TTS 模型。这些内置模型允许开发人员轻松快速地测试几个对话 AI 组件。
    的头像 发表于 04-11 09:32 2699次阅读

    基于知识对话生成任务

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

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

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