通过生成性证据融合和往返预测回答模糊问题

关键词: 生成性证据融合; 往返预测; 模糊问题

摘要

一般的开放域QA问题: 在开放域问答中,问题很可能是模棱两可的,因为用户在制定问题时可能不知道相关主题的范围。因此,系统需要找到问题的可能解释,并预测一个或多个可能的答案。当发现多个看似合理的答案时,系统应为每个答案重写问题以解决歧义。所以分为两步: 第一是找答案; 第二是预测答案; 第三是多个答案时,需要重新检查问题;

我们的方法:第一和二是找答案和预测答案: 模型聚集和组合来自多个段落的证据,以自适应地预测模糊问题的单个答案或一组问题-答案对;我们提出了一种新的往返预测方法,以迭代方式生成我们的模型在第一次传递中未能找到的其他解释,第三是:然后验证并过滤出不正确的问答对,以获得最终的消歧输出;
模型:REFUEL
数据集:AMBIGQA (NQ-OPEN and TriviaQA. )

提出的往返预测是一种模型不可知的通用方法,用于回答不明确的开放域问题,它改进了我们一些基线模型。

Introduction

开放域问题是使用不同主题的段落集合回答问题的任务;
难点: 开放域问题的起源是问题的歧义性

而这个难点问题的答案就是自适应预测答案,当有多个答案时,预测一组同样合理的答案。 当预测一组多个答案时,应该提供一个明确的问题重写来澄清每个解释。
SpanSeqGen模型将该问题分为两个任务:答案预测和问题消歧;
答案预测:他们使用提示问句首先检索和重新排序段落,然后采用BART预训练的Seq2seq来生成所有可能的答案,条件是提示问题和前8个段落的连接。
问题消歧: 基于BART,他们首先在大规模开放领域QA数据集NQ-OPEN上预训练一个问题生成模型,生成给出答案和前8段的问题。然后他们将其作为一个问题消歧模型进行微调,以生成基于提示问题、答案和段落的消歧问题

但是上面的模型有三个缺点: 第一是只选择8个相关段落可能排除了信息量大的段落; 第二是NQ-OPEN上的问题生成前训练与AMBIGQA上的问题消歧微调不匹配;第三是与地面真实数据相比,SPANSEQGEN预测的平均答案数量要小得多
针对上面的问题,第一,REFUEL使用fusion-decoder在编码器中单独处理每个段落,在解码器中融合它们的编码,比SpanSeqGen多了12倍的段落(我们的为100); 第二,我们提出了一个删除标记的训练前任务,通过随机删除每个问题的信息范围,将NQ-OPEN转换为一个**“模糊的”QA设置**。因此,训练前的任务和微调任务是一致的,同时加入了基于插入的加权损失来强调新插入的标记; 第三,提出双向预测方法,以发现REFUEL在第一遍中未能预测到的其他解释。我们不断地将生成的问题输入REFUEL,直到我们的模型没有预测到新的答案。

贡献
对于显著推动在回答模糊的问题的现状,可以总结如下:

  • 我们提出了一个证据聚集的方法,可以有效地使用大量的文章,以揭示更多的候选解释的歧义问题。
  • 我们提出了一个标记删除的前训练任务,以减少前训练与问题消除的微调之间的不匹配。基于插入的加权损失进一步有助于捕获与答案相关的约束。
  • 我们提出了一种双向预测方法,以发现在第一次预测中错过的更多解释,并使用基于条件概率的滤波方法进一步细化。

REFUEL

该方法分为三个步骤:

  1. 段落检索和重排序模块
  2. 将重排序的通道和提示问题作为输入,单通道QA对儿生成模型进行第一次预测,就是预测一个答案或一组消除歧义的QA对。
  3. 双向预测基于条件概率的过滤方法细化了第一预测过程

2.1文章检索与重新排序

使用DPR密集通道检索器进行检索。 首先,将所有的维基百科页面分成100个标记(应该是一种标准)的段落,产生了24M个段落;然后DPR将所有的段落映射成d维的向量,计算提示问题的表示,并检索出与问题向量最接近的N个通道(我们使用N=1000)。
输入提示问题和N个段落的连接,我们将Bert作为我们的重新排序器,允许提示问题和段落之间的Cross-attention,通过CLS和一个线性层获得相关分数。重排序后,QA对儿生成模型将K个通道(K = 100)作为输入。

