数据库 频道

《Graph Retrieval-Augmented Generation: A Survey》论文解读

  本文为TuGraph团队联合北京大学、浙江大学、中国人民大学、罗格斯大学的研究成果《Graph Retrieval-Augmented Generation: A Survey》论文解读。

  导读:最近,在无需重新训练的情况下,检索增强生成(RAG)成功应对了大语言模型所面临的诸多挑战,取得了显著成功。通过引入外部知识库,RAG 优化了 LLM 的输出,有效缓解了诸如“幻觉”、缺乏特定领域知识和信息过时等问题。然而,数据库中不同实体之间关系的复杂结构给 RAG 系统带来了挑战。为了解决这个问题,图检索增强生成(GraphRAG) 利用了实体之间的结构信息,实现了更精确、全面的检索,捕捉了关系知识,促进了更准确、上下文感知的响应。鉴于 GraphRAG 的新颖性和巨大的潜力,对现有技术进行系统性回顾至关重要。

  本文首次全面概述了 GraphRAG 方法。本文对 GraphRAG 的工作流程进行了形式化,包括图索引、图检索和图增强生成。然后,我们概述了每个阶段的核心技术和训练方法。此外,我们还研究了 GraphRAG 的下游任务、应用领域、评估方法和工业用例。最后,我们探讨了未来的研究方向,以激发进一步的探究,推动该领域的发展。

  论文链接:https://arxiv.org/abs/2408.08921

  GitHub仓库:https://github.com/pengboci/GraphRAG-Survey

01 引言

  大语言模型(LLMs)如GPT-4、Qwen2和LLaMA3在自然语言处理领域取得了显著成果。然而,它们在处理特定领域或任务时可能存在一些局限性,如缺乏领域知识、实时更新的信息或专有知识等。

  为了解决这些局限性,检索增强生成(RAG)通过在生成过程中集成外部知识源来增强LLMs的能力。RAG通过动态查询外部文本语料库,将相关知识集成到LLMs的输出中,从而提高生成内容的质量和相关性。

  尽管RAG在许多领域取得了成功,但它在实际应用中仍面临一些挑战:

  忽视关系:传统RAG方法主要基于文本的语义相似性,而忽视了文本之间的结构关系。例如,在引用网络中,传统RAG方法可能无法捕捉到论文之间的引用关系。

  冗余信息:RAG通常以文本片段的形式提供信息,当这些片段拼接在一起作为提示时,可能会导致上下文过长,出现“lost in the middle”的问题。

  缺乏全局信息:RAG只能检索到文档的子集,而无法全面理解全局信息,这在查询聚焦摘要(QFS)等任务中可能存在问题。

  为了解决这些挑战,图检索增强生成(GraphRAG)应运而生。GraphRAG是一种结合了LLMs和外部结构化知识图谱的方法,旨在通过利用知识图谱中的结构化信息来增强LLMs的生成能力。GraphRAG的核心思想是将知识图谱中的结构化信息(如节点、三元组、路径或子图)与LLMs的输出相结合,以提供更准确和丰富的生成结果。通过将知识图谱中的结构化信息与LLMs的生成过程相结合,GraphRAG可以更好地理解和利用文本之间的结构关系,从而解决传统RAG方法中忽视关系的问题。此外,GraphRAG还可以通过使用结构化知识图谱来更有效地处理冗余信息和全局信息的问题。由于知识图谱中的结构化信息是经过组织和整理的,因此可以更方便地进行信息的检索和聚合,从而避免冗余信息的出现。同时,由于知识图谱中的结构化信息是全局性的,因此可以更全面地理解和利用全局信息。

