论文笔记《Consensus Attention-based Neural Networks for Chinese Reading Comprehension》

原文链接
本文发表于人工智能领域B类会议 COLING 2016

摘要

随着NLP研究如火如荼的发展,机器阅读理解技术也有了一个爆炸式的增长,一些机构公开的完形填空式的阅读理解数据集,极大的促进了机器阅读理解技术的提升。本文首先提出了提出了两个中文阅读理解数据集,分别为日常新闻数据集和儿童通话数据集。此外,本文提出了一种基于consensus attention的神经网络,其目的是能够让注意力机制关注到查询中的每一个单词。实验结果表明,本文提出的方法效果不错。

模型

假设我们有训练集 < D , Q , A > ,其中D是文章,Q是查询,首先我们将Q和D的onehot表示通过一个相同的embedding矩阵 W e 转换为embedding表示,由于Q比D要短很多,通过与D共享embedding矩阵,可以使Q学到的embedding表示比使用两个不同的embedding矩阵要好。
本文使用两个不同的双向GRU来分别提取D和Q的特征,这样从不同维度的提取方式能够更加充分的提取特征。模型如下图所示:
consensus attention
模型底层是基于双向GRU的,没有啥特殊的地方,公式如下:
公式
具体而言就是将D,Q进行embedding后输入双向GRU然后得到两个方向的隐状态输出之后,将两个方向的输出给concat起来。
这样我们就得到了D和Q通过双向GRU的输出 h d o c h q u e r y ,然后对 h d o c 中的每个单词的隐状态表示, 计算它与 h q u e r y 中所有单词的隐状态表示的匹配程度: α ( t ) = s o f t m a x ( h d o c h q u e r y ( t ) ) (t 表示时序, 即 query 的第 t 个位置,该公式本质就是计算attention)。
即: α ( t ) = [ α ( t ) 1 , α ( t ) 2 , . . . , α ( t ) n ] 其中 n 是D中单词的个数

得到了 α ( 1 ) , α ( 2 ) , . . . , α ( m ) 之后,我们将其送入一个merge function


所谓 consensus, 是要在 query 的每个单词上达到某种共识; 所谓 consensus attention, 就是在单词对应的 attention 之间取得共识,本文用merge function来代表这种共识: s = f ( α ( 1 ) , , α ( m ) ) (m 表示 query 的长度).


本文定义了三种merge function:

  1. max (此时的共识就是推举出最大的 attention): s s o f t m a x ( m a x t = 1 m α ( t ) ) ;
  2. sum (此时的共识就是考虑所有的 attention): s s o f t m a x ( t = 1 m α ( t ) ) ;
  3. avg (此时的共识就是考虑所有 attention 的均值): s s o f t m a x ( 1 m t = 1 m α ( t ) ) ;

(注:本人认为本文这个地方有点强行解释的感觉)


最后, 和 ASReader 一样, 对 document 中 unique word, 计算所有位置上的概率和:

P ( w | D , Q ) = i I ( w , D ) s i , w V
其中 I ( w , D ) 是指示函数, 表明单词 w 出现在 D 的位置。

猜你喜欢

转载自blog.csdn.net/u014475479/article/details/81484763
今日推荐