Question Answering
相较于检索更进一步,给出一个问题,自动的找出这个问题的最合适答案,可以将这个问题划分为两个步骤
- 找到包含问题答案的文档
- 在文档中找到当前问题的答案(阅读理解 Reading Comprehension)
如果一个机器理解了一段问题,机器应该能够提供问题的正确答案,且答案中不包含与问题无关的相关信息
SQuAD(Stanford Question Answering Dataset)
每个问题对应一篇文章,答案是文章内的一段单词序列。
为每个问题提供多个可选的标准答案
SQuAD如何评估(V1.1)
- 为每个问题提供三个标准答案
- 使用两种评分机制
- Exact match:按照字面意思理解,如果答案在三个标准答案中(1),不在标准答案中(0)
- F1-score:分别计算对于每个问题回答的F1-score(具体怎么算法不知道),对整个数据集上求平均后得到结果
- 两种评分机制军忽略标点符号和无关的词汇(a,an,the)
SQuAD如何评估(V2.0)
SQuAD2.0中1/2的问题的答案在文章中,1/2的问题的答案不在文章中(并不是所有的问题的答案都在文章中)
- 对于无答案问题的评价,答案是无答案,给1;找到了某个答案,给0。(对于原有的两种评分机制都一样)
SQuAD存在的问题
- 所有问题的答案都是文章的子序列,没有难度更高的隐含、推理等类型的答案(后者问题更为常见)
- SQuAD中问题的构建是基于文章的,问题倾向于与文章相似(体现在结构、用词等),降低了回答的难度