近期会议的RC&QA扫读

感觉自己读论文的进度太慢了,ACL还没看几篇,EMNLP已经挂出来了一堆了。。。还是赶快读读,反正都是给自己看的,有的不太感兴趣或者觉得不太有意思的就随便写几句好了。。。每篇应该都是在一句话解决问题吧,偷个懒。。

ACL 2019

  • Reinforced Dynamic Reasoning for Conversational Question Generation
    • 对话问题生成,想要生成CoQA那样的数据集,基于seq2seq的架构,动态决定对话状态历史和文档的交互次数。是先生成问题,然后通过PG的方法来让QA的model的得分作为reward来指导问题的生成。感觉只是在提出一个CQG的任务,没有比较过多的baseline,也没有很多对话的东西。
    • 数据集:CoQA
  • Synthetic QA Corpora Generation with Roundtrip Consistency
    • 是做问题生成的一篇short paper,也是google在年初登顶squad2.0和NQ的方法之一,另一个就是wwm了。感觉上亮点在于提出了一个往返一致性检验的东西来衡量生成的问答对的质量,但是因为自己看的QG文章还不够多,不知道之前有没有人做过。用训练好的reader(A)找到所有answer span(这一步主要目的是选出可能成为answer的span)所以不需要考虑问题作为输入,然后生成问题,再用另一个reader(A’)回答这个问题,如果能答出span则加入数据集。同时他是用BERT来做问题生成的,而且生成出大量的问题来进行预训练。
    • 数据集:SQuAD, NQ
  • Generating Question-Answer Hierarchies
    • 提出了一种新的document的表示方法,即用问答对的形式逐渐从high-level的层次上逐渐关注到specific的信息。模型是一个pipeline的结构,把generic/specific的标签,paragraph,answer span一起送入一个seq2seq的模型来生成问题。他们也是先确定了answer span,再进行问题生成。然后生成好的问题,会在用一个bidaf++来进行过滤掉低质量的qa对,最后根据规则(每个specific的qa对找一个generic的作为父亲)得到一个层级结构。文章似乎问了生成不同种的问题用了一些和前人相比的trick,可能需要关注一下。
    • 论文相当于卖了一个新的任务,没有验证是否这样的表示真的对下游任务有用。实验评价在QuAC的开发集上做的人工评价。从case study上来看的确明显分出了generic和specific的,这个pipeline模型不足在于依赖QA model的质量,QA对生成独立,有回指等。感觉这种有特点的问题生成值得思考。
    • 数据集:SQuAD,CoQA,QuAC
  • Inferential Machine Comprehension: Answering Questions by Recursively Deducing the Evidence Chain from Text
    • 针对阅读理解中的推理,提出了一种新的复杂模型,希冀得到类似于人针对RC的一步步推理链的过程。数据集主要是RACE这样的选择题。
    • 数据集:RACE,MCTest,MultiRC选择型RC
  • Token-level Dynamic Self-Attention Network for Multi-Passage Reading Comprehension
    • 多篇章的阅读理解问题,多篇章RC往往因为长度原因很难直接self-attention。于是提出了一个压缩self-attention的方法:选择top K的token进行dot-product而不是所有token,输出进行padding之类再attention,因为不是所有词都需要attention。感觉这种问题BERT因为长度只有512,倒是可以避开这些pre-train model。
    • 数据集:SearchQA, Quasar-T and WikiHop
  • Explicit Utilization of General Knowledge in Machine Reading Comprehension
    • 针对SQuAD这样的,提出了用WordNet来帮助阅读理解的方法:对WordNet里面词义相近的词强行进行fusion,增加他们attention的相关度。相比于在网络中引入KG embedding的方法,这种方法更加hard。感觉不如百度他们做的那个,当然百度那个做的也很没意思就是了。
    • 数据集:SQuAD
  • Enhancing Pre-Trained Language Representations with Rich Knowledge for Machine Reading Comprehension
    • 改进BERT,引入WordNet和NELL这样的KB的embedding来起到引入知识的效果。和上面那个类似。
    • 数据集:ReCoRD,SQuAD
  • Multi-style Generative Reading Comprehension
    • 做生成式阅读理解,提出了一种融合不同task/data的方法:在输入中引入一个Style label对应不同数据集任务。在测试的时候如果已知task/数据集就用对应的Style label。主要是融合了摘要生成和多种形式的QA(NLG和短一点的QA,具体看论文)在了一起,模型图看了一下感觉有点复杂的原因是弄了一堆细节。。不过Related work写了好多。。。
    • 数据集:MS MARCO 2.1 ,NarrativeQA
  • Retrieve, Read, Rerank: Towards End-to-End Multi-Document Reading Comprehension
    • 做多篇章文档的阅读理解,主要是TriviaQA和SQuAD的两个多文档版本变种。自己之前对multi-document RC不怎么了解,看了一下任务定义,仍然是要在一个文档内部找到答案的span,但是会提供的不在是一个段落或一篇文档,而是多个候选文档以供选择,类似搜索引擎。
    • 提出了一个集检索,抽取答案span,并对所有答案候选span进行重排序,再做选择。主要基于BERT做的,在检索过程中会剪枝去掉一些不可能的segment,然后再在候选的segment上进行抽取答案span。但是这些抽出来的答案span之间会有overlap,所以在重排序的时候,先通过一个设计的NMS的算法去掉这些情况,然后再在这些span上重新打一个分,然后再得到最终的答案。亮点在于训练的整个过程都是end-to-end的,而且引入了一个答案重排序的过程。在数据集上都带来了很多的提升。
    • 数据集:TriviaQA,SQuAD open,SQuAD document
  • Multi-Hop Paragraph Retrieval for Open-Domain Question Answering
    • 文章针对开放域问答,仍然采用了DrQA那套想法:先检索出来最相关的段落,然后在做RC的model。然后重点发在了多步上,而且体现在检索上。检索采用的是vector search,即q和paragraph之间计算相似度(MIPS)。但是在上一篇论文也提到了,多步推理往往问题和最后的答案之间是很难直接算语义相似度的,所以论文引入了reformulation layer来修改question的表示向量,进行第二次检索,这个过程实际上就是一个双向attention的计算过程。但好像没有专门验证这一步是否真的对涨点有效。。感觉模型还是在之前attention上交互来交互去,而且虽说是多步,但是好像因为HotpotQA大概只有两跳,就检索两次了。。。作者也说了未来研究方向可能包括模型自动决定检索几次,要不要检索。有意思的一个地方还在于针对SQuAD open和HotpotQA两个不同的数据集,模型的sentence和paragraph的策略效果不同,可能关键在于数据集的构成方式。。
    • 数据集:SQuAD open(single hop),HotpotQA(multi-hop)
  • E3: Entailment-driven Extracting and Editing for Conversational Machine Reading
    • 文章针对一个对话机器阅读理解任务的新形式(CMR, ShARC):这个任务要求模型会根据规则文本以及场景描述文本来回答用户的一个初始问题。这个初始问题是无法直接根据rule和scenario回答的,因为缺少一些信息,所以需要模型询问follow up question,最后回答的问题,选项只有yes/no/irrelevant,具体可能要看ShARC数据集介绍。文章提出的模型分为四个部分,Extraction类似于BERT抽出rule span,entailment模块则用于得到entailment-enriched的规则表示,这里面有些地方有点疑问:第一是模型中并没有显示的建模之前的对话和规则文本之间的蕴含关系的求解过程,而只是加入了类似于overlap的特征,而且这两个特征都是越大表示越相关,而模型接在后面的decision model也是有softmax我很奇怪模型究竟是否可以学到值越大就越不问。不过从case study效果上来说好像的确学到了。第二是为什么一定要加入overlap的特征,讲道理bert的self-attention是可以建模规则和对话历史的信息的啊?这点作者好像也这么觉得的,但是加入硬特征还是让效果变好了。Decision Model没什么好说的,就是分类器。而根据rule生成follow up question的过程则是用了两个decoder,一个生成rule span前面的和rule span后面的,也就是说生成的问题是正好把rule加在中间,感觉挺有意思的,不知道是不是数据集特点所导致。
    • 感觉可以研究一下如何避免重复问已经问过的问题,用在CQG里面。。。
    • 数据集:ShARC
  • Answering while Summarizing: Multi-task Learning for Multi-hop QA with Evidence Extraction
    • 文章针对需要考虑evidence的RC数据集,也就是hotpotqa这样的数据集。HotpotQA这样的数据集不但需要预测出answer span还需要提供能推理出answer span的evidence sentence集合,文章把抽supporting fact建模成类似于抽取式摘要的任务,和answer span的抽取做multi-task。而抽取句子模块QFE则使用RNN来建模之前抽取出来的句子以及问题本身和当前的关系。这其实是一个set,并且通过自适应的方法来限制抽取结束。这样作者觉得相当于考虑了这些supporting facts之间的交互关系。感到惊奇的是,这个模型没有用BERT,却在当时和BERT-based model达到了comparable的结果。。不过现在也是被吊打了。。。
    • 个人感觉这种直接抽句子的想法,在hotpotqa上也可以达到一定效果,那么可能真的不需要所谓的多步推理,还引入图网络来做这个数据集了?
    • 数据集:HotpotQA,FEVER
  • XQA: A Cross-lingual Open-domain Question Answering Dataset
    • 这篇文章首次把cross-lingual的设定引入OpenQA任务,其实本来以为是作者是花了大力气标了一波数据。没想到居然是利用了Wikipedia的trick收集了一波数据,而且并不是平行的语料:训练集是只有英语,dev和test上则会有其他若干种语言。但是需要注意的是不同种语言的问题分布其实并不相同,甚至是迥异的,这也造成了train和inference的gap。
    • 有意思的实验现象:multi-lingual BERT的zero shot的实验反而比先MT的实验效果要好,也就是在English训练在别的语言上测试。作者分析这是因为MT很难翻译好命名实体,而这个在QA系统中很关键。而Multi-lingual BERT则相当于学了跨语言的表示,同时作者也说multi-lingual BERT其实并没有学到深层的跨语言理解,而是学的一些简单的问题和候选段落的匹配。所以还是很难的这种任务。EMNLP上也有相关工作。
    • 数据集:XQA
  • Cognitive Graph for Multi-Hop Reading Comprehension at Scale
    • 这篇文章reading group讲过了,就不细说了:BERT+GNN模拟认知过程。
    • 数据集:HotpotQA(full wiki setting)
  • Multi-hop Reading Comprehension across Multiple Documents by Reasoning over Heterogeneous Graphs
    • 又是一篇针对multi-hop QA使用encoder+GNN的文章,但是感觉思路上并没有上一篇有意思。encoder是Bi-GRU,然后把Document,Candidate,Entity均和Query co-attention完了self-attention。最终得到文档,候选项,相关实体的表示作为图节点表示的初始化。这个图是一个异构图,但是这个图是根据一系列规则构成的因而显得没有上一篇那么有意思。。。为了解决over smooth的问题,引入了一个门控机制(ggnn)。
    • 实验部分有个吐槽:single model打不过一个模型怎么办,ensemble更多模型就好了。
    • 数据集:WikiHop,这个数据集是有候选选项,且为multi-document。

