分享自:

用于增强检索增强生成的知识驱动式迭代检索器

期刊:proceedings of the 63rd annual meeting of the association for computational linguistics (volume 1: long papers)

面向多跳问题回答的知识驱动式迭代检索增强生成模型KIRAG的研究报告

一、 作者、机构与发表信息

本研究的主要作者为Jinyuan Fang,通讯作者为Zaiqiao Meng,Craig Macdonald同为合作者,三位作者均来自英国格拉斯哥大学(University of Glasgow)。该研究以长篇论文(long paper)的形式发表于自然语言处理领域顶级会议“计算语言学协会第63届年会”(the 63rd Annual Meeting of the Association for Computational Linguistics, ACL 2025)的会议录中,具体发表时间为2025年7月27日至8月1日。论文标题为《KIRAG: Knowledge-Driven Iterative Retriever for Enhancing Retrieval-Augmented Generation》,即《KIRAG:用于增强检索增强生成的知识驱动式迭代检索器》。

二、 研究背景与目标

本研究隶属于人工智能领域下的自然语言处理(NLP)子领域,具体聚焦于开放域问答(Question Answering, QA),特别是其中的多跳问答(Multi-hop QA)任务。多跳问答要求模型能够通过连接分散在多个文档中的信息进行多步推理,从而得出正确答案,这比单跳问答更具挑战性。

当前,检索增强生成(Retrieval-Augmented Generation, RAG)模型通过结合外部知识库的检索能力和大型语言模型(LLM)的生成能力,在问答任务上展现出卓越性能。然而,传统的单步检索RAG模型在处理多跳问题时,其一次性检索往往难以一次性获取所有必要的相关信息,导致推理过程中存在知识缺口。为此,迭代式检索增强生成(Iterative RAG, IRAG)模型被提出,通过多轮检索与推理来逐步收集信息。

尽管现有IRAG模型取得了一定成效,但其检索过程面临两个核心挑战: 1. 检索过程易受干扰:迭代检索通常依赖于先前检索到的文档或LLM生成的思维链(Chain-of-Thought, CoT)来增强查询。然而,检索到的文档常包含噪声或无关信息,而生成的思维链则可能存在事实性错误(幻觉)。这些具有干扰性的上下文会在迭代过程中传播,从而降低检索质量。 2. 检索器缺乏动态适应性:多跳问题的答案推导需要多步推理,每一步所需的信息是动态演进的。然而,现有IRAG模型大多依赖基于语义相似度的通用检索器,这些检索器并非为适应多步推理中不断演化的信息需求而设计,难以在每一步迭代中精准识别并检索出缺失的关键信息。

为解决上述挑战,本研究旨在提出一种新颖的IRAG增强框架。其核心目标是:设计一个能够利用结构化知识、并动态适应多步推理信息需求的迭代检索器,以显著提升多跳问答任务中检索的准确性和鲁棒性,进而提高最终答案生成的性能。

三、 研究方法与工作流程

本研究提出了一种名为KIRAG的创新框架。其核心思想是将文档分解为细粒度的知识三元组(Knowledge Triple),并构建一个知识驱动的迭代检索器来系统性地检索相关三元组,再利用这些三元组定位和排序源文档,最后交由阅读器生成答案。整个工作流程可分为线下构建、迭代检索、文档排序和答案生成四个主要阶段,其中迭代检索是核心创新环节。

1. 线下知识图谱语料库构建 为提升效率,KIRAG在检索开始前,预先对整个文档语料库进行预处理。利用大型语言模型(如LLaMA3),通过上下文学习(In-Context Learning)提示,从每个文档中提取出所有知识三元组,形式为 <头实体,关系,尾实体>。例如,从关于“波士顿”的文档中可能提取出 <波士顿;2001年人口普查人口;35,124>。所有文档及其提取出的三元组共同构成了一个庞大的知识图谱(KG)语料库,供后续检索使用。此过程是查询无关的,只需执行一次。

