石大e舟
 您现在正在浏览: 首页 » 学生工作 » 石大E舟  
   

机器阅读理解的深度学习模型

发布时间: 2016-10-13 18:03:09   作者:本站编辑   来源: 本站原创   浏览次数:  

目前机器阅读理解研究领域出现了非常多的具体模型,如果对这些模型进行技术思路梳理的话,会发现本质上大多数模型都是论文“Teaching Machines to Read and Comprehend”提出的两个基础模型”Attentive Reader”和“Impatient Reader”的变体(参考文献1),当然很多后续模型在结构上看上去有了很大的变化,但是如果仔细推敲的话会发现根源和基础思路并未发生颠覆性的改变。

我们将主流模型技术思路进行归纳梳理以及某些技术点进行剥离组合,将其归类为“一维匹配模型”、“二维匹配模型”、“推理模型”等三类模型,其中“一维匹配模型”和“二维匹配模型”是基础模型,“推理模型”则是在基础模型上重点研究如何对文本内容进行推理的机制。当然,还有个别模型在结构上有其特殊性,所以最后会对这些模型做些简介。

1  一维匹配模型

目前机器阅读理解任务的解决方案中,有相当多的模型可以被归类到“一维匹配模型”这种技术范型中,这类模型本质上是“Attentive Reader”的变体。我们首先介绍这种技术思路的总体流程结构,然后说明下主流方法在这个框架下的一些区别。

图9所示是“一维匹配模型”的技术流程示意图:首先,对文章内容使用“文章表示方法:模型一”的方式对文章语义内容进行编码,对于问题来说,则一般会使用“问题表示方法:模型三”的方式对问题进行语义编码,即使用双向RNN的头尾部节点RNN隐层状态拼接作为问题的语义表示。然后,通过某种匹配函数来计算文章中每个单词Di(编码中包括单词语义及其上下文单词的语义)语义和问题Q整体语义的匹配程度,从含义上可以理解为F是计算某个单词Di是问题Q的答案的可能性映射函数。接下来,对每个单词的匹配函数值通过SoftMax函数进行归一化,整个过程可以理解为Attention操作,意即凸显出哪些单词是问题答案的可能性。最后,因为一篇文章中,某个单词可能在多处出现,而在不同位置出现的同一个单词都会有相应的Attention计算结果,这代表了单词在其具体上下文中是问题答案的概率,将相同单词的Attention计算出的概率值进行累加,即可作为该单词是问题Q答案的可能性,选择可能性最大的那个单词作为问题的答案输出。在最后相同单词概率值累加这一步,一般容易质疑其方式:如果这样,那么意味着这个方法隐含一个假设,即出现次数越多的单词越可能成为问题的答案,这样是否合理呢?实验数据表明,这个假设基本是成立的,所以这种累加的方式目前是非常主流的技术方案,后文所述的AS Reader和GA Reader采取了这种累加模式,而Stanford AR和Attentive Reader则采取非累加的模式。之所以将这个结构称为“一维匹配模型”,主要是其在计算问题Q和文章中单词序列的匹配过程形成了一维线性结构。

上述内容是“一维匹配模型”的基本思路,很多主流的模型基本都符合上述架构,模型之间的最大区别主要是匹配函数的定义不同。具体而言,“Attention Sum Reader”,(后文简称AS Reader,参考文献2)、“Stanford Attentive Reader”(后文简称 Stanford AR,参考文献3)、“Gated-Attention Reader”(后文简称GA Reader,参考文献4)、“Attentive Reader”(参考文献1)、AMRNN(参考文献5)等模型都基本遵循这个网络结构。

AS Reader可以看作是一维匹配结构的典型示例,其匹配函数定义为Di和Q向量的点积:

Attentive Reader是最早提出的模型之一,所以在整体结构上和一维匹配结构有些差异,模型性能相对差些,不过这些结构上的差异点并非性能差异的关键,而匹配函数能够解释其和效果好的模型性能差异的主要原因,其采用了前向神经网络的形式:

