论文略读 | GLOBAL-TO-LOCAL MEMORY POINTER NETWORKS FOR TASK-ORIENTED DIALOGUE

全局到本地记忆指针网络
参考:https://zhuanlan.zhihu.com/p/54327404
香港科技大学-ICLR2019

知识库通常很大,很难融入到学习模型中。本文提出全局到本地记忆指针(GLMP)网络来解决这个问题。提出了全局存储器编码和本地存储器解码来共享外部知识。编码器对对话历史进行编码,修改全局上下文表示,并生成全局记忆指针。解码器首先生成带有未填充槽的草稿响应。接下来它传递全局记忆指针来过滤相关信息的外部知识,然后通过本地内存指针实例化slot。模型可以提高copy的准确性并减轻OOV问题。数据集:bAbI和斯坦福多域对话数据集(应该就是那个in car assistant)。
端到端的对话系统存在的一个问题是如何有效的将KB整合到response中,主要难点是大的、动态的KB等于输入噪声,并且很难编码和解码,导致生成不稳定。相比于闲谈,KB的问题在任务型对话中问题更大,因为KB中的信息通常是响应中的预期实体。例如在表1中,驾驶员想要获得的是加油站的正确地址,而不是医院等随机地点。因此指针网络或复制机制对成功生成系统响应至关重要,因为直接将基本单词从输入源复制到输出不仅降低了生成难度,并且更符合人类的行为。
本文提出了全局到本地的记忆指针网络(GLMP),由全局存储器编码,本地存储器解码和共享外部知识组成。和现有具有复制能力的方法不同,别的方法传递给解码器的唯一信息是编码器的隐藏状态。本文模型共享外部知识并利用编码器和外部知识来学习全局存储器指针和全局上下文表示。
全局记忆指针通过软过滤掉对copy没有用处的词来修改外部知识。
之后不是直接生成系统响应,而是通过局部记忆解码器首先用一个sketch RNN 获得sketch 响应(即没有slot值,只是有tags作为占位符的草稿响应),这可以被认为是学习潜在对话管理以生成对话动作模板(??就是说类似于之前pipeline的模板生成模型,这有什么好处啊,就是分两步生成啊,哦哦可能作者想说他这样copy的准确率上升了吧)。然后解码器生成局部记忆指针,以复制来自外部知识的单词并实例化sketch标记。(!!哇这篇文章已经和Mem2seq做了对比了啊)在bAbI-OOV数据集中,GLMP实现了92%的准确度,并且在完整对话中超过了现有的端到端方法7.5%;在行车助手数据集上,GLMP能够超越自动和人工评估的先前技术水平,进一步证实了双指针使用的有效性。(这,要我们还做什么哦~~~天啊撸)

模型介绍

模型由三部分组成

  • 全局存储编码器
  • 外部知识
  • 本地存储解码器
    结构图如下:

在这里插入图片描述
自己的理解:
在这里插入图片描述

(1)EXTERNAL KNOWLEDGE

在这里插入图片描述
在这里插入图片描述

(2)GLOBAL MEMORY ENCODER

上下文RNN用于对顺序依赖进行建模并对上下文X进行编码,然后将隐藏状态写入外部知识。最后一个编码器隐藏状态用作查询以读取外部知识并获得两个输出,即全局存储器指针和存储器读出。直觉上,由于MN架构很难对存储器之间的依赖关系进行建模(Wu等,2018),这是一个严重的缺点,尤其是在会话相关的任务中,而将隐藏状态写入外部知识可以提供顺序和上下文信息。通过有意义的表示,我们的指针可以正确地复制出来自外部知识的单词,并且可以减轻常见的OOV挑战。此外,使用编码的对话上下文作为查询可以鼓励我们的外部知识读出与隐藏的对话状态或用户意图相关的记忆信息。此外,学习全局存储器分布的全局存储器指针与编码的对话历史和KB信息一起被传递到解码器。

  • Context RNN :用了Bi-GRU将对话历史编码成hidden states–H ,并用最后一层hidden state作为编码候的对话历史来查询外部知识。另外,H 被写入到外部知识中的对话历史模块,通过将原始记忆表示和对应的hidden states相加。
    在这里插入图片描述
  • Global memory Pointer。
    是一个包含0-1之间的值的向量。
    在这里插入图片描述
    与传统的attention机制中所有的权重相加等于1不同,G中的每个元素是一个独立的概率。首先用编码最后隐层查询外部知识,然后通过一个 inner product,之后再加一个sigmoid函数,最后得到的是要传递给decoder的 global memory pointer。为了进一步加强全局指向能力,我们加了一个辅助损失作为一个多标签分类任务来训练这个全局记忆指针。在消融研究中我可以看到加上这个额外的监督确实提升了性能。最后一个qK+1被视为编码后的KB信息。
    在辅助实验中,定义label来检查记忆中的object word是否在预期的系统响应Y中。然后 global memory pointer用G和Glabel之间的binary 交叉熵损失来训练。
    在这里插入图片描述

(3)LOCAL MEMORY DECODER

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值