Intro
目前流行的SQuAD数据集是比较简单的MRC任务,因为已经给定了阅读段落,而且问题的答案已经被完全的包含在了阅读段落里。
本文针对了一个更难的数据集RACE。RACE数据集的问题答案不一定包含在给定的阅读材料中,这需要模型更加深度地了解阅读材料。
Model
基于BERT来设计的Model, 输入为 P Q A,分别为阅读材料、问题和候选答案。
Encoding Layer
首先用BERT分别编码P Q 和 A。而不是如BERT一样直接用 [CLS] 的embedding作为表达。
Matching Layer
分别进行了P和A的attention,以及P和Q的attention。下面是以P和A之间的attention为例的公式。
Attention
先计算matching matrix
再Attend,得到passage-wise下的answer表达,以及answer-wise下的passage表达
Fuse
将attend后的表达与原始的表达进行融合。其中 和
是最终的表达。
同样地,通过对P和Q之间的attention操作,可以得到 和
Aggregation Layer
这一步是在上一步的结果上做row-wise max pooling,得到每个sequence的表达。
比如,对做max-pooling,得到
同样的操作,可以得到
将四个vector进行concatenate,就得到了对于一个 {P,Q,A} 三元组的表达 ,每个选项都有对应的表达
.
loss function可以定义为:
总结
整个模型的结构还是很简洁的,而且非常类似于这篇预测题目难度的paper,即Question Difficulty Prediction for READING Problems in Standard Tests 笔记,感兴趣的可以看看那篇。两者的网络结构很相似,只不过一个拿来预测题目难度,一个拿来预测正确答案。
实验
DCMN在RACE数据集上取得了SOTA的结果,论文中po出的结果如下: