copy找不到网络路径_基于动态知识交互以及知识Copy的对话生成

文章来源

paper link:

Generating Informative Conversational Response using Recurrent Knowledge Interaction and Knowledge-Copy

https://www.aclweb.org/anthology/2020.acl-main.6.pdf​www.aclweb.org

原文概述

原文聚焦于知识驱动的对话生成领域[尽管原文中没有看到知识驱动,仅看到利用外部知识],想要解决的挑战是在不失去流畅性和连贯性的情况下,用多种相关知识生成信息丰富的response。基于知识的对话生成主要有两种方法:一种是pipeline式,即依次进行知识的选择和生成;另一种是joint式,即将知识选择集成到生成过程中。pipeline式知识驱动对话生成将知识选择与生成分离开来,导致知识与生成的融合不足。另外在集成各种知识时,pipeline式方法缺乏灵活性。joint式知识驱动对话生成与memory module连接的方法通常是静态地使用知识信息,因此在解码过程中knowledge attention的置信度降低,有可能产生知识词的不恰当搭配。原文针对这些问题,提出了一种有效的基于知识的神经会话模型,该模型增强了知识选择和生成之间的结合,以产生更多信息和更有意义的响应。

具体地,原文在response decode步骤中利用知识交互(recurrent knowledge interaction)来合并适当的知识,并且引入了一种利用知识感知指针网络的知识复制机制(knowledge-aware pointer network),根据知识注意分布从外部知识中复制单词。knowledge-aware pointer network用于解决OOV问题,因为为response生成的来自外部知识的描述词更有可能是OOV的,所以一定程度上缓解了生成非平凡词的负担。另外原文的模型使用了transformer编码知识进而可以适合于结构化以及非结构化的知识编码,原文说该模型也适用于不同语言[中文英文]。

原文model的感觉是将不同的query-response生成方式扩充到带知识的response生成,比方说解码考虑到query的信息以及知识的信息的融合,也就是都与解码状态求attention,根据权重加和;copy机制也从单源的query到query以及konwledge的多源copy。整体思路比较concise,效果也不错。

原文模型

eb67a46ddf805ee663d926c5f261b8a4.png

原文模型结构如上图所示,整体框架基于seq2seq。对于数据集

,X表示对话历史[多轮或者单轮],Y表示当前对话历史的response,
表示知识[s个知识,每一个的长度为
]。原文Model包含四部分:(1)LSTM based utterance encoder;(2)knowledge encoder;(3)recurrent knowledge interactive decoder;(4)knowledge-aware pointer network。

Utterance Encoder

双向LSTM编码对话历史得到隐状态序列:

Knowledge Encoder

原文直接用Transformer来编码知识,这样的话可以编码结构化知识和非结构化知识,最后使用普通版本attention计算得到整个知识的表征:


对于每一个候选知识都作上述的编码,
用于计算候选知识编码

Recurrent Knowledge Interactive Decoder

原文的重点部分,与先前decode的每一步仅仅与X的隐状态求attention上下文向量不同,原文多了knowledge的部分。公式上:

表示融合了对话历史的解码输入,
表示的是
对对话历史隐状态的注意力上下文向量。接着计算融合知识的上下文向量:

和每一个知识向量做attention,最后加权得到知识的注意力上下文向量。此时编码器端已经有两个源的注意力上下文向量,使用门控权衡在该时间步的信息量:

该时间步更新的隐状态为:
Knowledge-Aware Pointer Networks

Copy Mechanism的指针网络在生成模型中被广泛用于处理oov问题。原文的copy mechnism知识感知指针网络主要利用知识表示的注意力分布扩展了原始指针网络的范围。此外,知识感知指针网络在utterance和知识之间共享扩展词汇,有利于oov词汇的解码。其实就是多元的copy mechanism,计算生成概率和copy概率:


其中
对标上文提到的
,计算方式为:

最终生成词的概率为:

其中

的计算是生成的概率,
是调和权重。
的计算是:

原文实验

数据集

  • Wizard-of-Wikipedia。数据集包含22311个对话,201999次,166787/17715/17497用于train/valid/test,测试集被分成两个子集,test Seen(8715)和test Unseen(8782)。Test Seen与训练集有533个重叠主题;Test Unseen包含58个在训练或验证中从未见过的主题。
  • DuConv。该数据集具有29858个对话框和270399次会话的前瞻性会话数据集。该模型主要扮演具有明确目标的主角角色,以及由两个主题组成的知识路径,并提供与这两个主题相关的知识。这个数据集中的知识是三元组(subject、property、object)的格式,总共包含大约144k个实体和45个属性。

基线

  • Seq2Seq
  • MemNet(hard/soft)
  • PostKS(concat/fusion)
  • KIC (原文model)

实验结果

f397d811e367ee48e629df416d1f3a07.png

e56581402662eb1420bfb6030a8f0ff6.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>