【博客笔记】Attentive Reader\Impatient Reader:机器阅读理解之开山之作Teaching Machines to Read and Comprehend

来源

简介

  • 数据库:CNN&Dailymail
  • 任务类型:完型填空
  • 神经网络模型:Attentive Reader, Impatient Reader

1 问题构建

命名实体NE替换的数据集构建
【博客笔记】Attentive Reader\Impatient Reader:机器阅读理解之开山之作Teaching Machines to Read and Comprehend
命名实体替换技巧 (对cst类型 以及 后面bert masked有影响)

每个样本的答案(answer)的条件概率p(a|c,q)。
将NE替换,可以让模型更关注从上下文挖掘实体的语义关系(因为在不看原文仅通过阅读分析question的情况下,也可以回答question);但是为了防止训练过程中网络模型过度关注替换后的命名实体,命名实体替换后会进行随机排序,防止训练过程中网络模型过度关注替换后的NE。

从以上也能看出CNN&Dailymail语料库的特点:答案是某种实体对象;答案一定在原文中。因此该语料库不适合用于训练回答推理性的问题。

非神经网络模型的方法

  • 符号匹配模型
    识别句子谓语以及它们的主语和宾语,匹配“谁对谁做了什么事情”的框架来获取信息,如(e1, V, e2)
    【博客笔记】Attentive Reader\Impatient Reader:机器阅读理解之开山之作Teaching Machines to Read and Comprehend
  • 单词距离基准法(word distance)
    将答案占位符 与 上下文文档中每个可能ne对比,计算问题与指定实体上下文之间的距离,选取距离最小的实体对象作为问题答案。

2 神经网络模型方法

2.1 Deep LSTM Reader

【博客笔记】Attentive Reader\Impatient Reader:机器阅读理解之开山之作Teaching Machines to Read and Comprehend

2.2 Attentive Reader

AR采用注意力机制来构建token级别的网络模型。Attentive Reader将query作为一个整体来分析document中不同token的注意力。
【博客笔记】Attentive Reader\Impatient Reader:机器阅读理解之开山之作Teaching Machines to Read and Comprehend
query,长度为|q|,query作为一个整体拼接正反反向上的LSTM输出作为向量表示,记为u;
document中第t个位置的token输出表示为正反向上LSTM的输出的拼接,用y(t)表示,并计算每个t的权重,记为s(t),权重矩阵W为回答问题时对文档特定位置的token的重视程度,也就是注意力。r为文档表示,也就是说,document表示r是y(t)关于W(t位置也就是s(t))的加权平均表示。
然后使用query和document的表示作为分类模型的输入。
【博客笔记】Attentive Reader\Impatient Reader:机器阅读理解之开山之作Teaching Machines to Read and Comprehend

2.3 Impatient Reader

query中不同token本身的重要性是不一样的.
Impatient Reader进一步分析query中的每个token,尝试找到query中token与document中哪几个token关联最大!并且对于query中每个token,都需要考虑到上一个token在document中累积的信息。
【博客笔记】Attentive Reader\Impatient Reader:机器阅读理解之开山之作Teaching Machines to Read and Comprehend
【博客笔记】Attentive Reader\Impatient Reader:机器阅读理解之开山之作Teaching Machines to Read and Comprehend
Impatient Reader较Attentive Reader更为复杂,在某些情况下,IR效果可能并不好,因为每读取query中的一个token就要通读原文一次!并且还要考虑上一个token在原文中的相关token,这样效率可能不高,且可能存在梯度弥散问题。

2.4 一维匹配模型与二维匹配模型的区别

一维匹配模型:将问题直接编码为一个固定长度的向量,在计算注意力分数的时候,等效于直接计算文档D每个词在特点问题上下向量中作为答案的概率:P(a|c,q),也正是在计算问题向量Q与文档各个词的匹配关系中形成的一维线性结构,称为一维匹配模型;
二维匹配模型:直接输出问题Q中每一个词的编码,计算注意力的时候,计算文档Q中每一词对D中每一个词的注意力,即形成了一个词-词的二维匹配结构。由于二维匹配模型将问题由整体表达语义的一维结构转换成为按照问题中每个单词及其上下文的语义的二维结构,明确引入了更多细节信息,所以整体而言模型效果要稍优于一维匹配模型。

3 实验

Attentive Reader & Impatient Reader

  • 隐藏层大小:[64, 128, 256]
  • LSTM层数:1
  • 学习率初始化:[1E-4, 5E-5, 2.5E-5, 1E-5]
  • batch size:[8, 16, 32]
  • dropout:[0.0, 0.1, 0.2, 0.5]
    【博客笔记】Attentive Reader\Impatient Reader:机器阅读理解之开山之作Teaching Machines to Read and Comprehend