引言
本文介绍了常见的机器阅读理解模型R-NET、FusionNet和QA-Net。
- 上一篇: 机器阅读理解-常见机器阅读理解模型(上)
- 下一篇:
R-NET
R-Net1在Attention入门机制加入到计算中。
作者介绍了一个端到端的网络模型来解决基于给定文章回答问题的阅读理解问答任务。首先,使用基于注意力的门控循环网络来匹配问题和文章,以获得问题感知。
作者提出了一种自匹配的注意机制来改善文章的表达,可以有效地编码整篇文章的信息。
最后,应用指针网络从文章中定位答案。
核心思想
主要贡献有三个方面:
- 考虑到文章中的单词在回答特定问题时有不同的重要性,基于注意力RNN2增加额外的门控制。基于门控注意的引入门控机制RNN根据文章与问题的相关性,分配不同的重要性,屏蔽不相关的文章部分,强调重要部分。
- 引入自匹配机制,动态纠正基于整篇文章信息的文章,可以有效地压缩整篇文章的信息来回答问题。基于问题感知的文章表明,作者应用了门控制的注意力RNN匹配文章本身,从文章中的每个单词中收集与当前文章单词相关的信息。
- 最后,作者提出了方法达到了当时最高水平。
模型由四部分组成:
- RNN编码器分别是问题和文章编码(Question & Passage Encoding)
- 门控匹配层与文章匹配(Question-Passage Matching)
- 自匹配层压缩整篇文章的信息(Passage Self-Matching)
- 基于指针网络的答案边界预测层(Answer Prediction)
我们来看看具体四个部分的细节。
首先,双向RNN文章和问题分别编码。然后基于门控注意力RNN匹配问题和文章,获取文章的问题感知表达。然后,应用自匹配注意力从整篇文章中获取信息来纠正文章的表达。最后,喂入输出层以预测答案片段的边界。
文章编码器的问题
给出一个问题 Q = { w t Q } t = 1 m Q=\{w^Q_t\}_{t=1}^m Q={ wtQ}t=1m和一篇文章 P = { w t P } t = 1 n P=\{w_t^P\}_{t=1}^n P={ wtP}t=1n,首先将这些单词转换为相应的单词级嵌入向量(分别是 { e t Q } t = 1 m \{e^Q_t\}_{t=1}^m { etQ}t=1m和 { e t P } t = 1 n \{e_t^P\}_{t=1}^n { etP}t=1n)和字符级嵌入向量( { c t Q } t = 1 m \{c^Q_t\}_{t=1}^m { ctQ}t=1m和 { c t P } t = 1 n \{c_t^P\}_{t=1}^n { ctP}t=1n)。
通过将单词中的字符嵌入喂给双向RNN,得到最后的隐藏状态作为单词的字符级嵌入。这种字符级嵌入能很好地处理未登录词问题。
然后使用双向RNN来分别产生问题和文章中每个单词的新的表示 u 1 Q , ⋯ , u m Q u_1^Q,\cdots,u_m^Q u1Q,⋯,umQ和 u 1 P , ⋯ , u n P u_1^P,\cdots,u_n^P u1P,⋯,unP: u t Q = BiRNN Q ( u t − 1 Q , [ e t Q , c t Q ] ) (1) u^Q_t = \text{BiRNN}_Q (u^Q_{t-1},[e^Q_t,c_t^Q]) \tag{1} utQ=BiRNNQ(ut−1Q,[etQ,ctQ])(1)
u t P = BiRNN P ( u t − 1 P , [ e t P , c t P ] ) (2) u^P_t = \text{BiRNN}_P (u^P_{t-1},[e^P_t,c_t^P]) \tag{2} utP=BiRNNP(ut−1P,[etP,ctP])(2)
论文中使用具体使用的RNN模型为GRU。
门控注意力循环网络
作者提出了一个门控注意力循环网络将问题信息融入文章表示中。门控用来控制文章中单词对于问题的重要性。给定义一个问题和文章表示 { u t Q } t = 1 m \{u_t^Q\}_{t=1}^m { utQ}t=1m和 { u t P } t = 1 n \{u_t^P\}_{t=1}^n { utP}t=1n,Rocktäschel等人提出了通过软对齐问题和文章中的单词生成句子对表示 { v t P } t = 1 n \{v_t^P\}_{t=1}^n { vtP}t=1n: v t P = RNN ( v t − 1 P , c t ) (3) v_t^P=\text{RNN}(v_{t-1}^P,c_t) \tag{3} vtP=RNN(vt−1P,ct)(3) 其中 c t = a t t ( u Q , [ u t P , v t − 1 p ] ) c_t=att(u^Q,[u^P_t,v^p_{t-1}]) ct=att(uQ,[utP,vt−1p])是一个整个问题 ( u Q ) (u^Q) (uQ)的注意力池化(attention-pooling)向量: s j t = v T tanh ( W u Q u j Q + W u P u t P + W v P v t − 1 P ) a i t = exp ( s i t ) / ∑ j = 1 m exp ( s j t ) c t = ∑ i = 1 m a i t u i Q (4) s_j^t = v^T \tanh(W^Q_u u_j^Q + W_u^P u_t^P + W_v^P v_{t-1}^P)\\ a_i^t =\exp(s_i^t)/\sum_{j=1}^m \exp(s^t_j) \\ c_t = \sum_{i=1}^m a_i^t u_i^Q \tag{4} sjt=vTtanh(WuQujQ+WuPutP+WvPvt−1P)ait=exp(sit)/j=1∑mexp(sjt)ct=i=1∑maituiQ(4)
每个文章表示 v t P v^P_t vtP动态地融入从整个问题中聚集的匹配信息。Wang等人2引入了match-LSTM,使用 u t P u_t^P utP作为RNN的一个额外的输入: v t P = RNN ( v t − 1 P , [ u t P , c t ] ) (5) v_t^P = \text{RNN}(v_{t-1}^P,[u_t^P,c_t]) \tag{5} v 标签: wtq1050f动态扭矩传感器