EMNLP 2019

  • Cross-Lingual Machine Reading Comprehension
    • emmmm,和XQA这篇文章着重于更具体的RC任务,但其实感觉没啥不同。文章提出来用source端有丰富资源的语言数据集(例如英文)来帮助训练target的RC数据集(中文等)。先是搞了个和MT一起的模型,和XQA里面的MT不同的是,XQA训练集是英文,所以只是把相应的开发集和测试集翻译到英语inference。但是这里面是翻译到英语进行训练,然后在翻译回去(back translation),当然这样也会有answer span对不齐的问题。所以提出了基于规则的无监督方法,和有监督的自动调整的answer span对齐的方法。但是感觉作者更想搞个类似平行语料的感觉,所以又搞了个Dual BERT。就是一个soure BERT和target BERT一起训练,中间加了若干层source对target的attention做bilingual decoder,然后一起训练引入了source端的loss等。
    • Dual BERT效果好于和MT一起的。但是提升最大的点居然是用SQuAD fine tune的BERT初始化,当然source端的BERT引入也带来提升。可能和之前Facebook的XLM类似吧,把一种语言的语义关系通过attention引入到target端。文章也讨论了究竟是数据量大的非相似语言效果好还是相似小规模的好,答案是前者。数据规模都不大的时候就无所谓了,可能因为multi-lingual本来就学到和语言独立的信息特征。。。感觉这两篇文章把好做的都做了,XQA告诉我们直接multi-lingual就好了,这篇文章虽然引入了MT但同时也是用multi-bert为主要模块,在上面改的话可能得想想别的法子了。。。。
    • 数据集:SQuAD(英文,日文,法文),CMRC,DRCD。

Arxiv

  • Graph-Based Reasoning over Heterogeneous External Knowledge for Commonsense Question Answering
    • 看版式是投往了AAAI 2020了,采用了XLNet+GNN(从公式上来看类似于GAT的变种),在commonsense QA上得到了SOTA的结果,截止到现在貌似仍然是。和前人模型相比,他们引入了更多的额外知识(结构化的Concept Net和非结构化的Wikipedia),并根据不同的来源分别构造了两张图。并按照图的顺序做拓扑结构输入到XLNet里,并把结果用来过GNN,最后还拿GNN的表示和XLNet算个attention权重。感觉更加工程一点。
    • 数据集:commonsense QA

发表评论

电子邮件地址不会被公开。 必填项已用*标注