1. 基础知识
1.1 什么是MRC?
给定一篇文章,以及基于文章的一个问题,让机器在阅读文章后对问题进行作答。
1.2 MRC与QA有什么区别?
机器阅读理解(Reading Comprehension) vs 问答(Question Answering)区别:
- 阅读理解可以看作是问答的一个特例,因为它本质上是通过一段文本来回答一个问题,它们两者之间在问题的形式,处理方法以及评价体系上都有相通点。
- 目标不一样。问答系统的最终目标是建立一个可以自动回答人类问题的计算机系统;
阅读理解更注重机器对文本理解,而回答问题是为了衡量机器对文本的理解程度。
1.3 MRC常见任务
- 完形填空
数据集:CNN & Daily Mail、CBT、LAMBADA、Who-did-What、CLOTH、CliCR。 - 多项选择
数据集:MCTest、RACE。 - span抽取
数据集:SQuAD、NewsQA、TriviaQA、DuoRC。 - 自由作答。
数据集:bAbI、MS MARCO、SearchQA、NarrativeQA、DuReader
2. Datasets
SQuAD
TriviaQA
这两个数据集适用于span抽取,答案都很短且位于文档中。
MARCO
DuReader
NarrativeQA
这个数据集适用于生成模型,答案很长且在文章中不连续。
3. 评价指标
二分类问题
样本有正负两个类别,即模型预测的结果和真实标签的组合就有4种:TP,FP,FN,TN,如下表所示:
真正类TP:表示label为正类,预测为正类。
真负类FN:表示label为正类,预测为负类。
假正类FP:表示label为负类,预测为正类。
假负类TN:表示label为负类,预测为负类。
若真实标签为 y_label = [1, 0, 1, 0], 预测结果为y_pred = [0, 0, 1, 0],这里1表示正例,0表示反例。则结果为 [FN, TN, TP, TN]。
准确率
Accuracy:预测正确的样本数/总的样本总数。 a c c u r a c y = T P + T N T P + T N + F P + F N = 1 + 2 1 + 2 + 0 + 1 = 0.75 accuracy = \frac{TP+TN}{TP+TN+FP+FN} = \frac{1+2}{1+2+0+1}=0.75 accuracy=TP+TN+FP+FNTP+TN=1+2+0+11+2=0.75
精确率
Precision:预测正确中的正样本数/预测正确的总样本数。 p r e c i s i o n = T P T P + F P = 1 1 + 0 = 1 precision = \frac{TP}{TP+FP} = \frac{1}{1+0}=1 precision=TP+FPTP=1+01=1
召回率
Recall:预测正确中的正样本数/实际中的正样本总数。 r e c a l l = T P T P + F N = 1 1 + 1 = 0.5 recall= \frac{TP}{TP+FN} = \frac{1}{1+1}=0.5 recall=TP+FNTP=1+11=0.5
F分数
F1
:基于accuracy和recall计算。 F 1 = 2 ∗ P r e c i s i o n ∗ R e c a l l P r e c i s i o n + R e c a l l = 2 ∗ 1 ∗ 0.5 1 + 0.5 = 2 3 F1= \frac{2*Precision*Recall}{Precision+Recall} = \frac{2*1*0.5}{1+0.5}=\frac{2}{3} F1=Precision+Recall2∗Precision∗Recall=1+0.52∗1∗0.5=32
多分类问题
可以指定其中一个分类作为正例,其他所有分类看做反例,计算过程如上。
Accuracy 和Precision 的区别在于:Accuracy 是面向全部数据的,与具体的分类无关的,而Precision 和 Recall 是针对具体的分类。
困惑度(perplexity, ppl)
根据每个词来估计一句话出现的概率,并用句子长度作normalize。
其中,S为当前句子,N为句子长度,*
P
(
w
i
)
P(w_{i} )
P(wi)表示第i个词的概率,
P
(
w
i
∣
w
1
w
2
…
w
i
−
1
)
P(w_{i}|w_{1}w_{2}\dots w_{i-1} )
P(wi∣w1w2…wi−1)表示基于前i-1个词,计算出第i个词的概率。
PPL值越小,
P
(
w
i
)
P(w_{i})
P(wi)*越大,也就是说这句话中每个词的概率较高,说明这句话契合的表现好。
BLUE
BLUE(bilingual evaluation understudy),用于机器翻译任务的评价,根据n-gram可以划分为多个评价指标。常见的有BLUE-1、BLUE-2,BLUE-3,BLUE-4四种,其中的数字表示连续单词的个数。BLUE-1衡量的是单词级别的准确性,高阶BLUE可以衡量句子的流畅性。
BLUE通常用来衡量一组机器产生的翻译句子集合(candidates)与一组人工翻译句子(references)的相似程度。
详细查看这篇博客