原文链接
本文发表于人工智能领域B类会议 COLING 2016
摘要
随着NLP研究如火如荼的发展,机器阅读理解技术也有了一个爆炸式的增长,一些机构公开的完形填空式的阅读理解数据集,极大的促进了机器阅读理解技术的提升。本文首先提出了提出了两个中文阅读理解数据集,分别为日常新闻数据集和儿童通话数据集。此外,本文提出了一种基于consensus attention的神经网络,其目的是能够让注意力机制关注到查询中的每一个单词。实验结果表明,本文提出的方法效果不错。
模型
假设我们有训练集
,其中D是文章,Q是查询,首先我们将Q和D的onehot表示通过一个相同的embedding矩阵
转换为embedding表示,由于Q比D要短很多,通过与D共享embedding矩阵,可以使Q学到的embedding表示比使用两个不同的embedding矩阵要好。
本文使用两个不同的双向GRU来分别提取D和Q的特征,这样从不同维度的提取方式能够更加充分的提取特征。模型如下图所示:
模型底层是基于双向GRU的,没有啥特殊的地方,公式如下:
具体而言就是将D,Q进行embedding后输入双向GRU然后得到两个方向的隐状态输出之后,将两个方向的输出给concat起来。
这样我们就得到了D和Q通过双向GRU的输出
和
,然后对
中的每个单词的隐状态表示, 计算它与
中所有单词的隐状态表示的匹配程度:
(t 表示时序, 即 query 的第 t 个位置,该公式本质就是计算attention)。
即:
其中
是D中单词的个数
得到了 之后,我们将其送入一个merge function
所谓 consensus, 是要在 query 的每个单词上达到某种共识; 所谓 consensus attention, 就是在单词对应的 attention 之间取得共识,本文用merge function来代表这种共识: (m 表示 query 的长度).
本文定义了三种merge function:
- max (此时的共识就是推举出最大的 attention): ;
- sum (此时的共识就是考虑所有的 attention): ;
- avg (此时的共识就是考虑所有 attention 的均值): ;
(注:本人认为本文这个地方有点强行解释的感觉)
最后, 和 ASReader 一样, 对 document 中 unique word, 计算所有位置上的概率和: