特色文章

近期读的处于UnderReview的一些工作

因为最近ICLR和AAAI都是允许在arxiv或者openreview的平台公开自己的工作的,自己也就看了一些貌似投往这些会的paper,把读到的都记录一下,以便出结果后可以自己针对再看看是否有更新,而且openreview上还可以看到别人的评价以及和作者的交互。ICLR的文章大概就按照香侬前几天的推送看,而AAAI的就凭arxiv了。。。话说还有好几个会出了结果一篇paper没看。。进度好慢。。。

继续阅读

AAAI 2020 RC&QA扫读

  • Improving Question Generation with Sentence-level Semantic Matching and Answer Position Inferring
    • 这篇文章做的是以sentence answer-aware的QG问题。文章针对以往的QG模型在decoder过程中没有focus原始的问题类型和语义以及copy出答案无关词的情况,提出了利用question decode完成后拿到的表示q进行多任务训练:包括sentence级别的语义任务,即和document sentence的表示一起输入一个model进行判断是否是语义一致的。另一个则是answer position inferring任务,其实就是RC问题咯。
    • 从效果上来看,单独的两个任务甚至还不如maxout generator那篇。综合起来提升效果也不大。
    • 数据集:SQuAD,MARCO
  • An Empirical Study of Content Understanding in Conversational Question Answering
    • 分析CQA数据集到底是否可以反应model的文章理解能力,以及对话理解能力。从去掉text和conversation history的结果来看,很多高分model去掉text也比conversation history的效果要好。这说明其实并没有理解text。而且还发现QuAC上训练好的model大都依赖之前答案的位置信息。而CoQA上的model没有学好很好的cross-sentence信息。总之就是把这两个数据集的bias都指出来了。
    • 感觉文章还没怎么写好的感觉有一些图表貌似标错了。
    • 数据集:QuAC,CoQA

EMNLP 2019 RC&QA扫读

