(1)论文创新点
- 这个模型的文章和问题在真正使用时,都是根据前一时刻的隐层状态,动态的表示成一个向量;
- 在更新状态时,使用了gated机制(虽然看起来有点复杂)。
(2)论文模型
模型的整体结构图如下所示:
接下来将对该模型上的组成部分做简单的介绍。
bidirectional encoddings
对于问题和文章的基本表示,主要是使用BiGRU来对文本序列进行编码。具体来说,对文章,不对文章的语义信息进行整体表示,而是对文章中的每个单词序列逐一表示(即文章表示法的模型1),每个单词的表示由双向GRU的前后隐层状态拼接后得到:
对于问题来说做同样的操作,对序列中每个单词进行表示:
在对推理状态进行更新的时候,每次都会从问题和文章中抓取相关信息,于是构造了下面几个组成部分。
query attention
这个我们可以把它形容成获取在当前时刻$t$问题的重点,这个重点是通过一个注意力机制得到的,通过公式:
得到该时刻每个单词的权重(其中$\widehat{q_i^T}$是问题表示),于是这个时刻问题的重点由下面的公式表示:
document attention
首先计算文章中每个单词的权重,结合问题的重点,然后得到文章这个时刻的重点:
search gates
这个部分是由FFNN+sigmold来组成的,具体的计算公式如下:
更新推理状态
通过上述几个公式,得到问题和文章该时刻的重点,然后通过gates对这些重点进行过滤,结合前一时刻的推理状态来得到当前时刻的推理状态:
(3)小结
这个模型动态的构建问题,文章,以及推理状态之间的相关性,也就是动态的注意力机制。一个可以扩展的点就是动态的决定推理步骤,此外,gate的计算方式或许也可以优化下。