GraphRAG领域的研究进展及代表性工作
-
图结构化的知识表示:明确捕捉实体关系和领域层次,提供更丰富的语义上下文。 -
高效的图检索技术:支持多跳推理能力; -
结构感知的知识整合算法:利用检索到的知识生成准确且逻辑连贯的内容。
传统RAG和两种典型GraphRAG工作流的全面概述。非图RAG将语料库划分为文本块,进行相似度匹配。基于知识的GraphRAG利用实体识别和关系抽取从语料库中提取详细的知识图谱,提供细粒度的领域特定信息。
传统RAG与GraphRAG的比较说明
从GraphRAG技术的三个关键创新展开具体分析:知识表示(Knowledge
Organization),知识检索(Knowledge
Retrieval),知识整合(Knowledge Integration)
知识表示
在GraphRAG系统中,知识表示是核心环节之一,它通过图结构化的方法来高效地组织和索引外部知识源,从而提高信息检索的效率和准确性。
图结构化方法的优势
-
图结构:图结构能够明确表示实体之间的关系和领域层次,支持复杂的语义关系和多跳推理。
-
效率与灵活性:图结构不仅提高了检索效率,还能够灵活适应不同类型的查询,包括简单查询和复杂的多跳推理查询。
知识组织的三种主要范式
-
基于索引的图(Graphs for Knowledge Indexing):
-
定义:将文本块组织成图中的节点,节点之间的边表示查询导向的关系,便于快速定位相关知识。
-
多级索引:通过自底向上的知识总结和自顶向下的知识定位,构建多级索引图,实现从粗到细的知识索引。
-
应用:适用于需要快速检索和处理大规模文本数据的场景。
-
作为知识载体的图(Graphs as Knowledge Carriers):
-
定义:从文本块中提取详细的知识图谱,通过实体识别和关系抽取,将文本转换为结构化的图表示。
-
优势:提供细粒度的领域特定信息,支持复杂的推理任务,能够捕捉实体之间的多跳关系。
-
应用:适用于需要深入理解领域知识和复杂推理的场景。
-
混合图(Hybrid Graphs):
-
定义:结合了基于知识和基于索引的图结构,既利用图来表示知识,又利用图来索引文本块。
-
优势:结合了两种方法的优势,既能够高效检索,又能够提供详细的文本知识。
-
应用:适用于需要平衡检索效率和知识深度的场景。
知识检索
知识检索是GraphRAG系统中的关键环节,负责从结构化的图知识库中提取与用户查询相关的背景知识。这一过程直接影响系统的整体性能和实用性。
知识检索过程包括三个主要阶段:
-
查询/图预处理(Query/Graph Preprocessing):
-
查询预处理:将输入问题转换为结构化表示,通过向量化或关键词提取等方式,作为后续检索操作的索引。
-
图预处理:对图数据库进行处理,将图元素(实体、关系、三元组)转换为密集向量表示,作为检索的锚点。一些高级检索模型还应用图神经网络(GNNs)提取图的高级结构特征,或采用规则挖掘算法生成规则库作为检索索引。
-
匹配(Matching):
-
将预处理后的查询表示与图索引进行比较,识别出与查询高度相关的知识片段。匹配算法考虑语义相似度和图中的结构关系,基于匹配分数检索出与查询相关的连通分量和子图,形成初始候选知识集。
-
知识剪枝(Knowledge Pruning):
-
对初步检索到的知识进行精炼,以提高其质量和相关性。剪枝算法通过一系列优化操作来整合和总结检索到的知识,去除明显不相关或冗余的信息,并生成复杂图知识的简洁总结,以便于LLMs更好地理解和处理。
知识检索技术:
-
基于语义相似性的检索(Semantic Similarity-based Retriever):
-
离散空间建模:通过字符串匹配技术(如子字符串匹配、正则表达式等)直接对文本字符串进行建模,依赖于查询项与图中实体和关系的精确匹配。
-
嵌入空间建模:利用预训练语言模型和词嵌入(如TF-IDF、Word2Vec、GloVe等)将查询和图实体映射到连续向量空间中,通过计算语义相似度来检索相关信息,能够超越字符串匹配的限制,捕捉更复杂的语义联系。
-
基于逻辑推理的检索(Logical Reasoning-based Retriever):
-
利用符号推理技术(如规则挖掘、归纳逻辑编程、约束满足等)从图知识库中推导和提取信息。这种方法能够发现数据中未明确表达的逻辑关系和事实,通过逻辑推理来检索与查询一致的信息。
-
基于GNN的检索(GNN-based Retriever):
-
使用图神经网络对图中的节点进行编码,通过节点表示的编码相似度来检索知识。GNNs通过迭代聚合节点邻居的信息来更新节点的表示,能够学习图的结构和特征,从而更准确地定位目标知识。
-
基于LLM的检索(LLM-based Retriever):
-
利用LLMs的强大语义理解能力来生成查询或推理路径,从而检索出相关信息。LLMs可以执行查询扩展、上下文消歧和信息合成等任务,提高检索过程的整体效果。
-
基于强化学习的检索(Reinforcement Learning-based Retriever):
-
将检索过程视为序列决策问题,通过强化学习训练代理(agent)在图中搜索最相关的信息。这种方法能够根据环境反馈动态调整检索策略,不断优化检索性能。
知识检索的增强策略:
-
多轮检索(Multi-round Retrieval):
-
通过多轮交互逐步细化检索结果,利用上下文信息和用户反馈动态调整检索机制,使其更符合特定用例和用户意图的变化。
-
后检索(Post-retrieval):
-
在生成过程之后进行检索,利用检索结果评估生成答案的准确性和可靠性,为LLMs提供反思和纠正的依据。
-
混合检索(Hybrid Retrieval):
-
结合不同数据结构(如图和向量数据库)进行检索,整合它们的优势,以提高检索范围和效果。例如,联合检索知识图谱和文本文档,或结合知识图谱与在线网络资源。
知识整合
知识整合是GraphRAG系统中的关键环节,负责将检索到的知识有效地融入到大语言模型(LLMs)中,以生成准确、连贯且信息丰富的回答。
知识整合的两种主要方式
-
微调(Fine-tuning):直接将检索到的知识注入LLMs,通过微调优化模型性能。
-
节点级知识(Node-level Knowledge):关注图中的单个节点,将节点及其邻近文本作为上下文信息输入LLMs。
-
路径级知识(Path-level Knowledge):关注节点之间的连接和序列,通过图路径引导LLMs进行推理。
-
子图级知识(Subgraph-level Knowledge):考虑由多个节点及其连接组成的较大结构,通过子图信息增强LLMs的理解能力。
-
上下文学习(In-context Learning):通过设计合适的提示格式,将检索到的知识与问题结合,引导LLMs生成答案。
-
提示格式选择:选择合适的提示格式对知识整合至关重要,因为LLMs对提示格式非常敏感。
-
LLM响应优化:将检索到的内容和问题作为输入,通过优化提示格式来生成或进一步优化LLMs的回答。
知识整合的具体方法
-
基于节点的知识整合:
-
SKETCH:通过将节点属性与LLMs结合,增强模型对特定节点的理解。
-
GraphGPT:通过节点属性和图嵌入进行学习,提升模型对图结构的理解。
-
基于路径的知识整合:
-
GLRec:通过用户-项目描述的路径权重计算,增强模型对路径级知识的理解。
-
KGTransformer:通过样本化的知识图序列进行训练,提升模型对路径级知识的处理能力。
-
RoG:通过知识图路径进行指令生成,引导LLMs进行推理。
-
基于子图的知识整合:
-
RHO:通过图嵌入和子图信息进行训练,增强模型对子图级知识的理解。
-
GNP:通过图和查询嵌入进行训练,提升模型对子图级知识的处理能力。
-
InstructGLM:通过将子图信息展平为序列,增强模型对子图级知识的理解。
知识整合的增强策略
-
多轮整合(Multi-round Integration):
-
增强检索内容质量:通过多轮交互逐步细化检索结果,提高检索内容的质量。
-
处理复杂推理:通过多轮交互支持复杂的多跳推理任务,生成更准确的推理结果。
-
对齐输出与目标标签:通过多轮交互确保模型输出与目标标签一致,提高回答的准确性。
-
多轮交互的质量保证:通过多轮交互确保回答的稳定性和质量,适用于需要高质量输出的场景。
-
与其他领域特定模型结合:
-
增强多模态信息处理:通过将多模态信息(如图像、视频)整合到LLMs中,提升模型对多模态数据的理解能力。
-
领域特定任务的微调:通过在特定领域数据上进行微调,提升LLMs在特定任务上的表现。
一些GraphRAG开源项目与应用
A Survey of Graph Retrieval-Augmented Generation for Customized Large Language Models
https://arxiv.org/pdf/2501.13958
https://github.com/DEEP-PolyU/Awesome-GraphRAG
(文:PaperAgent)