论文阅读——Gated-Attention Readers for Machine Reading Comprehension

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_34611224/article/details/82899163

Inroduction

本文是ACL 2017的一篇文章,用更细粒度的gated-attention对背景文章和问题进行计算。作者是CMU的Graduate Research Assistant: Bhuwan Dhingra。文章的相关工作部分总结的很好,代码实现可以参考[GitHub]。

Background

本文针对的是MRC任务中的Cloze-Style类型,翻译过来是叫完形填空,但是与英语考试不同,这里是指只用一个单词来回答的阅读理解。

我们可以把问题描述为一个三元组(d,q,a):

  • d是指背景文章document
  • q是指完形填空的问题query
  • a是指问题的答案answer

答案是来自构建好的词汇表中的一个词,也就是token。总结一下就是,根据文档-问题对(d,q),从词汇表中找到最合适的词项作为答案a。

Motivation

作者发现,之前的MRC神经网络模型有一个问题——模型会对原文中的某个部分的注意力特别大,以至于对整篇文章的理解不够完整。并且之前的工作把query attention应用到token(Hermann et al., 2015; Chen et al., 2016)和sentence(Weston et al., 2015)两个层次上,本文希望用更细粒度的attention计算方式,获取document和query更多的语义信息。

Contribution

用Bi-GRU获取document和query每一个词项的信息,两部分词项之间两两做元素相乘,这样的操作做K次,到第K层的时候,document的词向量与query的词向量做内积运算,得到最终的向量表示,然后过soft Max层得到词项的概率分布,选document中概率最大的词项作为answer输出。

Model

Overview

模型结构

输入:document和query分词后的tokens序列

输出:概率最大的answer

Lookup layer

输入:tokens

输出:tokens的向量表示

扫描二维码关注公众号,回复: 3629460 查看本文章

运算关系:这里就是一个Lookup Table,用全连接训练词向量

Bi-GRU

输入: X 1 = [ x 1 1 , x 2 1 , . . . , x T 1 ] X^1 = [x^1_1,x^1_2,...,x^1_T]

输出:

  • Document每个词项过Bi-GRU后每个隐藏层状态 E
  • Query每个词项过Bi-GRU后每个隐藏层状态串起来 q

运算关系:见Bi-GRU结构,不详细介绍。

Gated-Attention

输入: E 1 = [ e 1 1 , e 2 1 , . . . , e T 1 ] , q 1 E^1 = [e^1_1,e^1_2,...,e^1_T], q^1

输出:下一层的输入 X 2 X^2

运算关系: X 2 = E 1 q 1 X^2 = E^1 \odot q^1

K-th layer & soft Max

输入: E K , q K E^K, q^K

输出:document中tokens的概率分布 s K s_K

运算关系: s K = e x p < q K , e K > / e x p < q K , e K > s_K = exp{{<q^K, e^K>}} / \sum exp{<q^K, e^K>}

得到概率最大的answer最为最终的输出。

Experiment

Datasets

训练集用的CNN/Daily Mail 和 who did what,详情如下:

训练集

Results

实验结果

在CNN/Daily Mail上,效果比BiDAF提升了一个多点,细粒度的gated-attention取得了一些效果,但是在who did what数据集上并未有多大提升。

Analysis

实验部分给出了一些可视化的attention结果:

可视化分析

图中高亮的部分是背景文章针对问题时的最后一层注意力所关注的tokens。

Conclusion

本文提出的Gated Attention用更细粒度的attention计算获得answer的定位,收获了一定的效果,并且使用Multi-Hop的结构,带着问题重读文章K次,增量式地重新得到tokens的表示,可以进一步帮助锁定答案。但是可以看出,在CNN/Daily Mail比在who did what数据集上提升的多,这就跟数据集本身有关了。所有的模型也都是建立在数据集的特点上的,仔细研读数据,研究其语言学的特征也是很重要的一个环节。

猜你喜欢

转载自blog.csdn.net/sinat_34611224/article/details/82899163
今日推荐