Advertisement

Dense Passage Retrieval for Open-Domain Question Answering

阅读量:

Abstract

开放领域的问答通常基于高效的段落检索方法来选择候选上下文,在实践应用中多采用传统的TF-IDF、BM25等稀疏向量空间模型。研究表明,在利用少量问题和段落数据训练出密集的低维向量表达后便能实现上述的技术方案。本文对多种典型的开放领域问答基准集进行了系统性评估,并展示了所提出的密集检索器相较于Lucene-BM25系统在top-20段落检索准确率指标上实现了9.3%至18.7%的增长幅度。

Introduction

开发领域问答是一项以大规模问的具体问题为研究对象的任务。早期的问答系统高度复杂且功能模块较多。随着现代阅读理解技术的进步,一种极其简化的双层架构迅速涌现:其第一层(context retriever)负责从大量文档中筛选出相关片段作为候选内容,并将这些片段传递给第二层(machine reader)。第二层则通过全面分析所有候选片段来确定最终答案。尽管这种架构看似合理实用,在实际应用中却表现出了明显的性能劣势。这表明我们需要改进检索机制以提高整体效能。

基于 TF-IDF 或 BM25 的传统检索方法主要依赖于构建一个倒排索引结构来实现对关键词的有效匹配和文档对应关系的快速定位。这种方法本质上是将问题和上下文转化为带权重的高维稀疏向量空间模型。相比之下,在设计上稠密潜在语义编码则被作为一种重要的辅助手段来补充这一技术。对于那些包含完全不同 token 组合的同义词或转述情况来说, 基于 term 的系统可能会难以找到匹配的相关上下文信息, 而稠密表示方法则能够通过将语义相似的不同 token 映射到距离相近的向量空间位置, 从而实现对语义层次信息的有效捕捉和检索功能

然而,在ORQA系统之前阶段, 基于稀疏检索的方法未能超越基于TF-IDF/BM25的性能. 一般认为获得一个较为优秀的密集词向量表示需要依赖于高质量的问题和上下文对.

采用了BERT预训练模型与dual-encoder架构。
其核心思路在于通过优化问题与段落对应的嵌入表示间的内积最大化。
与BM25相比,在公开的Open Natural Questions数据集上实现了一个显著提升(具体表现为端到端问答准确率从ORQA的33.3%跃升至41.5%,这一进步具有统计学意义)。

DPR 主要有两方面的贡献:

  • 表明通过适当的方法,在已有question-passage pairs上完成问题与段落编码器的微调就足以超过BM25模型。实验结果表明,在这些条件下额外的预训练可能并非必需。
  • 研究表明,在开放信息抽取场景下,较高的检索精度能够显著提升端到端问答系统的准确性。

Background

包含多个文档的集合 \{d_1,d_2,...,d_D\} 是本研究的基础。为了提高检索效率与问答效果,在处理过程中我们采用了固定的分割策略:将每个文档划分为若干个等长的 passages 作为检索的基本单位。(本文研究者曾尝试采用自然段落边界进行划分,并发现这种划分方式在提升搜索精度的同时也显著改善了问答效果)为了方便后续处理,在语料中一共提取出 M 个 passages \mathcal{C}=\{p_1,p_2,...,p_M\}。每个片段 p_i 可以被视为由 token 序列 w^{(i)}_1,w^{(i)}_2,...,w^{(i)}_{|p_i|} 组成。我们的任务是通过分析各个片段中的 token 序列,在给定查询问题的基础上识别出能够提供相应答案的关键信息片段。

考虑到涵盖多个领域的需求,在开放领域问答系统中所需的语料库规模通常在数百万到数十亿文档之间。为了提高效率,在处理过程中必须首先通过高效检索机制筛选出一小部分相关文档这些筛选出的相关文档将被进一步利用阅读器来生成最终的回答内容。

从形式上讲,
retriever R: (q,\mathcal{C}) \rightarrow \mathcal{F} 被定义为一个 retrieval mechanism,
其输入包括查询 q 和语料库 \mathcal{D}_\texttt{x}
(此处使用了下标 x 表示外部数据集),
并生成一个较小的结果集 \hat{\Omega}_x
其中结果集中的实例数量 k 远小于原始数据集中的样本总数 N。

该检索系统的性能能够通过top-k检索准确率进行评估,其计算方式为正确回答的问题所占的比例

Dense Passage Retriever (DPR)

本文的主要关注点是提高开放领域问答中的检索模块。

Overview

