Dual Co-Matching Network for Multi-choice Reading Comprehension笔记

902 阅读2分钟

Intro

目前流行的SQuAD数据集是比较简单的MRC任务,因为已经给定了阅读段落,而且问题的答案已经被完全的包含在了阅读段落里。

本文针对了一个更难的数据集RACE。RACE数据集的问题答案不一定包含在给定的阅读材料中,这需要模型更加深度地了解阅读材料。

Model

基于BERT来设计的Model, 输入为 P Q A,分别为阅读材料、问题和候选答案。

Encoding Layer

首先用BERT分别编码P Q 和 A。而不是如BERT一样直接用 [CLS] 的embedding作为表达。

\mathbf{H}^{p}=B E R T(\mathbf{P}), \mathbf{H}^{q}=B E R T(\mathbf{Q})
\mathbf{H}^{a}=BERT(\mathbf{A})

Matching Layer

分别进行了P和A的attention,以及P和Q的attention。下面是以P和A之间的attention为例的公式。

Attention

先计算matching matrix

\mathbf{W}=\operatorname{SoftMax}\left(\mathbf{H}^{p}\left(H^{a} G+b\right)^{T}\right)

再Attend,得到passage-wise下的answer表达,以及answer-wise下的passage表达

\mathbf{M}^{p}=\mathbf{W} \mathbf{H}^{a}, \mathbf{M}^{a}=\mathbf{W}^{T} \mathbf{H}^{p}

Fuse

将attend后的表达与原始的表达进行融合。其中 \mathbf{S}^{a}\mathbf{S}^{p}是最终的表达。

\mathbf{S}^{a}=F\left(\left[\mathbf{M}^{a}-\mathbf{H}^{a} ; \mathbf{M}^{a} \cdot \mathbf{H}^{a}\right] W_{1}+b_{1}\right)
\mathbf{S}^{p}=F\left(\left[\mathbf{M}^{p}-\mathbf{H}^{p} ; \mathbf{M}^{p} \cdot \mathbf{H}^{p}\right] W_{2}+b_{2}\right)

同样地,通过对P和Q之间的attention操作,可以得到 \mathbf{S}^{q}\mathbf{S}^{p’}

Aggregation Layer

这一步是在上一步的结果上做row-wise max pooling,得到每个sequence的表达。

比如,对\mathbf{S}^{p}做max-pooling,得到

\mathbf{C}^{p}=Pooling\left(\mathbf{S}^{p}\right)

同样的操作,可以得到\mathbf{C}^{p} ; \mathbf{C}^{a} ; \mathbf{C}^{p^{\prime}} ; \mathbf{C}^{q}

将四个vector进行concatenate,就得到了对于一个 {P,Q,A} 三元组的表达 \mathbf{C} = [\mathbf{C}^{p} ; \mathbf{C}^{a} ; \mathbf{C}^{p^{\prime}} ; \mathbf{C}^{q}],每个选项都有对应的表达 \mathbf{C}_i.

loss function可以定义为:

L\left(\mathbf{A}_{i} | \mathbf{P}, \mathbf{Q}\right)=-\log \frac{\exp \left(V^{T} \mathbf{C}_{i}\right)}{\sum_{j=1}^{N} \exp \left(V^{T} \mathbf{C}_{j}\right)}

总结

整个模型的结构还是很简洁的,而且非常类似于这篇预测题目难度的paper,即Question Difficulty Prediction for READING Problems in Standard Tests 笔记,感兴趣的可以看看那篇。两者的网络结构很相似,只不过一个拿来预测题目难度,一个拿来预测正确答案。

实验

DCMN在RACE数据集上取得了SOTA的结果,论文中po出的结果如下: