【论文笔记09】Teaching Machines to Read and Comprehend

本文主要做出了两个大的贡献:

  • 给出了阅读理解数据集的构造方法,并开源了两个阅读理解数据集;
  • 提出了三种神经网络模型作为baseline,以方便后面的研究者进行相关的研究。

1 数据构造

主要是从新闻网站中抓取新闻作为文章,新闻的摘要去掉一个实体词成为query,被去掉的单词作为答案。为了防止模型对训练数据的过度依赖,于是将文章和问题中的实体进行匿名化和随机替换。具体见官方教程

2 三种神经网络模型

(1) Deep LSTM
Deep LSTM
从上图的结构可以看到,主要是将文章和问题进行拼接(doc|||query 或者 query||| doc),实际上都是看成一个长文本,通过多层LSTM编码,得到最后的隐藏层状态,进而进行后面的任务。
(2)Attentive Reader
Attentive Reader
这个模型将document和query分开表示,其中query部分采用了问题表示法的模型三,就是用了一个双向LSTM来encode,然后将两个方向上的last hidden state拼接作为query的表示;document这部分采用文章表示法的模型二,也就是通过单词语义向量表示文章整体语义,即用一个双向的LSTM来对文章进行编码,每个token的表示是用两个方向上的hidden state拼接而成,document的表示则是用document中所有token的加权平均来表示,这里的权重就是attention,权重越大表示回答query时对应的token的越重要。最后利用g函数来处理文章语义和问题语义。
(3)Impatient Reader
Impatient Reader
这个模型在Attentive Reader模型的基础上更细了一步,即每个query token都与document tokens有关联,而不是像之前的模型将整个query考虑为整体。具体来说,文章还是采用的文章表示法模型二,而query中每处理一个单词后,都用问题表示法的模型三来对当前问题序列进行整体语义表示,这个过程就好像是你读query中的每个token都需要找到document中对应相关的token。

3 小结

这篇论文作为阅读理解任务上的经典论文,对这个领域后来的发展推进作用挺大的。这两个数据集目前是这个领域常用的数据集;三种神经网络模型也是后面提出来的哪些模型的基础。另外,张俊林博士总结的常用文章和问题表示法真的非常清晰,已看网络结构就大概知道用的什么表示方法了。

参考文献

【1】深度学习解决机器阅读理解任务的研究进展 from 张俊林
【2】Teaching Machines to Read and Comprehend from paperweekly