一起聊聊图检索增强生成

发布于 2024-8-29 16:03
浏览
0收藏

一起聊聊图检索增强生成-AI.x社区图片

一、结论写在前面

论文来自北京大学、浙江大学、蚂蚁集团、中国人民大学、美国罗格斯大学

论文标题:Graph Retrieval-Augmented Generation: A Survey

论文链接:​​https://arxiv.org/pdf/2408.08921​

通过参考外部知识库,RAG 优化了 LLM 输出,有效缓解了“幻觉”、缺乏领域特定知识及信息过时等问题。然而,数据库中不同实体间复杂的关系结构给 RAG 系统带来了挑战。为此,图RAG(GraphRAG)利用实体间的结构信息,实现更精确全面的检索,捕捉关系知识,促进更准确、上下文感知的响应。鉴于图RAG的新颖性和潜力,对其当前技术进行系统性综述势在必行。    

论文首次全面概述了GraphRAG技术进行了全面的回顾,系统地分类和整理了其基本技术、训练方法和应用场景。GraphRAG通过利用从图数据集中提取的关键关系知识,显著提高了信息检索的相关性、准确性和全面性,从而解决了传统增强生成(Retrieval-Augmented Generation)方法的关键局限性。

此外,论文考察了图RAG的下游任务、应用领域、评估方法及工业应用案例。最后,论文探讨了未来研究方向,以激发进一步探索并推动该领域的发展。

论文的贡献可以概括如下:

•论文提供了一份全面且系统的现有最先进GraphRAG方法论综述。论文给出了GraphRAG的正式定义,概述了其包括G-Indexing、G-Retrieval和G-Generation在内的通用工作流程。

•论文讨论了现有GraphRAG系统的基础核心技术,包括G-Indexing、G-Retrieval和G-Generation。对于每个组件,论文分析了当前正在探索的模型选择、方法设计及增强策略的范围。此外,论文还对比了这些模块中采用的多样化的训练方法。

•论文界定了与GraphRAG相关的下游任务、基准测试、应用领域、评估指标、当前挑战及未来研究方向,讨论了该领域的进展与前景。此外,论文还编制了一份现有的工业GraphRAG系统清单,提供了学术研究向现实世界工业解决方案转化的见解。               

二、论文的简单介绍

2.1 论文的背景

一起聊聊图检索增强生成-AI.x社区图片

图 1 直接 LLM、RAG 和 GraphRAG 的比较。给定用户查询,直接由 LLMs 回答可能会遇到浅层响应或缺乏特异性。RAG 通过检索相关文本信息来解决这一问题,一定程度上缓解了问题。然而,由于文本的长度和实体关系的灵活自然语言表达,RAG 难以强调“影响”关系,这是问题的核心。而 GraphRAG 方法利用图数据中明确的实体和关系表示,通过检索相关结构化信息实现精确回答。

尽管大型语言模型(LLMs)在语言理解和文本生成方面表现出色,但由于缺乏领域特定知识、实时更新信息和专有知识,这些知识超出了LLMs的预训练语料库范围,可能导致模型产生所谓的“幻觉”[53],即生成不准确甚至捏造的信息。因此,迫切需要通过外部知识来补充LLMs以缓解这一问题。检索增强生成(Retrieval-Augmented Generation, RAG)作为一种重要的进化,旨在通过在生成过程中集成检索组件来提高生成内容的质量和相关性。

RAG的核心在于其能够动态查询大型文本语料库,将相关事实知识融入底层语言模型生成的响应中。这种集成不仅丰富了响应的上下文深度,还确保了更高程度的事实准确性和具体性。RAG因其卓越的性能和广泛的应用而备受关注,成为该领域的关键焦点。

尽管RAG在各个领域取得了显著成果并得到了广泛应用,但在实际场景中仍存在一些局限性:

(1)忽视关系:在实践中,文本内容并非孤立存在,而是相互关联的。传统RAG未能捕捉到仅凭语义相似性无法表示的重要结构化关系知识。例如,在论文通过引用关系链接的引用网络中,传统RAG方法侧重于根据查询找到相关论文,却忽略了论文之间重要的引用关系。    

(2)冗余信息:RAG在以文本片段形式拼接为提示时,往往重复叙述内容,使得上下文变得过长,导致“中间迷失”困境[94]。

(3)缺乏全局信息:RAG只能检索到传统检索增强生成(RAG)方法通常局限于文档子集,无法全面把握全局信息,因此在如查询聚焦摘要(QFS)等任务中表现不佳。

图检索增强生成(GraphRAG)作为一种创新解决方案应运而生,以应对这些挑战。与传统RAG不同,GraphRAG从预构建的图数据库中检索与给定查询相关的包含关系知识的图元素,如图1所示。这些元素可能包括节点、三元组、路径或子图,用于生成响应。GraphRAG考虑文本之间的相互联系,实现对关系信息更准确全面的检索。此外,图数据(如知识图谱)提供了对文本数据的抽象和总结,从而显著缩短输入文本长度,减轻冗长问题。通过检索子图或图社区,论文可以获取全面信息,有效应对QFS挑战,捕捉图结构中的更广泛上下文和相互联系。

论文首次对GraphRAG进行了系统的综述。具体而言,论文首先介绍了GraphRAG的工作流程及其支撑领域的基本背景知识。随后,论文根据GraphRAG过程的主要阶段,即基于图的索引(G-Indexing)、图引导的检索(G-Retrieval)和图增强的生成(G-Generation),分别进行了文献分类,详细阐述了各阶段的核心技术和训练方法。此外,论文还探讨了GraphRAG的下游任务、应用领域、评估方法及工业应用案例,阐明了GraphRAG在实际环境中的应用情况,并反映了其在多个领域的多功能性和适应性。最后,鉴于GraphRAG研究仍处于初级阶段,论文深入探讨了可能的未来研究方向。这一预测性讨论旨在为即将到来的研究铺平道路,激发新的研究线索,并推动该领域的发展,最终将GraphRAG推向更加成熟和创新的高度。            

一起聊聊图检索增强生成-AI.x社区图片

   

图2. 问答任务中GraphRAC框架的概览。在本调研中,论文将GraphRAG分为三个阶段:G-索引(G-Indexing)、G-检索(G-Retrieval)和G-生成(G-Generation)。论文将检索源分为开源知识图谱和自建图数据。可以采用查询增强和知识增强等多种增强技术来提升结果的相关性。与RAG不同,RAG直接使用检索到的文本来进行生成,而GraphRAG需要将检索到的图信息转换为生成器可接受的格式,以提升任务性能。


2.2 GraphRAG 概述

GraphRAG 是一个利用外部结构化知识图谱来提升 LMs 上下文理解能力并生成更明智响应的框架,如图 2 所示。GraphRAG 的目标是从数据库中检索最相关的知识,从而增强下游任务的答案。该过程可以定义为

一起聊聊图检索增强生成-AI.x社区

其中 a^* 是给定 TAG G的查询 q 的最优答案,A 是可能响应的集合。之后,论文联合建模目标分布 p (a|q, G) 与图检索器 p_phi ( G | q, G) 和答案生成器 p_phi (a|q, G ),其中 theta, phi 是可学习参数,并利用总概率公式分解 p (a|q, G),可以表述为

一起聊聊图检索增强生成-AI.x社区

其中 G^是最优子图。由于候选子图的数量可能随图的大小呈指数增长,因此需要有效的近似方法。因此,方程 4 的第一行通过第二行进行近似。具体而言,图检索器用于提取最优子图 G^,之后生成器基于检索到的子图生成答案。

因此,在本调研中,论文将GraphRAG的整个过程分解为三个主要阶段:基于图的索引(Graph-Based Indexing)、图引导的检索(Graph-Guided Retrieval)和图增强的生成(Graph-Enhanced Generation)。GraphRAG的总体工作流程如图2所示,各阶段的详细介绍如下。

基于图的索引(Graph-Based Indexing,G-Indexing)。基于图的索引构成了GraphRAG的初始阶段,旨在识别或构建一个与下游任务相符的图数据库G,并在其上建立索引。图数据库可以来源于公共知识图谱、图数据,或是基于专有数据源(如文本或其他形式的数据)构建。索引过程通常包括映射节点和边属性、建立节点间连接的指针以及组织数据以支持快速遍历和检索操作。索引决定了后续检索阶段的粒度,对于提高查询效率起着至关重要的作用。