Stanford AR的匹配函数则采用了双线性(Bilinear)函数:

这里需要说明的是,Stanford AR的效果已经是目前所有机器阅读理解模型中性能最好的之一,同时其一维匹配模型相对简单,且没有采用深层的推理机制,所以这个模型是值得关注的。而其相对Attentive Reader来说,对提升性能最主要的区别就在于采用了双线性函数,而这个改变对性能提升带来了极大的帮助;相对AS Reader来说,其性能也有明显提升,很明显双线性函数在其中起了主要作用。由此可见,目前的实验结果支持双线性函数效果明显优于很多其它匹配模型的结论。

AMRNN是用来让机器做TOFEL听力题的阅读理解系统采用的技术方案,类似于GA Reader的整体结构,其是由一维匹配模型加深层网络组合而成的方案,同样的,深层网络是为了进行推理,如果摘除深层网络结构,其结构与AS Reader也是基本同构的。其采用的匹配函数则使用Di和Q的Cosine相似性,类似于AS Reader向量点积的思路。AMRNN解决的是选择题而非完形填空任务,所以在输出阶段不是预测文中哪个单词或实体是问题的答案,而是对几个候选答案选项进行评估,从中选择正确答案。

由上述模型对比可以看出,一维匹配模型是个结构简洁效果整体而言也不错的模型范式,目前相当多的具体模型可以映射到这个范式中,而其中的关键点在于匹配函数如何设计,这一点是导致具体模型性能差异的相当重要的影响因素。可以预见,后续的研究中必然会把重心放在如何改进设计出更好地匹配函数中来。

2  二维匹配模型

顾名思义,“二维匹配模型”是相对“一维匹配模型”而言的,其最初的思想其实体现在”Impatient Reader”的思路中。图10是机器阅读理解中二维匹配模型的整体流程示意图,从中可以看出,其整体结构与一维匹配模型是类似的,最主要的区别体现在如何计算文章和问题的匹配这个层面上。与一维匹配模型不同的是:二维匹配模型的问题表征方式采用“问题表示方法:模型一”,就是说不是将问题的语义表达为一个整体,而是问题中的每个单词都单独用Word Embedding向量来表示。这样,假设文档长度为||D||,问题长度为||Q||,那么在计算问题和文章匹配的步骤中,就形成了||D||*||Q||的二维矩阵,就是说文章中任意单词Di和问题中的任意单词Qj都应用匹配函数来形成矩阵的位置的值。

当二维矩阵的值根据匹配函数填充完毕后,就可以考虑进行Attention计算。因为是二维矩阵,所以可以有很多种不同的Attention计算机制。比如可以如图11这样按照二维矩阵的行来进行Attention计算,因为矩阵的一行代表文档中某个单词Di相对问题中每个单词Qj(1<j<||Q||)的匹配程度向量,按行计算Attention表达的是文档单词Di和问题中各个单词的语义相似程度。同样的,可以按照二维矩阵的列来进行Attention计算(如图12所示),因为矩阵的一列代表问题中某个单词Qi相对文档序列中每个单词Dj(1<j<||D||)的匹配程度向量,按列计算Attention表达的是问题单词Qi和文档序列中各个单词的语义相似程度

Consensus Attention 模型(后文简称CA Reader,参考文献6)、Attention-over-Attention模型(后文简称AOA Reader,参考文献7)和Match-LSTM模型(参考文献8)基本都符合二维匹配结构的范式,其主要区别在于Attention计算机制的差异上。CA Reader按照列的方式进行Attention计算,然后对每一行文档单词对应的针对问题中每个单词的Attention向量,采取一些启发规则的方式比如取行向量中最大值或者平均值等方式获得文档每个单词对应的概率值。AOA Reader则对CA Reader进行了改进,同时结合了按照列和按照行的方式进行Attention计算,核心思想是把启发规则改为由按行计算的Attention值转换成的系数,然后用对按列计算出的Attention加权平均的计算方式获得文档每个单词对应的概率值。Match-LSTM模型则是按行进行Attention计算,同样地把这些Attention值转换成列的系数,不过与AOA不同的是,这些系数用来和问题中每个单词的Word Embedding相乘并对Word Embedding向量加权求和,拟合出整个问题的综合语义Word Embedding(类似于“问题表示方法:模型二”思路),并和文章中每个单词的Word Embedding进行合并,构造出另外一个LSTM结构,在这个LSTM结构基础上去预测哪个或者那些单词应该是正确答案。

