文献阅读笔记:Answering Complex Open-Domain Questions with Multi-Hop Dense Retrieval
该论文提出了一种多轮密集检索方法用于复杂开放信息领域的问答系统设计
Facebook AI
摘要
我们开发了一种高效的多轮密集检索机制来解决复杂场景下的信息检索问题,在两个重要的基准测试集(HotpotQA和multi-evidence FEVER)上取得了最佳性能。相比以往的研究工作,我们的方法无需依赖专业领域内的任何预训练信息源(如基于文本交互的功能超链接或实体标注信息),能够适应任意非结构化文本语料库的需求。该系统实现了更为平衡且高效的准确率提升,并在推理速度方面快于现有技术十倍以上;其性能指标与当前最先进的人工智能检索系统相当。
1介绍
完成开放领域问答任务存在显著难度。每个问题的答案通常需通过大量文档中筛选出相关片段。现有的系统架构()采用分步策略解决问题。具体而言,retriever会生成一组最多包含k个候选文档,并随后将从中提取最相关的回答片段。值得注意的是,直至最近,检索模型仍依赖于传统的基于词项的精确匹配检索方法,而无法在简单的关键词匹配基础上获取问题语义信息,这正是该技术面临的核心瓶颈问题。近期研究则聚焦于密集表示方法,通过预训练编码器将问题与文档映射至高维向量空间中,并利用高效的"最大内积搜索"技术实现快速检索操作。这些改进方案()已在基准测试中实现了显著的人工智能性能提升效果
然而这种方法仍然受到局限性相比之下复杂问题显然包含来自多个文档的聚合信息这通常需要进行逻辑推理或者序列(多步)处理以推断出回答(如图1所示)。回答这个过程可能遵循自然顺序生成单射的检索方式是不充分的取而代之的是在手头已有的信息下每一步都需要通过交互的方式来递归检索新的信息多条问答确实是当前研究的一个重要方向也是一个活跃的研究领域。
回答多跳开放域问题的核心挑战在于每一跳搜索空间呈指数级增长。近年来的研究通过构建基于现有实体链接和超连接结构在维基百科语料集上的文档图来解决这一问题[1]。这一过程的核心目标是在这一网络中寻找最优路径以限制搜索空间规模仅受每个文章中超链接数量的影响。然而这种方法可能无法扩展到新实体或稀少超链接领域[2]。更重要的是尽管采用了这些数据驱动的方法仍面临效率瓶颈最佳模型往往需要调用大量预训练模型以完成一次回答任务[3]。
作为对比,在多跳设置的基础上提出了一个基于简单递归框架的密集检索方法。为了对比起见,在多跳设置的基础上提出了一个基于简单递归框架的密集检索方法。
2方法
2.1问题定义
本研究探讨的检索任务可依如下表述进行描述(见图1)。对于一个多跳查询q及其相关的大型文档集合C, 该模型旨在搜索出能够充分解答q的相关文章序列P_seq. 当执行时, 该系统会生成k个分数最高”的候选序列, 其中预期至少有一个具有满意质量的结果. 为了确保后续模块的有效运行, K值应选择得当: 它不应过大以避免过载, 同时也不能太小以免遗漏重要信息. 此外, 该系统的有效性也是关键考量因素: 它必须能够在短时间内处理海量文档并提供可靠答案
2.2多跳密集检索
模型
我们针对其固有的顺序特征设计了一种交互式解决方案;为此目的,在系统架构中构建了一个模型来预测这种特定的文章排列方式
当t=1时,在仅满足原始问题条件的情况下进行检索。在每一个检索步骤中,则根据先前结果生成新的查询表征,并通过在整个语料库的密集表示空间中采用最大内积搜索方法来进行查询。
在查询与文章向量之间计算的是两者的点积。h(.)和g(.)分别充当生成密集表示的编码器,在处理文章信息时会自动提取关键特征,在处理查询信息时则会捕捉到相关关键词语。在时间步t处,我们通过将问题与检索到的文章进行整合后输入到g(.)中。每个检索步骤所采用的公式与现有的单跳密集检索方式基本一致(),但增加了基于之前检索结果动态更新查询的方式。未采用分离参数的双向编码器结构,在本研究中h(.)和g(.)均采用了共享参数的设计,并没有引入额外的问题-文章双编码器结构来提高性能。如本节所述,在3.1.3部分中展示了这一改进带来的显著效果。
训练和推断
检索模型通过相同的方法进行训练(),每个输入查询(每一步包含一个问题及其之前的所有检索文章)都会与一个正样本及m个负样本配对地在整个文档库中进行近似分类。其中正样本是在时间步t处的最佳注解证据。而这些Negative Samples则由当前批次(批次内)对应于其他问题的文章以及那些因错误而产生的对应文章所构成的人工Negative Samples。在实验设置中我们采用基于TF-IDF检索得到相关文档并将这些文档及其维基百科链接页面作为候选语义相关文档来进行Negative Sample 的生成。值得注意的是相对于我们的方法而言 在构建语义相关性Negative Samples时 并不需要依赖超链结网页这一额外信息 反而这种依赖关系并不必要且意义不大 如果将其从训练数据集中剔除 只会在测试集上的性能下降幅度也非常有限。
为了在批次内补充足够的反例以提高检索效果, 我们采用了基于记忆库(M)的机制, 其存储了大量的高质量、高维度的文章向量样本. 在内存环境中阻止梯度回传过程, 其规模远大于单个批次处理的数量受到显存限制的影响较小. 具体而言, 在训练完成后, 在共享编码器的基础上, 并复制当前编码器的状态作为新文章的编码器模型, 并通过多个批次收集一系列文章表示作为负例的集合. 这种简单的扩增策略显著提升了检索结果的质量和准确性.
对推断而言,在处理文本时我们首先将整个语料集转换为一个文章向量标识符。面对特定问题时我们通过束搜索算法筛选出最优k个候选文章序列在每个时间步t阶段上基于查询编码器生成的结果作为候选依据。随后我们将上述讨论所涉及的概率公式表征为各候选间的内积总和来进行评估判断。值得注意的是该推断过程仅建立在密集文章标识符和查询表示基础之上无需考虑具体超链接或实体链接所构成的具体图结构形式最终输出结果将被用于后续具体任务模块中以完成预期操作
