链载Ai

标题: 深入探索RAPTOR:构建知识森林,突破RAG语义检索瓶颈的技术解析 [打印本页]

作者: 链载Ai    时间: 昨天 22:41
标题: 深入探索RAPTOR:构建知识森林,突破RAG语义检索瓶颈的技术解析

一、传统检索的痛点

现有检索系统(如BM25或向量库)往往存在两大短板:

  1. 信息碎片化:仅返回孤立文本片段,割裂整体逻辑
  2. 上下文缺失:难以理解文档的层次结构与宏观主题

当传统检索还在“关键词匹配”的平原上徘徊时,RAPTOR已带我们登上语义理解的树冠层。这片由斯坦福培育的“知识森林”,正为LLM注入真正的理解力——未来已来,只是尚未均匀分布。

二、RAPTOR的森林建造术

RAPTOR通过构建语义摘要树解决上述问题,其核心流程如同培育一片知识森林:

语义树构建过程:RAPTOR基于它们的向量嵌入递归地对文本块进行聚类,并生成这些聚类的文本摘要,从下向上构建树。聚集在一起的节点是兄弟姐妹;父节点包含该集群的文本摘要。

第一步:播种叶子(文本切分与嵌入)

文本块 = 分割长文档(文档) # chunk_size=100+且保持句子完整
叶子节点 = [SBERT嵌入(块)for块in文本块] # 生成语义向量

第二步:培育枝干(聚类与总结)

  1. 高斯混合模型(GMM)对叶子节点软聚类
    → 同一簇内文本语义相近(允许重叠)

聚类算法采用的是高斯混合模型(Gaussian Mixture Models, GMMs),同时由于单个文本可能包含与多个主题相关的信息,所以这篇文章采用了软聚类,即节点可以同时属于多个聚类,而不需要事先设定聚类的固定数量,将它们包含在多个摘要中。

  1. 调用LLM总结引擎(如GPT-3.5)生成簇摘要
    → 产出中间层摘要节点

第三步:生长树冠(递归构建)

不同层次的节点代表了不同粒度的语义概括

循环执行第二步,直到生成最终根节点,形成自底向上的语义树形结构

三、查询机制:两种遍历策略

当用户发起查询时,RAPTOR提供双通道检索:

  1. 树遍历:深度优先遍历
    根节点 → 中层节点 → 叶子节点,从根节点开始,计算查询和节点之间的余弦相似度,逐层选择最相关的节点,直到叶子节点。
适合需要逻辑推导的复杂问题
  1. 折叠树:压缩森林查询
    平铺所有节点并行比对,将所有节点视为同一层次,选择最相关的节点,直到达到模型输入的token限制。
适合快速全局匹配

树遍历 VS 压缩树

本实验对比了树遍历、压缩树两种方法在不同 k 值、不同最大Tokens下的性能表现。结果显示,【压缩树方法】的表现始终优于树遍历方法。压缩树查询提供了更大的灵活性,同时搜索所有节点,压缩树方法能够根据具体问题检索到适当粒度的信息。
直方图显示了使用三种检索器(SBERT, BM25和DPR)从三个数据集(NarrativeQA, Quality和Qasper)从RAPTOR树的不同层检索的节点百分比。数据表明,对最终检索做出贡献的大部分节点来自【非叶子层】,其中第1层和第2层的比例显着,突出了RAPTOR的分层摘要在检索过程中的重要性。

与其他检索方法相比,RAPTOR 独特优势包括:

这些优势使得RAPTOR在处理需要综合整个文档信息的复杂问答任务时表现出色,特别是在文学领域的长篇文本理解任务中。

四、总结

本文介绍了一种新颖的基于树的检索系统:RAPTOR,通过各种抽象级别的上下文信息来增强LLM的参数知识。采用递归嵌入、聚类摘要技术,RAPTOR创建了一个分层树结构,能够跨检索语料库的各个部分综合信息。在查询阶段,RAPTOR 利用此树结构进行更有效的检索。实验表明,使用递归总结的检索方法在多个任务上相较于传统的检索增强语言模型提供了显著的改进。在涉及复杂、多步骤推理的问题解答任务中,展示了最优的结果。例如:通过将RAPTOR检索与GPT-4结合使用,能够将QuALITY基准上的最佳性能提高20%的准确率。


五、答疑

问:RAPTOR 如何区分问题来源、避免版本错乱以及处理多版本文档的问题?

👉👉👉核心机制解析

  1. 问题区分与来源定位

  1. 优先召回与问题最相关的文本片段;
  2. 返回片段的元数据(如doc_idversion),明确标注答案来源。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5