问答系统(Question Answering)实际需求很多,比如我们常用的谷歌搜索就可看做是问答系统。通常我们可以将问答系统看做两部分:从海量的文件中,找到与问题相关的可能包含回答的文件,这一过程是传统的information retrieval;从文件或段落中找到相关的答案,这一过程也被称作Reading Comprehension阅读理解,也是这一讲关注的重点。
MCTestReading Comprehension
Stanford Question Answering Dataset (SQuAD)
Reading Comprehension需要数据是Passage即文字段落,Question问题以及相应的Answer回答。SQuAD就是这样的数据集。对于每个问题都有人类提供的三个标准答案,并提供了两个评估指标:
- Exact Match,即模型回答与任意一个标准答案匹配即计数为1,否则为零。统计整体的准确率。
- F1,将系统和每个答案都视为词袋,并评估Precision 和 Recall 的调和平均值,分数是(宏观)平均每题F1分数
F1测量被视为更可靠的指标
SQuAD2.0
- SQuAD1.0的一个缺陷是,所有问题都有答案的段落
- 系统(隐式地)排名候选答案并选择最好的一个,这就变成了一种排名任务
- 你不必判断一个span是否回答了这个问题
- SQuAD2.0中 ⅓ 的训练问题没有回答,大约 ½ 的开发/测试问题没有回答
- 对于No Answer examples, no answer 获得的得分为1,对于精确匹配和F1,任何其他响应的得分都为0
- SQuAD2.0最简单的系统方法对于一个 span 是否回答了一个问题有一个阈值评分
- 或者您可以有第二个确认回答的组件类似 自然语言推理 或者 答案验证