其他分享
首页 > 其他分享> > 【CS224n】(lecture11)Question Answering

【CS224n】(lecture11)Question Answering

作者:互联网

学习总结

文章目录

一、QA介绍

QA:构建能够自动回答人类用自然语言提出的问题的系统。
在这里插入图片描述

1.1 QA的分类:

(本task主要讲texutal QA,不考虑KB-QA、visual-QA等)

QA系统的类型:

根据解决方案:

1.2 QA的框架

问答系统通常包括三个环节,NLU(自然语言理解),DM(中控平台),NLG(自然语言生成)。其中:


在这里插入图片描述

IBM Watson在2011年打败Jeopardy champions

1.3 QA在深度学习领域

Open-Retrieval Question Answering一个重要方面是其表现力,能够检索开放语料库中的任何文本,而不是局限于信息检索所返回的封闭集,模型的框架如下所示:
在这里插入图片描述
几乎所有至今最先进的QA问答系统都是建立在端到端的预训练语言模型中(如BERT等)。

1.4 Beyond textual QA problems

在这里插入图片描述
除了文本QA问题,今天我们要讨论问的QA如何回答基于非结构化数据文档的问题:
在这里插入图片描述

二、阅读理解

2.1 reading comprehension

阅读理解reading comprehension:阅读一篇文章,并回答基于文章的相关问题。

2.2 SQuAD数据集

斯坦福开发的SQuAD1.1、SQuAD2.0。这两个数据集都是抽取式问答,因此

可以建模为序列标注问题(预测passage的每个token是答案开头和结尾的概率),在评价指标上可以使用F1和EM(exact match)
在这里插入图片描述
SQuAD-1.1数据集介绍将SQuAD数据集可视化如下草图,每一个元素表示的就是答案,问题,以及问题编号。答案中给出了答案的起始位置和答案的文本字符串。

我们要的数据包括context,这代表一个段落,而对于这个段落会有几个问题和对应的答案,所以还需要question和text以及answer start,text就是question的答案。这个数据集一个question只有一个答案。result中的字段除了id外其余的就是我们训练需要的字段。

另外SQuAD 2.0数据集可以通过NLP 高引论文解读两篇 | BERT模型、SQuAD数据集了解。
在这里插入图片描述

(1)SQuAD evaluation, v1.1

(2)SQuAD 2.0

2.3 神经网络模型

(1)LSTM-based vs BERT models

在这里插入图片描述

(2)带注意力机制的seq2seq模型

(3)BiDAF: the Bidirectional Attention Flow model

《BiDAF: the Bidirectional Attention Flow model》 是RNN时代的一篇经典工作,可以参考知乎上的一篇解读
在这里插入图片描述

1)encoder

2)attention

在这里插入图片描述

3)Modeling and output layers

(4)BERT应用在阅读理解上

BERT用在来阅读理解时,最朴素的做法就是,将一个样本的passage和Question作为两个原始的segment用【sep】拼接起来作为BERT的输入
在这里插入图片描述

在这里插入图片描述
这里BERT的作用可以理解为一个提取特征的encoder,其对于每个passage的token都生成了一个包含上下文信息以及篇章同问题之间的交互信息(具体去了解transformer,它是BERT的backbone)的向量(representation)。接下里针对QA任务构建简单的下游网络,其实就是两个预测层,分别预测该representation对应的token是答案开头或者起始的概率。

其训练目标就是两个loss相加。
在这里插入图片描述

(5)BiDAF 和 BERT 之间的区别

(6)针对下游任务设计更好的预训练目标

danqi这里用QA做例子很好地渗透了一种思想:预训练为什么work,其实就是因为其任务本身和下游任务之前存在overlap(当然也要加上充足的数据量),比如MLM任务可以很好地锻炼模型的“理解能力”,所以BERT在NLU任务上刷榜了,又比如自回归和生成类任务天然更搭,所以GPT在生成类任务上更好一些。因此,其提出了一个针对阅读理解任务的预训练目标,即span-BERT。
在这里插入图片描述

