在研读完 ToG 之后,有幸发现其后作,遂来研读:《Think-on-Graph 2.0: Deep and Faithful Large Language Model Reasoning with Knowledge-guided Retrieval Augmented Generation》
开源实现:ToG-2
1. 为什么要引入 ToG-2 ?

RAG 系统通过检索外部知识,能够缓解大模型的知识缺陷和幻觉问题。然而,尽管已有研究在 RAG 中加入了各种复杂的额外处理流程,但在面对复杂任务时,大模型仍难以维持类似人类的推理轨迹。这类复杂任务需要持续整合碎片化信息以及信息之间的结构化关系。
当时多数 RAG 主要依赖文档文本的向量检索。向量 Embedding 虽擅长衡量两段文本的语义相似度,但难以捕捉文本与文档之间的结构化关系。具体而言,简单的向量匹配容易忽略不同文本中实体在知识层面的联系:
同义不同表述: 例如 “Global Financial Crisis”(全球金融危机)与 “The 2008 Recession”(2008年经济衰退),两者是同一事件的不同表述名称。
共享结构化属性: 例如《Harry Potter》与《Fantastic Beasts》,两者的关联在于作者同为 J.K. Rowling。
因此,仅依赖表面语义相似度的 Naive RAG 在大型语料库中检索时容易忽视实体间的结构化链接(如上图 1(a) 中忽视了 Craig Virgin 与 Lukas Verzbicas 之间的结构化关系,甚至关键文本段落也没有成功召回),因此不适用于多步推理或追踪不同信息碎片之间的逻辑链条。
此外,知识图谱能够将碎片化信息中的实体结构化关系组织起来,以三元组形式存储知识,有助于梳理高层次的概念与关系。因此,当时还存在一些基于知识图谱的 RAG(KG-based RAG)系统。KG-based RAG 通过检索与用户问询相关的 KG 三元组,填入 prompt 以增强 LLM 的 response 。
然而,知识图谱本身具有内部不完备性,且缺乏其本体结构之外的细节信息(例如上图 1(b) 所示,图谱无法提供 Lukas Verzbicas 具体的比赛记录详情)。因此,近期产生一些将文本 RAG 与图谱 RAG 结合的工作。它们主要是将从结构化(KG)和非结构化(文档)知识源中分别检索到的信息进行简单汇聚,然后输入给大模型生成回答。
上述混合方式的缺点是:这种松耦合方式无法利用其中一种知识源去改进或提升另一种知识源的检索效果(即图谱检索不指导文本检索,文本也不反哺图谱检索)。因此,面对需要通过深度检索获取详尽细节信息的复杂查询时,现有的松耦合混合方案依然无法很好地应对(如上图 1(c) 所示)。
鉴于上述问题,作者提出了 ToG-2(Think-on-Graph 2.0),它是一种 KG×Text 紧耦合混合架构。详细来说,ToG-2 在每个问答任务中通过以下步骤实现交替迭代:
从输入的问题中提取主题实体,作为知识图谱搜索的初始起点。
在每轮检索开始时,通过知识图谱上的关系检索探索更多候选实体,并同步检索与这些候选实体关联的文档文本。
依据上下文文本检索的结果,对候选实体进行剪枝,更新主题实体集合,作为下一轮检索的起点。
每一轮检索后,利用获取的高相关性三元组与上下文文本提示大语言模型进行回答。若当前信息仍不足以得出答案,则自动进入下一轮检索,继续深挖线索。
该过程模拟了人类解决复杂问题时的思维轨迹:基于已有知识框架审视线索、联想潜在实体,并持续深入挖掘直至找到答案。
作者指出,ToG-2 具有以下优势:
深度检索:
依托知识图谱引导上下文文本检索,提升检索的深度与可靠性。
将文档作为实体节点的上下文信息,提升图检索的精准度,实现结构化与非结构化知识的紧密耦合。
忠实推理:
通过 KG 与文本的协同迭代检索,以检索到的异构知识(三元组 + 文本上下文)作为模型推理的事实依据,增强生成内容的忠实度。
高效与通用性:
免训练与即插即用: 无需参数微调,可直接适配各种大语言模型。
适用场景广泛: 适用于任何已关联的 KG 与文档库;若仅有纯文档库,也可先抽取实体并通过关系抽取或实体共现构建图谱。
性能表现突出: 在多个复杂知识推理数据集上取得新的 SOTA 表现,并能将较小模型(如 LLaMA-3-8B / Qwen2-7B)的推理水平提升至与 GPT-3.5 直接推理相当的程度。
2. ToG-2 建模
ToG-2 延续了 ToG 在知识图谱中开展多跳搜索的模式,即从问题中的关键实体出发,通过 Prompt 驱动的推理过程向外探索实体与关系。ToG-2 克服了 ToG 单一图检索的局限,将基于三元组的逻辑链条扩展与关联实体的非结构化上下文知识相结合,通过交替执行“知识引导的上下文检索”与“上下文增强的图检索”来利用异构外部知识。核心的流程如下所述:
第一步:初始实体抽取
从输入问题中抽取出关键实体,作为图搜索的初始主题实体。
第二步:图检索与邻居探索
在知识图谱上,针对当前主题实体选择性地探索其邻近实体,利用新拓展出的实体缩小并精炼检索范围,兼顾检索效率与准确性。
第三步:上下文检索与实体排序剪枝
结合用户问题与从相关文档中检索出的上下文知识,对候选实体进行排序与筛选,以减少实体歧义并确保下一步探索的准确性。
第四步:LLM 异构推理与循环控制
大模型整合当前的异构知识(包括三元组路径与实体上下文文本)进行评估:
若当前信息充足,则直接生成最终答案;
若信息不足以回答问题,则以筛选出的新实体为起点,进入下一轮迭代检索。
可以参考下图以直观了解:

2.1 初始化
给定输入问题 q ,ToG-2 首先识别问题中出现的实体,并将它们链接到知识图谱(KG)中对应的实体节点。该步骤可通过 LLM 或专用的实体链接(EL)工具来完成。
然后,为了选择合适的实体作为知识图谱探索的起点,ToG-2 执行主题剪枝操作。通过 prompt LLM 评估问题 q 以及所有识别到的实体,从中挑选出初始主题实体集合:

初始实体的数量 N 由 LLM 自行判断并确定。
在执行第一轮图检索之前,ToG-2 会利用稠密检索模型(Dense Retrieval Models, DRMs,包括双塔和单塔模型),从与初始主题实体 关联的文档中提取相关度最高的 Top-k 个文本块。然后,LLM 结合自身内在知识,评估这 Top-k 个文本块是否已经足以回答问题 q 。如果 LLM 判定当前可用信息已经足够得出答案,则直接完成问答,不需要再执行后续更深层次的图检索与多轮迭代步骤。
2.2 混合知识探索
在第 i 轮迭代中,当前主题实体集合:

前置三元组路径:

其中,对应第 j 个实体的三元组路径表示为:


其中 j ∈ [1, W],W 是探索宽度超参数,用于限制每轮迭代中保留的主题实体最大数量;其中 rji-1 为知识图谱中实体 eji-1 与 eji 之间的关系。此外,当 i = 0 时表示初始化阶段,此时路径 P0 为空。
2.2.1 知识引导的图搜索目标
这一阶段利用知识图谱中丰富的结构化连接性,在问题与目标信息之间探索并建立高层次的概念与关联。这能够连接在文本语义空间中看似距离较远、通过单纯语义匹配难以关联的目标知识。
步骤一:关系发现
在第 i 轮迭代开始时,系统通过 Edge() 函数查找当前所有主题实体的相连关系:

函数定义: Edge() 用于搜索实体的关联关系集合。
方向指示: 布尔变量 h 表示该关系 rj,mi 的方向是否指向当前主题实体 eji 。
步骤二:关系剪枝(Relation Prune, RP)
考虑步骤一中收集到的所有主题实体的关系集:

系统通过 prompt LLM 对关系进行打分和筛选,保留那些指向“包含有用上下文的实体”的关系,并过滤低分关系。作者设计了两种 Prompt 方式:
单实体独立剪枝

针对每个主题实体分别调用 LLM 。任务难度相对简单,但需要多次 API 调用,执行效率相对较低。
全实体组合剪枝

优势: 单次操作即可完成所有主题实体的关系筛选,减少了 API 调用次数并加快了推理速度;同时允许模型从更宏观的视角综合考虑多条推理路径之间的关联。
局限: 当所有主题实体召回的关系过多时,较长上下文可能会对弱性能 LLM 的长文本处理能力构成挑战。
最终保留的关系集合记为:

举个例子:在上图(Figure 2)中,主题实体为 Craig Virgin 时,关系 place_of_birth 会被剪枝,因为该关系指向的地点信息与跑步成绩关联度较低,不太可能给用户问询提供有用的上下文信息。
步骤三:实体发现
考虑每个主题实体

及其筛选出的关联关系

系统通过 Tail() 函数获取其连接的目标实体集合:

于是可以获得所有连通的候选实体集合

在获取这些连通实体后,后续将执行基于上下文的实体剪枝(2.2.2 节),从中选出 Top-W 个实体作为下一轮迭代的主题实体集合:

2.2.2 知识引导的上下文检索
候选实体上下文池构建
在本阶段,ToG-2 系统将会在知识图谱的引导下进行细粒度上下文检索,并利用检索结果对候选实体进行量化打分与剪枝。
在获得所有候选实体后,系统会收集与每个候选实体 cj,mi 相关的文档,组成当前迭代轮次的候选实体上下文池。这是在借助知识图谱提供的高层次知识指引,定向圈定非结构化文本的检索范围,以挖掘更细粒度的事实信息。
实体引导的上下文检索
为了避免陷入传统文本检索的缺陷(即直接计算问题与文档段落的语义相似度,会忽略该段落上下文与其所属实体之间的结构化关系),ToG-2 系统将候选实体 cj,mi 当前对应的三元组信息

转化为一句简短的自然语言句子

并将该句子拼接到待打分的文本块(chunk)前面。
然后,利用利用稠密检索模型(DRMs)计算问题 q 与拼接后文本块的关联得分:

计算完成后,汇总当前轮次(第 i 轮)得到的全部候选实体相关联的文本块,选取其中得分最高的前 K 个文本块(记为 Ctxi ),作为后续推理阶段的参考依据。
基于上下文的实体剪枝
候选实体的筛选依据其名下文本块的检索排名得分。候选实体 cj,mi 的总得分为其进入 Top-K 的文本块得分的指数衰减加权和。

符号与机制解释:

补充思考:为什么 ToG-2 采用全局统一筛选 Top-K 文本块而非各实体独立局部筛选 Top-K 文本块?
我的理解:可以从以下方面来思考。
避免相对排名与权重的基准错位:
指数衰减权重 wk 的本质是“全域重要性惩罚”。若在每个实体内部单独截取 Top-K,弱相关实体的局部最优文本块会被赋予与强相关实体最优文本块相同的位置权重 w1 。这种局部赋权会不合理地拉高弱相关实体的得分,削弱实体之间的区分度。
实现自然的跨路径竞争与动态剪枝:
全局排序引入了指示函数 I(·) 与统一竞争机制。与问题无关的实体,其关联文本块在全局排序中会自然跌出前 K 名(得分为 0)并被系统过滤;而与问题强相关的实体能够通过命中多个靠前的全局席位实现得分累加,形成天然的优选机制。
确保实体筛选与下游推理上下文的对齐:
最终进入大模型推理阶段的参考文本 Ctxi 正是这批全局 Top-K 文本块。全局打分机制使得“用于决定实体去留的标准”与“实际喂给模型做推理的信息”在语义优先级上保持一致,无需额外增加两阶段过滤流程。
兼顾计算效率与流程精简:
避免了对每个候选实体分别维护独立排序队列与截断阈值的开销,一次全局排序即可同时完成文本块选拔与实体量化剪枝。
2.3 基于混合知识的推理
ToG-2 系统在每轮迭代末尾整合异构知识进行推理评估、线索提炼与终止判断。
在第 i 轮迭代结束时,系统将已收集到的异构知识整合成 Prompt 输入给大模型,主要包括:
历史检索线索(Cluesi-1): 来自上一轮迭代的检索反馈,用于在多轮迭代中保留历史上下文中的有用信息。
三元组路径(Pi): 知识图谱上探索出的结构化推理路径。
文本上下文(Ctxi): 探索阶段检索出的 Top-K 文本块。
原始问题(q)。
大模型综合上述信息,评估当前知识是否足以回答问题 q :