由于二维匹配模型将问题由整体表达语义的一维结构转换成为按照问题中每个单词及其上下文的语义的二维结构,明确引入了更多细节信息,所以整体而言模型效果要稍优于一维匹配模型。

从上面的具体模型介绍可以看出,目前二维匹配模型相关工作还不多,而且都集中在二维结构的Attention计算机制上,由于模型的复杂性比较高,还有很多很明显的值得改进的思路可以引入。最直观的改进就是探索新的匹配函数,比如可以摸索双线性函数在二维结构下的效果等;再比如可以引入多层网络结构,这样将推理模型加入到阅读理解解决方案中等。可以预见,类似的思路很快会被探索。

3  机器阅读理解中的推理过程

人在理解阅读文章内容的时候,推理过程几乎是无处不在的,没有推理几乎可以断定人是无法完全理解内容的,对于机器也是如此。比如对于图1中所展示的人工合成任务的例子,所提的问题是问苹果在什么地方,而文章表达内容中,刚开始苹果在厨房,Sam将其拿到了卧室,所以不做推理的话,很可能会得出“苹果在厨房”的错误结论。

乍一看“推理过程”是个很玄妙而且说不太清楚的过程,因为自然语言文本不像一阶逻辑那样,已经明确地定义出符号以及表达出符号之间的逻辑关系,可以在明确的符号及其关系上进行推理,自然语言表达有相当大的模糊性,所以其推理过程一直是很难处理好的问题。

现有的工作中,记忆网络(Memory Networks,参考文献9)、GA Reader、Iterative Alternating神经网络(后文简称IA Reader,参考文献10)以及AMRNN都直接在网络结构中体现了这种推理策略。一般而言,机器阅读理解过程网络结构中的深层网络都是为了进行文本推理而设计的,就是说,通过加深网络层数来模拟不断增加的推理步骤。

记忆网络是最早提出推理过程的模型,对后续其它模型有重要的影响。对于记忆网络模型来说,其第一层网络的推理过程(Layer-Wise RNN模式)如下(参考图13):首先根据原始问题的Word Embedding表达方式以及文档的原始表达,通过f函数计算文档单词的Attention概率,然后g函数利用文章原始表达和Attention信息,计算文档新的表达方式,这里一般g函数是加权求和函数。而t函数则根据文档新的表达方式以及原始问题表达方式,推理出问题和文档最终的新表达方式,这里t函数实际上就是通过两者Word Embedding的逐位相加实现的。t函数的输出更新下一层网络问题的表达方式。这样就通过隐式地内部更新文档和显示地更新问题的表达方式实现了一次推理过程,后续每层网络推理过程就是反复重复这个过程,通过多层网络,就实现了不断通过推理更改文档和问题的表达方式。

AMRNN模型的推理过程明显受到了记忆网络的影响,图14通过摒除论文中与记忆网络不同的表面表述方式,抽象出了其推理过程,可以看出,其基本结构与记忆网络的Layer-Wise RNN模式是完全相同的,唯一的区别是:记忆网络在拟合文档或者问题表示的时候是通过单词的Word Embedding简单叠加的方式,而AMRNN则是采用了RNN结构来推导文章和问题的表示。所以AMRNN模型可以近似理解为AS Reader的基础网络结构加上记忆网络的推理过程。

GA Reader的推理过程相对简洁,其示意图如图15所示。它的第一层网络推理过程如下:其每层推理网络的问题表达都是原始问题表达方式,在推理过程中不变。而f函数结合原始问题表达和文档表达来更新文档表达到新的形式,具体而言,f函数就是上文所述的被称为Gated-Attention模型的匹配函数,其计算过程为Di和Q两个向量对应维度数值逐位相乘,这样形成新的文档表达。其它层的推理过程与此相同。