图引导的检索(Graph-Guided Retrieval,G-Retrieval)。在基于图的索引之后,图引导的检索阶段专注于根据用户查询或输入从图数据库中提取相关信息。具体而言,给定一个以自然语言表达的用户查询q,检索阶段旨在提取最相关的元素(例如,实体、三元组、路径、知识图谱的子图),可以形式化为:    

一起聊聊图检索增强生成-AI.x社区

其中G^*是最优检索的图元素,Sim(·, ·)是一个衡量用户查询与图数据之间语义相似度的函数。R (·)表示一个函数,用于缩小子图搜索范围,考虑效率。

图增强生成(G-Generation)。图增强生成阶段涉及基于检索到的图数据合成有意义的输出或响应。这可能包括回答用户查询、生成报告等。在这一阶段,生成器接收查询、检索到的图元素和一个可选提示作为输入,生成响应,可以表示为

一起聊聊图检索增强生成-AI.x社区

其中F (·, ·) 是一个将图数据转换为生成器可处理形式的函数。

2.3 基于图的索引

图数据库的构建和索引构成了GraphRAG的基础,图数据库的质量直接影响到GraphRAG的性能。论文将分类和总结图数据的选择或构建以及所采用的各种索引方法。

2.3.1 图数据

GraphRAG中使用了各种类型的图数据进行检索和生成。在这里,论文根据其来源将这些数据分为两类,包括开放知识图谱和自建图数据。

2.3.1.1开放知识图谱

开放知识图谱指的是从公开可用的资源库或数据库中获取的图数据。使用这些知识图谱可以显著减少开发和维护所需的时间和资源。在本调查中,论文根据其范围进一步将它们分为两类,即通用知识图谱和领域知识图谱。

(1) 通用知识图谱。通用知识图谱主要存储通用、结构化的知识,并且通常依赖于全球社区的集体输入和更新,确保了一个全面且持续更新的信息库。

百科知识图谱是一种典型的通用知识图谱,包含了从人类专家和百科全书中收集的大规模现实世界知识。例如,

•Wikidata [151] 是一个免费开放的知识库,存储了其姊妹项目如Wikipedia、Wikivoyage、Wiktionary等的结构化数据。    

•Freebase [7] 是一个广泛、协作编辑的知识库,从各种来源编译数据,包括个人贡献和来自Wikipedia等数据库的结构化数据。

•DBpedia [2] 通过利用Wikipedia文章中的信息框和类别,表示了数百万实体的信息,包括人物、地点和事物。

•YAGO4 [138] 从Wikipedia、WordNet和GeoNames收集知识。

常识知识图谱是另一种类型的通用知识图谱。它们包括抽象的常识知识,如概念之间的语义关联和事件之间的因果关系。典型的常识知识图谱包括:

•ConceptNet [91] 是一个语义网络,由代表单词或短语的节点组成,通过表示语义关系的边连接。

•ATOMIC [56, 131] 建模了事件之间的因果关系。

(2) 领域知识图谱。特定领域的知识图谱对于增强LLM解决特定领域问题至关重要。这些KG在特定领域提供专业知识,帮助模型获得更深入的洞察力和对复杂专业关系的更全面理解

•在生物医学领域,CMeKG包含广泛的数据,包括疾病、症状、治疗、药物以及医学概念之间的关系。

•CPubMed-KG是一个中文医学知识数据库,建立在PubMed丰富的生物医学文献库之上。在电影领域,

•Wiki-Movies [110] 从与电影相关的Wikipedia文章中提取结构化信息,将电影、演员、导演、类型和其他相关细节编译成结构化格式。

•此外,Jin等人 [66] 构建了一个名为GR-Bench的数据集,包括跨越学术、电子商务、文学、医疗保健和法律领域的五个领域知识图谱。

•此外,He等人 [47] 将ExplaGraphs和SceneGraphs的三元组格式和JSON文件转换为标准图格式,并从WebQSP中选择需要2跳推理的问题,创建了用于评估GraphRAG系统的通用图格式数据集GraphQA。

2.3.1.2 自构建图数据

自构建图数据有助于将专有或领域特定知识定制化和集成到检索过程中。对于原本不涉及图数据的下游任务,研究人员常提出从多个来源(如文档、表格和其他数据库)构建图,并利用GraphRAG提升任务性能。一般而言,这些自构建图紧密关联于方法的特定设计,与前述的开放领域图数据有所区别。

•为了模拟文档间的结构关系,Munikoti等人[113]提出构建一个异构文档图,捕捉多种文档级关系,包括共引、共主题、共会议等。

•Li等人[87]和王等人[160]根据共享关键词建立段落间的关系。

•为捕捉文档中实体间的关系,Delile等人[20]、Edge等人[25]、Gutierrez等人[43]和李等人[80]利用命名实体识别工具从文档中提取实体,并使用语言模型进一步提取实体间的关系,提取的实体和关系随后形成知识图谱。    

•还有一些针对下游任务的映射方法需要根据任务本身的特性进行设计。例如,为了解决专利短语相似性推理任务,Peng和Yang[122]将专利数据库转换为专利-短语图。若短语出现在专利中,则建立专利节点与短语节点间的连接,而专利节点间的连接则基于引用关系。

•针对客户服务技术支持场景,Xu等人[169]提出将历史问题建模为KG,将问题转化为树形表示以维护问题内部关系,并利用语义相似度和阈值保留问题间关系。

2.3.2 索引

基于图的索引在提高图数据库查询操作的效率和速度方面发挥着关键作用,直接影响后续检索方法和粒度。常见的基于图的索引方法包括图索引、文本索引和向量索引。

2.3.2.1 图索引

图索引是最常用的方法,保留了图的完整结构。该方法确保对于任何给定节点,其所有边和相邻节点都能轻松访问。在后续检索阶段,可以使用诸如BFS和最短路径算法等经典图搜索算法来促进检索任务。

2.3.2.2 文本索引

文本索引涉及将图数据转换为文本描述以优化检索过程。这些描述存储在文本语料库中,可以应用各种基于文本的检索技术,如稀疏检索和密集检索。一些方法使用预定义规则或模板将知识图转换为人类可读的文本。例如,

•Li等人[81]、Huang等人[55]和Li等人[86]使用预定义模板将知识图中的每个三元组转换为自然语言,

•而Yu等人[179]将具有相同头实体的三元组合并为段落。

•此外,一些方法将子图级信息转换为文本描述。例如,Edge 等人 [25] 在图上执行社区检测,并使用大型语言模型(LLMs)为每个社区生成摘要。

一起聊聊图检索增强生成-AI.x社区

图 3. 基于图的检索的通用架构。    

2.3.2.3 向量索引

向量索引将图数据转换为向量表示,以提高检索效率,便于快速检索和有效查询处理。例如:

•实体链接可以通过查询嵌入无缝应用,并且可以利用局部敏感哈希(LSH)等高效向量搜索算法。

•G-Retriever [47] 使用语言模型对图中的每个节点和边的文本信息进行编码,

•而 GRAG [50] 使用语言模型将 k 跳自我网络转换为图嵌入,从而更好地保留结构信息。

备注。这三种索引方法各有不同的优势:图索引便于访问结构信息,文本索引简化了文本内容的检索,向量索引实现了快速高效的搜索。因此,在实际应用中,通常倾向于采用结合这些索引方法的混合方法,而不是仅依赖一种。

2.4 图引导检索

在 GraphRAG 中,检索过程对于确保生成输出的质量和相关性至关重要,它通过从外部图数据库中提取相关且高质量的图数据来实现。然而,检索图数据面临两大挑战:

(1)候选子图爆炸:随着图规模增大,候选子图数量呈指数级增长,需要启发式搜索算法来高效探索和检索相关子图。

(2)相似度测量不足:准确测量文本查询与图数据之间的相似度需要开发能够理解文本和结构信息的算法。