2.2单通道QA对生成

单道QA对生成模型的步骤包括回答预测模块和问题消歧模块。
首先,将重排序的段落和提示问题QpQ^pQp一块输入,回答预测模块生成一个或者多个模棱两可答案A1,...,AmA_1, ..., A_mA1​,...,Am​。 如果找到了多个貌似合理的答案,提示问题就被视为歧义问题; 这样问题消歧模块会为该歧义问题的每个预测答案AiA_iAi​生成消歧问题QidQ_i^dQid​。

2.3 Round-Trip Prediction

现有的工作预测的答案比实际情况少47%,因此,我们提出了双向预测,其中包括双向生成步骤和语言模型验证步骤
Round-Trip Generation:保持检索到的相同段落,我们不断地将生成的消除歧义的问题输入Answer Prediction模块,以检查是否生成了任何新的答案,并生成相应的消除歧义的问题,直到没有新的预测答案。就像在图2中,(Q1d,A1)(Q_1^d, A_1)(Q1d​,A1​)和(Q2d,A2)(Q_2^d, A_2)(Q2d​,A2​)是经过第一个预测通道后,两对经过模棱两可的问题QpQ^pQp后的消除歧义的QA。当再次将Qd1Q_d^1Qd1​输入到答案预测模块时(第一轮双向预测),我们发现除了之前预测的答案A1A_1A1​之外,还预测了一个新的答案候选人A3A_3A3​。然后我们生成相应的问题Qd3Q_d^3Qd3​。 这个循环一直持续到没有新的预测答案
语言模型验证: 通过往返生成(Round-Trip Generation),我们从模糊的提示问题中生成一组QA对,但其中一些是不正确的。这里我们采用一个验证过程来过滤掉这些不正确的预测。
如何消除? 最近的工作合成QA对生成使用了EM(Exact Match (EM)验证)方法来删除QA对。 EM模型是:训练一个QA模型作为验证模型,当预测模型的答案是(a′≠a)(a' ≠ a)(a′​=a),我们会删除预测(q, a)。然而,这种EM验证方法只适用于事实类阅读理解任务如SQuAD,在这个任务里QA模型具有接近人类的准确性,从而不会错误地过滤掉太多正确的QA对。
不是使用硬过滤,而是采用“语言验证模块LM”。LM验证是一种基于条件概率的软过滤QA对的方法。在LM验证中,我们首先利用AMBIGQA(二义性QA数据集)中的消歧QA对训练条件语言模型。条件语言模型被训练来估计gold消除歧义问题的答案的可能性。一旦训练完成,它就被用来给REFUEL生成的QA对(q, a)打分,这是给定问题q和段落的答案的可能性,

其中NaN_aNa​是生成的答案的长度,最后,我们根据LM评分对所有预测的QA对重新排序,并根据阈值Th = 6.1丢弃QA对。阈值是根据开发集调整的。

3单通道QA对生成细节

这一部分是对上一部分中第二部分的详细解释!

3.1 Answer Prediction(查看问题和答案的匹配度)

上面的左侧图片
SPANSEQGEN :提示问题和排名最高的段落串联成单个序列进行BART编码,这受到BART最大输入序列长度(1024子词,相当于8个段落)的极大限制。因此,与GroundTruth相比,SPANSEQGEN发现对提示问题的解释更少
Fusion-in-Decoder: 为了确保检索和重新排序的段落的广泛覆盖,我们的答案预测模块使用fusion - decoder方法(Izacard和Grave, 2020),这允许我们缩放处理段落的数量。
具体实现过程: 将提出的问题和它对应的每个段落concat后分别独立地放入BARTAPBART_{AP}BARTAP​中,然后,所有经过encoder的token-level的表示被连接到一个单一序列中,BARTAPBART_{AP}BARTAP​decoder对所有通道进行关注,以聚合和合并证据。最后,BARTAPBART_{AP}BARTAP​decoder生成一个接一个的a sequence of plausible answers,由[SEP]分隔。 因为这里没有使用交叉通道的注意力,所以才可以大大的减少复杂度,才可以比SPANSEQGEN多出12倍的输入通道(多大100个,16000个词)。
考虑到AMBIGQA是一个只有10k训练样本的小数据集,我们首先对BARTAPBART_{AP}BARTAP​在 NQ-OPEN进行预训练,以预测一个答案,然后在AMBIGQA上对它进行微调,以预测一个或多个答案。

3.2 Question Disambiguation

如果前一个模块产出了多个可信的答案,那么就会激活消歧模块。 这里通过对每个预测答案生成提示问题,从而达到消歧重写的目的。由于我们不知道哪个输入段落是得出预测答案的关键证据,问题消歧模块将答案预测阶段的相同段落作为输入。与答案预测模块BARTAPBART_{AP}BARTAP​类似,我们的问题消歧模块BARTQDBART_{QD}BARTQD​以同样的方式处理输入,但是不同的是BARTQDBART_{QD}BARTQD​encoder额外的将BARTAPBART_{AP}BARTAP​的输出AiA_iAi​同样作为输入(见上图即可得知了)。

Token-Deletion Pre-training(删除标记的预训练): 与Answer Prediction类似,我们也利用大规模的NQ-OPEN数据进行预训练,生成一个可以在给定段落和答案后给出会给出问题的模型,然后对其进行微调,以便在给定提示问题、答案和段落的AMBIGQA上消除问题。然而, the question generation pre-training task中没有所需要的输入问题来消除歧义,导致了前训练和微调之间的不匹配。消融术研究表明,这种预训练方法对问题消歧几乎没有帮助。
为了解决前训练和微调之间的不匹配, 我们提出了TokenDeletion前训练任务。其思想是在训练前构造新的合成的模棱两可的问题,以减少不匹配。
方法:第一步:给定一个来自NQOPEN的问题QQQ,我们随机删除其中的一个信息跨度,产生部分问题QsQ^sQs。这个局部问题的设计是为了模拟微调阶段的模糊问题QpQ^pQp。然后,第二步:Token-Deletion Pre-training(删除标记的预训练)目标是从部分问题QsQ^sQs、答案和段落中恢复完整的问题QQQ。通过这种方式,tokendeletion预训练将微调阶段对准。

提示问题通常需要通过添加新的约束来重写,包括事件/实体引用、属性、回答类型等。例如,图1中消除歧义的问题q1在歧义提示问题之后插入“由一个组合的团队”。因此,我们将信息性span定义为至少包含以下词性标签之一的span: ’ ADJ ', ’ NOUN ', ’ NUM ', ’ PROPN ', ’ SYM ', ’ VERB '。跨度长度在[1,5]中均匀采样。

Insertion-based加权损失(基于插入的加权损失)
由于消除了歧义的问题是对歧义提示问题的一个小修改,大多数标记都可以直接从输入中复制。这里我们引入了一种基于插入的加权损失方法,将重点放在消歧问题的新添加标记上,这可能是消歧提示问题的关键。给定提示问题QpQ^pQp,我们从消歧问题Qd:qinQ^d: {q^{in}}Qd:qin中找到新插入的令牌。对BARTQDBART_{QD}BARTQD​进行微调的最后损失是,所有问题标记的原始负对数可能性损失的组合,加上一个增加插入标记可能性权重的术语:

其中Lnll=∑i=1nlog⁡(qi∣A,Qp,Psg )\mathcal{L}_{n l l}=\sum_{i=1}^{n} \log \left(q_{i} \mid A, Q^{p}, \text { Psg }\right)Lnll​=∑i=1n​log(qi​∣A,Qp, Psg ),n是被消除了歧义的问题的tokens的数目,λ=3.5\lambda{ = 3.5}λ=3.5是一个超参数调整开发集(dev.set.)

4. Experiments

4.1 Experimental Setup

Dataset: AMBIGQA数据集: 为了解决开放领域QA中问题的歧义性而构建的,它从NQ-OPEN中取样了14,042个问题,这是一个大规模的开放领域的QA数据集,每个问题只有一个答案, 并要求注释者搜索、导航和阅读多个维基百科页面,以找到尽可能多的解释,结果,每个问题都被注释为一个答案或多个消除歧义的QA对,这取决于可以找到多少种解释。Train、development和test集的大小是10036, 2002, 2004。在AMBIGQA中,每个问题平均有2.1个不同的答案。为了测试REFUEL在任何可能模棱两可的问题上的泛化能力,我们还在两个开放域QA数据集上评估了它:NQ-OPEN和TriviaQA.

Implementation Details在附录a中。我们在https: //github.com/amzn/refuel-open-domain-qa上发布我们的模型和实验的源代码

评价指标: 让(q1,a1),...,(qm,am)(q_1, a_1),...,(q_m, a_m)(q1​,a1​),...,(qm​,am​)表示m对QA预测。(q^1,a^1),…,(q^n,a^n)\left(\hat{q}_{1}, \hat{a}_{1}\right), \ldots,\left(\hat{q}_{n}, \hat{a}_{n}\right)(q^​1​,a^1​),…,(q^​n​,a^n​)是n个gold QA对。每个预测的QA对(qi,ai)(q_i, a_i)(qi​,ai​)的评估顺序是对所有黄金QA对的正确性评分:ci=1(ai=a^j)f(qi,q^j)c_{i}=\mathbb{1}\left(a_{i}=\hat{a}_{j}\right) f\left(q_{i}, \hat{q}_{j}\right)ci​=1(ai​=a^j​)f(qi​,q^​j​),其中f(qi,q^j)f(q_i, \hat{q}_j)f(qi​,q^​j​)是问题的相似函数。 (q^j,a^i)(\hat{q}_{j}, \hat{a}_{i})(q^​j​,a^i​)并不会用来评估其它的预测QA对,因为它用于(qi,ai)(q_i, a_i)(qi​,ai​),总体正确性由预测与参考之间的F1计算

F1ans(all)F1_{ans}(all)F1ans​(all): 在Answer prediction子任务中,所有的例子都会被评估,在这其中,fff函数总是产出1。 这个度量表示为F1ans(all)F1_{ans}(all)F1ans​(all)。
F1ans(multi)F1_{ans}(multi)F1ans​(multi): 而对于具有多个黄金QA对的例子子集,分别在答案预测子任务和问题消歧子任务进行了评价。仅在这个子集上计算的答案预测指标记为F1ans(multi)F1_{ans}(multi)F1ans​(multi)。
BLEUEDIT-F1: 为了评估问题消除歧义的表现,BLEUEDIT-F1用于函数fff,被标注为F1BLEUF1_{BLEU}F1BLEU​和F1EDIT−F1F1_{EDIT-F1}F1EDIT−F1​。 EDIT-F1计算从提示问题到预测消除歧义问题的添加和删除unigrams的F1分数。

4.2 Experimental Results

Main Results.表1显示了开发和隐藏测试集上的性能。即使没有双向预测,REFUEL(无RTP)在答案预测子任务和问题消歧子任务上都比SPANSEQGEN表现得更好。此外,通过发现更多更好的QA对,往返预测确实进一步提高了性能,开发集中每个提示问题的QA对从1.55对提高到了1.72对。第4.3节对往返预测进行了全面的分析。

“REFUEL w/o RTP”是不使用往返预测的单通道预测模型。

Controlled Comparison with SPANSEQGEN

除了双向预测外,REFUEL在输入通道方面比SPANSEQGEN有两个优势:(1)我们检索前N=1000个通道(而不是SPANSEQGEN的100个通道),在前100个通道中获得更高的答案召回率(2)REFUEL需要K=100个输入通道,而SPANSEQGEN最多需要1024个子单词(K≈8)。为了建立受控和公平的比较,我们删除了REFUEL的往返预测部分,并使用与SPANSEQGEN (N=100, K=8)相同的输入通道给REFUEL (w/o RTP)喂食。结果如表2所示。

其中N和K分别表示的是Development集中的检索/重排序的数量和QA输入的段落数。
#QAs: 每个提示问题的预测QA对的平均数量;

  • :我们复制的结果
    结果表明: (1)在相同的设置下,我们的结果还是要好于SPANSEQGEN (2)我们的模型的效果还是得益于检索阶段的answer recall以及允许更多的输入通道。

对其他数据集的泛化: 在NQ-Open和TriviaQA上评估了我们的模型,并且没有在这些数据集进行微调。当REFUEL预测多个答案时,我们取第一个预测答案进行EM评估;我们还引入了一种新的Oracle EM度量,如果黄金答案与当前问题的任何预测答案相匹配,则认为预测是正确的;下表显示,即使没有特定于数据集的微调,REFUEL也具有竞争性的性能。当REFUEL在NQ-OPEN和TriviaQA中发现问题的多种解释时,我们在4.4节中手动检查消除了歧异的QA对的质量。

4.3往返预测的效果

我们将我们提出的往返预测(往返预测=往返生成+ LM 验证)与几种替代方法进行了比较,并研究了其对SPANSEQGEN和DPR Reader等其他模型的泛化能力。结果下表所示。
Round-Trip Generation Only:我们通过只对REFUEL进行往返生成来研究核查过程的必要性。结果表明,Round-Trip Generation可以多生成33.5%的QA对,但较低的F1ans(ALL)F1_{ans}(ALL)F1ans​(ALL)表明,当提示问题不存在歧义时,该策略可能会产生过多的QA对。因此,验证过程对于删除一些不正确的QA 是必要的。

LM Verification vs. EM Verification:如2.3节所述,我们比较了现有的EM Verification方法与我们的LM Verification。结果表明,EM Verification删除了太多的QA对——剩余的QA对的数量(1.43)甚至比不做往返预测(1.55)还要少。他证实了我们在2.3节中的直觉,即EM Verification并不适合于开放领域的QA任务,因为它在开放域问题上表现性能差。

对其他模型的归纳: 我们表明,通过在我们复制的基线模型DPR Reader和SPANSEQGEN上使用往返预测,往返预测是一种与模型无关的通用方法,用于回答可能模棱两可的开放域名问题。在双向预测的帮助下,DPR Reader和SPANSEQGEN生成了11.7%和12.3%的QA对,这导致整体性能提高了3.7%和2.1% (Comb)。

4.4 Human Evaluation

由于在AMBIGQA中收集的答案不一定是详尽的,所以有可能模型生成了正确的解释,但在AMBIGQA中却遗漏了。因此,我们雇了3个工人来评估生成消除歧义的问题和检索段落的答案的正确性。 令(q1,a1),…,(qn,an)(q_1, a_1),…,(q_n, a_n)(q1​,a1​),…,(qn​,an​)对于同一提示问题生成的n个QA对,我们定义了两级正确性如下: #C-QAs: (q_i, a_i)被认为是正确的,如果aia_iai​是qiq_iqi​的正确答案; #CD-QAs:(q_i, a_i)被认为是正确的;(1)aia_iai​是qiq_iqi​的正确答案并且(2)任何aj(j≠i)a_j(j≠i)aj​(j​=i)是一个qiq_iqi​的错误答案 #CD-QA是用来检查消歧问题的正确性的,因为模棱两可的问题可能有多个有效答案。我们从每个QA对的3个注释者那里获得大多数判断。对于每个数据集,我们随机抽取50个具有多个预测答案的提示问题,并在**#CD -QA中应用QA交换策略,共产生960个问题-回答-段落三元组。表5的结果显示REFUEL(不带RTP)在#CD -QA**上比SPANSEQGEN正确生成的QA对多113%。此外,双向预测(RTP)可以在所有数据集中找到更正确的解释。

论文阅读笔记(五)【ACL 2021】Answering Ambiguous Questions through Generative Evidence Fusion and Round-Trip P相关推荐

  1. 论文阅读笔记(五)——狐猴识别系统:一种便于狐猴个体识别的面部识别系统

    论文阅读笔记(五)--狐猴识别系统:一种便于狐猴个体识别的面部识别系统 论文简介 论文中文翻译:狐猴识别系统:一种便于狐猴个体识别的面部识别系统 论文名称:<LemurFaceID: a fac ...

  2. 论文阅读笔记五十三:Libra R-CNN: Towards Balanced Learning for Object Detection(CVPR2019)

    论文原址:https://arxiv.org/pdf/1904.02701.pdf github:https://github.com/OceanPang/Libra_R-CNN 摘要 相比模型的结构 ...

  3. 论文阅读笔记五十四:Gradient Harmonized Single-stage Detector(CVPR2019)

    论文原址:https://arxiv.org/pdf/1811.05181.pdf github:https://github.com/libuyu/GHM_Detection 摘要 尽管单阶段的检测 ...

  4. 论文阅读笔记五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)

    论文原址:https://arxiv.org/pdf/1808.01244.pdf github:https://github.com/princeton-vl/CornerNet 摘要 本文提出了目 ...

  5. Small Object Detection using Context and Attention(论文阅读笔记)

    Small Object Detection using Context and Attention 论文阅读笔记 出处:2021 International Conference on Artifi ...

  6. [论文阅读笔记53]2021深度神经方法的关系三元组抽取综述

    1. 题目 Deep Neural Approaches to Relation Triplets Extraction: A Comprehensive Survey Tapas Nayak†, N ...

  7. [论文阅读笔记15]Recognizing Complex Entity Mentions:A Review and Future Directions

    一,题目 Recognizing Complex Entity Mentions:A Review and Future Directions 识别复杂实体mentions:回顾与未来方向 Dai X ...

  8. 语音情感识别领域-论文阅读笔记1:融合语音和文字的句段级别情感识别技术

    语音情感识别领域-论文阅读笔记1 Fusion Techniques for Utterance-Level Emotion Recognition Combining Speech and Tran ...

  9. DCP(Deep Closest Point)论文阅读笔记以及详析

    DCP论文阅读笔记 前言 本文中图片仓库位于github,所以如果阅读的时候发现图片加载困难.建议挂个梯子. 作者博客:https://codefmeister.github.io/ 转载前请联系作者 ...