在离线阶段,DPR通过一个 dense encoder E_P(\cdot)将每个视频片段转化为d维实数向量,并基于FAISS构建完整的视频索引。
当处理查询时,DPR通过另一个编码器E_Q(\cdot)将输入的问题转化为d维向量,随后从上述索引中检索出与问题向量最匹配的k个结果,这些结果对应着相关的视频片段。
相似性计算方式如下:

sim(q,p)=E_Q(q)^{\top} E_P(p) \tag{1}

Encoders

本文采用了两个独立构建的BERT模型(base版本和uncased版本),并以[CLS]token生成的表示形式作为模型输出层,并将维度d设定为768。

Training

训练数据 \mathcal{D}=\{\left< q_i, p_i^+,p^-_{i,1},...,p^-_{i,n} \right>\}_{i=1}^m 由m个样本构成。每个样本都包括一个问题片段q_i以及一个与之相关的正例片段p_i^+;同时包含了若干无关片段p_{i,j}^-(j从1到n)。本研究旨在最小化如下负对数可能性损失函数:

\begin{aligned} &L(q_i, p_i^+,p^-_{i,1},...,p^-_{i,n}) \\ &=-\log \frac{e^{sim(q_i,p_i+)}}{e^{sim(q_i,p_i+)}+\sum_{j=1}^n e^{sim(q_i,p_{i,j}-)}} \\ \end{aligned}

Positive and negative passages

一般来说,在数据集中可以直接获取到正样本实例。对于那些未明确标注为正样本的情况,默认将其视为负样本处理。

选择合适的负样本策略对于训练一个高效可靠的编码器至关重要

  • Random: 在语料库中随机选取的一段片段
  • BM25: BM25算法计算出得分最高的片段未包含正确答案
  • Gold: 在训练集中的其他问题中被标记为正样本的一段

在实验中表现最为突出的模型是基于同一个 mini-batch 内其他问题所提供的正样本片段,并额外引入了一个 BM25 生成的负样本片段。特别地,在同一个 mini-batch 中利用 gold passages 作为负样本片段能够带来双重优势:不仅显著提升了计算效率,在实际应用中也取得了令人满意的性能表现。

In-batch negatives

在 mini-batch 中包含 B 个问题,并每个问题都对应一个正片段。将这些数据表示为两个 (B\times d) 维矩阵 QP:其中 Q 存储所有问题及其对应的嵌入表示;而 P 则存储所有正片段及其嵌入表示。通过计算 S = QP^\top 可得到一个 B \times B 的相似度矩阵,在该矩阵中每一行代表一个问题的所有相似度得分(每列则对应一个待选片段)。具体而言,在每一行中当索引 i 等于 j(即对角线元素)时被视为正样本;否则视为负样本。这种方法每处理一个 mini-batch 就能生成 B \times (B-1) 个训练样本对:其中每个样本对包含一个问题与一个非自身的问题作为对比对象。

Experiment Setup

对于 TREC、WebQuestions 和 TriviaQA 等数据集而言,在这些数据集中仅包含问答对的情况下,我们采用了 BM25 得分最高的且能够涵盖正确答案的片段作为正样本片段。如果在 top 100 的片段中无法找到涵盖答案的片段,则会将该问题实例丢弃。而对于 SQuAD 和 Natural Questions 数据集,在这些数据集中原始片段采用了不同的切分策略后,则会将每个黄金段落与候选池中的相应判断进行匹配;如果匹配失败,则会丢弃该问题实例。

表 1 列出了每个数据集中的问题数量和实际用于训练的问题数。

在这里插入图片描述

Experiment: Passage Retrieval

Single : 分别在每个数据集上进行单独训练
Multi : 在除 SQuAD 外的所有数据集中分别训练了一个多数据集编码器
BM25 + DPR : 首先基于 BM25 和 DPR 分别提取出前 2000 个片段,并利用公式 \text{BM}(q, p) + λ · sim(q, p) 对这些片段进行重新加权排序。通过开发集中检索准确率的评估结果确定参数设置为 λ = 1.1。

Main Results

在这里插入图片描述

从 表 2 可以看出:

  • 在评估性能时,DPR 的表现明显优于 BM25 尤其是在参数 k 较小的情况下提升尤为显著(例如在 NQ 数据集中,当取前 20 条结果时,DPR 的准确率达到 78.4%,而 BM25 的准确率仅为 59.1%)。
  • 当在多个数据集上进行训练时,在最小的数据集 TREC 上的效果显著提升是在训练样本数量增加后实现的,而其他几个数据集则仅获得微小提升或出现轻微性能下降。
  • 在特定场景下,通过将 BM25 和 DPR 的得分类别进行融合同样能够获得性能上的改善。