(7)存在的问题

我们的模型在SQuAD上的表现已经超过人类的水平,但不代表其已经具有阅读理解能力了。当前系统在对抗性示例或领域外分布的示例上仍然表现不佳,模型很容易被其他候选项迷惑。
在这里插入图片描述
领域(数据集)间迁移能力差:
在这里插入图片描述
这里提到了acl2021的best paper:《Beyond Accuracy: Behavioral Testing of NLP Models with CheckList》

这篇论文认为模型在held-out集合上的测评结果不能真正的代表这个模型的能力,因为测试集规模小并且往往和训练集有相似的分布,同时一些指标也不见得合理,并且将模型表现聚合到一个指标上,就不能很好地发现模型在哪些case上比较差进而进行针对性的改进。因此,本文提出了一套基于软件工程领域的“黑箱测试”理论的模型评估套件——checklist。更多的内容可以参看论文,这里只截取danqi课程相关的内容,即checklist针对BERT-large(在SQuAD上微调)的测试结果:
在这里插入图片描述
从这里可以看出来,虽然bert在SQuAD上的表现超过了人类表现,但是却经不起checklist的检验,主要体现在双重否定,属性、人和物品之间的比较级,指代分辨,主客体区分上。可见QA问题远远没有被解决。

三、Open-domain (textual) question answering

开放域文本问答,与阅读理解不同,Open-domain (textual) QA并不会基于给定的文章给出答案,而是从大规模的知识库或者文本集合(如维基百科等)中返回答案。。

3.1 Retriever-reader framework

在这里插入图片描述
将问题分解为两阶段,首先检索出最相关的passage,然后转化为一个阅读理解问题。这里danqi很快地过了两篇论文:
在这里插入图片描述

Lee et al., 2019. Latent Retrieval for Weakly Supervised Open Domain Question Answering

在这里插入图片描述

Karpukhin et al., 2020. Dense Passage Retrieval for Open-Domain Question Answering

这两个区别简单来说就是,前者需要question和passage联合输入模型,这样经过排列组合后,模型的计算量就大大增加了。后者直接将question和passage编码为固定向量,然后直接计算相似度,减少了复杂度。

3.2 Dense retrieval + generative models

之前提到的都是从已有的文本中抽取答案,随着研究的进展,生成式问答出现了。这篇论文提出,先通过检索找到和问题强相关的上下文,然后将其输入给seq2seq模型,训练模型直接生成正确答案。
在这里插入图片描述

Izacard and Grave 2020. Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering

随着预训练的发展,人们发现一些“巨无霸”甚至不需要上下文信息,只需要给其输入问题,它就能从自身参数保存的知识中寻找到正确答案。
在这里插入图片描述

Roberts et al., 2020. How Much Knowledge Can You Pack Into the Parameters of a Language Model?
## 3.3 不需要reader 模型 这篇论文直接将知识库切分为phrases(60 billion),然后encoding,再将question进行encoding,最后进行phrase vector和question vector之间的相似度评估(近邻搜索),返回最相似的phrase作为答案。这种做法的效果竟然也很好。 ![在这里插入图片描述](https://www.icode9.com/i/ll/?i=c3a4142f532b42019e4726dd7b7f33fc.png#pic_center =700x)

3.4 Dense retrieval + generative models

最近的研究工作表明,生成答案代替抽取答案会更好。
在这里插入图片描述

Reference

(1)课程ppt:https://web.stanford.edu/class/cs224n/slides/
(2)Speech and Language Processing :https://web.stanford.edu/~jurafsky/slp3/
(3)课程官网:https://see.stanford.edu/Course/CS224N#course-details
(4)https://zhuanlan.zhihu.com/p/451347191

标签:BERT,right,mathbf,Answering,QA,答案,lecture11,CS224n,left
来源: https://blog.csdn.net/qq_35812205/article/details/122457386