论文专注于研究 GraphRAG 中检索过程的各个方面,包括检索器的选择、检索范式、检索粒度以及有效的增强技术。图引导检索的通用架构如图 3 所示。

2.4.1 检索器

在GraphRAG中,各种检索器针对检索任务的不同方面具有独特的优势。论文根据其底层模型将检索器分为三种类型:非参数检索器、基于语言模型的检索器和基于图神经网络的检索器。需要注意的是,用于预处理步骤的模型,如查询编码和实体链接,在此不作考虑,因为这些模型在不同方法中有所不同,并非本文的主要关注点。

2.4.1.1 非参数检索器

非参数检索器基于启发式规则或传统的图搜索算法,不依赖深度学习模型,从而实现高效的检索。例如,

•Yasunaga等人[175]和Taunk等人[146]检索包含每个问题-选项对主题实体的k跳路径。

•G-Retriever[47]通过引入边价格并优化相关子图提取,改进了传统的奖赏收集斯坦纳树(PCST)算法。    

•Delile等人[20]和Mavromatis与Karypis[108]首先提取查询中提到的实体,然后检索与这些实体相关的最短路径。这些方法通常涉及一个实体链接预处理步骤,以在检索前识别图中的节点。

2.4.1.2 基于语言模型的检索器(LM-based Retriever)

由于具备强大的自然语言理解能力,语言模型在GraphRAG中作为有效的检索器。这些模型擅长处理和解释多样化的自然语言查询,使其在基于图框架的广泛检索任务中表现出色。论文主要将语言模型分为两种类型:判别式和生成式语言模型。

•子图检索器[181]训练RoBERTa[97]作为检索器,该检索器从主题实体扩展并按顺序决策过程中检索相关路径。

•KG-GPT[71]采用大型语言模型(LLMs)生成特定实体的前K个相关关系集合。

•Wold等人[164]利用微调的GPT-2生成推理路径。

•StructGPT[58]利用LLMs自动调用多个预定义函数,通过这些函数可以检索并组合相关信息以辅助进一步推理。

2.4.1.3 基于图神经网络的检索器(GNN-based Retriever)

图神经网络(GNNs)擅长理解和利用复杂的图结构。基于GNN的检索器通常先对图数据进行编码,然后根据与查询的相似度对不同的检索粒度进行评分。例如,

•GNN-RAG[108]首先对图进行编码,为每个实体分配一个分数,并根据阈值检索与查询相关的实体

•EtD[90]通过多次迭代来检索相关路径。在每次迭代中,它首先使用LLaMA2[148]选择连接当前节点的边,然后利用GNNs获取新一层节点的嵌入,为下一轮的LLM选择做准备。

备注。在检索过程中,非参数检索器表现出良好的检索效率,但由于缺乏对下游任务的训练,可能会遭受检索不准确的困扰。同时,尽管基于语言模型的检索器和基于图神经网络的检索器提供了更高的检索准确性,但它们需要大量的计算开销。考虑到这种互补性,许多方法提出了混合检索方法,以提高检索效率和准确性。许多方法采用多阶段检索策略,在每个阶段使用不同的模型。例如,RoG [102] 首先利用大型语言模型生成规划路径,然后从知识图中提取满足这些规划路径的路径。GenTKGQA [36] 使用大型语言模型从查询中推断关键关系和约束,并根据这些约束提取三元组。

2.4.2 检索范式

在GraphRAG中,不同的检索范式,包括一次性检索、迭代检索和多阶段检索,对于提高检索信息的相关性和深度起着至关重要的作用。一次性检索旨在通过一次操作收集所有相关信息。迭代检索基于先前检索的信息进行进一步搜索,逐步缩小到最相关的结果。在这里,论文将迭代检索进一步分为自适应检索和非自适应检索,唯一的区别在于检索的停止是否由模型决定。另一种检索范式是多阶段检索,其中检索被分为多个阶段。在每个阶段可能使用不同类型的检索器,以获得更精确和多样化的搜索结果。下面,论文将详细介绍这些类型的检索范式。    

2.4.2.1 一次检索

一次检索旨在通过单次查询检索所有相关信息。一类方法[43, 50, 81]利用嵌入相似性来检索最相关的信息片段。另一类方法设计预定义规则或模式,直接从图数据库中提取特定的结构化信息,如三元组、路径或子图。例如,G-Retriever [47]利用扩展的PCST算法检索最相关的子图。KagNet [88]提取长度不超过k的所有主题实体对之间的路径。Yasunaga等人[175]和Taunk等人[146]提取包含所有主题实体及其2跳邻居的子图。

此外,论文还包含了一些涉及解耦和独立检索的多重检索方法,这些方法可以并行计算并仅执行一次。例如,Luo等人[102]和Cheng等人[16]首先指示LLMs生成多条推理路径,然后使用BFS检索器在知识图中依次搜索与每条路径匹配的子图。KG-GPT [71]将原始查询分解为多个子查询,在一次检索过程中为每个子查询检索相关信息。

2.4.2.2 迭代检索

在迭代检索中,采用多次检索步骤,后续搜索依赖于先前检索的结果。这些方法旨在通过连续迭代加深对检索信息理解或完整性的提升。在本调查中,论文将迭代检索进一步分类为两类:(1)非自适应检索和(2)自适应检索。论文将在下面详细总结这两类方法。

(1) 非自适应检索。非自适应方法通常遵循固定的检索序列,检索的终止由设置的最大时间或阈值决定。例如,PullNet [139] 通过 T 次迭代检索问题相关子图。在每次迭代中,论文设计了一种检索规则来选择检索实体的子集,然后通过在知识图中搜索相关边来扩展这些实体。在每次迭代中,KGP [160] 首先根据上下文与图中节点的相似性选择种子节点。然后使用大型语言模型(LLMs)总结和更新种子节点的邻近节点的上下文,这些上下文在后续迭代中被利用。

(2) 自适应检索。自适应检索的一个显著特点是让模型自主决定完成检索活动的最佳时刻。例如,[42, 168] 利用语言模型(LM)进行跳数预测,作为结束检索的指示器。还有一组研究人员使用模型生成的特殊标记或文本来作为检索过程的终止信号。例如,ToG [142] 提示 LLM 代理探索多个可能的推理路径,直到 LLM 根据当前推理路径确定问题可以被回答。[181] 训练了一个 RoBERTa 来从每个主题实体扩展路径。在这个过程中,引入了一个名为 "[END]" 的虚拟关系来终止检索过程。

另一种常见的方法是将大型模型视为代理,使其能够直接生成问题的答案来信号结束迭代。例如,[58, 60, 66, 143, 158] 提出了基于 LLM 的代理在图上进行推理。这些代理可以自主决定检索的信息,调用预定义的检索工具,并根据检索到的信息终止检索过程。    

2.4.2.3 多阶段检索

多阶段检索将检索过程线性划分为多个阶段,在这些阶段之间进行诸如检索增强等额外步骤,甚至包括生成过程。在多阶段检索中,不同的阶段可能采用不同类型的检索器,这使得系统能够结合针对查询不同方面的各种检索技术。例如,

•Wang et al. [159] 首先使用非参数检索器提取查询推理链中实体的 n 跳路径,然后在修剪阶段之后,进一步检索修剪子图中实体的一跳邻居。

•OpenCSR [45] 将检索过程分为两个阶段。在第一阶段,它检索主题实体的所有一跳邻居。在第二阶段,它比较这些邻居节点与其他节点的相似性,选择相似性最高的 top-k 节点进行检索。

•GNN-RAG [108] 首先使用 GNNs 检索最有可能成为答案的 top-k 节点。随后,它检索查询实体与答案实体之间的所有最短路径。

备注。在GraphRAG中,一旦检索通常表现出较低的复杂度和较短的响应时间,这使其适合需要实时响应的场景。相比之下,迭代检索往往涉及更高的时间复杂度,特别是在使用LLM作为检索器时,可能会导致较长的处理时间。然而,这种方法通过迭代细化检索到的信息并生成响应,可以产生更高的检索准确性。因此,检索范式的选择应根据具体用例和需求平衡准确性和时间复杂度。

2.4.3 检索粒度