02 GraphRAG概述

  GraphRAG的工作流程主要分为以下三个主要步骤:图索引(G-Indexing)、图检索(G)和图增强生成(G-Generation)。

  图索引:图索引是GraphRAG的第一步,它涉及构建和索引知识图谱。这一步的目标是创建一个高效的索引,以便在后续步骤中能够快速检索到相关信息。在图索引阶段,首先需要构建知识图谱,这可以通过从外部数据源(如Wikipedia、DBpedia等)获取结构化数据来完成。然后,需要对知识图谱进行索引,以使其更易于查询和检索。这可以通过使用多种索引技术(如:图索引、文本索引和向量索引)来实现。

  图检索:图检索涉及从知识图谱中检索与用户查询相关的信息。这一步的目标是找到与用户查询最相关的信息片段,以便在后续步骤中使用。在图检索阶段,首先需要将用户查询转换为一种可被知识图谱理解的形式,这可以通过使用一些自然语言处理技术(如实体链接、查询扩展等)来实现。然后,需要使用检索算法(如基于规则的方法、基于模型的方法等)来搜索知识图谱,以找到与用户查询最相关的信息片段。

  图增强生成:图增强生成是涉及使用检索到的信息生成文本。这一步的目标是生成一个准确、相关且有意义的文本响应,以满足用户的需求。在该阶段,首先需要将检索到的信息转换为一种可被LLMs理解的形式,这可以通过使用图编码、图嵌入等技术来实现。然后,需要使用一种文本生成算法(如基于LM的方法、基于GNN的方法等)来生成文本响应。在生成过程中,可以利用检索到的信息来增强生成结果的相关性和准确性。

03 图索引

  图索引是GraphRAG框架的第一阶段,它涉及构建和索引图数据库。这一阶段的目标是通过选择或构建适当的图数据,并建立有效的索引,来为后续的GraphRAG过程提供坚实的基础。

  图数据的选择与构建:在图索引中,研究人员需要选择或构建适合GraphRAG任务的图数据,可以通过以下两种方式:

  ·开放知识图谱:公开可用的知识图谱,一般主要包括三类:百科知识图谱(如WikiData)、常识知识图谱(ConceptNet)以及领域知识图谱。

  ·自构建图数据:这些是研究人员根据特定任务需求构建的自定义图数据。例如,可能从文档、表格或其他数据库中提取实体和关系,并将它们组织成图结构。

  索引:一旦选择了适当的图数据,研究人员需要建立索引来提高查询操作的效率。常见的索引方法包括:

  ·图索引:图索引保留了图的完整结构,使节点和边的访问变得容易。在后续的GraphRAG过程中,可以使用经典的图搜索算法(如BFS和最短路径算法)来快速检索信息。

  ·文本索引:这种方法将图数据转换为文本描述,以便使用各种文本检索技术(如稀疏检索和密集检索)进行优化。

  ·向量检索:这种方法将图数据转换为向量表示,以利用高效的向量搜索算法(如局部敏感哈希)进行快速检索。