最新文章

  1. html5中音频、视频标签、自定义播放器常用属性及方法、全屏操作、新增属性兼容问题
  2. Wcf for wp8 创建wcf服务 连接wp8模拟器并显示来自wcf服务的接口信息 (一)
  3. LeetCode 29. Divide Two Integers
  4. Oracle学习 实战心得总结
  5. (转载) linux安装JDK
  6. const常类型说明
  7. 大学计算机ppt制作步骤,PPT制作教程步骤方法_PPT制作技巧教程快捷键_PPT制作基础教程...
  8. offer oracle svp_SVP学校转非SVP学校——最新规定详解
  9. matlab 贝叶斯回归,贝叶斯向量自回归MATLAB代码 使用matlab实现贝叶斯向量自回归模型 - 下载 - 搜珍网...
  10. lro gro_斯威夫特:Gro吟M
  11. 如何用一台普通相机拍照红蓝立体3D图片
  12. 叶文贤:胸怀绿色润滑 锻造品牌灵魂
  13. 华为百度导航Sdk黑屏
  14. VS Nuget的使用
  15. 一个智能客服系统的设计思路
  16. 计算机专业本科上线分数,计算机专业本科分数线
  17. Linux signal那些事儿【转】
  18. Firefox扩展开发笔记 - 如何给扩展打包,xpi格式
  19. 天池新人实战赛——阿里移动推荐算法大赛(离线赛与平台赛)
  20. 24位博士毕业生晒出薪资待遇,博士真实收入如何?

热门文章

  1. 聊聊、Highcharts 动态数据
  2. 用JS来create结点,纯JS代码生成html页面(作业练习)
  3. MySQL索引背后的数据结构及算法原理(转)
  4. 修改MYSQL 密码
  5. 每天都用手机,你对麦克风了解吗?
  6. html5 网络断开,html5 – websocket不断断开连接
  7. 什么集成mysql_mysql集成部署
  8. xshell如何运行java_利用Xshell往应用服务器上部署项目
  9. 百面机器学习——第一章特征工程
  10. string contains不区分大小写_String基础复习