EMNLP 2019

  • Addressing Semantic Drift in Question Generation for Semi-Supervised Question Answering
    • 本文感觉是一篇真正在用QG做QA的数据增强的文章。主要做了几方面:一方面是之前的QG model,虽然给了答案但是生成的问题往往是无法和答案有什么语义相关的。因而也无法真正对QA任务起到数据增强的作用。也有人通过引入BLEU之类的指标作为reward来优化模型,但是这样的也被前人验证作用有限,因为这种直接的自动化评价指标也容易造成semantic drift。因此作者提出用question paraphrase和question answer来做reward,类似正则一样约束。在QG任务上达到了SOTA。同时还做了半监督QA的实验,生成一些伪数据来帮助QA model也起到了提升效果。另一方面作者也说了自动化评价QG指标不够,因此引入了QA model来进行评价(感觉这部分值得商榷,因为你在train的时候已经引入QA reward了)。同时针对前人合成数据没有对QA model的提升,作者提了一些过滤数据和训练数据的方法,也都是work的。
    • 作者实验部分有很多trick也有细致的讨论,值得好好看看。并且也是目前的SOTA?反正他是这么说的。。。
    • 数据集:SQuAD,HarvestingQA
  • Answer-Supervised Question Reformulation for Enhancing Conversational Machine Comprehension
    • EMNLP MRQA workshop的文章
    • 文章针对CQA问题,提出之前的RC model都是关注于单轮的RC,但是在conversation RC中存在大量指代的现象,因而作者提出可以通过问题改写来解决这样的问题,即把原来的有大量指代的问题(例如he换成具体的人名)改写为类似于单轮RC那样的问题形式。如果出现共指或者省略等情况,就需要改写。把(原始问题,对话历史)作为encoder的输入,然后用decoder(copy机制)改写成单轮问题,至于监督信号的问题作者使用了强化学习的方法,把问题改写的model当成agent利用answer的质量作为reward。
    • copy皆可以copy历史也可以从原始问题中copy,agent需要拿少部分人工标注的数据预训练一下。作者发现分别encoder对话历史和问题比一起encode要好,同时只copy比copy和generate一起的要好。对话中的共指和省略还是很多的,所以解决这些问题的方法应该是有效的。
    • 数据集:QuAC
  • Towards Answer-unaware Conversational Question Generation
    • MRQA workshop的文章,可以认为是Gao et al. 2019的一个后续工作?文章想做不利用答案信息的CQG(Du et al. 2017),而Gao et al. 2019仍然是利用了答案信息。其实整个文章是一个pipeline的model,需要先选择focus chunk然后在确定question pattern,最后生成问题。
    • 从实验效果来看,选focus的方法要远远差于Gao et al. 2019的工作,但是利用正确的foci生成的要好很多,我觉得是因为pattern的作用,这部分其实相当于人为限制了生成空间。但其实怎么说了,首先pipeline干这样的事就存在一些问题,第二就是Gao et al. 2019说的CoQA本身对话历史的流动就是大部分顺序的,所以其实第一步可能还不如规则好使。或者需要更好的选择方式?而且我也觉得要选就不用在人为划chunk了,倒不如分句自然。
    • 数据集:CoQA
  • Answer-guided and Semantic Coherent Question Generation in Open-domain Conversation
    • 文章follow的是open-domain CQG问题,这个是ACL 2018文章提的:那篇文章采用PMI来建模问题中不同的词:疑问词,主题词,常规词,然后使用不同的decoder来decoder不同type的词。这种对话形式的问题生成往往对于相同的内容,会有多种问题的模式。而之前生成问题模型往往都会导致和答案语义不一致、
    • 本文其实是使用CVAE分别与RL,GAN的框架结合。。。CVAE负责生成问题q,在RL框架中则通过和answer计算语义一致相似度,然后在作为reward传回CVAE模型。在GAN的框架中,则是相当于要让生成的问题q尽可能和ground truth的问题相似,来达到保持语义一致。从结果来看RL更好,作者分析这是因为RL的时候显示得到了生成的句子,但是GAN为了训练方便只是用了隐层表示
    • 说实话挖掘的点还是有些意思,但是文章更像现有方法的组合,不过通过这篇文章倒是大概了解CVAE是个什么东西了。。。
    • 数据集:Reddit作者自己抽的
  • Improving Question Generation With to the Point Context
    • 传统answer-aware QG model中把answer作为一个BIO的embedding作为输入,这往往是基于一种假设即answer附近的信息对问题生成任务本身更加有用,但是对于有插入语等语言现象,这种假设往往不成立。因而作者提出仅仅利用unstructured text来生成不太够用,因此用OpenIE抽取了一些三元组,来构建结构化关系,来确定answer span可能和哪些别的span产生关系。这样可以有效避免上述现象。至于做法就是两部分encoder用gate管一下,copy的时候也可以从两部分各自copy。。。
    • 这样做还产生了一个有趣的地方:往往之前的工作都是对于同样的sentence和answer span只能提出相同的问题,但是现在利用不同的关系三元组作为输入可以产生出不同的问题,多角度提问。
    • 数据集:SQuAD
  • Generating Questions for Knowledge Bases via Incorporating Diversified Contexts and Answer-Aware Loss
    • 这篇文章做KBQG,解决了前人没有关注到的两个痛点:第一个是只利用三元组生成问题,往往缺乏多样化的context以供利用。第二个是往往生成的问题的答案不够明确。因而作者提出了通过距离监督引入更多样的context供encoder使用,同时在decoder端利用copy机制可以同时从KB以及context中copy。并且引入了一个额外的answer-aware loss来避免歧义答案,其实是相当于希望得到的答案和问题中的token之间的交叉熵尽可能的小。
    • 感觉这个answer loss可能是由于KBQG的特殊性导致的,但是我们是否可以也做一些answer type作为监督信号,比如一般疑问句,yes/no/unanswerable,span,来帮助生成呢?
    • 数据集:SimpleQuestion
  • Discourse-Aware Semantic Self-Attention for Narrative Reading Comprehension
    • 一篇做NarrativeQA上的model文章,主要创新点在于引入了一些句法和语义结构(SRL,Discourse Parsing,指代消解等)到MRC model中,具体看的话就是attention的几个head的mask用预先定义好的句法结构语义结构表示。(PS: 我见过机翻有人这么做过啊。。。。)
    • 感觉做法非常古典非常语言学,可能是因为NarrativeQA数据本来就非常长使得pretrain model难以发挥威力。而别的NN model也会难以捕捉长距离依赖等问题,因而引入一些额外的监督信号。但是我还是想说类似的做法在别的任务很早就有了。。。同时作者说指代表现的不是很好,有点慌张啊。。。
    • 数据集:NarrtiveQA
  • Quoref: A Reading Comprehension Dataset with Questions Requiring Coreferential Reasoning
    • 一篇数据集文章,提出之前的RC数据集往往忽略了篇章中的指代关系,因此针对此专门构建了一个数据集。但是数据集内部没有提供指代的标注,因为是标注人员自己选择的。而且数据集在标注的时候经过了对抗bert。从实验效果来看,的确有将近80%的问题需要指代。同时预训练模型虽然是目前的SOTA但是可能还需要引入进一步指代的信息,才能进一步涨点。
    • 数据集:Quoref
  • 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一起训练(通过GNMT得到source端的input),中间加了若干层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。
  • A Discrete Hard EM Approach for Weakly Supervised Question Answering
    • 文章提出了一种weakly supervised setting,把multi-mention QA,DROP这样的需要离散推理,semantic parsing归类为一类需要weakly supervision QA的任务,结合到一起做,思路非常新颖。这三种任务的共性在于都是需要建模隐变量的:例如RC问题中往往一个document会有答案的多个mention,但是其实只有一个mention是符合问题语境下的答案,所以这些mention相当于隐变量,我们需要找到最符合的哪一个。还有在DROP这样的数据集中,我们需要进行数学上的运算推理,所以我们需要冲document中选择数字以及选择运算符号等这些隐变量进行组会得到最终的结果。同样semantic parsing也属于类似的情况。都是有一系列候选项隐变量,而只有一个符合最佳答案。
    • 至于如何学,作者通过推导推出来他们的hard EM的方法可以得到一个很简洁的形式,就是只需要优化原始的full supervision的loss,类似于最大化边缘概率(MML)的变种,具体形式还是看论文吧。整篇论文主要提出了一种新的loss学习目标,因而可以适用于各种模型。而且从实验结果来看,要比传统的MML优化目标好很多。
    • 数据集:TriviaQA,NQ,DROP,WikiSQL
  • A Multi-Type Multi-Span Network for Reading Comprehension that Requires Discrete Reasoning
    • 感觉更像是一篇ensemble各种RC model的文章,针对DROP的数据集特性进行了模型上特别多细节的尝试和trick的结合,但是说实话,和上一篇相比没什么大意思。。。感觉就是针对数据集中的数学问题推理形式做了一些特殊的处理。也可以从行文过程看出做的不易,比较有趣的是在生成出数学表达式后又拿回Model里做了一个考虑上下文的表示。multi-span就是用NMS搞一搞。细节论文里写的也不是很清晰得看代码。
    • 模型错误分析可以看出没有做到排序之类更为复杂的数学推理。
    • 数据集:DROP
  • Adversarial Domain Adaptation for Machine Reading Comprehension
    • 组会介绍过了,就是把传统做domain adaptation的对抗方法拿到RC中做了一下。
    • 数据集:SQuAD,NewsQA,MS MARCO
  • Answering Complex Open-domain Questions Through Iterative Query Generation
    • 文章做multi-hop qa中hotpotqa的full-wiki setting。文章主要提出如何高效的检索出相关文档提供给QA model。因为multi-hop QA往往一开始的问题是和多跳后的文档关联不大,所以需要再这个过程中迭代生成新的问题以供检索。而在这里生成的问题并不是真正形式的问题,而是根据已经检索得到的context和原始的问题q,抽出的一个span(相当于还不确定的部分)。然后通过IR system进行检索。作者认为这种迭代更新 q的方法更加显示且高效,比ACL 19上的一些利用神经网络改写q的方法更加节省资源,可控。从效果来看还不错。看起来在multi-hop qa中question的改写还是有一些地方值得探索。。
    • 数据集:Hotpot QA
  • Answers Unite! Unsupervised Metrics for Reinforced Summarization Models
    • 也是做open domain QA检索的文章,但是ARC是选择题形式。作者提出黑箱的IR model只是在lexically的匹配,因而提出在检索出来一些document的基础上,用BERT之类的模型对每个doc打与question或answer语义相关的分数。
    • 感觉是不是因为这个数据集类型没什么人做啊,其实这种验证语义相关的模型思路应该之前也有人做吧?好奇怪。。。
    • 数据集:ARC
  • BiPaR: A Bilingual Parallel Dataset for Multilingual and Cross-lingual Reading Comprehension on Novels
    • 数据集文章,和之前的跨语言RC的不同主要是这个是完全平行的语料(passage,question,answer都是中英对照的)。而且是小说形式,本身就很困难。。。
    • 数据集:BiPaR
  • Cosmos QA: Machine Reading Comprehension with Contextual Commonsense Reasoning
    • 提出了一个新的common sense QA的数据集:Cosmos QA。和之前的commonsense QA相比,除了外部知识外,引入了contextual commonsense reasoning的概念,而且所需要的外部知识也不仅仅是实体关系这样的,更像是日常生活中的常识:比如最好不要把小孩一个人扔家里这种的。。
    • 数据集:Cosmos QA
  • Finding Generalizable Evidence by Learning to Convince Q&A Models
    • 我只能说这真的是一篇神奇的文章,因为太神了,我并没有看懂。。。只能大概描述他在干嘛,至于内在逻辑还是算了。。。感觉上是在做QA的可解释性的工作,分析了人和模型如何根据一个候选答案在passage里面选择证据来确定答案。。。然后这样做作者发现具有一定的泛化能力而且可以有效的减少篇章长度,可能对于篇章较长的MRC任务有一定效果???
    • 数据集:DREAM,RACE
  • Incorporating External Knowledge into Machine Reading for Generative Question Answering
    • 如何在生成式阅读理解中引入额外知识是这篇文章的motivation。基于的框架是seq2seq,然后在decode生成的时候引入了更多的copy机制:既可以从question也可以是从passage,也可以是从vocabulary,也可以从KB。而且如果从KB选择的时候也可以选择究竟哪个fact用于生成。可以发现这两步其实都有离散的隐变量的问题,文章中其实都是用gumbel-softmax来解决的,当然在写loss公式的时候还有一步放缩。从效果来看还是不错的。
    • 数据集:MS MARCO
  • Interactive Language Learning by Question Answering
    • 感觉挺有趣的文章,在一个text based environment里,让agent通过一些action去寻找回答question需要的信息,并且最终回答相应问题。提出了一个很有意思的任务,但是我不太清楚这个和VLN这样的任务的区别?感觉挺神奇的文章,但是我忘了之前看的RL了。。。
    • 数据集:QAit