根据不同的任务场景和索引类型,研究人员设计了不同的检索粒度(即从图数据中检索相关知识的形式),可分为节点、三元组、路径和子图。每种检索粒度都有其自身的优势,适用于不同的实际场景。论文将在以下章节中介绍这些粒度的详细信息。

2.4.3.1 节点

节点允许针对图中的单个元素进行精确检索,非常适合目标查询和特定信息提取。通常,对于知识图谱,节点指的是实体。对于其他类型的文本属性图,节点可能包括描述节点属性的文本信息。通过检索图中的节点,GraphRAG系统可以提供关于其属性、关系和上下文的详细见解。例如,Munikoti等人[113]、Li等人[87]和王等人[160]构建文档图并检索相关的段落节点。Liu等人[90]、Sun等人[139]和Gutierrez等人[43]从构建的知识图谱中检索实体。

2.4.3.2 三元组

通常,三元组由实体及其关系以主语-谓语-宾语元组的形式构成,提供了图内关系数据的结构化表示。三元组的结构化格式使得数据检索清晰有序,这在理解实体间关系和上下文相关性至关重要的场景中具有优势。Yang等人[171]检索包含主题实体的三元组作为相关信息。Huang等人[55]、Li等人[81]和Li等人[86]首先将图数据的每个三元组使用预定义模板转换为文本句子,随后采用文本检索器提取相关三元组。然而,直接从图数据中检索三元组可能仍缺乏上下文的广度和深度,因此无法捕捉间接关系或推理链条。为解决这一挑战,Wang等人[152]提出基于原始问题生成逻辑链条,并检索每个逻辑链条的相关三元组。    

2.4.3.3 路径

路径粒度数据的检索可以视为捕捉实体间关系的序列,增强上下文理解和推理能力。在GraphRAG中,检索路径因其能够捕捉图内复杂关系和上下文依赖性而具有明显优势。

然而,路径检索可能颇具挑战性,因为随着图规模的增长,可能的路径数量呈指数级增长,这加剧了计算复杂性。为解决这一问题,一些方法依据预定义规则检索相关路径。例如,

•Wang等人[159]与Lo和Lim[98]首先在查询中选取实体对,然后遍历以找出它们之间的所有n跳路径。

•HyKGE[64]首先定义了三种路径类型:路径、共同祖先链和共现链,随后利用相应规则检索这三种路径。此外,一些方法利用模型在图上执行路径搜索。

•ToG[142]提出引导LLM代理在KGs上执行波束搜索,并找出有助于回答问题的多条可能推理路径。Luo等人[102]、

•Wu等人[168]以及Guo等人[42]首先利用模型生成可信的推理计划,然后基于这些计划检索相关路径。

•GNN-RAG[108]首先识别问题中的实体,随后提取满足特定长度关系的实体间所有路径。

2.4.3.4 子图检索

子图检索因其能够捕获图内全面的关系上下文而具有显著优势。这种粒度使得GraphRAG能够提取并分析嵌入在更大结构中的复杂模式、序列和依赖关系,从而促进更深层次的洞察和对语义联系的更细致理解。

为了确保信息完整性和检索效率,一些方法提出了一种基于规则的初步方法来检索候选子图,这些子图随后会进行进一步的细化或处理。Peng和Yang [122] 从自建的专利短语图中检索专利短语的自我图(ego graph)。

Yasunaga等人 [175]、Feng等人 [32] 和Taunk等人 [146] 首先选择主题实体及其两跳邻居作为节点集,然后选择头尾实体均在节点集中的边来形成子图。此外,还有一些基于嵌入的子图检索方法。例如,Hu等人 [50] 首先对图数据库中的所有 k 跳自我网络进行编码,然后根据嵌入之间的相似性检索与查询相关的子图。Wen等人 [163] 和Li等人 [80] 基于预定义规则提取两种类型的图,包括路径证据子图和邻居证据子图。OpenCSR [45] 从一个初始的种子节点开始,逐步扩展到新节点,最终形成一个子图。

除了上述直接检索子图的方法外,一些工作提出了先检索相关路径,然后从这些路径构建相关子图的方法。例如,Zhang等人 [181] 训练了一个RoBERTa模型,通过序列决策过程识别多条推理路径,随后将不同路径中的相同实体合并,以诱导出一个最终的子图。    

2.4.3.5混合粒度检索

考虑到上述各种检索粒度的优缺点,一些研究者提出使用混合粒度,即从图数据中检索多个粒度的相关信息。这种粒度增强了系统捕捉细节关系和广泛上下文理解的能力,从而减少了噪声并提高了检索数据的相关性。先前的工作提出了利用大型语言模型(LLM)代理来检索复杂的混合信息。Jin等人[66]、Jiang等人[58]、Jiang等人[60]、Wang等人[158]和Sun等人[143]提出采用基于LLM的代理,以自适应地选择节点、三元组、路径和子图。

备注:(1)在实际应用中,这些检索粒度之间没有明确的界限,因为子图可以由多个路径组成,路径可以由几个三元组形成。(2)节点、三元组、路径和子图等各种粒度在GraphRAG过程中提供了不同的优势。根据任务的具体上下文,在选择粒度时平衡检索内容和效率至关重要。对于简单的查询或当效率至关重要时,较细粒度如实体或三元组可能更受欢迎,以优化检索速度和相关性。相反,复杂场景通常受益于结合多种粒度的混合方法。这种方法确保了对图结构和关系的更全面理解,增强了生成响应的深度和准确性。因此,GraphRAG在粒度选择上的灵活性使其能够有效地适应不同领域的多样化信息检索需求。

2.4.4检索增强

为了确保高质量的检索,研究者提出了增强用户查询和检索知识的技术。在本文中,论文将查询增强分为查询扩展和查询分解,将知识增强分为合并和修剪。这些策略共同优化了检索过程。尽管其他技术如查询重写在RAG中常用,但在GraphRAG中应用较少。论文不深入探讨这些方法,尽管它们有可能适应GraphRAG。

2.4.4.1 查询增强

应用于查询的策略通常涉及预处理技术,以丰富信息以便更好地检索。这可能包括查询扩展和查询分解。

(1) 查询扩展。由于查询通常长度较短且信息内容有限,查询扩展旨在通过补充或细化原始查询与额外的相关术语或概念来改进搜索结果。Luo等人[102]利用大型语言模型(LLMs)生成基于知识图谱(KGs)的关系路径来增强检索查询。Cheng等人[16]采用SPARQL从Wikidata获取查询实体的所有别名,以扩充捕捉同一实体词汇变体的检索查询。Huang等人[55]提出了一种共识视图知识检索方法,以提高检索准确性,该方法首先发现语义相关的查询,然后重新加权原始查询项以增强检索性能。HyKGE[64]利用大型模型生成问题的假设输出,将假设输出与查询串联作为检索器的输入。

(2) 查询分解。查询分解技术将原始用户查询分解成更小、更具体的子查询。每个子查询通常关注原始查询的特定方面或组件,成功缓解了语言查询的复杂性和歧义性。例如,[18, 71]将主要问题分解成子句子,每个子句子代表一个不同的关系,并依次为每个子句子检索相关三元组。    

2.4.4.2 知识增强

在检索初始结果之后,采用知识增强策略来精炼和改进检索器的结果。这一阶段通常涉及知识合并和知识修剪过程,以突出显示最相关的信息。这些技术旨在确保最终检索结果集不仅全面,而且高度符合用户的信息需求。

(1) 知识融合。知识融合检索到的信息能够实现信息的压缩和聚合,有助于通过整合获得更全面的视角,从多个来源获取相关细节。这种方法不仅增强了信息的完整性和连贯性,还缓解了模型中输入长度限制的问题。KnowledgeNavigator [42] 通过三元组聚合合并节点并压缩检索到的子图,以提高推理效率。在子图检索 [181] 中,研究人员从每个主题实体检索前k条路径形成单个子图后,提出合并不同子图中相同的实体以形成最终子图。Wen等人 [163] 和Li等人 [80] 基于关系合并检索到的子图,将满足相同关系的首尾实体合并为两个不同的实体集,最终形成关系路径。

一起聊聊图检索增强生成-AI.x社区

图4. 图增强生成的概览。

