李宏毅DLHLP.28.Deep Learning for Question Answering.2/2

介绍

本门课程是2020年李宏毅老师新课:Deep Learning for Human Language Processing(深度学习与人类语言处理)
课程网站
B站视频
公式输入请参考:在线Latex公式
本节主要讲QA专题的第三部分:question。从易到难分别是:
Simple Question: Match & Extract
Complex Question: Reasoning
Dialogue QA

Simple Question: Match & Extract

这个任务是很简单的,就是分两个步骤:Match & Extract
例如下面是一个SQuAD的典型例子:
在这里插入图片描述
具体的实作如下(Query-to-context Attention ):

Query-to-context Attention

在这里插入图片描述
将Source和question分别丢到模型得到相应的embedding(蓝色和黄色),没有BERT的时候蓝色部分可以是双向LSTM,黄色的LSTM,Source的token单位可以是词,也可以是句子。然后将二者的embedding进行attention操作,attention实际上就是在算相似度。在attention里面就称为weight,这个attention操作这里叫做match,然后进行extract操作,这里的操作就是加权求和,注意的是,这里加权求和不是用的蓝色计算attention的向量,而是用绿色的向量,这个向量也是蓝色模型抽取出来的另外一组vector。加权求和得到的结果再丢到answer模块中进行计算。如果是bAbI那种任务就是用classifier进行分类,如果是SQuAD则用predict来预测答案对应的时间步。
具体模型有:End-to-end Memory Network[Sukhbaatar, et al., NIPS’15]
在这里插入图片描述
这个模型的思路和上面讲的大概相同,橙色对应上面的绿色向量用来求和,蓝色对应上面的蓝色向量用来求权重,最后做的bAbI任务,所以是分类。

Query-to-context Attention v2

在这里插入图片描述
第二版将question分成多个vector,每一个vector都和source的embedding做attention,上图有三个question的vector,所以attention计算得到三组权重,然后求三组权重每个位置上的max,然后进行后面的操作。
实作模型有一个VQA的,用了这个思想:
在这里插入图片描述
注意看这里的question变成表征后有多个vector。图片经过CNN切割成多个小区域,然后也是分两组向量,分别计算权重和求和。
在这里插入图片描述

假设question抽取后有T个向量,然后做attention操作得到T组向量( C 1 . . . C T C_1...C_T C1...CT),然后做max操作,然后进行分类计算。

Context-to-query Attention

这里把上面的思路反过来,用source对question做attention。
在这里插入图片描述
这里注意上图中的绿色方形,是将source的embedding和attention后的结果融合到一起(求和,concat什么的都行)每一个蓝色的向量融合一次,所以有很多个绿色的结果(这个结果内含问题和source的表征)。绿色的向量最后经过answer模块得到结果。
这个思路在BERT出来之前还很主流,例如:
R-Net[Wang, et al., ACL’17]
这里注意,17年attention is all you need还没出来,所以这个文章里面叫的matching
在这里插入图片描述
左边是question,右边是passage,这两个东西都用了word embedding和character embedding来表示。先是passage和question做matching,然后passage和passage做matching,这个操作本质上就是self-attention,因为文章太长,不知道要关注什么,这里用文章里面每一个token分别和其他token进行attention操作,是的模型能够整体把握重点。
类似还有:
在这里插入图片描述
这个模型是对context和question多次抽取embedding,在不同level上进行attention。
还有:
在这里插入图片描述

BiDAF

Bi-directional Attention Flow
在这里插入图片描述
既然上面提到question和passage可以相互做attention,于是把这两种方法结合起来就变成了一个新模型。
具体架构如下图:
在这里插入图片描述
最下面抽词嵌入和字符嵌入如下图:
在这里插入图片描述
中间部分就是Bi-directional Attention Flow。
最后输出的时候用了一个trick,先输出start,再输出end,输出end的时候,加了限制,end要在start附近。这个很好理解,因为类似SQuAD数据集答案只有一个单词,因此end离start很近。
另外一个类似的工作就是:

Dynamic Coattention Networks

[Xiong, et al., ICLR’17]这个模型也是同时使用了双向的attention,但是做法不一样。
在这里插入图片描述
上图中,query有三个向量,document有五个向量。先做query对document的attention,query的三个向量分别对document的五个向量分别做attention,得到紫色的那个权重,然后和document做点乘,得到和query相同维度的结果,然后和query进行concat,得到一个新的query;
然后做document对query的attention,document的五个向量分别对query的三个向量分别做attention,得到绿色的权重,然后和新的query进行点乘得到的结果,再和document得到最后的结果;
最后丢到双向LSTM计算结果。

QANet

