作者 | 云从科技
编辑 | Camel
本文是对上海交通大学和云从科技共同完成,被 AAAI2020 录用的论文《DCMN+: Dual Co-Matching Network for Multi-choice Reading Comprehension》进行解读。
论文链接:https://arxiv.org/abs/1908.11511
在那些寒窗苦读的学生时代,你一定碰见过阅读理解,它需要融会贯通进行主观陈述和作答,是让无数考生头疼的题目。继智能系统在围棋、国际象棋、游戏等领域超越人类后,“阅读理解”也成为了机器的“苦恼”。
对此,云从科技和上海交大针对RACE多项选择题提出增强的DCMN+模型。
DCMN+是年初我们提出的DCMN增强模型,针对多项选择型机器阅读理解,以大规模预训练模型(如BERT等)作为前端编码器,在多个多项选择型机器阅读理解任务(如卡耐基梅隆大学的RACE)上取得了最先进的水平,另外DCMN也适用于其他简单分类任务。
与其他技术相比,其显著特征是双向匹配策略,其他现有模型的匹配策略都是单向的,比如在文章-问题(P-Q)建模时,现有技术只有问题(Q)在文章(P)上的映射匹配,没有文章(P)在问题(Q)上的映射匹配,而DCMN则集成了两个方向的匹配信息。此外,还集成了文章中句子筛选-从文章(P)中筛选出与问题相关的句子用于推理,答案选项交互-引入选项之间比较信息两种阅读策略,进一步提升了模型的性能。
任务描述
本文主要聚焦多项选择型机器阅读理解,它的形式类似于英语考试中的阅读理解(选择题),给定一篇文章,通过阅读并理解文章(Passage),针对提出的问题(Question)从选项中选择正确的答案(Answers)。其中典型的数据集是卡内基-梅隆大学发起的大型深层阅读理解任务数据集RACE(ReAding Comprehension dataset collectedfrom English Examinations),它来源于中学考试题目的大规模阅读理解数据集,包含了大约28000个文章以及近100000个问题。除了RACE,我们还在SemEval-2018 Task11, ROCStories,MCTest以及COIN Task1 等类似多项选择型数据集上测试了我们的模型。
一个典型的多项选择型机器阅读理解的例子
模型框架
本文提出的DCMN+主要包含三个模块:
1)文章中句子筛选,从文章(Passage)中筛选出与问题相关的句子用于推理;
2)答案选项交互,引入选项之间比较信息;
3)双向匹配策略,充分利用Passage,Question与Answers之间的交互信息,作对称双向匹配。
整体模型框架,三个模块:Sentence Selection, OptionInteraction 和Bidirectional Matching
2.1 编码器
本文直接以预训练完的语言模型作为前端编码器,例如BERT以及XLNet,分别编码Passage,Question及Answers。
2.2 文章句子选择(Passage Sentence Selection)
为从文章中选择出与问题最相关的句子,我们分别计算了文章中每个句子与问题-选项对的相似度,选出最为相关的K(超参数)个句子,输入到模型的以后部分作为推理依据。具体计算句子间相似度的方式有两种:余弦距离与双线性距离。
余弦距离:逐个计算文章中句子与问题-选项对中单词间的距离,取其平均值作为相似度分数:
双线性距离:通过计算文章句子与问题选项对的双线性匹配分数,然后通过线性降维来得到最后的分数:
2.3 答案选项交互(Answer OptionInteraction)
通过引入答案选项之间的比较信息,使得每个答案融入了相对于其他答案的比较信息,从而每个答案选项不在是孤立的,具体计算方式是引入每对选项之间的双线性比较信息,最后使用门控机制与原始的选项信息融合。
2.4 双向匹配策略(BidirectionalMatching)
计算Passage-Question-Answers三元组中所有的两两二元组的双向匹配信息,即P-Q,P-A,Q-A。接下来以Q-A之间的匹配方式作为说明:问题及答案选项分别被编码为以及,则Q-A间的双向匹配表示可以用以下方式计算:
2.5 目标函数
得到文章,问题,答案选项之间双向匹配表示之后,我们把它们串联起来过一层全连接线性层去预测最后的答案,如果是正确的答案选项,Loss可以计算如下:
实验结果
我们在各个多项选择数据集上均取得了最先进的成绩,包括RACE,SemEval-2018 Task11, ROCStories,MCTest以及COIN Task1。
(在RACE上的结果比较,我们取得了最高的成绩)
(在SemEval-2018 Task11, ROCStories,MCTest以及COIN Task1的成绩,我们均取得了最高的成绩)
DCMN+模型在RACE、SemEval-2018 Task11、 ROCStories、MCTest以及COIN Task1不同数据集上均取得了最高成绩。
(在RACE上的结果比较,取得最高成绩)
(在SemEval-2018 Task11, ROCStories,MCTest以及COIN Task1上,也均获得最高成绩)