(2) 知识剪枝。知识剪枝涉及过滤掉较少相关或冗余的检索信息以精炼结果。先前的剪枝方法主要包括两类:基于(再)排序的方法和基于大型语言模型(LLM)的方法。基于(再)排序的方法涉及使用定制的指标或标准对检索信息进行重新排序或优先级排序。一种方法引入了更强的模型进行再排序。例如,

•Li等人 [81] 将每个检索到的三元组与问题-选项对连接,并采用预训练的交叉编码器 [129] 对检索到的三元组进行再排序。

•Jiang等人 [64] 使用FlagEmbedding对文本进行编码,以重新排序由嵌入模型“bge reranker large”返回的前k个文档。

另一类方法利用查询与检索信息之间的相似性进行排序。例如,

•Cheng等人[16]根据子图与查询之间在关系和细粒度概念上的相似性对候选子图进行重新排序。

•Taunk等人[146]首先对2跳邻居进行聚类,然后删除与输入查询相似度最低的聚类。

•Yasunaga等人[175]根据预训练语言模型计算的问题上下文与知识图谱实体节点之间的相关性分数对检索到的子图进行修剪。

•Wang等人[159]、Jiang等人[61]、Gutierrez等人[43]和Luo等人[100]采用个性化PageRank算法对检索到的候选信息进行排序,以便进一步过滤。    

•G-G-E[35]首先将检索到的子图划分为若干较小的子图,然后比较每个较小子图与查询的相似性。删除相似度低的子图,并将剩余的较小子图合并成一个较大的子图。

此外,第三类方法提出了新的度量标准用于重新排序。例如,Murnikoti等人[113]提出了一种度量标准,既能衡量检索文本块的影响力,又能衡量其时效性。KagNetr将检索到的路径分解为三元组,并根据知识图谱嵌入(KGE)技术测量的置信度分数对路径进行重新排序。基于大型语言模型(LLM)的方法擅长捕捉复杂的语言模式和语义细微差别,这增强了它们对搜索结果进行排序或生成响应的准确性。为了避免引入噪声信息,Wang等人[159]和Kim等人[71]提出通过调用LLM来检查并修剪无关的图数据。

2.5图增强生成

生成阶段是GraphRAG中另一个关键步骤,旨在将检索到的图数据与查询相结合,以提高响应质量。在这一阶段,必须根据下游任务选择合适的生成模型。然后将检索到的图数据转换为与生成器兼容的格式。生成器将查询和转换后的图数据作为输入,产生最终响应。除了这些基本过程外,生成增强技术可以通过加强查询与图数据之间的交互并丰富内容生成本身,进一步提高输出质量。本节内容的组织结构和图增强生成的概览如图4所示。

2.5.1 生成器

生成器的选择往往取决于当前面临的下游任务类型。对于判别式任务(例如多选题问答)或可以表述为判别式任务的生成式任务(如知识库问答KBQA),可以利用图神经网络(GNNs)或判别式语言模型来学习数据的表示。这些表示随后可以映射到与不同答案选项相关联的logits,以提供响应。或者,生成式语言模型可以直接用于生成答案。然而,对于生成式任务,仅使用GNNs和判别式语言模型是不够的。这类任务需要生成文本,这要求部署解码器。

2.5.1.1 GNNs

由于GNNs在图数据表示能力上的强大,它们特别适用于判别式任务。GNNs能够直接编码图数据,捕捉图结构中复杂的关联和节点特征。这种编码随后通过多层感知器(MLP)处理以生成预测结果。这些方法主要采用经典的GNN模型(例如,GCN [ 7 4 ]、GAT [150]、GraphSAGE [ 4 4 ] 和 Graph Transformers [135]),无论是原始形式还是经过修改以更好地适配下游任务。例如,Sun等人 [140] 在消息传递过程中计算相邻节点的PageRank分数,并按这些分数加权聚合它们,这种方法增强了中心节点从其最相关的相邻节点吸收信息的能力。Mavromatis和Karypis [107] 将查询解码为多个向量(指令),并通过模拟广度优先搜索(BFS)与GNNs来改进指令执行,以及使用自适应推理结合知识图谱感知信息来更新指令,从而增强指令解码和执行的有效性。

2.5.1.2 语言模型(LMs)

LMs在文本理解方面具有强大的能力,这也使它们能够作为生成器发挥作用。在将LMs与图数据结合的背景下,首先需要将检索到的图数据转换为特定的图格式。这一转换过程确保了结构化信息能被LMs有效理解和利用。这些格式将在第7.2节中详细阐述,对于保持图数据的关联性和层次结构至关重要,从而增强了模型解释复杂数据类型的能力。一旦图数据格式化,它就会与查询结合并输入到一个LM中。    

对于仅编码器模型,如BERT [22] 和RoBERTa [97],它们主要用于判别任务。与GNNs类似,这些模型首先对输入文本进行编码,然后利用MLPs将其映射到答案空间[55, 61, 81]。另一方面,编码器-解码器和仅解码器模型,如T5 [127]、GPT-4 [116] 和LLaMA [24],擅长于判别和生成任务。这些模型在文本理解、生成和推理方面表现出色,能够直接处理文本输入并生成文本响应。

2.5.1.3 混合模型

考虑到GNNs在表示图数据结构方面的优势,以及LMs在文本理解方面表现出的强大能力,许多研究正在探索这两种技术的结合,以生成连贯的响应。本文将混合生成方法分为两种不同类型:级联范式和平行范式。

(1) 级联范式。在级联方法中,过程涉及顺序交互,其中一个模型的输出作为下一个模型的输入。具体而言,GNN首先处理图数据,将其结构和关系信息封装成LM能够理解的形式。随后,这种转换后的数据被输入到LM中,进而生成最终的基于文本的响应。这些方法以分步方式利用每个模型的优势,确保对结构和文本数据都进行细致的关注。

在这些方法中,提示调优[79, 82, 95, 96]是一种典型方法,其中GNN通常用于编码检索到的图数据。这种编码后的图数据随后作为前缀添加到LM的输入文本嵌入中。然后通过下游任务优化GNN,以产生增强的图数据编码[36, 47, 50, 182]。

(2) 并行范式。另一方面,并行方法通过同时利用GNN和LLM的能力来操作。在这种设置下,两个模型同时接收初始输入,并协同处理相同数据的不同方面。然后通过另一个模型或一组规则合并输出,以生成统一的响应,该响应整合了图形结构和文本内容的见解。

在并行范式中,典型方法包括分别使用GNN和LM对输入进行编码,然后整合这两种表示,或直接整合它们的输出响应。例如,Jiang等人[59]通过加权求和聚合GNN和LM的预测以获得最终答案。Lin等人[88]和Pahuja等人[118]利用注意力机制整合GNN导出的图表示和LM生成的文本表示。Yasunaga等人[175]、Munikoti等人[113]和Taunk等人[146]直接将图表示与文本表示连接起来。

另一种方法涉及设计专用模块,将GNN与LM集成,使生成的表示能够封装结构和文本信息。例如,Zhang等人[184]引入了一个名为GreaseLM层的模块,该模块结合了GNN和LM层。在每一层,该模块通过两层MLP整合文本和图表示,然后将它们传递到下一层。类似地,ENGINE[189]提出了G-Ladders,通过侧结构结合LM和GNN,增强节点表示以用于下游任务。

备注。利用GNN对图数据的表示能力和LM对文本数据的表示能力的混合模型具有广阔的应用前景。然而,有效整合这两种模态的信息仍然是一个重大挑战。

2.5.2 图格式

在使用GNN作为生成器时,可以直接编码图数据。然而,当使用LM作为生成器时,图数据的非欧几里得特性构成了挑战,因为它不能直接与文本数据结合作为LM的输入。为此,采用图翻译器将图数据转换为与LM兼容的格式。这种转换增强了LM的生成能力,使其能够有效处理和利用结构化图信息。在本调查中,论文总结了两种不同的图格式:图语言和图嵌入。论文通过图5中的示例说明这一过程,详细介绍如下。    

一起聊聊图检索增强生成-AI.x社区

图 5. 图语言的图示。给定左侧部分的检索子图,论文展示了如何将其转换为邻接/边表、自然语言、节点序列、类似代码的形式和语法树,以适应不同生成器的输入形式要求。