2. 知识驱动的迭代检索(核心流程) 给定一个问题,KIRAG通过逐步构建一个基于知识三元组的推理链(Reasoning Chain)来进行迭代检索。推理链是一系列逻辑相连的三元组,共同支持问题的解答。例如,对于问题“根据2001年人口普查,基尔顿端所在城市的人口是多少?”,目标推理链可能是 <基尔顿端;所在地;波士顿>, <波士顿;2001年人口普查人口;35,124>。 在第 i 轮迭代中,输入是当前已构建的 i 步推理链(例如第一步后为 <基尔顿端;所在地;波士顿>)。系统执行以下三个子步骤: * 知识分解(Knowledge Decomposition):将当前查询(问题+当前推理链)发送给一个现成的密集检索器(如E5),从文档语料库中检索出 K0 个相关文档。然后,利用预构建的KG语料库,快速获取这些文档对应的所有知识三元组集合 T̃_i。这一步提供了潜在的候选知识池。 * 候选知识识别(Candidate Knowledge Identification):这是KIRAG的关键组件。为了从 T̃_i 中筛选出最能填补当前推理链信息缺口的三元组,作者设计并训练了一个推理链对齐器(Reasoning Chain Aligner)。该对齐器是一个双编码器(Bi-Encoder)模型,它将当前查询和每一个候选三元组分别编码到同一向量空间,并通过计算内积来评分。得分最高的前 N 个三元组被选为候选集 T_q^i。对齐器的训练目标是使其能够识别出那些能够连贯地延伸现有推理链的三元组。训练数据通过在多跳QA数据集上,使用现有工具自动构建“问题-部分推理链-正确下一三元组”的样本对,并采用对比学习(Contrastive Learning)损失进行优化。 * 推理链构建(Reasoning Chain Construction):获得候选三元组集 T_q^i 后,使用一个LLM(如LLaMA3)作为推理链构建器。构建器的任务是,基于问题、当前推理链以及候选三元组,生成一个完整的知识链(Chain-of-Knowledge, CoK),其中自由形式的思考被替换为文档中真实存在的知识三元组,以确保事实可靠性。从构建器生成的链条中取出第一个三元组,将其追加到当前推理链中,形成新的 i+1 步推理链,作为下一轮迭代的输入。此过程重复进行,直到构建器输出包含“答案是”的链条或达到最大迭代步数 L。最终,收集所有迭代轮次中检索到的候选三元组集合 T_q 及其对应分数。

3. 文档排序 检索到的知识三元组 T_q 可能缺乏完整的上下文信息。因此,KIRAG利用这些三元组来定位并排序其源文档。具体做法是:聚合所有 T_q 中三元组所在的源文档,并将文档关联的最高三元组得分作为该文档的得分。最后,按得分降序返回排名前 K 的文档作为最终的检索结果 D_q

4. 答案生成 将问题 Q 和排序后的文档 D_q 输入给一个LLM阅读器,直接生成最终答案。此步骤采用标准提示工程,指示模型基于提供的上下文回答问题。

四、 实验结果与分析

研究在五个多跳QA数据集(HotpotQA, 2WikiMultiHopQA, Musique, Bamboogle, WebQuestions)和一个单跳QA数据集(Natural Questions)上对KIRAG进行了全面评估,并与包括标准RAG、IRAG模型(如IRCOT, FLARE, DRAGIN)及增强检索模型在内的多种基线方法进行了对比。

1. 多跳问答性能显著提升 * 检索性能:在三个主要多跳数据集(HotpotQA, 2Wiki, Musique)上,KIRAG在R@3(前3个文档的召回率)和R@5指标上均显著优于所有基线模型。平均而言,相比最强基线,KIRAG在R@3上取得了9.40%的绝对提升,在R@5上提升了7.59%。这表明KIRAG能够更有效地检索到回答问题所需的所有相关文档。 * 问答性能:基于检索到的文档,KIRAG在答案生成的Exact Match(EM)和F1分数上也达到了最佳性能,平均F1分数相比最强基线提升了5.14%。这验证了高质量的检索对于最终答案准确性的直接贡献。