DPR 在 SQuAD 上表现不好可能是由于两个原因:

  • 观察者经过观看视频片段后提出问题,在此过程中存在较多的表面重叠。这种设计赋予了 BM25 方法显著的优势。
  • SQuAD 主要依赖于约500个维基百科数据集中的文章,在这一限制下导致训练样本分布呈现高度偏倚性。

Ablation Study on Model Training

Sample efficiency

在这里插入图片描述

通过 图1 的展示可以看出,在仅仅使用 1k 训练数据的情况下,DPR 的性能即可超越 BM25. 随着进一步增加训练数据量, 其性能将更加显著提升.

In-batch nagative training

在这里插入图片描述

Impact of gold passages

在这里插入图片描述

Similarity and loss

DP : dot product
NLL : negative log- likelihood based on softmax
Triplet : 针对给定问题,直接比较正片段和负片段,The margin value of the triplet loss is set to 1.

在这里插入图片描述

Cross-dataset generation

基于 Natural Question 数据集训练 DPR 模型,并在 WebQuestions 和 CuratedTREC 等较小规模的数据集上进行评估。经测试后发现 DPR 在泛化能力方面表现优异。与经过最佳超参数调优后的模型相比,其性能较优 baseline 的下降幅度仅为 3 至 5 个百分点。但相较于 BM25 基线方法仍展现出显著的优势。

Qualitative Analysis

尽管 DPR 在整体性能上超越了 BM25 但在实际应用中仍需关注两者检索结果的本质区别 尤其是对于 highly selective keywords and phrases这类关键词和短语而言 而言 DISTRIBUTEED generated retrieval system (DPR) 在捕捉词法变化或语义关联方面表现更为出色

Run-time Efficiency

检索时间:
FAISS in-memory index 995 questions/s
BM25/Lucene file index 23.7/s

索引构建时间:
Twenty-one million passages require approximately 8.8 hours to compute their embeddings on 8 GPUs. Additionally, constructing the FAISS index also requires approximately 8.5 hours on a single machine. Lucene requires only about half an hour to build an inverted index.

Experiment: Question Answering

构建了一个问答系统,在 retrieval 系统上支持多种检索策略,并且在 retrieval 系统的基础上增加了阅读器模块。

第i个片段经过BERT模型处理后得到其表示形式为矩阵形式P_i \in \mathbb{R}^{L\times h}(其中1 ≤ i ≤ k)

\begin{aligned} P_{initial,i}(s) &= \text{soft-max}(P_iw_{initial})_s \\ P_{final,i}(t) &= \text{soft-max}(P_i w_{final})_t \\ P_{chosen}(i) &= \text{soft-max}(\hat{P}^{\top} w_{chosen})_i \end{aligned}

其中 \hat{P}[P_1^{[CLS]}, ..., P_k^{[CLS]}] 组成,并取自 \mathbb{R}^{h \times k} 空间;而 w_{start}w_{end}w_{selected} 则均取自 \mathbb{R}^h 空间中的向量。

span 的得分为 P_{start,i}(s) \times P_{end,i}(t)

在这里插入图片描述

从 表4 中可以看出:

  • 一个优秀的retriever在最终的QA结果中往往也能表现出色。
  • 较小规模的数据集中,multi-dataset训练的效果更为显著。
  • 相比于ORQA、REALM都采用了额外的预设任务以及耗时较长且复杂度较高的端到端训练方法,DPR专注于独自优化一个高度有效的片段retriever,实验数据显示,即便采用额外的预设任务,其优势仅在处理规模较小的数据集时较为明显。

近期的研究工作基于两篇重要文献:Izacard和Grave于202年发表的论文以及Lewis及其合著者在同一年的研究成果;通过实验结果表明,在多个生成模型中进行整合和优化后,DPR在开放领域问答和其他知识密集型任务中展现出卓越的效果。

Conclusion

  • 针对开放领域问答任务而言, 密切关注的是密集检索技术不仅能够超越传统的稀疏检索方法。
  • 简单设计的双编码架构配合一些训练策略(如负样本选择等)能够取得良好的效果。
  • 较为复杂的模型或相似度计算方式未必优于基础方案。
  • DPR系统在多个公开领域的问答基准测试中实现了最高的检索性能提升幅度, 并持续保持最优成绩。

Referenced by

全部评论 (0)

还没有任何评论哟~