2.5.2.1 图语言

图描述语言是一种专门设计的规范化符号系统,用于表征和表示图数据。它规定了一个统一的语法和语义框架,描述了图中的组件及其相互连接。通过这些语言,用户可以以机器可理解的形式一致地生成、操作和解释图数据。它们支持图架构的定义、节点和边的属性的指定以及对图结构的操作和查询的实现。接下来,论文将分别介绍五种类型的图语言:邻接/边表、自然语言、代码、语法树和节点序列。

(1) 邻接/边表。邻接表和边表是广泛用于描述图结构的两种方法[30, 41, 85, 153]。邻接表列举了每个顶点的直接邻居,提供了一种紧凑的方式来表示稀疏图中的连接。例如,KG-GPT[71]将检索到的子图中的三元组线性化,然后拼接并输入到大型语言模型中。相反,边表详细列出了图中的所有边,提供了一种直接的表示方式,特别适用于以线性格式处理和分析图。这两种方法简明、易于理解和直观。

(2) 自然语言。鉴于用户查询通常以自然语言形式呈现,并考虑到大模型(LMs)在自然语言理解方面的卓越能力,使用自然语言描述检索到的图数据成为一种引人注目的方法。通过将图数据转换为描述性、易于理解的语言,LMs能够弥合原始数据表示与用户友好信息之间的差距,促进与数据驱动应用更有效的交互。例如,一些研究者[55, 81]提出为每种类型的边预定义一个自然语言模板,然后根据边的类型将每条边的端点填入相应的模板中。Ye等人[176]采用自然语言描述中心节点的1跳和2跳邻近节点的信息。Edge等人[25]利用大语言模型(LLMs)为每个检测到的图社区生成类似报告的总结。Wu等人[168]和Guo等人[42]采用LMs重写检索到的子图的边表,生成自然语言描述。Fatemi等人[30]探索了节点的不同表示形式(例如整数编码、字母表字母、名称等)和边的不同表示形式(例如括号、箭头、关联等)。Jin等人[66],Jiang等人[58],Jiang等人[60],Wang等人[158]和Sun等人[143]通过自然语言对话的形式,将图内不同粒度的信息整合到提示中。    

(3) 类代码形式。考虑到自然语言描述和其他一维序列本质上不足以直接表示图数据的二维结构,并且鉴于语言模型强大的代码理解能力,许多研究人员[41]探索使用类代码格式来表示图结构。例如,Guo等人[41]研究了使用图形建模语言(GML)[48]和图形标记语言(GraphML)[130]来表示图。这些标准化语言专门设计用于图数据,提供了包括节点、边及其相互关系在内的全面描述。

(4) 语法树。与直接扁平化图相比,一些研究[186]提出将图转换为类似语法树的结构。语法树具有层次结构,并且作为拓扑图,也保持了拓扑顺序。这种方法保留了更多的结构信息,增强了图的内在属性的理解和分析。这种转换不仅保留了不同图元素之间的关联动态,而且促进了更复杂的图分析和处理算法。GRAPHTEXT[186]提出将中心节点的自我网络\mathrm{o f}转换为图-语法树格式。这种格式不仅封装了结构信息,还集成了节点的特征。通过遍历这个语法树,可以获得一个既保持拓扑顺序又保持层次结构的节点序列。

(5) 节点序列。一些研究[14, 108]提出通过节点序列来表示图,这些序列通常使用预定义规则生成。与自然语言描述相比,这些节点序列更为简洁,并融入了先验知识,特别是规则所强调的结构信息。Luo et al. [102]和Sun et al. [142]将检索到的路径转换为节点序列,并输入到大型语言模型(LLM)中以提升任务性能。LLaGA[14]提出了两种模板,可将图转换为节点序列。第一种模板称为邻域细节模板,提供对中心节点及其周边的详细考察。第二种称为跳跃场概览模板,提供节点邻域的概括视角,可扩展至更广泛的区域。GNN-RAG[108]以节点序列形式将检索到的推理路径输入到语言模型(LM)中作为提示。

备注:优秀的图语言应具备完整性、简洁性和可理解性。完整性意味着捕捉图结构中的所有关键信息,确保无重要细节遗漏。简洁性指保持文本描述简短,以避免“中间迷失”现象或超出语言模型的长度限制。过长的输入会阻碍语言模型的处理能力,可能导致上下文丢失或数据解释被截断。可理解性确保所用语言易于被大型语言模型(LLM)理解,便于准确表示图的结构。由于不同图语言的特性,它们的选择会显著影响下游任务的性能[30]。

2.5.2.2 图嵌入

上述图语言方法将图数据转换为文本序列,这可能导致上下文过长,产生高计算成本,并可能超出LLMs的处理极限。此外,即使使用图语言,LLMs目前也难以完全理解图结构[41]。因此,使用图神经网络(GNNs)将图表示为嵌入向量提供了一种有前景的替代方案。核心挑战在于将图嵌入与文本表示整合到一个统一的语义空间中。当前研究主要集中在利用提示调优方法,如前所述。值得注意的是,将图表示输入到语言模型(LMs)中主要适用于开源LMs,而非像GPT-4[116]这样的闭源模型。尽管图嵌入方法避免了处理长文本输入,但它们面临其他挑战,如难以保留特定实体名称等精确信息和泛化能力差。    

2.5.3 生成增强

在生成阶段,除了将检索到的图数据转换为生成器可接受的格式,并与查询一起输入以生成最终响应外,许多研究人员探索了各种生成增强技术以提高输出响应的质量。这些方法可以根据其应用阶段分为三类:生成前增强、生成中增强和生成后增强。

2.5.3.1 生成前增强

生成前增强技术侧重于在将数据或表示输入生成器之前提高其质量。实际上,生成前增强与检索之间没有明确的界限。在本调查中,论文将检索阶段视为从原始图中检索知识,并进行知识合并和修剪的过程。后续操作被视为生成前增强。

常见的预生成增强方法主要涉及对检索到的图数据进行语义丰富,以实现图数据与文本查询之间更紧密的整合。

•Wu等人[168]利用大型语言模型(LLMs)重写检索到的图数据,增强转换后的自然语言输出的自然度和语义丰富性。这种方法不仅确保图数据被转换为更流畅和自然的语言,还丰富了其语义内容。相反,DALK 80利用检索到的图数据重写查询。

•Cheng等人[16]首先利用LLMs生成推理计划,并根据该计划回答查询。

•Taunk等人[146]和Yasunaga等人[175]旨在通过使GNNs能够学习与查询相关的图表示来增强GNNs。他们通过从QA对(或QA对本身)中提取所有名词,并将它们作为节点插入检索到的子图中来实现这一点。

•Mavromatis和Karypis[107]提出了一种方法,在生成之前,将查询的表示分解为多个称为“指令”的向量,每个向量代表查询的不同特征。这些指令在应用GNNs从检索到的子图中学习时,作为消息传递的条件。

•此外,还有一些方法结合了图数据之外的额外信息。例如,PullNet[139]结合了与实体相关的文档,而MVP-Tuning[55]则检索了其他相关问题。

2.5.3.2 生成过程中的增强技术

生成过程中的增强技术涉及在生成过程中应用的方法。这些方法通常根据中间结果或上下文线索调整生成策略。TIARA [136] 引入了受限解码以控制输出空间并减少生成错误。在生成逻辑形式时,如果受限解码器检测到当前正在生成模式项,它会将下一个生成的令牌限制为存在于包含KB类和关系的tries中的选项。与Beam Search相比,这种方法确保生成的模式项必定存在于知识图中,从而减少生成错误。还有其他方法调整LLM的提示以实现多步骤推理。例如,MindMap [163] 不仅生成答案,还生成推理过程。

2.5.3.3生成后的增强技术

生成后的增强技术发生在初始响应生成之后。生成后的增强方法主要涉及整合多个生成的响应以获得最终响应。一些方法侧重于整合来自同一生成器在不同条件或输入下的输出。例如,    