2. 关键机制的有效性验证 * 动态适应信息需求:通过分析模型在不同推理步骤中检索到对应步骤所需文档的召回率,研究发现,虽然KIRAG在第一步的召回率与基线相当甚至略低,但在后续步骤中(第二步、第三步)的召回率显著高于基线(如图3所示)。这证明KIRAG的迭代检索机制能够有效适应信息需求的演变,在后续推理步骤中精准定位所需的新信息。 * 知识三元组 vs. 文档/句子:两个变体模型——KIRAG-Doc(用文档替代三元组)和KIRAG-Sent(用句子替代三元组)——性能远低于KIRAG。这说明文档和句子层面的噪声会误导迭代过程,而细粒度的知识三元组提供了更聚焦、事实更可靠的检索基础。 * 知识链 vs. 思维链:相比于依赖可能产生幻觉的思维链的IRCOT模型,KIRAG使用基于文档的知识链,确保了检索过程的真实性,这是其性能优势的重要来源。 * 组件消融研究:移除推理链对齐器(w/o aligner)或推理链构建器(w/o constructor)都会导致性能大幅下降,证明了这两个核心组件对于识别相关知识和构建连贯推理链不可或缺。此外,使用未经任务特定训练的对齐器(w/o training)也会显著降低效果,凸显了专门训练的重要性。

3. 泛化能力与效率 * 泛化性:在训练时未见过的多跳数据集(Bamboogle, WebQuestions)上,KIRAG的检索性能依然显著优于所有基线。在单跳数据集(Natural Questions)上,其性能与最佳基线IRCOT相当,显示了其在不同类型QA任务上的良好适应性。 * 效率:通过线下预计算知识三元组,KIRAG的推理延迟与IRCOT相当,但检索效果更优。动态提取三元组的在线版本(KIRAG (online))则延迟显著增加。这表明预计算策略在保证效果的同时,有效控制了计算开销。

五、 研究结论与价值

本研究成功提出并验证了KIRAG框架,它通过引入知识驱动的迭代检索,有效解决了现有IRAG模型在多跳问答中面临的两个关键挑战。主要结论如下: 1. 方法有效性:KIRAG通过将文档分解为知识三元组,实现了更精准、抗干扰的检索;通过训练推理链对齐器和利用LLM构建知识链,使检索过程能够动态适应多步推理中不断变化的信息需求。 2. 性能领先:在多个多跳QA基准测试中,KIRAG在检索和问答性能上均取得了显著的、统计显著的提升,证明了其优越性。 3. 实际意义:该研究为提高复杂问答系统、知识密集型对话系统以及需要多步推理的信息检索系统的性能提供了新的技术思路。其核心组件(知识三元组提取、对齐器、迭代检索框架)具有模块化特点,可被集成到更广泛的RAG系统中。

六、 研究亮点

  1. 创新性地融合知识图谱与迭代检索:首次系统地将细粒度知识三元组引入IRAG的迭代检索循环,用结构化的“知识链”替代可能不可靠的“思维链”来引导检索,提升了检索的事实可靠性和指向性。
  2. 提出并训练了专用的推理链对齐器:设计了一个通过对比学习训练的检索模型,其专门学习如何根据当前推理状态识别“下一步最需要的知识”,这是实现动态适应性的关键。
  3. 系统的框架设计与验证:提出了一个包含线下构建、迭代检索、文档重排的完整框架,并通过详尽的实验分析(包括分步检索分析、组件消融、泛化性测试、案例研究等),全面验证了各组成部分的有效性和整体方案的优越性。
  4. 优异的性能表现:在标准多跳QA基准上取得了当时领先的性能,为相关领域的研究树立了新的标杆。

七、 其他有价值的讨论

论文还探讨了本工作的局限性:1) 对齐器的训练依赖于从有限数据集自动构建的“银标”数据,未来可探索构建更大规模、更高质量训练数据的方法;2) 研究中保持推理链构建器(LLM)冻结以保持框架对不同LLM的普适性,未来可探索对该组件进行微调以进一步提升性能。此外,附录部分提供了使用不同检索器(BGE)和不同阅读器(Qwen2.5, Flan-T5等)的补充实验结果,进一步证明了KIRAG的鲁棒性和兼容性。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com