Read before Generate! Faithful Long Form Question Answering with Machine Reading

论文:https://aclanthology.org/2022.findings-acl.61.pdf
会议:ACL2021
飞书:https://zlc6vppbrn.feishu.cn/docx/P45VdH0vmosFNMxwMyxc3R5Anif

任务

长文本问答 (LFQA) 旨在为给定问题生成段落长度的答案。当前使用大型预训练模型生成的LFQA工作可以有效地产生流畅且较为相关的内容,但对长文本问答来说,不同的文档可能包含冗余,互补或矛盾的信息,主要的挑战在于如何生成具有较少空洞内容的高置信度(faithful)答案。

关键思想:本文提出了一个新的端到端框架,该框架对答案生成和机器阅读进行联合建模,使用与答案相关的细粒度的显著信息来增强生成模型,这些信息可以被视为对事实的强调。

a fluent and relevant but unfaithful answer:

unfaithful answer 会误导读者

|510

方法(模型)

本文将基于Seq2Seq的生成器与机器阅读理解 (reader) 模块相结合。reader会为每个句子生成作为证据的概率得分,该分数将与生成器集成在一起,用于最终的分布预测。

模型结构:

为了对给定的通用领域问题生成深入的长答案,首先使用检索器从大量的外部知识中检索相关信息。然后,reader和generation模块将多个检索到的文档以及问题作为输入以生成答案。

reader模块: 为每个文档中的每个句子计算证据得分。
generator模块: 采用预训练的Seq2Seq语言模型,将句子证据得分融合到其生成过程中。

Supporting document retriever

使用DPR检索相关文档
retriever根据文档的相关性对文档进行排名:
|440
对于问题Q,使用 $D = {D_1,D_2, …,D_k}$表示top-k相关文档。

Document reader

由于没有用于长答案的标注标签,因此检索到的文档可能包含与答案相关的补充,矛盾或冗余信息。因此,使用阅读器模块来预测每个文档中句子的证据概率。

Evidence span prediction

输入: $D_i \& Q$
输出: $D_i$中可能是evidence spans的开始和结束位置,每个输出token有两个概率分布, $P^s_i (w_s) \ and \ P^e _i (w_s)$,分别表示token $w_s$作为头和尾token的概率

Sentence evidence probability

句子级的概率更适合长文本任务,支持句可以为每个答案跨度提供所需的最小上下文信息,这一点非常重要,尤其是在多文档生成中。

文档中第i个句子的概率表示为 $P^i_{ rea}(S)$,由该句子中所有token的证据概率加和得到。

|415

$P_{rea}(S)$:表示经过归一化后,所有top-k句子的证据概率

Multi-task MRC

由于LFQA数据没有gold answer span,因此选择SpanBert在MRQA,sQuAD,NewsQA,TriviaQA,SearchQA,HotpotQA,NatualQuestions上进行多任务微调,在下游任务上实现远程监督训练。

Generator

FiD-BART

选择BART作为生成任务的backbone,本文提出FiD-BART(Fusion-in-Decoder),以使BART能够处理多个长文档输入。FiD-BART在编码器中独立处理每个文档,同时在解码器中联合执行交叉注意力。

  • Encoder
    |450

$h{enc}^i$:文档 $D_i$作为encoder输入得到的最后一层隐藏层表示
$h
{enc}$:top-k文档encoder输出的拼接

  • Decoder

|400

$hl$:表示decoder的第l层
$h
{dec}$:表示decoder的最后一层输出

计算时间与输入数量线性相关

Reader-before-generator

使用指针网,将证据概率融入到生成过程中。

|400

$A$:attention分布
$hc$:上下文向量
$p
{gen}$:生成概率
$W_c,W_g$:可训练参数

$p_{gen}$用于选择:

  1. 生成器从vocab中采样单词(词表)
  2. 根据证据分布 $P_{rea}(w)$从输入序列复制单词(输入序列)
    |410

Pre-training

为了进一步提高检索文档的能力,提出了retrieval-augmented recovery (RAR)预训练任务,期望模型能够依赖更多的外部知识生成事实性陈述。

任务定义:
给定原始文本:S
从外部知识(BM25)中检索top-k文档: $D_1,D_2, …,D_N$
构造伪查询Q:替换S中30%的单词为[MASK]

任务:使用伪查询Q和top-k文档恢复S
|390

数据集

  • LI5
  1. 唯一可公开获得的大规模LFQA数据集
  2. 272,634个train样例和1,507个dev样例
  3. 答案平均长度130个单词
  • MS MARCO
  1. 来自Bing查询
  2. 本文使用passage ranking track训练模型,该赛道比NLG更加抽象,并且更依赖多文档信息。
  3. train样例大约500,000,dev样例6980

性能水平

评价指标:
F1 score and ROUGE-L

模型性能

|450

Fine-grained Comparison

将MARCO数据集按照检索到的文档质量拆分为不同的子集,验证文档的质量对生成质量的影响。

|480

RBG在完整MS-MARCO评估集中Rouge-L只比FiD领先0.1,但从表3中可以看出,随着评估子集检索质量的提高,性能差距继续增加。表明RBG在提供高质量的检索文档时更加有效。

消融实验

|485

文档质量对生成结果的影响

|445

  • 检索得到的高质量文档能够提高生成质量
  • 检索的文档并不是越多越好

Zero-shot on extractive QA tasks

评价指标:模型生成的长答案中是否包含NQ和HotpotQA中的短答案
|450

模型在需要综合复杂信息的问题上生成faithful答案的能力更强。

结论

主要贡献:

  • 本文是截至当前第一个尝试解决LFQA中的faithful挑战的人。
  • 为开放域LFQA提出了一个新的端到端框架,该框架在reader模块的句子证据得分的指导下生成答案。
  • 本文的方法可以提高生成答案的事实正确性,同时仍保持较高的信息性。