CoAI

机器阅读理解

  • 2020年11月20日 22:32

研究领域概述

机器阅读理解(下简称阅读理解)是一个综合型的任务,旨在考察人工智能阅读复杂长文本的能力、基于文本内容进行推理的能力。阅读理解模型可以帮助用户高效地查阅文本资料,例如,针对一个说明书,用户可以通过该模型对说明书中的内容进行提问,快速获取需要的信息,而不是自行通读全文。

现有的阅读理解模型可以分为三个主要模块(如图1所示):文本阅读模块(Encoder)、证据抽取模块(Evidence Extractor)、答案生成模块(Predictor)。其中,文本阅读模块负责将文本转化为语义向量表示,方便后续模块在语义层面进行推理操作;根据问题,证据抽取模块从文本中抽取出相关信息,这些信息可以用来回答问题或者对问答的推理过程起到支撑作用;答案生成模块对相关信息进行整合并推理得到答案。

image.png

图1. 阅读理解模型框架  

我们的工作

A Self-Training Method for Machine Reading Comprehension with Soft Evidence Extraction (ACL 2020)

现有的阅读理解模型大多可以抽象为前文所述的结构,然而,阅读理解任务的数据集大多只提供文章和问题作为输入、答案作为监督信号,缺少对于证据抽取模块的直接监督。因此,我们无法确保证据抽取模块抽取出了有效信息。在极端情况下,该模块可能会将文章中的所谓内容视为证据信息,即失去了过滤无关信息的能力,给答案生成模块带来更大的困难,也会影响阅读理解模型的整体性能。

目前,针对如何有效地训练证据抽取模块,已经有了一些相关的工作。例如,使用规则对文章进行标注,该方法的标注结果可能有大量噪声,因此后续可以使用强化学习等方法进行去噪。现有方法的主要缺陷在于(1)过于复杂,可能依赖了一些外部资源或者复杂的规则,难以直接迁移到不同的阅读理解任务中;(2)若包含了强化学习等训练方法,则会导致训练过程不稳定。因此,我们提出了一种简单、易泛用、高效的证据抽取模块训练方法,从而提升了阅读理解模型的整体性能。

我们的方法(STM)基于Self-Training,方法流程图如图2所示。Base Model代表一个待训练的阅读理解模型,我们不对该模型的结构做限制,只要可抽象为图1所示结构即可;U表示不具备证据标签的训练样本的集合,L为具备证据标签的训练样本的集合。具体而言,STM采用迭代式的训练流程,在每一轮迭代中,执行下列三个步骤:

1.       随机初始化Base Model,然后将Base ModelUL两个数据集合上训练至收敛,监督信号包括UL中的答案标注,以及L中的证据标签;

2.       使用训练好的Base ModelU中的数据进行自动标注,标注哪些内容是证据信息;

3.       上一步的标注是有噪声的,因此使用Selector对标注后的数据进行选择,选出来其中置信度比较高的标注样本,将这些样本从U中移除并加入到L集合中,用于下一轮的训练。

具体算法细节可以参考论文原文。 

 image.png

 图2. STM方法流程 

通过实验,我们证实了我们的方法优于已有的训练方法,图3展示了在三个判断正误的数据集上,我们模型和基线模型的答案预测准确率,其中Base ModelBERT+Hierarchical AttentionHierarchical Attention即作为证据抽取模块。

image.png

3. 阅读理解模型在判断正误任务上的答案预测准确率

4展示了证据抽取模块的性能得分,P@k/R@k分别表示模型抽取出的前k个证据信息的准确率和召回率。可以看出来,随着STM方法的迭代,证据抽取模块的性能在提升,直到达到某个峰值。

更多的实验设定及实验结果可参考原论

image.png

4. 证据抽取模块的性能评测