IA Reader的推理结构相对复杂,其不同网络层是由RNN串接起来的,图16中展示了从第i层神经网络到第i+1层神经网络的推理过程,其中虚线部分是RNN的组织结构,每一层RNN结构是由新的文档表达和问题表达作为RNN的输入数据。其推理过程如下:对于第i层网络来说,首先根据RNN输入信息,就是第i层的文档表达和问题表达,更新隐层状态信息;然后f函数根据更新后的隐层状态信息以及原始的问题表达,计算问题中词汇的新的attention信息;g函数根据新的attention信息更新原始问题的表达形式,形成第i+1层网络的新的问题表达,g函数一般采取加权求和的计算方式;在获得了第i+1层新的问题表达后,t函数根据第i层RNN隐层神经元信息以及第i+1层网络新的问题表达形式,更新原始文档表达形成第i+1层文档的新表达形式。这样,第i+1层的问题表达和文档表达都获得了更新,完成了一次推理过程。后面的推理过程都遵循如此步骤来完成多步推理。

从上述推理机制可以看出,尽管不同模型都有差异,但是其中也有很多共性的部分。一种常见的推理策略往往是通过多轮迭代,不断更新注意力模型的注意焦点来更新问题和文档的Document Embedding表达方式,即通过注意力的不断转换来实现所谓的“推理过程”。

推理过程对于有一定难度的问题来说具有很明显的帮助作用,对于简单问题则作用不明显。当然,这与数据集难度有一定关系,比如研究证明(参考文献10),CNN数据集整体偏容易,所以正确回答问题不需要复杂的推理步骤也能做得很好。而在CBT数据集上,加上推理过程和不加推理过程进行效果对比,在评价指标上会增加2.5%到5%个绝对百分点的提升。

4  其它模型

上文对目前主流的技术思路进行了归纳及抽象并进行了技术归类,除了上述的三种技术思路外,还有一些比较重要的工作在模型思路上不能归于上述分类中,本节对这些模型进行简述,具体模型主要包括EpiReader(参考文献11)和动态实体表示模型(Dynamic Entity Representation,后文简称DER模型,参考文献12)。

EpiReader是目前机器阅读理解模型中效果最好的模型之一,其思路相当于使用AS Reader的模型先提供若干候选答案,然后再对候选答案用假设检验的验证方式再次确认来获得正确答案。假设检验采用了将候选答案替换掉问题中的PlaceHolder占位符,即假设某个候选答案就是正确答案,形成完整的问题句子,然后通过判断问题句和文章中每个句子多大程度上是语义蕴含(Entailment)的关系来做综合判断,找出经过检验最合理的候选答案作为正确答案。这从技术思路上其实是采用了多模型融合的思路,本质上和多Reader进行模型Ensemble起到了异曲同工的作用,可以将其归为多模型Ensemble的集成方案,但是其假设检验过程模型相对复杂,而效果相比模型集成来说也不占优势,实际使用中其实不如直接采取某个模型Ensemble的方案更实用。

DER模型在阅读理解时,首先将文章中同一实体在文章中不同的出现位置标记出来,每个位置提取这一实体及其一定窗口大小对应的上下文内容,用双向RNN对这段信息进行编码,每个位置的包含这个实体的片段都编码完成后,根据这些编码信息与问题的相似性计算这个实体不同语言片段的Attention信息,并根据Attention信息综合出整篇文章中这个实体不同上下文的总的表示,然后根据这个表示和问题的语义相近程度选出最可能是答案的那个实体。DER模型尽管看上去和一维匹配模型差异很大,其实两者并没有本质区别,一维匹配模型在最后步骤相同单词的Attention概率合并过程其实和DER的做法是类似的。


 
  | 校内邮箱 | BB网络教学平台 | 教务管理系统 | 院长信箱 | 书记信箱 |本科毕业设计管理系统 |