04 图检索

  图检索是框架的第二阶段,它涉及从外部图数据库中提取与用户查询相关的信息。这一阶段的目标是通过优化检索过程,确保生成的响应与用户的期望高度相关。

  检索器的选择:在图检索中,选择适当的检索器是至关重要的。研究人员可以根据任务需求和数据类型选择以下类型的检索器。

  ·非参数化检索器:基于传统的图搜索算法(如BFS和DFS),不依赖于深度学习模型,适用于高效的大规模数据检索。

  ·语言模型检索器:基于语言模型(如BERT、GPT等),利用其强大的自然语言理解能力,适用于处理复杂的用户查询。

  ·图神经网络检索器:基于图神经网络(如GCN、GAT等),利用其对图结构数据的表示能力,适用于处理复杂的图结构数据。

  检索范式:GraphRAG支持多种检索范式从外部图数据库中提取与用户查询相关的信息,包括:

  ·一次性检索:通过一次查询,提取所有相关的信息,适用于简单的查询或对实时性要求较高的场景。

  ·迭代检索:通过多次迭代逐步细化检索结果,适用于复杂的查询或对准确性要求较高的场景。迭代检索又可以细分为非自适应检索和自适应检索,自适应检索在GraphRAG中通过模型自主决定检索过程的终止,以优化检索结果的相关性和准确性。

  ·多阶段检索:将检索过程划分为多个阶段,每个阶段使用不同的检索器或策略,适用于复杂的查询或需要综合多种信息的场景。

  检索粒度:根据不同的任务场景和索引类型,研究人员设计了不同的检索粒度(即从图数据中检索的相关知识的形式),可以分为节点、三元组、路径、子图以及混合粒度。

  检索增强技术:为了进一步提高检索质量,研究人员提出了多种检索增强技术,包括:

  ·查询增强:通过查询扩展或查询分解来丰富用户查询的信息,以提高检索结果的相关性。查询扩展旨在通过补充或细化原始查询的额外信息,例如相关术语或概念来改善搜索结果。而查询分解技术将原始用户查询拆分或分解为更小、更具体的子查询。

  ·知识增强:通过知识合并或知识修剪来优化检索结果的质量,以提高生成的响应的准确性。知识合并旨在将检索到的信息进行压缩和汇总,这有助于整合多个来源的相关信息来获得更全面的视角。知识剪枝可以过滤掉较不相关或冗余的检索信息,以精细化结果。

05 图增强生成

  图增强生成是框架的第三阶段,它涉及将检索到的图数据与用户查询相结合,以生成高质量的响应。这一阶段的目标是通过优化生成过程,确保生成的响应与用户的期望一致,并提供丰富的信息。

  生成器:在图增强生成中,选择适当的生成器是至关重要的。研究人员可以根据任务需求和数据类型选择以下类型的生成器。

  ·图神经网络:利用其对图结构数据的表示能力,适用于处理复杂的图结构数据。

  ·语言模型:利用其强大的自然语言理解和生成能力,适用于处理复杂的文本数据。

  ·混合模型:结合GNNs和LMs的优势,适用于处理同时包含图结构数据和文本数据的任务。

  图形式:在图增强生成中,当生成器涉及语言模型时,需要将检索到的图数据转换为生成器可以处理的格式。常见的转换方法包括:

  ·图语言:将图数据转换为文本描述,如使用邻接表/边表、自然语言、类代码形式、语法树或节点序列等。

  ·图嵌入:使用图神经网络将图数据转换为向量表示,以便与文本数据进行联合编码。

  生成增强:为了进一步提高生成质量,研究人员提出了多种生成增强技术,包括:

  ·生成前增强:在生成之前对输入数据或表示进行预处理,以丰富其语义信息。

  ·生成中增强:在生成过程中应用约束或调整策略,以控制生成结果的多样性和质量。

  ·生成后增强:在生成之后对输出结果进行后处理,如集成多个生成结果或应用规则来提高生成结果的准确性。

06 训练

  模型训练在GraphRAG中起着至关重要的作用,因为它直接决定了模型在各种任务上的性能。通过适当的训练策略和数据,可以学习到模型的参数,使其能够更好地理解用户查询、提取相关信息并生成高质量的响应。

  训练策略:GraphRAG中的模型通常包括检索器和生成器。

  对于检索器,常见的训练策略包括:

  ·免训练:使用非参数化检索器或闭源大语言模型检索器,无需对模型进行训练。

  ·训练:训练检索器通常采用自回归的方式,即把先前的关系路径连接到查询的末尾,预测下一个关系。然而,很多数据集并不包含检索内容的真实值。为解决此问题,许多方法尝试基于远程监督构建推理路径,以引导检索器的训练。还有方法利用隐性的中间监督信号来训练检索器。此外,还有一些方法采用自监督的方式对检索器进行预训练。

  对于生成器,常见的训练策略包括:

  ·免训练:使用闭源大语言模型作为生成器,不需要对模型进行额外的训练。

  ·训练:对于大语言模型,可运用SFT进行微调。对于充当生成器的 GNN 或判别模型,采用针对下游任务的专门损失函数来有效训练模型。

  联合训练:对检索器与生成器进行联合训练,利用它们的互补优势来提升下游任务的表现。一些方法将检索器和生成器整合到一个统一的模型中(通常为LLMs)。这种策略借助了统一架构的综合能力,使模型能够在同一个框架下无缝地检索相关信息并生成流畅的回应。还有的方法则是先分别对检索器和生成器进行训练,然后通过联合训练技术对这两个组件进行精细的调整。