分支一:知识充分
大模型直接输出最终答案(Ans.),推理流程终止。
分支二:知识不足(Insufficient)
大模型对已有知识进行归纳总结,提炼并输出当前有价值的线索 Cluesi;
基于获取的准确信息重构并优化检索查询,进入下一轮更深层的迭代,直到知识充分或者达到预设的最大探索深度 D 。
3. 实验与结果
3.1 数据集与Baselines
数据集与任务类型
指标选用依据:
事实验证任务(FEVER、Creak)使用 准确率(Accuracy)。
其余问答及抽取任务使用 精确匹配(Exact Match, EM)。
论文未采用 Recall 和 F1 分数,原因是知识源并不局限于纯文档数据库。
知识源环境(Full Wiki Setting):
前 6 个公开基准统一采用全量 Wikipedia 作为非结构化知识源、Wikidata 作为结构化知识源。
相比于预先筛选好候选段落的干扰项设定,全量检索环境难度更高,更符合真实检索与知识推理场景。
自建数据集 ToG-FinQA 的构成:
背景: 避免大模型在预训练阶段接触过维基百科文本而产生的数据泄漏。
语料与图谱: 收集数千份 2023 年中文财务报表作为非结构化文本上下文;抽取公司与组织作为实体,定义了 7 种关系类型(子公司、主营业务、供应商、兄弟公司、大宗交易、分公司/附属机构、客户)构建金融知识图谱。
Baselines
公平对比实验设置
统一底座模型: 为确保对比的公平性,所有基线方法与 ToG-2 均统一调用 GPT-3.5-turbo 进行实验。
评测范式: 所有方法均在无监督设定下进行评估,无需额外的有监督训练微调。
具体实验细节
3.2 实验结果
对比实验

实验结果分析:
事实上,多数大语言模型在预训练阶段已经接触过大量的 Wikipedia 语料(即 AdvHotpotQA 和 FEVER 等数据集的知识源),这使得无外部检索的方法(LLM-only)也能依靠参数记忆回答部分问题。考虑到在金融等特定专业领域,大模型自身通常缺乏相关知识,必须依赖外部检索。在该场景下进行评测,能够更真实地衡量不同 RAG 框架处理全新、复杂多跳推理任务的有效性。
因此,作者在自建的领域特定数据集 ToG-FinQA 上展开对比实验:

消融实验一:基座 LLM
本实验的目的是评估具备不同能力水平的大语言模型,在多大程度上能够从 ToG-2 的知识增强机制中获益。

数据分析:
这体现出 ToG-2 能够通过结构化与非结构化知识的协同检索,弥补较小参数规模模型在内部参数知识量与多跳关联上的不足。此外,在面对预训练阶段未见过的垂直领域复杂任务时,模型的强推理能力能够更好地利用 ToG-2 检索到的高质量线索,实现更深入的知识推理。
消融实验二:对实体剪枝工具的消融
这个实验在 AdvHotpotQA 的抽样测试集上,通过更换不同的工具来衡量候选文本块与用户问询的相似性得分,从而影响实体剪枝阶段的具体剪枝过程,进而影响最后系统的生成答案质量。