最后一个没有使用BERT的知名模型,当时self-attention已经出来,所以该模型没有用RNN。
在这里插入图片描述
上图中蓝色那里是context-query双向的attention,最后蓝色那三个answer模块比较复杂。

BERT

终于讲到BERT了,具体做法如下图,source和query用特殊符号分开,concat后丢入BERT,得到各自对应的向量表示,然后进入answer模块计算开始和结束时间。BERT效果好的原因在于,它其实内部涵盖了之前各种模型的trick。
在这里插入图片描述

Complex Question: Reasoning

先来看相关的corpus。

Corpus

Qangaroo

[Welbl, et al., TACL’18]
document如下:
在这里插入图片描述
提问如下:
在这里插入图片描述
这个问题在document中是没有直接的答案的。要回答这个问题,必须在文章中跳来跳去,所以名字就叫:
在这里插入图片描述
这个语料库的问题是填空式的选择题

Hoppot QA

[Yang, et al., EMNLP’18],吃火锅想起来的点子?或者说要结合多个文章来回答问题。
在这里插入图片描述

DROP Discrete Reasoning Over the text in the Paragraph

[Dua, et al., NAACL’19]
大多数题目都是数学应用题,而且这个数据集出题的时候特别精选了问题,这些问题用BiDAF来解准确率为0.
在这里插入图片描述

Solution

Multiple-hop

下面是bAbI的一个例子
在这里插入图片描述
一次match+extract得到的答案是frog,明显不对,因此,这里使用多次match+extract的操作,具体流程如下:
在这里插入图片描述
具体实现:
在这里插入图片描述
hop的次数是超参数。有一个叫ReasoNet的,每次hop完都去判断是否要输出答案还是继续hop,有RL的味道。
在这里插入图片描述

GNN

抽取实体后将不同文章的相同实体连起来建图。
在这里插入图片描述
在这里插入图片描述
在问题中出现的实体将获得较大的attention weight,然后这个实体将attention 分给与他相邻的实体,然后把邻居中最大attention的那个找出来估计就是答案。
具体架构:
在这里插入图片描述
[Shao, et al., arXiv’20] 提出这个任务不用Graph也可以,作者用BERT代替Graph也获得类似的performance,条件是对BERT进行fine-tune,因为BERT内含的self attention实际上就是一个完全图。

Dialogue QA

这个任务不是回答一个问题,而是要进行一个对话,因此相当于要回答很多个问题。
先看两个相关的corpus

CoQA

[Reddy, et al., TACL’19]
在这里插入图片描述
可以看到下一个问题和上一个问题是有关联的,只有答对了上一题才能答好下一题。

QuAC

[Choi, et al., EMNLP’18]
上面那个数据集提问都是看过文章之后提的,算是比较有条理以及有答案,这个数据集就是瞎问
在这里插入图片描述

baseline

把之前的QA模型拿过来用,然后把文章和问题单独丢进QA得结果:
在这里插入图片描述
这个做法得到的结果肯定是不好的,因为从上面的例子可以看到,有很多问题都是有前后相关性的,单独拿出来丢进模型当然效果不好。

improvement 1

[Huang, et al., ICLR’19]
分别求各个问题和source的embedding,然后用RNN把他们串起来,是的问题之间的联系能够利用起来。例如中间一行最后一列的那个embedding,既考虑了前一层的embedding,又考虑了上一个问题的embedding。
在这里插入图片描述

improvement 2

[Huang, et al., ICLR’19]
考虑attention机制,如下图所示,箭头指向的那个蓝色向量,不但从前面一层抽取信息,而且利用attention从相同位置抽取其他document的信息。
在这里插入图片描述

Discussion

上面是没有用BERT的,BERT出来是不是这个QA任务就解决了?并不是,先来看下
https://rajpurkar.github.io/SQuAD-explorer/
SQuAD排行榜Leaderboard
在这里插入图片描述
最上面的是人类表现,EM意思是答案要和ground truth一模一样才算对,F1意思是答案和ground truth部分相似就算对。可以看到屠榜的模型基本都和BERT有关。看上去貌似任务已经解决了,实际上还没有。
证据1:
在这里插入图片描述
Train on SQuAD, Test on bAbI结果就烂掉。
证据2:
第一行是常规训练,文章和问题都看,效果很不错,第二行是只看问题不看文章,结果烂掉,第三行是只看文章不看问题,在一些任务上得到的效果还不错,例如任务20,只看文章机器就能直接给正确答案。这个情况有点像我们背题目,看题目就知道要选什么,不用看选项。
在这里插入图片描述
证据3:
在这里插入图片描述
CBT你们只看问题,效果还不错,因为这个corpus是做closet,前面20句话是文章,第21句话是挖空的句子,要填答案。模型可以直接看第21句话得到答案。
对于不好背答案的数据集,只看文章或者问题效果都很烂:
在这里插入图片描述
证据4:
在这里插入图片描述
原来的问题很长,但是如果把问题缩短变成一个词did,模型还是能给出答案,而且信心分数还增加了。
在这里插入图片描述
这里是另外一个例子。
下面是整体结果
在这里插入图片描述
在这里插入图片描述
从图中可以看到缩短问题,性能并没有下降很厉害,但是叫人来回答的结果就很烂:
在这里插入图片描述
为了防止模型背答案,有人弄了新的数据集VQA-CP
在这里插入图片描述
例如在训练集中问what sport,答案很大概率是tennis,在测试集里面答案就是skiing。
下面是原来数据集和新数据集的测试对比:
在这里插入图片描述
新数据集基本都垮掉了。