•Edge et al. [25] 为每个图社区生成摘要,然后基于摘要生成查询的响应,并使用LLM对这些响应进行评分。最终,响应按分数降序排列,并依次纳入提示中,直到达到令牌限制。随后,LLM生成最终响应。

•Wang et al. [152] 和 Kim et al. [71] 首先将查询分解为几个子问题,然后为每个子问题生成答案,最后合并所有子问题的答案以获得最终答案。或者,其他方法结合或选择不同模型生成的响应。

•Lin et al. [88] 和 Jiang et al. [59] 结合GNNs和LLMs生成的输出以达到协同效应。UniOQA [86] 探索了两种生成答案的方法:一种涉及生成Cypher查询语言(CQL)的查询以执行并获取结果,

•另一种方法直接基于检索到的三元组生成答案。最终答案通过动态选择机制确定。在EmbedKGQA [133] 中,除了学习的评分函数外,研究人员还额外设计了一个基于图结构的规则基础评分。这两个评分结合以找到答案实体。

•Li et al. [85] 结合基于检索到的图数据的答案与根据LLM自身知识生成的响应。

2.6训练

论文总结了检索器、生成器及其联合训练的个体训练。论文根据是否需要明确的训练,将先前的工作分为无训练(Training-Free)和基于训练(Training-Based)的方法。无训练方法通常在使用如GPT-4 [116]等闭源大型语言模型(LLMs)作为检索器或生成器时采用。这些方法主要依赖于精心设计的提示来控制LLMs的检索和生成能力。尽管LLMs在文本理解和推理方面具有强大的能力,但无训练方法的挑战在于由于缺乏对下游任务的特定优化,可能导致结果的次优性。

相反,基于训练的方法涉及使用监督信号对模型进行训练或微调。这些方法通过使模型适应特定的任务目标来增强模型性能,从而可能提高检索或生成内容的质量和相关性。检索器和生成器的联合训练旨在增强它们的协同作用,从而提升下游任务的性能。这种协作方法利用了两个组件的互补优势,以在信息检索和内容生成应用中实现更稳健和有效的结果。

2.6.1 检索器的训练策略

2.6.1.1 无训练

目前使用的无训练检索器主要有两种类型。

第一种类型包括非参数检索器。这些检索器依赖于预定义的规则或传统的图搜索算法,而不是特定的模型 [146, 175]。

第二种类型利用预训练的语言模型(LMs)作为检索器。具体来说,一组工作利用预训练的嵌入模型对查询进行编码,并直接基于查询与图元素之间的相似性进行检索 [81]。

另一组工作采用生成语言模型进行无训练检索。候选图元素如实体、三元组、路径或子图作为LLMs的提示输入的一部分。LLMs然后利用语义关联根据提供的提示选择适当的图元素 [25, 66, 71, 108, 142, 152, 159]。这些方法利用LMs强大的语义理解能力来检索相关的图元素,而无需进行明确的训练。    

2.6.1.2 基于训练的方法

训练检索器通常采用自回归方法,其中先前的关系路径被连接到查询的末尾。模型随后根据这个连接的输入预测下一个关系[42, 168]。

然而,大多数数据集中缺乏检索内容的真值标注是一个重大挑战。为了解决这一问题,许多方法试图基于远程监督构建推理路径以指导检索器训练。例如,

•Zhang等人[181]、Feng等人[31]和Luo等人[102]提取查询中的实体与答案中的实体之间的所有路径(或最短路径),将其用作检索器的训练数据。

•此外,Zhang等人[181]还在无监督设置中采用关系抽取数据集进行远程监督。

•还有一类方法利用隐式的中间监督信号来训练检索器。例如,KnowGPT[183]从头部实体开始搜索最优路径,将发现尾部实体作为奖励,并使用策略梯度进行训练。

•NSM[46]采用双向搜索策略,其中两个检索器分别从头部实体和尾部实体开始搜索。监督目标确保两个检索器搜索的路径尽可能接近收敛。

一些方法认为,远程监督信号或隐式中间监督信号可能包含大量噪声,这使得训练有效的检索器变得困难。因此,他们考虑采用自监督方法来预训练检索器。SKP [23] 预训练了 DPR(Dense Passage Retrieval)模型 [69]。首先,它对子图进行随机采样并将其转换为段落。随后,它随机屏蔽段落,使用掩码语言模型(MLM)训练模型,并通过将屏蔽段落和原始段落作为正样本对进行对比学习。

2.6.2生成器的训练

2.6.2.1 无需训练

无需训练的生成器主要适用于闭源大型语言模型(LLMs)或需要避免高训练成本的场景。在这些方法中,检索到的图数据与查询一起输入到LLMs中。然后,LLMs根据提示中的任务描述生成响应,主要依赖于其对查询和图数据的理解能力。

2.6.2.2 基于训练

训练生成器可以直接从下游任务接收监督信号。对于生成型LLMs,可以使用监督微调(SFT)进行微调,其中输入任务描述、查询和图数据,并将输出与下游任务的 ground truth 进行比较 [47, 50, 102]。另一方面,对于作为生成器的图神经网络(GNNs)或判别模型,采用针对下游任务定制的损失函数来有效训练模型 [59, 81, 146, 175, 184]。

2.6.3 联合训练

同时联合训练检索器和生成器可以利用它们的互补优势,提高下游任务的性能。一些方法将检索器和生成器统一到一个模型中,通常是LLMs,并同时使用检索和生成目标进行训练 [102]。这种方法利用了统一架构的协同能力,使模型能够在单一框架内无缝检索相关信息并生成连贯的响应。    

其他方法涉及最初分别训练检索器和生成器,随后采用联合训练技术对这两个组件进行微调。例如,子图检索器[181]采用交替训练范式,其中检索器的参数固定,使用图数据训练生成器。接着,生成器的参数固定,并利用生成器的反馈来指导检索器的训练。这种迭代过程有助于两个组件协调地改进其性能。

2.7 应用与评估

这里论文将总结与GraphRAG相关的下游任务、应用领域、基准和度量标准以及工业应用。表1收集了现有的GraphRAG技术,按下游任务、基准、方法和评估指标进行分类。该表作为一个全面的概览,突出了GraphRAG技术在不同领域的各个方面和应用。

表1. GraphRAC的任务、基准、方法和指标。

一起聊聊图检索增强生成-AI.x社区图片

2.7.1 下游任务

GraphRAG应用于各种下游任务(尤其是NLP任务),包括问答、信息抽取等。

2.7.1.1 问答任务

问答任务具体包括知识库问答(KBQA)和常识问答(CSQA)。    

(1) KBQA。KBQA作为图增强生成(GraphRAG)的基础下游任务。在KBQA中,问题通常涉及特定的知识图谱,答案往往涉及图谱中的实体、关系或实体集之间的操作。该任务考验系统在结构化知识库中检索和推理的能力,这对于促进复杂查询响应至关重要。

(2) CSQA。与KBQA不同,CSQA主要以多项选择题的形式出现。常识推理通常呈现一个常识性问题以及若干个答案选项,每个选项可能代表一个实体的名称或一个陈述。目标是让机器利用外部常识知识图谱,如ConceptNet,找到与问题和选项相关的知识,并进行适当的推理,得出正确答案。

2.7.1.2 信息检索

信息检索任务包括两类:实体链接(EL)和关系抽取(RE)。

(1) 实体链接。实体链接(EL)是自然语言处理领域中的一个关键任务,涉及识别文本段落中提到的实体,并将它们链接到知识图谱中对应的实体。通过利用Graph RAG等系统,可以从知识图谱中检索相关信息,从而促进对文本中提及实体的准确推断[167]。

(2) 关系抽取。关系抽取(RE)旨在识别和分类文本中实体间的语义关系。GraphRAG通过使用基于图的结构来编码和利用实体间的相互依赖关系,从而显著增强此任务,促进从多样文本源中更准确且上下文敏感地抽取关系数据[85, 142, 143]。

2.7.1.3 其他应用

除了上述下游任务外,GraphRAG还可应用于自然语言处理领域的多种其他任务,如事实验证、链接预测、对话系统和推荐系统。

(1) 事实验证。事实验证任务通常涉及利用知识图谱评估一个事实陈述的真实性。模型需通过利用结构化知识库来确定给定事实断言的有效性。GraphRAG技术可用于提取实体间的证据关联,以提高系统的效率和准确性[85, 125, 142, 143]。