07 应用与评测

  下游任务:GraphRAG的下游任务主要包括问答(知识库问答、常识问答)、信息抽取(实体链接、关系抽取)、事实验证、链接预测、对话系统、推荐系统等。

  应用领域:GraphRAG的应用领域主要包括:电商、生物医疗、学术、文献学、法律等。

  基准:用于评估 GraphRAG 系统性能的基准可分为两类。一类是下游任务对应的数据集,另一类是专为GraphRAG设计的基准。

  评测指标:评测GraphRAG系统性能的指标主要分为两个维度。第一个维度是通过下游任务的性能进行评估。第二个维度是对检索得到的图数据质量进行评估。

  工业界的GraphRAG系统:

  ·微软GraphRAG:https://github.com/microsoft/graphrag

  ·蚂蚁GraphRAG:https://github.com/eosphoros-ai/DB-GPT

  ·Neo4j NallM:https://github.com/neo4j/NaLLM

  ·Neo4j LLM Graph Builder:https://github.com/neo4j-labs/llm-graph-builder

  ·NebulaGraph GraphRAG:https://www.nebula-graph.io/posts/graph-RAG

08 未来展望

  尽管GraphRAG在许多领域已经取得了显著成果,但仍然存在一些挑战。因此,本文给出了未来可能的研究方向。

  ·动态和自适应图处理:GraphRAG通常基于静态的图数据库,但现实世界中的图数据是不断变化的。因此,研究如何高效地更新和处理动态图数据是一个重要的研究方向。

  ·多模态信息集成:目前的GraphRAG主要关注文本数据,但现实世界中存在丰富的多模态数据(如图像、音频和视频)。研究如何将多模态数据集成到GraphRAG中,以提供更全面的信息和更丰富的体验是一个有前途的方向。

  ·可扩展和高效的检索机制:随着图数据规模的增长,检索机制的可扩展性和效率变得越来越重要。研究如何设计可扩展和高效的检索机制,以支持大规模图数据的快速检索是一个关键的挑战。

  ·结合图基座模型:图基座模型在处理图数据方面具有出色的性能。研究如何将图基座模型与GraphRAG相结合,以进一步提高其性能和能力是一个有潜力的方向。

  ·无损压缩技术:在GraphRAG中,检索到的信息通常需要转换为序列形式,这可能导致信息的丢失。研究如何设计无损压缩技术,以减少信息丢失并提高生成结果的质量是一个重要的研究方向。

  ·标准化评测基准:目前,GraphRAG缺乏统一的评测基准和方法。研究如何建立标准化的评测基准和方法,以促进GraphRAG的比较和改进是一个重要的方向。

  ·更广泛的应用领域:GraphRAG在许多领域已经取得了成功,但仍然存在许多未开发的领域。研究如何将GraphRAG应用于更多的领域,如健康医疗、金融服务、法律合规等,是一个有前途的方向。

09 总结

  本篇综述提供了对GraphRAG技术的全面回顾,系统地分类和组织了其基本技术、训练方法和应用场景。GraphRAG通过利用从图数据集中提取的关键结构化知识,显著提高了信息检索的相关性、准确性和全面性,从而解决了传统检索增强生成方法的局限性。此外,由于GraphRAG是一个相对新兴的研究领域,我们概述了其应用领域、基准测试、分析了当前的挑战,并阐明了该领域的潜在未来研究方向。

0
相关文章