《原始论文:Neural Machine Reading Comprehension: Methods and Trends》
一、阅读理解概述
所谓的机器阅读理解(Machine Reading Comprehension, MRC)就是给定一篇文章,以及基于文章的一个问题,让机器在阅读文章后对问题进行作答。
机器阅读理解(MRC)是一项任务,用于测试机器通过要求机器根据给定的上下文回答问题来理解自然语言的程度。早期的MRC系统是基于规则的,性能非常差。随着深度学习和大规模数据集的兴起,基于深度学习的MRC显著优于基于规则的MRC。
1、机器阅读理解的发展历程
2016年以前主要是统计学习的方法,2016年在 SQuAD 数据集发布之后,出现了一些基于注意力机制的匹配模型,如 match-LSTM 和 BiDAF 等。2018年之后浮现了各种预训练语言模型,如 BERT 和 ALBERT 等。
机器阅读理解数据集的发展极大的促进了机器阅读理解能力的发展,其中 SQuAD 是斯坦福大学推出的一个关于机器阅读理解的数据集,在2018年,斯坦福大学 NLP 团队又更新了该数据集的 2.0 版本,在新版本的数据集中加入了部分没有答案的问题。
下图中蓝色的是比较重要的几个模型,当然这只是一部分,不全。

机器阅读理解方法发展阶段:
- 特征+传统机器学习
- BERT以前:各种神奇的QA架构
- BERT以后:预训练+微调+trick
2、常见任务定义
MRC 的常见任务主要有六个:完形填空、多项选择、片段抽取(答案抽取)、生成式(自由作答)、会话、多跳推理:
- 完形填空(Cloze Tests):将文章中的某些单词隐去,让模型根据上下文判断被隐去的单词最可能是哪个。
- 多项选择(Multiple Choice):给定一篇文章和一个问题,让模型从多个备选答案中选择一个最有可能是正确答案的选项。
- 片段抽取式(Span Extraction):给定一篇文章和一个问题,让模型从文章中抽取连续的单词序列,并使得该序列尽可能的作为该问题的答案。
- 生成式(Free Answering):给定一篇文章和一个问题,让模型生成一个单词序列,并使得该序列尽可能的作为该问题的答案。与片段抽取任务不同的是,该序列不再限制于是文章中的句子。
- 会话:目标与机器进行交互式问答,因此,答案可以是文本自由形式(free-text form),即可以是跨距形式,可以是“不可回答”形式,也可以是“是/否”形式等等。
- 多跳推理:问题的答案无法从单一段落或文档中直接获取,而是需要结合多个段落进行链式推理才能得到答案。因此,机器的目标是在充分理解问题的基础上从若干文档或段落中进行多步推理,最终返回正确答案。

这四个任务构建的难易程度越来越难,对自然语言理解的要求越来越高,答案的灵活程度越来越高,实际的应用场景也越来越广泛。
- Construction: This dimension measures whether it is easy to construct datasets for the task or not. The easier it is, the higher the score.
- Understanding: This dimension evaluates how well the task can test the machine’s ability to understand. If a task needs more understanding and reasoning, the score is higher. - Flexibility: The flexibility of the answer form can measure the quality of the tasks. When answers are more flexible, the flexibility score is higher.
- Evaluation: Evaluation is a necessary part of MRC tasks. Whether a task can be easily evalu- ated also determines its quality. Tasks that are easy to evaluate get high scores in this dimension.
- Application: A good task is supposed to be close to real-world application. Therefore, scores in this dimension are high, if a task can easily be applied to the real world.
2.1 完形填空(Cloze Test)
给定上下文 C C C ,一个词或实体 a ( a ∈ C ) a(a\in C) a(a∈C) 被移除,完形填空任务要求模型使用正确的词或实体进行填空,最大化条件概率 P ( a ∣ C − { a } ) P(a|C − \{a\}) P(a∣C−{ a})。
数据集:CNN & Daily Mail 、CBT、LAMBADA、Who-did-What、CLOTH、CliCR


2.2 多项选择(Multiple Choice)
给定上下文 C C C ,问题 Q Q Q,候选答案列表 A = { a 1 , a 2 , . . . , a n } A=\{a_1,a_2,...,a_n\} A={ a1,a2,...,an} ,多项选择任务要求模型从A中选择正确的答案 a i a_i ai ,最大化条件概率 P ( a i ∣ C , Q , A ) P(a_i|C,Q,A) P(ai∣C,Q,A) 。与完形填空任务的区别就是答案不再局限于单词或实体,并且候选答案列表是必须要提供的。
数据集:MCTest、RACE

