[今日Arxiv] GraphRAG, 微软,使用LLM自动化构建图谱并检索生成

最近一篇图谱文章很火,翻来看看分享出来。

来自 1微软研究院2微软战略使命和技术部3微软首席技术官办公室 的文章。

文章标题:

From Local To Global: A Graph Rag Approach To Query-Focused Summarization

URL:https://arxiv.org/abs/2311.01011

注:翻译可能存在误差,详细内容建议查看原始文章。

摘要

使用检索增强生成 (RAG) 从外部知识源检索相关信息使大型语言模型 (LLM) 能够回答来自私有和/或之前未见过的文档集合的问题。然而,对于针对整个文本语料库的全局问题,如“数据集中的主要主题是什么?”RAG 却失败了,因为这本质上是一个查询聚焦摘要 (QFS) 任务,而不是一个明确的检索任务。与此同时,先前的 QFS 方法无法扩展到典型 RAG 系统索引的文本数量。为了结合这些对比方法的优点,作者提出了一种图 RAG 方法,用于在私有文本语料库上进行基于问题的回答,该方法可随着用户问题的一般性和待索引源文本的数量而扩展。作者的方法使用 LLM 分两个阶段构建基于图的文本索引:首先从源文档中推导出实体知识图谱,然后为所有紧密相关实体组预生成社区摘要。给定一个问题,每个社区摘要用于生成部分回答,然后将所有部分回答再次汇总为最终的回答提供给用户。对于在大约 100 万令牌范围内的数据集上的一类全局意义解析问题,作者证明了 Graph RAG 在生成答案的全面性和多样性方面相对于简单的 RAG 基线有了实质性改进。

开源、基于 Python 的图 RAG 局部和全局方法实现即将在 https://aka.ms/graphrag 发布。https://aka.ms/graphrag 也将提供开放源代码及 Python 实现版本。

1 引言

在各个领域的人类努力都依赖于作者阅读和分析大量文献的能力,常常得出超越原文本所述内容的结论。随着大型语言模型(LLMs)的出现,作者已经见证了尝试在诸如科学发现(微软,2023年)和情报分析(Ranade 和 Joshi,2023年)等复杂领域自动化类似人类的理解过程,“理解”在这里被定义为

图片

图 1:使用基于LLM的图形索引(由源文档文本生成)的RAG管道。这个索引覆盖了节点(例如,实体)、边(例如,关系)和协变量(例如,主张),它们已被检测、提取,并通过针对数据集领域定制的LLM提示进行了总结。

社区检测(例如,Leiden算法,Traag等人,2019年)用于将图形索引划分为元素组(节点、边、协变量),LLM可以在构建索引和查询时并行地对这些元素进行总结。对于给定查询的“全局答案”是通过最后一轮针对查询的总结生成的,这次总结涵盖所有报告与该查询相关性的社区摘要。

然而,要在整个文献库中支持人类引导的理解过程,需要一种方式让人既能应用又能精炼他们对数据的思维模型(Klein 等人,2006b), 通过提出具有全局性质的问题来实现

检索增强型生成 (RAG,Lewis 等人,2020 的工作) 是回答整个数据集上用户问题的一种公认方法,但它针对的是答案在文本区域中的局部位置的情况,这些文本的检索为生成任务提供了充分的基础。