剪枝工具对比:
作者进一步通过调整保留的上下文文本块数量 K ,对比了 BGE-Reranker 与 LLM 的表现变化:
BGE-Reranker 的趋势:
随着输入上下文数量 K 的增加,BGE-Reranker 的表现倾向于进一步提升,整体表现略优于 LLM。
归因: 适当增加上下文数量可以提升系统对无关文档的容忍度,且稠密检索模型在处理大量候选文本时稳定性更好。
LLM 生成式排序的趋势:
随着上下文长度增加,LLM 的排序效果出现衰减。
归因: 尽管大模型具备较强的判别能力与灵活性,但其处理长文本输入时的排序性能容易受到上下文长度的约束。
消融实验三:对搜索宽度与深度的消融分析
本实验的目的是探究更宽泛的探索范围是否一定带来更好的效果?

探索宽度的影响分析
性能表现: 当宽度 W 从 2 开始增加时,模型性能呈现逐步提升的趋势;但当宽度 W > 3 后,边际效益逐渐递减。
原因机理: 推理宽度 W 对应每一步保留的 top-W 相关关系与实体的数量。适度增大宽度可以提高主题剪枝的容错空间,但超出一定范围后带来的增益趋于有限。
探索深度的影响分析
性能表现: 当探索深度 D > 3 时,模型的性能表现进入平台期,未见进一步明显提升。
原因机理: 对于 AdvHotpotQA 中的多跳推理问题,3 轮迭代的深度通常已足以覆盖所需的多跳关联链条,更深的搜索深度不再带来额外的有效线索。
人工分析
作者从 AdvHotpotQA 中随机抽取 50 个由 ToG-2 成功推理的样本进行人工细致分析:


作者还通过 AdvHotpotQA 上的两个典型案例(见上图)展示了不同知识源的协同方式:
图文双重增强案例(Both-enhanced Case):
图谱作用: 依靠三元组链接推导出“与塞米诺尔人(Seminole)相关的黑人印第安人群体是黑塞米诺尔人(Black Seminoles)”。
文档作用: 进一步调取 Black Seminoles 的关联文档上下文,从中查明其具体的定居地点,二者结合得出完整答案。
文档增强案例(Doc-enhanced Case):
图谱作用: 三元组在此处充当结构化导航线索,定位到专辑所属乐队的成员 Billy Corgan。
文档作用: 最终的目标答案直接从 Billy Corgan 的实体文档上下文中定位并抽取得到。
此外,作者还指出:
与 CoT 相比,ToG-2 凭借深度的外部知识检索,有效缓解了大语言模型的幻觉问题。
当检索到的外部知识不足以支撑结论时,ToG-2 倾向于主动拒绝回答,而不是在缺乏依据的情况下虚构或猜测答案。
作者在人工复核 ToG-2 的回答时观察到,在采用 Exact Match 作为评测指标时,存在显著数量的伪阴性(False Negatives)样本。这一现象表明,在严格的 EM 衡量指标下,ToG-2 的真实能力与表现空间可能比公开报告的分数更有潜力。
ToG-2 虽引入了额外文本,但通过将实体剪枝由 LLM 转移至轻量 DRM/Reranker 本地向量打分,并将多实体关系剪枝聚合成单次 Prompt,使实体剪枝耗时降至 ToG 的 68.7%,实现了性能增强与调用开销解耦。
4. 结论
在处理复杂的知识推理任务时,现有基于知识图谱或文本的 RAG 系统难以确保深度的知识检索。作者在本研究中提出了一种将基于知识图谱与基于文本的 RAG 紧密耦合的混合 RAG 范式 —— KG × Text RAG ,并提出了 Think-on-Graph 2.0(ToG-2)算法框架。该框架利用文本上下文实现可靠的图检索,通过知识图谱实现知识引导的上下文检索,并通过迭代执行协同检索流程来获取深层知识,从而实现大语言模型深度且忠实的推理。实验结果表明,在无需额外训练成本的前提下,ToG-2 能够显著提升不同规模大语言模型的性能,并优于现有的各类大模型推理方法与 RAG 方法。