2.3 片段抽取(Span Extraction)
尽管完形填空和多项选择一定程度上可以机器阅读理解的能力,但是这两个任务有一定的局限性。首先,单词或实体可能不足以回答问题,需要完整的句子进行回答;其次,在很多情形是没有提供候选答案的。所以片段抽取任务应运而生。
给定上下文 C C C ,问题 Q Q Q,其中 C = { t 1 , t 2 , . . . , t n } C=\{t_1,t_2,...,t_n\} C={ t1,t2,...,tn},片段抽取任务要求模型从 C C C 中抽取连续的子序列 a = { t i , t i + 1 , . . . , t i + k } ( 1 ≤ i ≤ i + k ≤ n ) a=\{t_i,t_{i+1},...,t_{i+k}\}(1\leq i\leq i+k\leq n) a={ ti,ti+1,...,ti+k}(1≤i≤i+k≤n) 作为正确答案,最大化条件概率 P ( a ∣ C , Q ) P(a|C,Q) P(a∣C,Q)。
数据集:SQuAD、NewsQA、TriviaQA、DuoRC

2.4 自由作答(Free Answering)
对于答案局限于一段上下文是不现实的,为了回答问题,机器需要在多个上下文中进行推理并总结答案。自由回答任务是四个任务中最复杂的,也更适合现实的应用场景。
给定上下文 C C C 和问题 Q Q Q,在自由回答任务中正确答案可能不是 C C C 中的一个子序列, a ⊆ C a\subseteq C a⊆C 或 a ⊈ C a\nsubseteq C a⊈C ,自由回答任务需要预测正确答案 a a a,并且最大化条件概率 P ( a ∣ C , Q ) P(a|C,Q) P(a∣C,Q) 。
数据集:bAbI、MS MARCO 、SearchQA、NarrativeQA、DuReader

3、评价指标(Evaluation Metrics)
对于不同的MRC任务,有不同的评估指标。一般有Accuracy,F1 Score,ROUGE-L,BLEU。
- 对于完形填空和多项选择类型的任务,由于答案都是来源于已经给定的选项集合,因此使用 Accuracy 这一指标最能直接反映模型的性能。
- 对于抽取式和多跳推理类型的任务,使用 Exact Match(EM) 和 F1 值。EM 是指数据集中模型预测的答案与标准答案相同的百分比,F1 值是指数据集中模型预测的答案和标准答案之间的平均单词的覆盖率。多跳推理数据集,还提出了针对支持证据(supporting fact)的 EM 和 F1 值。
- 对于会话类型的任务,由于其答案是文本自由形式,因此并没有一种通用的评价指标,该类任务的评价指标主要由数据集本身决定。
- 对于生成式类型的任务,由于答案是人工编辑生成的,而机器的目标是使生成的答案最大限度地拟合人工生成的答案,因此该类任务一般使用机器翻译任务中常用的 BLEU-4 和 Rouge-L 两种指标。Rouge(recall-oriented understudy for gisting evaluation)同时也是自动文本摘要任务的重要评测指标。
3.1 Accuracy(准确率)
当给定一个问题集 Q = { Q 1 , Q 2 , ⋯ , Q m } Q=\{Q_1,Q_2,\cdots,Q_m\} Q={ Q1,Q2,⋯,Qm} 有 m m m 个问题时,如果模型正确地预测了 n ( n < m ) n(n<m) n(n<m) 个问题的答案,那么Accuracy计算如下:
A c c u r a c y = n m . (1) Accuracy=\frac{n}{m}.\tag{1} Accuracy=mn.(1)
Accuracy指标一般用于Cloze Test和Multiple Choice任务。
3.2 F1 Score
F1 Score是分类任务中常用的度量标准。
在MRC方面,候选答案和参考答案都被视为标记袋,真阳性(TP)、假阳性(FP)、真阴性(TN)和假阴性(FN)如Table1所示。
Table 1: The definition of true positive (TP), true negative (TN), false positive (FP), false negative(FN).

精确率(precision)和召回率(recall) 计算如下:
p r e c i s i o n = T P T P + F P . (2) precision=\frac{TP}{TP+FP}.\tag{2} precision=TP+FPTP.(2)
r e c a l l = T P T P + F N . (3) recall=\frac{TP}{TP+FN}.\tag{3} reca
6606


【完形填空、多项选择、抽取式(答案片段抽取)、生成式(自由作答)】《机器阅读理解数据集》&spm=1001.2101.3001.11974&articleId=119844471&d=1&t=3&u=2b389bc531134ec2a802a716ea2e845a)

被折叠的 条评论
为什么被折叠?



