论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension

简要信息:

序号

属性


1

模型名称

KAR

2

所属领域

问答系统,自然语言处理

3

研究内容

机器阅读理解

4

核心内容

Data Augmentation

5

GitHub源码

6

论文PDF

​https://arxiv.org/pdf/1809.03449v2​


摘要:
  为了弥补机器阅读理解和人类之间的差异(To bridge the gap between MRC and human beings),主要以数据增强以及噪声鲁棒方面,本文,我们探索了一种让神经网络与通识知识相结合的方法。一方面,我们提出一种数据增强方法,对于question和passage来说,使用WordNet抽取单词之间的语义关系来作为通识知识;另一方面,我们提出端到端的MRC方法(Knowledge Aided Reader),利用上述抽取的通识知识辅助注意力机制。

动机:
(1)虽然现阶段很多最新的模型(BiDAF、R-Net、QANet等)已经达到了比较好的效果,且在例如SQuAD等leaderboard上的SOTA模型,但是是否这些模型真正像人类一样具有一定的理解能力呢?事实上没有。一方面,MRC模型需要大量的训练数据,而人类则需要很少或不需要数据就可以在验证集上得到很高的效果;另一方面,MRC只能利用文本自身的知识,而人类则可以利用通识知识(常识、世界知识等)。一种经典的思路是获取inter-word(单词之间的)语义关系;

(2)一种策略是将通识知识集成到神经网络中,因此要解决两个问题包括:

  • 从passage和question中抽取通识:使用WordNet、ConceptNet或Freebase等外部知识库;本文使用WordNet
  • 利用它们去预测答案区间:使用神经网络将外部的知识进行编码;

贡献:

  • 提出一种数据增强方法,是用户WordNet抽取词汇之间的相关性;
  • 提出一种端到端的方法KAR利用抽取的外部知识辅助进行attention计算

方法:

Semantic Relation Chain:

  WordNet保存了同义词集,同义词集内的单词表达了相似的场景,每个词都有多个不同的场景,因此也有不同的同义词,每个同义词对应一个场景。同义词集则进一步将每个单词构建了语义联系。WordNet总共有16中语义联系。作者基于这些关系,定义了新的概念(semantic relation chain)。即任何两个单词之间的chain由一系列的relation组成(相当于两个结点之间由一系列的边组成一条路径)

Inter-word Semantic Connection

论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_全连接 对应一个同义词集 论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_数据增强_02 ,作者则定义一个新的同义词集 论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_机器阅读理解_03,其表示所有可以通过relation chain与该单词相连的所有词。所以 论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_数据增强_02论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_机器阅读理解_03

  最终对于question-passage pair,抽取所有的单词及其对应在passage相关联的词。即对于每个token,都将得到一个与之有关联的在passage中index集合。

Knowledge Aided Reader

  整体架构如图所示:

论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_ide_06

  主要以Attention为主,包括另个attention:

  • knowledge aided mutual attention:将question融入到passage中;
  • knowledge aided self-attention:根据新的表征使用self-attention进行信息聚集;

(1)Lexicon Embedding Layer:使用GloVe预训练词向量,以及字符向量,并喂入一层全连接层形成embedding,passage和question分别得到对应的embedding。
(2)Context Embedding Layer:将上一层embedding喂入参数共享的BiLSTM中;
(3)Coarse Memory Layer:使用knowledge aided mutual attention将question与passage融合,并输出新的passage表征 论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_机器阅读理解_07,然后再次使用BiLSTM对 论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_机器阅读理解_07 的表征进行编码;
(4)Refined Memory Layer:使用knowledge aided self-attention将 论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_机器阅读理解_07 进行信息聚合,然后再一次使用BiLSTM进行编码,得到passage的新表征 论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_数据增强_10
(5)Answer Span Prediction Layer:同时将 论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_数据增强_10

knowledge aided mutual attention、

  根据WordNet抽取的通识知识,每个token都将对应passage中的多个token,因此可以通过attention形式,将这些token的embedding加权去和,得到一个emebdding向量,随后将这个向量与原始的token对应的向量拼接起来后,喂入一个全连接层,得到新的向量。权重相似度的计算函数如下:

论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_机器阅读理解_12

knowledge aided self-attention

  用与上面相似的方法,根据与当前token有关联的其他token进行加权求和,并与原始向量拼接后喂入全连接层。

实验部分:

  首先在SQuADv1.1进行实验,但额外使用AddOneSent和AddSent(判断鲁棒性的数据集,基于SQuAD额外添加的一些噪声),发现我们的模型虽然在原始的SQuAD上效果不是SOTA,但在添加噪声后效果明显高于SOTA,如图:

论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_机器阅读理解_13

  其次,作者对WordNet中的chain的长度超参数进行了分析,如图:

论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_机器阅读理解_14


  发现当长度控制在3时,效果最佳,每个token有相关联的token的平均个数约为2.21。(个人认为,这个关联数太少了,很多词不仅具有同义词的关系,还应该具有更深层次的关系)  下面三幅图表明了当训练的数据集依次变少时(百分数对应的是每个passage中question-passage pair的占比,因为一般每个passage都会对应很多个question),发现整体的效果都在下降,但是我们的模型依旧比现有的SOTA好,得益于引入通识知识。

论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_数据_15


论文解读:Explicit Utilization of General Knolwdge in Machine Reading Comprehension_数据增强_16