(2) 链接预测。链接预测涉及预测图中缺失的关系或潜在的实体间连接。GraphRAG应用于这一任务[18, 118],通过其从图中检索和分析结构化信息的能力,提高预测准确性,揭示图数据中的潜在关系和模式。

(3) 对话系统。对话系统旨在使用自然语言与人类进行对话,处理诸如回答问题、提供信息或促进用户交互等任务。通过在基于图的框架中构建对话历史和上下文关系,GraphRAG系统[3]能提升模型生成连贯且上下文相关响应的能力。

(4) 推荐系统。在电子商务平台背景下,用户与产品间的购买关系自然形成网络图。这些平台中推荐系统的主要目标在于预测用户的未来购买意向,有效预估该图中的潜在连接[156]。

2.7.2应用领域

GraphRAG 因其卓越的能力,将结构化知识图谱与自然语言处理相结合,在电子商务、生物医学、学术、文献、法律等多个应用场景中得到广泛应用,以下将进行介绍。    

2.7.2.1 电子商务

电子商务领域的主要目标是通过个性化推荐和智能客服服务来提升顾客购物体验和增加销售额。在此领域中,用户与商品之间的历史交互自然形成一个图,隐含了用户的行为模式和偏好信息。然而,随着电子商务平台数量的增加和用户交互数据量的增长,利用GraphRAG技术提取关键子图变得至关重要。Wang等人[156]通过集成多种类型或参数不同的检索器来提取相关子图,然后对其进行编码以预测用户的时间行为。为了提升客服问答系统的模型性能,Xu等人[169]构建了一个包含问题内和问题间关系的过往问题图。对于每个给定的查询,系统会检索相似的过往问题子图以提高响应质量。

2.7.2.2 生物医学

近年来,GraphRAG技术在生物医学问答系统中的应用日益增多,实现了先进的医疗决策性能。在此领域中,每种疾病都与特定症状相关联,每种药物都含有针对特定疾病的治疗活性成分。一些研究者[20, 80]针对特定任务场景构建知识图谱,而其他研究者[64, 163, 171]则利用CMeKG和CPubMed-KG等开源知识图谱作为检索源。现有方法通常先使用非参数检索器进行初步搜索,然后设计方法通过重排序[20, 64, 80, 163, 171]来过滤检索到的内容。此外,还有一些方法提出利用检索到的信息重写模型输入,以提高生成效果[80]。

2.7.2.3 学术研究

在学术研究领域,每篇论文由一位或多位研究人员撰写,并与一个研究领域相关联。作者隶属于机构,并且作者之间存在合作或共享机构隶属关系等关系。这些元素可以结构化为图格式。利用GraphRAG在此图上可以促进学术探索,包括预测作者的潜在合作者、识别特定领域的趋势等。

2.7.2.4 文学

与学术研究类似,可以在文学领域构建知识图谱,节点代表书籍、作者、出版商和系列,边标签为“由...撰写”、“在...出版”和“书籍系列”。GraphRAG可以用于增强智能图书馆等现实应用。

2.7.2.5 法律

在法律情境中,案件和司法意见之间存在广泛的引用联系,法官在做出新决定时经常引用先前的意见。这自然形成了一个结构化图,其中节点代表意见、意见集群、案卷和法院,边包含“意见引用”、“意见集群”、“集群案卷”和“案卷法院”等关系。GraphRAG在法律场景中的应用可以帮助律师和法律研究人员进行案件分析和法律咨询等任务。

2.7.2.6 其他

除了上述应用外,GraphRAG还应用于其他现实场景,如情报报告生成[128]和专利短语相似性检测[122]。Ranade和Joshi[128]首先构建事件情节图(EPG)并检索事件的关键方面以辅助情报报告生成。Peng和Yang[122]创建专利短语图并检索给定专利短语的自我网络以辅助短语相似性判断。    

2.7.3 基准和度量

2.7.3.1 基准

用于评估GraphRAG系统性能的基准可分为两类。第一类是下游任务的相应数据集。论文根据第9.1节的分类总结了基准和测试它们的论文,详细信息见表1。第二类是专门为GraphRAG系统设计的基准。这些基准通常涵盖多个任务领域,以提供全面的测试结果。例如,STARK[166]在半结构化知识库上对LLM检索进行基准测试,涵盖产品搜索、学术论文搜索和精准医学查询三个领域,以评估当前GraphRAG系统的能力。He等人[47]提出了一种面向现实文本图的灵活问答基准,名为GraphQA,适用于多个应用,包括场景图理解、常识推理和知识图推理。Graph Reasoning Benchmark(GRBENCH)[66]旨在促进LLM与图增强的研究,包含1,740个问题,可通过10个领域图的知识回答。CRAG[172]提供了一个结构化查询数据集,并附带模拟API以访问底层模拟KG的信息,以实现公平比较。

2.7.3.2 评估指标

GraphRAG的评估指标大致可分为两大类:下游任务评估(生成质量)和检索质量。

(1) 下游任务评估(生成质量)。在大多数研究中,下游任务评估指标是评估GraphRAG性能的主要方法。例如,在KBQA中,通常使用精确匹配(EM)和F1分数来衡量回答实体的准确性。此外,许多研究人员采用BERT4Score和GPT4Score来缓解LLMs生成与真实答案同义但非精确匹配的实体的情况。在CSQA中,准确性是最常用的评估指标。对于问答系统等生成任务,常用BLEU、ROUGE-L、METEOR等指标来评估模型生成的文本质量。

(2) 检索质量评估。虽然基于下游任务性能评估GraphRAG是可行的,但直接衡量检索内容的准确性存在挑战。因此,许多研究采用特定的指标来衡量检索内容的精确度。例如,当存在真实实体时,检索系统需要在检索信息量和答案覆盖范围之间取得平衡。因此,一些研究使用答案覆盖范围与检索子图大小的比率来评估检索系统的性能。此外,一些研究探索了查询相关性、多样性和忠实度分数等指标,分别评估检索内容与查询的相似度、检索内容的多样性以及检索信息的忠实度。

2.7.4 GraphRAG在工业界的应用

本节主要关注工业界的GraphRAG系统。这些系统的特点在于它们依赖于工业图数据库系统或专注于大规模图数据,具体细节如下。

•GraphRAG(微软开发):该系统利用LLMs构建基于实体的知识图谱,并预先生成相关实体群组的社区摘要,从而能够在文档集合中捕捉局部和全局关系,进而增强查询聚焦的摘要(QFS)任务[25]。该项目还可利用开源RAG工具包如Llamalndex、LangChain等进行快速实施。    

•GraphRAG(NebulaGraph开发):该项目是首个工业级GraphRAG系统,由NebulaGraph公司开发。该项目将LLMs集成到NebulaGraph数据库中,旨在提供更智能和精确的搜索结果。

•GraphRAG(蚂蚁集团开发):该框架基于多个AI工程框架如DB-GPT、知识图谱引擎OpenSPG和图数据库TuGraph构建。具体而言,系统首先使用LLMs从文档中提取三元组,然后存储在图数据库中。在检索阶段,系统从查询中识别关键词,定位图数据库中的相应节点,并使用BFS或DFS遍历子图。在生成阶段,检索到的子图数据被格式化为文本,并与上下文和查询一起提交给LLMs处理。

•NaLLM(Neo4j开发):NaLLM(Neo4j与大型语言模型)框架将Neo4j图数据库技术与LLMs集成。其目标在于探索和展示Neo4j与LLMs之间的协同作用,重点关注三个主要应用场景:知识图谱的自然语言接口、从非结构化数据创建知识图谱,以及利用静态数据和LLM数据生成报告。

•LLM Graph Builder (by Neo4j): 这是由Neo4j开发的一个项目,用于自动构建知识图谱,适用于GraphRAG的图数据库构建和索引阶段。该项目主要利用LLMs从非结构化数据中提取节点、关系及其属性,并利用LangChain框架创建结构化知识图谱。

本文转载自 AI帝国​,作者: 无影寺

收藏
回复
举报
回复
相关推荐