参考文献

Jason Weston, Antoine Bordes, Sumit Chopra, Alexander M. Rush, Bart van Merriënboer, Armand Joulin and Tomas Mikolov. Towards AI Complete Question Answering: A Set of Prerequisite Toy Tasks, arXiv, 2015
• Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, Percy Liang, SQuAD: 100,000+ Questions for Machine Comprehension of Text, EMNLP, 2016
• Payal Bajaj, Daniel Campos, Nick Craswell, Li Deng, Jianfeng Gao, Xiaodong Liu, Rangan Majumder, Andrew McNamara, Bhaskar Mitra, Tri Nguyen, Mir
Rosenberg, Xia Song, Alina Stoica, Saurabh Tiwary, and Tong Wang, MS MARCO: A Human Generated MAchine Reading COmprehension Dataset, NIPS, 2016
• Chih Chieh Shao and Trois Liu and Yuting Lai and Yiying Tseng and Sam Tsai, DRCD: a Chinese Machine Reading Comprehension Dataset, arXiv, 2018
• Wei He, Kai Liu, Jing Liu, Yajuan Lyu, Shiqi Zhao, Xinyan Xiao, Yuan Liu, Yizhong Wang, Hua Wu, Qiaoqiao She, Xuan Liu, Tian Wu, Haifeng Wang, DuReader: a Chinese Machine Reading Comprehension Dataset from Real-world Applications, ACL workshop, 2018
• Chuanqi Tan, Furu Wei, Nan Yang, Bowen Du, Weifeng Lv, Ming Zhou, S-Net: From Answer Extraction to Answer Generation for Machine Reading Comprehension, AAAI, 2018
• [Chen, et al., ACL‘17] Danqi Chen, Adam Fisch, Jason Weston, Antoine Bordes, Reading Wikipedia to Answer Open-Domain Questions, ACL, 2017
• Zhilin Yang, Peng Qi, Saizheng Zhang, Yoshua Bengio, William Cohen, Ruslan Salakhutdinov, Christopher D. Manning, HotpotQA: A Dataset for Diverse, Explainable Multi-hop Question Answering, EMNLP, 2018
• Pranav Rajpurkar, Robin Jia, Percy Liang, Know What You Don’t Know: Unanswerable Questions for SQuAD, ACL, 2018
• Siva Reddy, Danqi Chen, Christopher D. Manning, CoQA: A Conversational Question Answering Challenge, TACL, 2019
• [Choi, et al., EMNLP’18] Eunsol Choi, He He, Mohit Iyyer, Mark Yatskar, Wen-tau Yih, Yejin Choi, Percy Liang, Luke Zettlemoyer, QuAC : Question Answering in Context, EMNLP, 2018
• [Qiu, et al., ACL’19] Lin Qiu, Yunxuan Xiao, Yanru Qu, Hao Zhou, Lei Li, Weinan Zhang, Yong Yu, Dynamically Fused Graph Network for Multi-hop Reasoning, ACL, 2019
• [Shao, et al., arXiv’20] Nan Shao, Yiming Cui, Ting Liu, Shijin Wang, Guoping Hu, Is Graph Structure Necessary for Multi-hop Reasoning?, arXiv, 2020
• Yizhong Wang, Kai Liu, Jing Liu, Wei He, Yajuan Lyu, Hua Wu, Sujian Li, Haifeng Wang, Multi-Passage Machine Reading Comprehension with Cross-Passage Answer Verification, ACL, 2018
• Bo-Hsiang Tseng, Sheng-syun Shen, Hung-Yi Lee, Lin-Shan Lee, Towards Machine Comprehension of Spoken Content: Initial TOEFL Listening Comprehension Test by Machine, INTERSPEECH, 2016
• Chia-Hsuan Lee, Szu-Lin Wu, Chi-Liang Liu, Hung-yi Lee, Spoken SQuAD: A Study of Mitigating the Impact of Speech Recognition Errors on Listening Comprehension, INTERSPEECH, 2018
• Chia-Hsuan Lee, Yun-Nung Chen, Hung-Yi Lee, “Mitigating the Impact of Speech Recognition Errors on Spoken Question Answering by Adversarial Domain Adaptation”, ICASSP, 2019
• Chia-Hsuan Lee, Shang-Ming Wang, Huan-Cheng Chang, Hung-Yi Lee, ODSQA: Open-domain Spoken Question Answering Dataset, SLT, 2018
• Yung-Sung Chuang, Chi-Liang Liu, Hung-Yi Lee, Lin-shan Lee, SpeechBERT: An Audio-and-text Jointly Learned Language Model for End-to-end Spoken Question Answering, arXiv, 2019
• Makarand Tapaswi, Yukun Zhu, Rainer Stiefelhagen, Antonio Torralba, Raquel
• Tzu-Chien Liu, Yu-Hsueh Wu, Hung-Yi Lee, Query-based Attention CNN for Text Similarity Map, ICCV workshop, 2018
• Hsin-Yuan Huang, Eunsol Choi, Wen-tau Yih, FlowQA: Grasping Flow in History for Conversational Machine Comprehension, ICLR, 2019
• Xiaodong Liu, Wei Li, Yuwei Fang, Aerin Kim, Kevin Duh, Jianfeng Gao, Stochastic answer Networks for SQuAD 2.0, arXiv, 2018
• Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, BERT: Pretraining of Deep Bidirectional Transformers for Language Understanding, NAACL, 2019
• Minghao Hu, Furu Wei, Yuxing Peng, Zhen Huang, Nan Yang, Dongsheng Li, Read + Verify: Machine Reading Comprehension with Unanswerable Questions, AAAI, 2019
• Dheeru Dua, Yizhong Wang, Pradeep Dasigi, Gabriel Stanovsky, Sameer Singh, Matt Gardner, DROP: A Reading Comprehension Benchmark Requiring Discrete Reasoning Over Paragraphs, NAACL, 2019
• Johannes Welbl, Pontus Stenetorp, Sebastian Riedel, Constructing Datasets for Multi-hop Reading Comprehension Across Documents, TACL, 2018
• Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, Hannaneh Hajishirzi, Bidirectional Attention Flow for Machine Comprehension, ICLR, 2017
• Adams Wei Yu, David Dohan, Minh-Thang Luong, Rui Zhao, Kai Chen, Mohammad Norouzi, Quoc V. Le, QANet: Combining Local Convolution with Global Self-Attention for Reading Comprehension, ICLR, 2018
• Hsin-Yuan Huang, Chenguang Zhu, Yelong Shen, Weizhu Chen, FusionNet: Fusing via Fully-aware Attention with Application to Machine Comprehension, ICLR, 2018
• Huijuan Xu, Kate Saenko. Ask, Attend and Answer: Exploring Question-Guided Spatial Attention for Visual Question Answering, CVPR, 2016
• Sainbayar Sukhbaatar, Arthur Szlam, Jason Weston, Rob Fergus, End-To-End Memory Networks, NIPS, 2015
• Caiming Xiong, Victor Zhong, Richard Socher, Dynamic Coattention Networks For Question Answering, ICLR, 2017
• Wenhui Wang, Nan Yang, Furu Wei, Baobao Chang, Ming Zhou, Gated SelfMatching Networks for Reading Comprehension and Question Answering, ACL, 2017
• Chen Qu, Liu Yang, Minghui Qiu, Yongfeng Zhang, Cen Chen, W. Bruce Croft, Mohit Iyyer, Attentive History Selection for Conversational Question Answering, CIKM, 2019
• Aishwarya Agrawal, Dhruv Batra, Devi Parikh, Aniruddha Kembhavi, Don’t Just Assume; Look and Answer: Overcoming Priors for Visual Question Answering, CVPR, 2018
• Shi Feng, Eric Wallace, Alvin Grissom II, Mohit Iyyer, Pedro Rodriguez, Jordan Boyd-Graber, Pathologies of Neural Models Make Interpretations Difficult, EMNLP, 2018
• Divyansh Kaushik, Zachary C. Lipton, How Much Reading Does Reading Comprehension Require? A Critical Investigation of Popular Benchmarks, EMNLP, 2018
• Yelong Shen, Po-Sen Huang, Jianfeng Gao, Weizhu Chen, ReasoNet: Learning to Stop Reading in Machine Comprehension, KDD, 2017

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oldmao_2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值