S为[question, 候选answer]拼接的集合,D={D_1, D_2, … , D_N}为文档集合。
L_Q:question与候选answer中的最大长度
L_D: 为文档D中的最大长度
Dual-path attention layer
Contex layer层的输出为S:[L_Q, d]、D_i:[L_D, d]
D
n
(
j
)
D_n(j)
Dn(j)表示与候选S相关的第n篇文档中的第j个字向量,
D
n
D_n
Dn维度为[L_D,d]
S维度为[L_Q,d]
matching matrix由S与D做点积得到,维度为[L_Q, L_D],实际上是为了做注意力机制。
M
=
S
D
T
M=SD^T
M=SDT
Q-centric
对matching matrix按行进行softmax,
R
n
Q
=
[
R
n
Q
(
1
)
,
R
n
Q
(
2
)
,
.
.
.
,
R
n
Q
(
L
Q
)
]
R_n^Q={[R_n^Q(1),R_n^Q(2),...,R_n^Q(L_Q)]}
RnQ=[RnQ(1),RnQ(2),...,RnQ(LQ)],维度为[L_Q, d],其中
R
n
Q
(
i
)
R_n^Q(i)
RnQ(i)的维度为[1,d]。
作用是利用D来表示S。
R
n
Q
=
s
o
f
t
m
a
x
(
S
D
T
)
∗
D
R_n^Q=softmax(SD^T)*D
RnQ=softmax(SDT)∗D
做完softmax后,再与文档向量相乘,这里实际与bert中与V相乘的作用类似,即利用文档向量
D
n
D_n
Dn对S中各个字的贡献度。
中间可能有S的信息损失,所以再将S与
R
n
Q
R_n^Q
RnQ拼接,维度为[L_Q, 2d]
D-centric
取matching matrix的每一列,
R
n
D
R_n^D
RnD表示第n篇文档按照“Q-centric”方法生成的矩阵,维度为[L_D, d],生成方法即第n篇与其余剩下的文档。利用S来表示D
R
n
D
=
s
o
f
t
m
a
x
(
D
S
T
)
∗
S
R_n^D=softmax(DS^T)*S
RnD=softmax(DST)∗S
D
m
(
i
)
+
R
m
D
(
i
)
D_m(i)+R_m^D(i)
Dm(i)+RmD(i)做拼接,维度为[L_D, 2d],
M
m
n
′
M_{mn}^{'}
Mmn′的维度为[L_D, 2d],接着做注意力,
R
m
′
D
R_m^{'}{D}
Rm′D的维度为[L_D, 2d]
cross-document attention
对N篇文档,按照D-centric中方法运算,最后得到[N, L_D, 2d]
matching feature
对matching matrix矩阵,经过两层CNN,一层max-pooling后,维度为[L_Q, d]