暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GRAG: 基于子图检索的 GraphRAG

AI 搜索引擎 2024-10-18
631
今天为大家分享一篇提升GraphRAG检索精度的文章,该论文由埃默里大学发表。 
GRAG: Graph Retrieval-Augmented Generation
论文地址:https://arxiv.org/pdf/2405.16506

论文概述

尽管检索增强生成(RAG)通过生成语言模型提升了响应的准确性和相关性,但在需要同时处理文本和拓扑信息的图结构场景中却显得不足。简单的RAG方法固有地忽略了文本图的结构复杂性,从而在生成过程中留下了关键缺陷。

为了解决这一问题,作者引入了图检索增强生成(GRAG),它通过强调子图结构的重要性显著提升了检索和生成过程。与仅专注于基于文本实体检索的RAG方法不同,GRAG高度重视图拓扑结构,这对于生成上下文和事实连贯的响应至关重要。

GRAG方法包括四个主要阶段:k-hop图(ego-graph)的索引、图检索、软剪枝以减轻无关实体的影响,以及基于剪枝后的文本子图生成。

GRAG的核心工作流是通过检索文本子图并进行软剪枝,能够有效识别相关的子图结构,同时避免了全面子图搜索(该搜索为NP难问题)带来的计算不可行性。

此外,作者提出了一种新的提示策略,能够无损地将文本子图转换为层次化的文本描述。在图多跳推理基准上的广泛实验表明,在需要对文本图进行多跳推理的场景中,GRAG方法显著优于当前最先进的RAG方法,并有效减少了虚假信息的产生。

核心内容

GRAG的架构如上图所示。具体可以分为四个阶段:
1. 索引与图检索:
索引 (Indexing):在这个阶段,所有的k-hop图(ego-graph)会被嵌入为图嵌入(graph embeddings),这些图表示与文本相关的拓扑结构。k-hop图是从给定的中心节点开始,延伸到k范围内的节点和边。通过索引,这些图结构被高效存储,供后续检索使用。
图检索 (Graph Retrieval):接下来,给定查询 q 后,系统会将查询向量与索引的图嵌入进行比较,选出与查询最相似的前N个子图。该过程使用余弦相似度来计算查询与图嵌入之间的匹配度。尽管已经选择了最相关的子图,但这些子图仍然可能包含无关的实体和边,这需要在后续阶段中处理。
2. 生成阶段:
生成 (Generation):在生成阶段,剪枝后的会被转换为文本标记(text tokens),然后输入到大型语言模型(LLM)的嵌入层和注意力层中。图中的文本信息被编码为序列形式,进入生成模型来推理最终的答案。这一步生成的是结合了文本和拓扑结构的回答。

3. 软剪枝:

软剪枝 (Soft Pruning):此阶段通过逐元素距离计算,裁剪出不相关的节点和边。系统会基于图节点和边的属性与查询的相关性,对节点和边进行缩放,从而实现节点和边的软剪枝。这个过程通过引入MLP(多层感知机)来进行节点和边的剪枝,确保剔除不相关的信息,但保留对回答有用的图结构。

4. 分层描述生成:

分层描述生成 (Hierarchical Description):在最终阶段,剪枝后的子图会被转化为分层的文本描述。这些描述同时保留了文本和图的拓扑信息,形成层次化的结构,反映出图的多跳推理逻辑。通过这种分层策略,系统能够从子图中提取出结构化的文本信息,从而保证生成的回答既上下文连贯,又在图结构上保持一致。

总结

GRAG方法通过四个主要阶段有效地结合了图结构信息和文本信息:
  1. 索引与检索阶段关注从图中找到与查询相关的子图;

  2. 软剪枝阶段则去除与查询无关的图节点和边;

  3. 生成阶段将剪枝后的图转化为语言模型可处理的输入,进行最终答案生成;

  4. 分层描述生成通过层次化方式将图结构映射为文本,从而保留了拓扑与语义信息,确保生成的内容更具一致性和连贯性。

这个流程的设计特别适用于需要多跳推理的场景,确保生成的答案不仅在语义上准确,而且符合图结构中的推理逻辑。

文章转载自AI 搜索引擎,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论