相比之下,一个更为合适的问题框架是查询聚焦摘要(QFS,Dang,2006),特别是在查询聚焦抽象性摘要的情况下,它生成自然语言摘要而不仅仅是拼接摘录(Baumel 等人,2018;Laskar 等人,2020;Yao 等人,2017)。然而近年来,在抽象性和提取性、通用性与查询聚焦,以及单文档和多文档之间的摘要任务的这些区别已经不太明显。尽管起初,Transformer 架构在所有此类摘要任务上对当前最佳表现有了实质性提高(Goodwin 等人,2020;Laskar 等人,2022;Liu 和 Lapata,2019),但这些任务如今已被现代 LLMs 例如 GPT(Achiam 等人,2023;Brown 等人,2020)、Llama(Touvron 等人,2023)和 Gemini(Anil 等人,2023 系列简化。所有这些 LLMs 都可以使用在境况中学习的方法汇总在它们的上下文窗口内提供的任何内容。然而对整个文献库进行查询聚焦抽象性摘要的挑战依然存在。如此大量的文本可能已大大超过 LLM 上下文窗口的极限,并且仅仅是扩展这样的窗口或许并不足以防止长期上下文中信息"遗失于中间"(Kuratov 等人,2024;Liu 等人,2023)。此外,尽管在传统的 RAG 中直接检索文本块对于 QFS 任务可能不足,但有可能以预索引的另类形式来支持一种特针对全局摘要的新式 RAG 方法。

在此论文中,作者提出了一种基于 LLM 构建的知识图谱全局性摘要图形 RAG(见 图 1)的方法。与利用图形索引结构检索和操作属性的相关工作不同(第 4.2 小节),作者的重点放在了在这个环境中图的未被开发的质量上:它们固有的模块化 (Newman,2006) 和使用社区检测算法将图形分割为由紧密相关的节点组成模块性社区的能力 (例如:Louvain 方法, Blondel 等人 2008; Leiden 方法 Traag 等人 2019)。"

图片

图 2:HotPotQA 数据集中检测到的实体引用(Yang 等人,2018 年)如何随着作者的通用实体提取提示与 gpt-4-turbo 的块大小和收获而变化。

社区描述提供了基础图形索引及其所代表的输入文档的完整覆盖。然后,通过映射-归约(map-reduce)方法,实现了对整个语料库以查询为中心的摘要:首先独立并行地使用每个社区摘要来回答查询,然后将所有相关的部分答案汇总成最终的全局答案

为了评估这种方法,作者利用了LLM从两个代表性的现实世界数据集的简短描述中生成一组多样化的活动中心理解问题,这两个数据集分别包含播客转录和新闻文章。对于在子节3.4中定义的理解宽泛议题和主题的目标品质——全面性、多样性与赋能,作者不仅探讨了使用不同层级社区摘要回答查询的影响,还与天真的RAG(Retrieval-Augmented Generation)以及源文本全局映射-归约摘要进行了对比。作者证明,在全面性和多样性上,所有全局方法均优于天真的RAG;而图形RAG利用中层和低层的社区摘要,在这相同的度量下显示出相较于源文本摘要更优的表现,并且以更低的令牌(token)成本实现。

2 图像rag方法与流程管线

作者现在拆解图RAG方法(图1)的高层数据流和管道,描述每个步骤的关键设计参数、技术和实现细节。

2.1 源文档 → 文本块

一个基本的设计决策是,从源文档中提取的输入文本应以何种粒度分割成文本块进行处理。在接下来的步骤中,这些文本块将被传递给一组为提取图索引的各种元素而设计的LLM提示。

较长的文本块需要较少的LLM调用来进行此类提取,但会遭受更长的LLM上下文窗口(Kuratov等人,2024年;Liu等人,2023年)导致的召回率下降的问题。在一次提取轮次(即没有搜集操作:zero gleanings)的情况下,这种行为可以在图2中观察到:在一个样本数据集(HotPotQA,Yang等人,2018年),使用600个标记的块大小提取出的实体引用几乎是使用2400个标记的块大小时的两倍。虽然更多的引证通常更好,但任何提取过程都需要为针对的活动平衡召回率和准确度。

2.2 文本块 → 元素实例

这一步骤的基本要求是,从每一段源文本中识别和提取图节点与边的实例。作者通过一个多部分的LLM提示来做到这一点,首先在文本中识别所有实体,包括它们的名称、类型和描述,然后在明确相关的实体之间识别所有关系,包括来源实体、目标实体以及他们关系的描述。这两种类型的元素实例都以分隔符分割的元组形式输出在一个列表中。调整这个提示机会使之适合文档语料库领域的关键在于选择提供的LLM用于具境学习(Brown 等人,2020)的一些例子。例如,虽然作者默认用于提取像人物、地点和组织这类"命名实体"的宽泛类别的提示可广泛应用,在具有专门知识的领域(比如科学、医学、法律),将从那些领域的知识中获益匪浅。作者也支持一个辅助性的提取提示,用来提取额外要与提取节点实例相关的协变量。作者默认的协变量提示旨在提取链接到检测实体的主张,包括主体、客体、类型、描述、源文本区间以及起止日期。

为了平衡效率和质量的需求,作者使用多轮次的"收获",直到达到特定的最大值,以鼓励LLM识别在前一轮提取可能遗漏的任何其他实体。这是一个分阶段的过程,首先要求 LLM 评估是否已提取了所有实体,并且采用100的日志偏差来强制一个肯定或否定的决定。如果LLM回答说有实体被忽略,则表示"上一次提取中遗漏了许多实体"的继续提示鼓励LLM收集这些缺失的实体。这种方法使作者能够使用大块的大小,而不会导致质量下降(图2),或者被迫引入噪音。

2.3 元素实例 → 元素摘要

使用大型语言模型(LLM)从源文本中“提取”实体、关系和陈述的描述,已经是一种抽象性总结的形式,依赖于LLM独立地生成具有意义的概念摘要,这些概念可能被暗示但文本本身并未明确说明(例如,存在隐含的关系)。将所有这类实例级别的摘要转化为每个图元素(即实体节点、关系边和陈述协变量)的描述性文字段落,需要进一步进行一轮LLM对匹配实例组的总结。

在这个阶段的一个潜在担忧是,LLM可能不会始终以相同的文本格式从同一段文本中提取出指向相同实体的引用,从而导致在实体图中出现重复的实体元素和因此产生的重复节点。然而,由于所有紧密相关的“社区”中的实体都会在后续步骤中被检测并总结,并且鉴于大型语言模型能够理解多个名称变化背后所指代的通用实体,只要从所有变体到一组共享的、紧密相关实体存在足够的连通性,作者的整体方法便能抵御这种异名同实的变化。总体而言,在潜在嘈杂图结构中的同类节点使用丰富描述文本,既符合LLM的能力,也满足了全局、面向查询总结的需求。这些特质还使作者的图索引与典型的知识图谱区分开来,后者依靠简练且一致的知识三元组(主语、谓语、宾语)用于下游推理任务。

2.4 元素摘要 → 图社区

在前一步骤中创建的索引可以被建模为一个同质的无向加权图,其中实体节点通过关系边连接起来,边缘权重表示检测到的关系实例的标准数量。给定这样一个图,可以使用多种社区检测算法将图划分为节点社区,在这些社区内节点之间的联系比与其他图中的其他节点更加紧密(例如,请参见Fortunato, 2010和Jin等人,2021的调查)。在作者的管道中,作者使用Leiden算法(Traag等人,2019)来有效地恢复大规模图的层次社区结构(图3)。这个层次结构的每一级都提供了一个覆盖图中节点的互斥、集体制服的社区分区,从而使得可以进行分而治之的全局摘要。

2.5 图社区 → 社区总结

生成社区摘要的方法如下:首先,利用为超大数据集设计的算法,在莱顿层级结构中为每个社区创建类似报告的摘要。这些摘要是独立有用的,本身就能帮助人们理解数据集的整体结构和语义,并且即使没有具体查询要求时也能用于理解文本集合。例如,用户可以在一个层级上浏览各社区的摘要来寻找感兴趣的主题,然后进入链接到低层级中提供子主题更多细节报告。然而,在这里作者强调的是它们作为基于图的索引一部分的重要作用,用来回答全局性的查询问题。

以下是生成社区摘要的方式:

图片

(a) 第0级的根社区 (b) 第1级的子社区

图 3:使用 Leiden 算法(Traag 等人,2019 年)在 MultiHop-RAG(唐和杨,2024 年)数据集上检测到的图社区。圆圈代表实体节点,其大小与它们的度成正比。通过 OpenORD(Martin 等人,2011 年)和 Force Atlas 2(Jacomy 等人,2014 年)进行节点布局。节点颜色代表实体社区,在层次聚类的两个级别上显示:(a) 第 0 级别,对应于具有最大模块度的层次划分;以及 (b) 第 1 级别,揭示了这些根级社区内的内部结构。

  • 叶级社区。优先级处理一个叶级社区(节点、边、协变量)的元素摘要,然后迭代地将它们添加到 LLM 上下文窗口中,直到达到令牌限制。优先级如下:按照社区边结合源节点和目标节点度的降序(即总体突出性),加入描述源节点、目标节点、链接的协变量和边缘本身。

  • 高级别社区。如果所有元素摘要都在上下文窗口的令牌限制之内,则如处理叶级社区一样,总结社区内的所有元素摘要。否则,按照子社区从高到低的元素摘要令牌顺序对它们进行排名,并迭代地用较短的子社区摘 要替换较长的关联元素摘要,直到满足上下文窗口的要求为止。

2.6 社区总结 → 社区答案 → 全局答案

给定用户查询,前一步生成的社区摘要可用于多阶段过程生成最终答案。社区结构的层级性质也意味着可以使用来自不同级别的社区摘要来回答问题,这引发了疑问:在层次化的社区结构中,是否存在一个特定级别能够为一般性的含义理解问题提供最佳的总结细节与范围平衡(在第3节进行评估)。对于给定的社区级别,对任何用户查询生成的全局答案如下产生:

  • 准备社区摘要。将社区摘要随机洗牌并分割成预定义令牌大小的部分。这确保了相关信息分布在整个部分中,而不是集中在可能丢失的单一上下文窗口中。

  • 映射社区回答。并行生成中间回答,每个部分一个。

大型语言模型还会要求生成0-100之间的分数,表示生成的答案在回答目标问题时有多有用。将评分是0的回答过滤掉。

  • 减少至全局答案。根据有用性得分按降序排列的中级社区回答会被迭代地合并到一个新的上下文窗口中,直到达到令牌限制。使用这个最终上下文来生成返回给用户的全局答案。

    表 1:根据目标数据集的简短描述,由 LLM 生成的潜在用户、任务和问题示例。这些问题针对的是全局理解而非具体细节。

数据集示例活动框架以及生成全局理解问题
播客用户:寻找科技行业洞察和趋势的科技记者
文字记录任务:了解科技领导者对政策与法规的看法问题:1. 哪些节目主要讨论科技政策和政府监管?2. 客人们如何感知隐私法对技术发展的影响?3. 是否有嘉宾讨论创新与伦理考量之间的平衡?4. 来宾们提到了哪些关于当前政策的建议变更?5. 是否有讨论科技企业和政府间的合作,以及它们是如何进行的?
新闻用户:将时事融入课程中的教育者
文章任务:教授健康与福祉问题:1. 当前健康领域的哪些话题可以整合到健康教育教学大纲中?2. 新闻文章如何阐述预防医学和福祉的概念?3. 是否有健康文章相互矛盾的例子,如果有,原因是什么?4. 根据新闻报道可获取关于公共保健重点的什么洞见?5. 教育者如何利用数据集突出身体健康素养的重要性?

图片

3 评估 3.1 数据集

作者在一百万词符范围内选择了两个数据集,每个相当于大约十本小说的文字量,代表了用户在现实活动中可能遇到的语料库类型:

  • 播客脚本。整理的凯文·斯科特(Kevin Scott),微软首席技术官与其他科技领军人物之间的播客对话记录(Behind the Tech, Scott, 2024)。大小:1669 × 600词符文本片段,片段之间有100词符重叠(约一百万词符)。

  • 新闻文章。基准数据集由2013年9月至2023年12月在娱乐、商业、体育、科技、健康和科学等多个类别中发表的新闻文章组成(MultiHop-RAG; Tang and Yang, 2024)。大小:3197 × 600词符文本片段,片段之间有100词符重叠(约170万词符)。

3.2 查询

为开放领域问题回答存在许多基准数据集,包括HotPotQA(杨等人,2018)、MultiHop-RAG(唐和杨,2024)以及MT-Bench(郑等人,2024)。然而,相关的问题集合针对的是显式事实检索而非总结的目的是数据分析理解,即人们在现实世界活动的更广泛范围内检查、接触并语境化数据的过程(科斯特恩等人,2021)。同样地,从源文本中提取潜在摘要查询的方法也存在(许和拉帕塔, 2021),但此类抽取的问题可能针对的是背叛了对文本先验知识的细节。为了评估RAG系统对于更广泛的数据分析理解任务的有效性,作者需要能够只传达数据集内容的高层次理解的问题,而不是特定文本的具体细节。作者使用以活动为中心的方法自动生成这类问题:给定一个关于数据集的简短描述,作者要求大型语言模型识别N个潜在用户和每个用户的N项任务,然后对于每个(用户、任务)组合,作者询问大型语言模型生成需要理解整个语料库的N个问题。为作者的评估,N值=5导致每个数据集125个测试问题。表1显示了两个评估数据集中每一个的例子问题。表1. 例如问题对于所使用的两种评估数据集中的每一种。

3.3 条件

作者在分析中比较了六种不同的条件,包括使用四个层级的图社区(C0、C1、C2、C3)构建的Graph RAG,直接应用于源文本的地图归约式文本摘要方法(TS),以及一个简单的“语义搜索”RAG方法(SS):

  • CO。利用最顶层的社区摘要(数量最少)来响应用户查询。

  • C1。使用高层级的社区摘要来回答问题。这些是C0中存在时的子社区,否则将C0的社区向下投影。

  • C2。使用中间层级的社区摘要来回答问题。这些是在C1存在时的子社区,否则将C1的社区向下投影。

  • C3。使用低层级的社区摘要(数量最多)来回答问题。如果C2存在则为它的子社区,否则是向下的C2社区投影结果。

  • TS。与子章节2.6中的相同方法,只是源文本(而非社区摘要)被打乱和分为块,供地图归约式汇总阶段使用。

  • SS。一个简单的RAG实施,其中文本块被检索,并添加到可用的上下文窗口中,直到达到指定的标记限制。

除了对引用样式进行微小修改以匹配所用类型的上下文信息外,在所有六种条件下的上下文窗口大小和用于答案生成的提示都是相同的。各条件仅在上下文窗口的内容创建方式上有所不同。

支持C0-C3条件的图索引使用了作者针对实体和关系抽取的通用提示构建,其中的实体类型和少量示例根据数据领域进行了定制。构建图索引时使用的Podcast数据集上有600个标记大小的上下文窗口和1次提炼过程,而新闻数据集上则没有进行提炼。

3.4 指标

大模型已被证明是自然语言生成的优秀评估者,与人类判断相比,在最先进的或竞争性的结果上取得了成就(Wang 等人., 2023a; Zheng 等人., 2024)。虽然这种方法在知道黄金标准答案时可以生成基于参考的指标,但它也能够在没有参考的情况下衡量生成文本的质量(例如,流畅性)(Wang等人., 2023a)以及在竞争对手输出的直接比较中(大模型作为裁判, Zheng 等人., 2024)。大模型在评估传统RAG系统的性能方面也显示出潜力,自动评估诸如上下文相关性、忠实性和答案相关性的质量(RAGAS, Es 等人., 2023)。鉴于作者图结构 RAG机制的多阶段性质、作者想要比较的多个条件以及对作者基于活动的意义建构问题缺乏黄金标准答案,作者决定采用以大模型评估者为基础的直接比较方法。作者选择了三个目标指标,这些指标捕捉到了对意义构建活动有益的质量,以及一个用于有效性的指标(直接性)。由于直接性和全面性及多样性本质上是对立的,作者不期望任何方法在所有四个指标上都胜出。

作者的基于大模型评估者的直接比较措施如下:

  • 全面性。答案提供了多少细节来涵盖问题的所有方面和细节?

  • 多样性。答案在提供关于问题的不同观点和洞察时有多丰富和多变?

  • 赋权作用。答案如何帮助读者理解并就主题作出知情判断?

  • 直接性。答案针对问题回答得有多具体和清晰?

为了作者的评估,大模型被提供了问题、目标指标和一对答案,并被要求根据指标评估哪个答案更好以及为什么。如果存在胜出者,则返回赢家;否则,如果它们在本质上相似且差异微小,则宣布平局。为了解决大模型的随机性问题,作者对每项比较运行五次并使用平均分数。表2显示了大模型生成评估的一个示例。

表2

图片

图片

图片

图片

图 4:在两个数据集、四个指标和每项比较 125 个问题上,(行条件)对(列条件)的胜率百分比。每个比较重复五次并平均。每个数据集和指标的总体胜利者以粗体显示。自我获胜率未进行计算,但为了参考而显示为预期的 50%。在全面性和多样性方面,所有图形 RAG 条件都优于朴素 RAG。条件 C1-C3 在答案全面性和多样性上也比 TS(没有图索引的全局文本摘要)略有改进。

3.5 配置

对于特定任务来说,上下文窗口大小的效果尚不清楚,特别是对于像gpt-4-turbo这样的大模型,其上下文长度达到128k个令牌的情况尤其如此。鉴于信息有可能在更长的上下文中“中间丢失”(Kuratov等人,2024年;Liu等人,2023年),作者想要探讨不同数据集组合、问题和度量下,改变上下文窗口大小的影响。特别是,作者的目标是确定基线条件下的最优上下文大小 (SS),然后将这一设置统一用于所有查询时间的LLM应用。为此,作者测试了四种不同的上下文窗口大小:8k、16k、32k和64k。令人惊讶的是,在全面性方面,所测试的最小上下文窗口大小(8k)对所有比较均表现更优(平均胜率为58.1%),而在多样性(平均胜率=52.4%)和赋权(平均胜率=51.3%)方面的表现则与较大的上下文大小相当。鉴于作者更偏好全面且多样的回答,因此,在最终评估中,作者固定使用了8k个令牌的上下文窗口大小。

3.6 结果

索引过程为播客数据集生成了一个包含8564个节点和20691条边的图,以及一个更大的、包含15754个节点和19520条边的新闻数据集图。表3展示了每个图社区层次结构不同层级上的社区摘要数量。

全局方法与朴素RAG对比

如图4所示,在全面性和多样性指标上,全局方法在所有数据集上都优于朴素RAG(SS)方法。具体而言,对于播客脚本和新闻文章,全局方法实现的全面性胜率分别介于72%至83%和72%至80%,而多样性胜率则分别落在75%-82%以及62%-71%范围内。作者利用直接性作为有效性的检验手段也达到了预期的结果,也就是说,朴素RAG在所有比较中产生了最直接的响应。

社区摘要与源文本对比。

使用图RAG将社区摘要与源文本进行比较时,除了根级别的摘要外,社区摘要通常为答案的全面性和多样性提供了虽小但一致的改进。Podcast数据集中的中间级别摘以及News数据集中低级别的社区摘要是全面性胜利率分别为57%和64%。Podcast中间级摘要的多样性胜利率为57%,而News低等级社区摘要则为60%。表3还展示了图RAG与源文本摘要相比在可扩展性的优势:对于低层级社区摘要 (C3),图RAG需要26%-33%较少的上下文标记,而对于根级社区摘(C0),它需要超过97%少的标记。相较于其他全局方法,在性能略有下降的情况下,根级图RAG为特征化思考活动中的迭代问答提供了高度有效的方法,并且在全面性(获胜率72%)和多样性(获胜率62%)上保留了相对于朴素RAG的优势。

赋予能力。

赋予能力的比较对于两种全局方法与朴素RAG (SS) 的对比,以及图RAG途径与源文本摘要 (TS) 相比而言显示出混合的结果。根据对LLM推理进行分析使用Ad-hoc LLM ,说明提供具体例子、引语和引用的能力是判断帮助用户达到明智理解的关键。

表 3:上下文单元(C0-C3 的社区摘要和 TS 的文本块)的数量、对应的标记计数以及最大标记计数的百分比。源文本的地图规约摘要是最资源密集型的方法,需要最多的上下文标记数量。根级社区摘要 (C0) 每次查询所需的标记数量明显减少(9倍到43倍)。

图片

4 相关工作

4.1 Rag 方法与系统

在使用LLM时,RAG首先从外部数据源检索相关信息,然后将这些信息与原始查询一起添加到LLM的上下文窗口中(Ram等人,2023)。Na¨ıve RAG方法(Gao等人,2023)通过将文档转换为文本,将文本分割成片段,并将这些片段嵌入到一个向量空间中,在该空间中相似位置代表类似的语义。随后查询也被嵌入到相同的向量空间中,使用最近的k个向量对应的文本片段作为上下文。更高级的变化版本确实存在,但所有方法都解决了当感兴趣的外部数据集超过LLM的上下文窗口时应如何处理的问题。

先进的RAG系统包括了预检索、检索和后检索策略,旨在克服Na¨ıve RAG的缺点,而模块化RAG系统则包含交错式检索与生成模式下的迭代和动态周期(Gao等人,2023)。作者实现的Graph RAG融合了与其他系统的多个概念。例如,作者的社区总结是一种自我记忆形式(Selfmem,Cheng等人,2024),旨在促进生成增强型检索(GAR,Mao等人,2020)和支持未来生成周期,而从这些总结中并行生成的社区答案可以被视为迭代(Iter-RetGen,Shao等人,2023)或联邦(FeB4RAG,Wang等人,2024)检索-生成策略的一种形式。其他系统也结合了这些概念来实现多文档摘要(CAiRE-COVID,Su等人,2020)和多跳问答(ITRG,Feng等人,2023;IR-CoT,Trivedi等人,2022;DSP,Khattab等人,2022)。作者使用的层次化索引和总结方法也与进一步的方法类似,例如通过聚类文本嵌入的向量来生成文本片段的层次化索引(RAPTOR,Sarthi等人,2024),或生成“澄清树”以回答对含糊问题的各种解释(Kim等人,2023)。然而,这些迭代或层次化的方法均不使用Graph RAG所采用的那种自生成图形索引。

4.2 图表和语言模型

4.2 Graphs And Llms

与LLM和RAG相关的图的应用是一个正在发展的研究领域,已经形成了多个方向。这些包括使用LLM进行知识图谱构建(Trajanoska等人,2023年)和补全(Yao等人,2023年),以及从源文本中提取因果图(Ban等人,2023年;Zhang等人,2024年)。还包括多种形式的高级RAG(Gao等人,2023年),其中索引是知识图谱(KAPING,Baek等人,2023年),图结构的部分(G-Retriever,He等人,2024年)或衍生出的图指标(GraphToolFormer,Zhang,2023年)成为研究对象,叙事输出强烈基于检索到的子图的事实(SURGE,Kang等人,2023年),使用叙事模板序列化检索到的事件情节子图(FABULA,Ranade和Joshi,2023年),以及系统支持构建和遍历文本关系图以进行多跳问答(Wang等人,2023b)。在开源软件方面,LangChain(LangChain,2024年)和LlamaIndex(LlamaIndex,2024年)库都支持多种图形数据库,而更广泛的基于图的RAG应用也在出现,包括能够在Neo4J(NaLLM,Neo4J,2024年)和NebulaGraph(GraphRAG,NebulaGraph,2024年)格式中创建和推理知识图谱的系统。然而,不同于作者的图RAG方法,这些系统没有利用图的自然模块化来对全局数据进行划分以概括总结。

5 讨论

评估方法的局限性。

迄今为止,作者的评估仅对两个约为100万词汇单位的数据集中的特定类型的意义构建问题进行了考察。作者需要进行更多工作来了解性能在不同范围的问题类型、数据类型以及数据集大小上的变化情况,并与最终用户一起验证作者的意义构建问题和目标指标。

比如使用SelfCheckGPT(Manakul等人,2023)等方法比较伪造率,也将改进当前的分析。

构建图索引的权衡。

作者始终观察到Graph RAG在与其他方法进行直面比拼时取得了最佳结果,但在很多情况下,无需图的方法对来源文本的全局性摘要表现得同样有竞争力。是否投资构建图索引的真实世界决策取决于多种因素,包括计算预算、每个数据集预期生命周期内的查询数量,以及从图索引的其他方面(包括通用社区摘要和使用与其他图相关的RAG方法)中获得的价值。

未来的工作。

当前Graph RAG方法所支持的图索引、丰富的文本注解以及分层式社区结构为改进和完善提供了多种可能性。这包括通过基于嵌入式的匹配用户查询和图注解以更局部方式进行操作的RAG方法,同时还有可能结合使用针对社区报告的基于嵌入式的匹配和作者的map-reduce摘要机制的混合RAG方案。这种“汇总”操作也可以扩展到社区层级结构的更多层次,并且实作为更具探索性的“向下钻取”机制,遵循高层级社区摘要中包含的信息线索。

6 结论

作者提出了一个面向图的RAG全局方法,将知识图生成、检索增强型生成(RAG)和查询驱动的摘要(QFS)结合在一起,以支持人类在整个文本语料库中的理解。初步评估表明,在答案的全面性和多样性方面,与朴素的RAG基线相比有了显著改进,并且在使用map-reduce源文本摘要的全局无图方法上进行了有利比较。对于需要在同一数据集上进行大量全局查询的情况,基于实体的图形索引中根级社区的摘要提供了一个优于朴素RAG的数据索引,在远低于其他全局方法的成本下实现了具有竞争力的性能。面向图的RAG的全局和局部方法的一个开源、Python实现即将在https://aka.ms/graphrag发布。

 

公众号:曲奇自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值