9、Graph RAG论文笔记(查询为中心的摘要 (QFS)任务)

Graph RAG论文笔记

  • [1、 **研究背景**](#1、 研究背景)
  • [2、 **Graph RAG 方法与流程**](#2、 Graph RAG 方法与流程)
    • [2.1 源文档 →文本块](#2.1 源文档 →文本块)
    • [2.2 文本块→元素实例(每个块:节点和边、协变量)](#2.2 文本块→元素实例(每个块:节点和边、协变量))
    • [2.3 元素实例→元素摘要(每个块)](#2.3 元素实例→元素摘要(每个块))
    • [2.4 元素概述→图社区(图节点,分级)](#2.4 元素概述→图社区(图节点,分级))
    • [2.5 图形社区 →社区摘要(总结分级)](#2.5 图形社区 →社区摘要(总结分级))
    • [2.6 社区摘要 →社区答案 →全球答案(map - reduce)](#2.6 社区摘要 →社区答案 →全球答案(map - reduce))
  • [3、map - reduce](#3、map - reduce)
  • 4、朴素RAG(对比)
  • 5、评估
    • [Graph RAG级别](#Graph RAG级别)
    • 评估指标
    • [Graph RAG与naïve RAG胜率百分比](#Graph RAG与naïve RAG胜率百分比)
    • [Graph RAG级别的对比](#Graph RAG级别的对比)
  • [6、以查询为中心的摘要 (QFS) 任务,而不是显式检索任务](#6、以查询为中心的摘要 (QFS) 任务,而不是显式检索任务)
  • 7、总结

论文:From Local to Global: A Graph RAG Approach to Query-Focused Summarization,从本地到全局:以查询为中心的摘要的图形 RAG 方法

链接:https://arxiv.org/abs/2404.16130

官方:https://www.microsoft.com/en-us/research/project/graphrag/

Na ̈ıve RAG 朴素RAG:(与之对比的传统算法论文)

Gao, Y., Xiong, Y., Gao, X., Jia, K., Pan, J., Bi, Y., Dai, Y., Sun, J., and Wang, H. (2023). Retrieval-

augmented generation for large language models: A survey. arXiv preprint arXiv:2312.10997.

高倩,Y.,熊倩,Y.,高 X.,贾,K.,潘,J.,毕,Y.,戴,Y.,孙,J. 和王,H.(2023)。大型语言模型的检索增强生成:一项调查。arXiv 预印本 arXiv:2312.10997。

1、 研究背景

研究背景:

  • RAG的局限:检索增强生成(RAG)在处理针对整个文本语料库的全局问题时表现不佳,因为这些问题本质上是查询聚焦总结(QFS)任务,而非简单的检索任务。
  • QFS的挑战:现有的QFS方法难以扩展到典型RAG系统索引的大量文本。

2、 Graph RAG 方法与流程

  • 文本处理流程:将源文档分割为文本块,从文本块中提取元素实例(节点和边缘),生成元素总结,构建图社区,创建社区总结,最后利用社区总结生成最终答案。
  • 关键技术与参数:包括选择合适的文本块粒度、使用多轮提取以平衡召回和精度、采用 Leiden 算法进行社区检测等。

每个块提取成一个图节点(文本阶段),Leiden 进行分级(构建图社区),总结分级(社区总结),生成最终答案(map - reduce)

图 1:使用 LLM 派生的源文档文本图形索引的图形 RAG 管道。该索引跨越节点(例如实体)、边缘(例如关系)和协变量(例如声明),这些节点(例如实体)、边缘(例如关系)和协变量(例如声明)已被为数据集域量身定制的 LLM 提示检测到、提取和汇总。社区检测(例如,Leiden、Traag et al., 2019)用于将图形索引划分为元素组(节点、边、协变量),LLM 可以在索引时和查询时并行汇总这些元素。给定查询的"全局答案"是使用对报告与该查询相关的所有社区摘要进行最后一轮以查询为中心的摘要生成的。

协变量:

在涉及节点和边的分析场景中,协变量可以用来描述节点或边的一些额外特征,这些特征可能会影响到基于节点和边构建的模型或分析的结果。

  • 作为节点属性:协变量常常作为节点的属性出现在图中。例如,在一个城市交通网络的图中,节点代表交通枢纽(如车站、港口等),边代表交通路线。协变量可以是每个交通枢纽的吞吐能力(如每小时能够容纳的旅客数量)。这个协变量作为节点属性,会影响交通流量在整个网络中的分布情况。
  • 可视化表示:如果对这样的交通网络图进行可视化,协变量的值可以通过不同的颜色、大小或标签来表示在节点上。比如,吞吐能力高的交通枢纽节点可以用较大的圆圈来表示,颜色可以根据吞吐能力的数值范围进行划分,这样在观察图的时候就可以直观地看到每个节点的协变量信息。

2.1 源文档 →文本块

需确定从源文档提取的输入文本分割为文本块的粒度。较长文本块可减少 LLM 调用次数,但会受 LLM 长上下文窗口召回率下降的影响 。例如在 HotPotQA 数据集上,600 token 的块大小比 2400 token 提取的实体引用多近一倍。

LLM 上下文窗口召回率降低的问题:如在 HotPotQA 数据集上的实验表明,600 个 token 的文本块提取的实体引用数量几乎是 2400 个 token 文本块的两倍,这体现了长文本块可能导致部分信息在长上下文中被遗漏,从而降低了召回率。因为 LLM 在处理长文本块时,可能无法有效捕捉到所有相关信息,使得一些本应提取的实体等元素被遗漏,进而影响了召回率。

图 2:在 HotPotQA 数据集中检测到的实体引用(Yang et al., 2018)如何随块大小和收集而变化,因为我们使用 gpt-4-turbo 的通用实体提取提示。

这是一张折线图,展示了在不同块大小(chunk size)下,执行数据收集操作(gleanings performed)的次数与检测到的实体引用(entity references detected)数量之间的关系。从图中可以看出,随着数据收集操作次数的增加,所有块大小下检测到的实体引用数量都在增加。并且,较小的块大小(如 600)在相同的数据收集操作次数下,能够检测到更多的实体引用。

2.2 文本块→元素实例(每个块:节点和边、协变量)

此步骤要从每个源文本块中识别和提取图节点和边缘实例,使用多部分 LLM 提示,先识别文本中所有实体及其信息,再确定相关实体间的关系,并输出为一个限定元组列表。还可根据文档领域选择少量示例为 LLM 提供上下文学习,且支持提取与节点实例相关的协变量。为平衡效率和质量,采用多轮"收集"来检测可能遗漏的实体。

  • 利用多部分的 LLM 提示从源文本块中识别和提取图节点及边缘实例。先找出文本中的所有实体,涵盖名称、类型和描述信息,接着确定明显相关实体间的关系,包括源、目标实体及关系描述,并将其以分隔元组列表形式输出。
  • 为使提取过程适应文档领域,可选择特定领域示例为 LLM 提供上下文学习。例如,通用的"命名实体"提取提示虽适用一般情况,但在科学、医学、法律等领域,专门的示例有助于提升提取效果。
  • 还支持提取与节点实例相关的协变量,默认协变量提示用于提取与检测实体相关的声明,包含主题、对象、类型等信息。
  • 采用多轮"收集"操作来平衡效率和质量,最多达指定次数,促使 LLM 检测前一轮遗漏的实体,确保提取的完整性。

2.3 元素实例→元素摘要(每个块)

生成元素总结:使用LLM来"提取"源文本中表示的实体、关系和声明的描述已经是一种抽象摘要形式,依靠LLM来创建可能隐含但文本本身没有陈述的概念的独立有意义的摘要(例如,隐含关系的存在)。要将所有这些实例级摘要转换为每个图元素(即实体节点、关系边缘和索赔协变量)的单个描述性文本块,需要在匹配的实例组上进行另一轮LLM摘要。

总的来说,我们在潜在嘈杂的图结构中为同质节点使用丰富的描述性文本符合LLM的能力和全局的、以查询为中心的摘要的需求。这些品质也将我们的图索引与典型的知识图区分开来(区别),后者依赖简洁一致的知识三元组(主语、谓语、宾语)进行下游推理任务。

LLM 提取源文本中实体等的描述是一种抽象总结,还需进一步对匹配的实例组进行总结,将实例级总结转换为每个图元素的描述文本块。虽可能存在同一实体不同文本格式的问题,但因后续会检测和总结相关实体"社区",且 LLM 能理解变体背后的共同实体,所以整体方法不受影响。

2.4 元素概述→图社区(图节点,分级)

上一步创建的索引可建模为同质无向加权图,用社区检测算法(如 Leiden 算法)将其划分为节点连接紧密的社区,该算法能有效恢复大规模图的层次社区结构,每个层次的社区划分都能覆盖图节点,便于进行分治式全局总结:

  1. 图索引的建模:前一步创建的索引可构建为同构无向加权图,其中实体节点由关系边连接,边的权重体现检测到的关系实例的标准化计数。
  2. 社区检测算法应用基础:基于这样的图,可运用多种社区检测算法,将图划分成内部节点间连接更强的节点社区,还可参考Fortunato在2010年以及Jin等人在2021年的相关综述了解更多。
  3. 莱顿算法的选用及优势 :在处理流程中选用莱顿(Leiden)算法,因其能高效恢复大规模图的层次化社区结构(可参照图3),该层次结构的每一层都能以互斥且完备的方式划分图中节点,进而实现分而治之的全局汇总。

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

这张图展示了社区网络在不同层级下的结构:

  1. 图(a)的标题是"Root - communities at level 0",表示这是在第0层的根社区。图中用不同颜色区分了多个社区,每个社区似乎是由多个节点和连接这些节点的边组成,形成了一个复杂的网络结构。节点可能代表个体,边则代表个体之间的关系或联系。

  2. 图(b)的标题是"Sub - communities at level 1",表示这是在第1层的子社区。与图(a)类似,它也是用不同颜色区分了多个社区,但这些社区可能是图(a)中社区的细分。

2.5 图形社区 →社区摘要(总结分级)

总的来说,在此阶段,GraphRAG 会为不同层级的社群建立报告(Report),而这些报告代表了对原始数据不同层次的理解。形象来说,这些社区构成了一个树状结构,更接近根的社区报告通常覆盖了更大的范围,代表了更加全局和概括性的理解。而越接近枝叶的社区通常覆盖面越窄,理解也越微观。

  1. 叶级社区(Leaf - level communities)
    • 总体操作流程
      • 对于叶级社区(包含节点、边和协变量)的元素摘要,首先要进行优先级排序。然后,将这些经过排序的元素摘要迭代地添加到大型语言模型(LLM)的上下文窗口中,一直添加到达到令牌(token)限制为止。
    • 优先级确定方法
      • 这里的优先级是按照以下方式确定的:对于每个社区边,根据源节点和目标节点的度(degree,这里可以理解为节点的重要性或连接的广泛程度)之和的降序来排列。
      • 对于每一条边,按照这个顺序添加源节点的描述、目标节点的描述、与之相连的协变量的描述以及边本身的描述。例如,如果有一条边连接节点A和节点B,且节点A和节点B的度之和较高,那么就先处理这条边相关的源节点A、目标节点B、连接的协变量以及这条边的描述,并将其添加到上下文窗口中。
  2. 更高级别社区(Higher - level communities)
    • 第一种情况:元素摘要能放入上下文窗口
      • 如果所有元素摘要都能在上下文窗口的令牌限制范围内,那么就按照处理叶级社区的方法来操作,即对社区内的所有元素摘要进行汇总。
    • 第二种情况:元素摘要超出上下文窗口的令牌限制
      • 如果所有元素摘要超出了上下文窗口的令牌限制,那么就根据元素摘要令牌数量的降序来对其子社区进行排序。
      • 然后,迭代地用子社区摘要(通常较短)来替换与之相关的元素摘要(通常较长),不断重复这个过程,直到能够将所有内容适配到上下文窗口内为止。

叶级社区:按上下文窗口大小,所有元素迭代一次

高级社区:按上下文窗口大小,所有元素递归迭代多次,树形递归

2.6 社区摘要 →社区答案 →全球答案(map - reduce)

介绍了一种在给定社区级别下,为用户查询生成全局答案的方法,具体如下:

  • 准备社区摘要

    将社区摘要随机打乱,并划分成预先指定令牌大小的块。这样可以确保相关信息分散在各个块中,而不是集中在单个上下文窗口中导致可能丢失。

  • 映射社区答案

    为每个块并行生成中间答案,同时要求大型语言模型(LLM)生成一个0到100之间的分数,以表明所生成的答案对回答目标问题的帮助程度。将得分为0的答案过滤掉。

  • 归约为全局答案

    按照帮助程度分数的降序对中间社区答案进行排序,并迭代地将其添加到一个新的上下文窗口中,直到达到令牌限制。最后使用这个最终上下文来生成返回给用户的全局答案。

3、map - reduce

"map - reduce"是一种用于处理数据和生成最终答案的方法框架:

  • Map 阶段:在给定用户查询后,对于社区总结(如 Graph RAG 方法)或源文本(如 TS 方法),会先将其随机打乱并分成预先指定令牌大小的块。然后针对每个块,利用语言模型并行地生成中间答案,并要求语言模型给出 0 - 100 的分数来评估答案对回答问题的帮助程度,同时过滤掉得分为 0 的答案。例如,对于一个关于科技行业趋势的查询,在这个阶段会针对每个块生成诸如"某技术在某方面有发展潜力,因为......,得分为 80 分"这样的中间答案。
  • Reduce 阶段:将上一阶段生成的中间社区答案按照帮助性分数从高到低进行排序,接着依次将这些中间答案添加到一个新的上下文窗口中,直到达到该窗口的令牌限制。最终利用这个包含了多个有效中间答案的上下文窗口来生成返回给用户的全局答案。比如,可能会综合多个关于不同技术发展趋势的中间答案,形成一个全面的关于科技行业趋势的最终答案。

TS 方法和 SS 方法存在以下区别:

  • 处理对象:TS 方法在 map-reduce 总结阶段处理的是源文本,而 SS 方法处理的是文本块。
  • 操作方式:TS 方法需要对源文本进行打乱和分块,后续操作类似 2.6 小节基于社区总结的方法;SS 方法则是检索文本块并添加到可用的上下文窗口直至达到指定的令牌限制。

4、朴素RAG(对比)

Na ̈ıve RAG 朴素RAG:(与之对比的论文)

Gao, Y., Xiong, Y., Gao, X., Jia, K., Pan, J., Bi, Y., Dai, Y., Sun, J., and Wang, H. (2023). Retrieval-

augmented generation for large language models: A survey. arXiv preprint arXiv:2312.10997.

高倩,Y.,熊倩,Y.,高 X.,贾,K.,潘,J.,毕,Y.,戴,Y.,孙,J. 和王,H.(2023)。大型语言模型的检索增强生成:一项调查。arXiv 预印本 arXiv:2312.10997。

该段内容主要介绍了不同的RAG(检索增强生成)方法和系统:

  1. RAG基本流程(结合LLMs):先从外部数据源检索相关信息,再与原始查询一同添加至大语言模型的上下文窗口中。
  2. 朴素RAG方法:将文档转成文本后拆分,嵌入向量空间(依语义对应位置),把查询也嵌入此空间,取距查询最近的k个文本块作上下文,用于应对外部数据集超出大语言模型上下文窗口的情况。
  3. 高级RAG系统:包含预检索、检索、后检索策略,目的是克服朴素RAG的缺点。
  4. 模块化RAG系统:具备让检索和生成交错进行的迭代、动态循环模式。
  5. Graph RAG:融合诸多相关概念,像社区总结作为生成增强检索的自记忆,基于社区总结的并行生成策略属于迭代或联合的检索 - 生成策略,其层次化索引和总结与其他部分方法有相似处,但独特在于采用自生成图索引,区别于其他迭代、层次化方法,且提及其他系统运用相关概念应用于多文档总结和多跳问答等场景。

5、评估

Graph RAG级别

评估指标

评估的基本设置:(对比Naive RAG 和Graph RAG答案)

  • 评估输入内容:在进行评估时,会向大语言模型(LLM)提供三个关键要素,分别是问题、目标指标以及一对答案。例如,问题可能是"哪种运动方式更有助于提高心肺功能",目标指标可以是"全面性"(意味着衡量答案对各种相关因素涵盖的全面程度),那对应的一对答案就是针对这个问题给出的不同回复内容。
  • 评估要求:要求LLM依据给定的目标指标来判断这一对答案中哪一个更好,并且还要说明做出该判断的原因。也就是说,LLM需要基于像"全面性"这样具体的衡量标准,分析两个答案谁在这方面表现更优,并阐述清楚背后的理由。

总体而言,这段话描述了一种利用大语言模型来比较一对答案好坏的评估方法,包括具体的操作流程、结果判定方式以及为保证准确性所采取的应对随机性的措施,并且指出了示例所在位置方便进一步理解。

这里呈现了一个关于"哪些公众人物在各种娱乐文章中被反复提及"的问题评估示例:

  • LLM 决策
    • 全面性:判定 Graph RAG 的答案获胜。因为它提供了来自更广泛娱乐领域的公众人物详细列表,并且包含了这些人物的具体贡献、对各自领域的影响以及相关争议和含义等内容,相比之下,Naive RAG 的答案仅涵盖了少数人物且主要关注个人生活和关系,在全面性上不如 Graph RAG 的答案。
    • 多样性:同样认为 Graph RAG 的答案更好。它涵盖了娱乐行业不同领域的众多公众人物,提供了多样化的视角和见解,并引用了具体的数据来源来支持观点,而 Naive RAG 的答案主要集中在音乐和体育领域的少数人物,且数据来源单一,缺乏多样性。
    • 赋能性:Graph RAG 的答案更优。它提供了娱乐行业各领域公众人物的全面且结构化的概述,通过列举多个个体、提供具体贡献和背景信息以及数据报告参考,有助于读者全面理解主题并做出明智判断,而 Naive RAG 的答案在这方面的深度和广度不足。
    • 直接性:Naive RAG 的答案在此指标上获胜。因为它直接列出了被反复提及的具体公众人物,并对其频繁被提及的原因给出了简洁解释,而 Graph RAG 的答案虽然全面,但在回答问题的直接性和简洁性上不如 Naive RAG 的答案。

Graph RAG与naïve RAG胜率百分比

这图看的还是有点蒙。。。

图 4:两个数据集、四个指标和每次比较 125 个问题(每个重复 5 次并取平均值)的(行条件)优于(列条件)的头对头胜率百分比。每个数据集和量度的总体获胜者以粗体显示。自赢率未计算,但显示为预期的 50% 以供参考。所有 Graph RAG 条件在全面性和多样性方面都优于 na ̈ıve RAG。条件 C1-C3 也显示答案的全面性和多样性比 TS (没有图形索引的全局文本摘要) 略有改善。

这张图是一个比较不同条件下胜率百分比的图表,以下是如何解读它:

  1. 总体结构
  • 图表展示了在两个数据集上,针对四种度量标准(可能是与某种评估相关的指标)进行比较的结果。
  • 每次比较基于125个问题,每个问题重复五次并取平均值。
  1. 表头和行列
  • 表头:图中的表头说明了这是(row condition)对(column condition)的正面交锋胜率百分比。
  • 行列:图表中的行和列分别代表不同的条件。行条件与列条件进行比较,单元格中的数值表示行条件战胜列条件的百分比。
  1. 数据标注
  • 粗体字:每个数据集和度量标准下的总体获胜者用粗体字显示。这可以帮助你快速识别在特定数据集和度量标准下表现最佳的条件。
  • 50%参考线:自身胜率(self - win rates)没有被计算,但为了参考,用50%来表示。这是因为如果一个条件与自身比较,理论上胜率应该是50%。
  1. 具体比较
  • Graph RAG与naïve RAG:在"Comprehensiveness"(全面性)和"Diversity"(多样性)这两个度量标准上,所有的Graph RAG条件都优于naïve RAG。这意味着在这些指标上,Graph RAG有更好的表现。
  • 条件C1 - C3与TS:条件C1 - C3在答案的"Comprehensiveness"和"Diversity"方面比TS(没有图索引的全局文本总结)有轻微的改进。这表明C1 - C3在处理文本时可能利用了图索引的优势,从而在这两个度量标准上取得了更好的效果。

比较方法:当你想要比较两个特定条件时,找到表格中对应的行和列交叉的单元格。单元格中的百分比就是行条件相对于列条件的胜率。例如,如果你想知道条件 A 相对于条件 B 在某度量标准下的胜率,找到表格中 A 行 B 列的单元格,该百分比就是 A 战胜 B 的概率。

Graph RAG级别的对比

表 3:上下文单元的数量(C0-C3 的社区摘要和 TS 的文本块)、相应的令牌计数和最大令牌计数的百分比。源文本的 Map-reduce 摘要是最耗费资源的方法,需要最多的上下文标记。根级社区摘要 (C0) 每个查询需要的令牌要少得多 (9x-43x)。(文本块和token,随查询级别的递减)

1、 社区总结与源文本的对比(基于Graph RAG)

  • 在全面性和多样性方面的表现
    在使用Graph RAG方法来比较社区总结(Community summaries)和源文本(source texts)时,除了根级别(root-level)的总结外,社区总结通常在答案的全面性(answer comprehensiveness)和多样性(answer diversity)上能提供虽小但较为稳定的提升。
    • 具体胜率情况
      • 在播客(Podcast)数据集里,中间级别(Intermediate-level)的社区总结在全面性方面的胜率达到了57%;在新闻(News)数据集里,低级别(low-level)的社区总结全面性胜率为64%。这意味着在多次对比中,相应级别的社区总结在提供更全面答案方面,战胜源文本的比例分别是57%和64%。
      • 对于多样性指标,播客数据集的中间级别社区总结胜率为57%,新闻数据集的低级别社区总结胜率为60%,表明这些社区总结在提供更具多样性的答案上,相较于源文本也有着一定的优势。
  • 可扩展性优势(体现在所需上下文令牌数量方面)
    表3展示了Graph RAG相对于源文本总结在可扩展性方面的优势。具体来说,对于低级别社区总结(C3),Graph RAG所需要的上下文令牌数量比处理源文本时少26% - 33%;而对于根级别社区总结(C0),所需的上下文令牌数量更是减少了超过97%。这体现出Graph RAG在利用社区总结进行处理时,在资源利用效率上(以上下文令牌数量衡量)表现出良好的可扩展性,能够用更少的资源来达到相应的效果。

2.、根级别Graph RAG的特点与优势

  • 虽然根级别Graph RAG相较于其他全局方法在性能上有一定程度的下降,但它为那种具有反复问答特征的意义构建(sensemaking)活动提供了一种高效的方法。并且,它在与朴素RAG(naïve RAG)对比时,依然在全面性(有着72%的胜率)和多样性(有着62%的胜率)方面保留了优势,这说明根级别Graph RAG尽管相对没那么完美,但在一些关键指标上还是比朴素RAG更能满足需求,同时又具备高效处理的特点。

3、 赋权性(Empowerment)方面的比较结果

  • 整体情况
    在赋权性这个指标上,无论是全局方法与朴素RAG(SS)对比,还是Graph RAG方法与源文本总结(TS)对比,结果都是好坏参半、比较混杂的。
  • 影响因素分析
    通过临时使用大语言模型(ad-hoc LLM use)来分析关于这一指标的大语言模型推理过程发现,能否提供具体的例子、引用语以及参考文献被认为是帮助用户达成有根据的理解的关键所在。这意味着在判断答案是否具有良好的赋权性时,答案中包含这些具体细节内容很重要,它们能让用户更好地依据所提供的信息去深入理解相关主题。
  • 改进方向建议
    由此提出可以通过调整元素提取提示(Tuning element extraction prompts)来帮助在Graph RAG索引中保留更多的这类细节,从而有望提升在赋权性方面的表现,让Graph RAG方法生成的答案能更好地助力用户进行有根据的理解和判断。

总体而言,这段话围绕社区总结和源文本在不同方面展开了比较分析,阐述了Graph RAG方法在不同级别总结上的优势与特点,以及在赋权性指标上的表现及改进方向,为进一步了解和优化相关处理方法提供了依据。

6、以查询为中心的摘要 (QFS) 任务,而不是显式检索任务

查询为中心的摘要(Query-Focused Summarization,QFS)任务是自然语言处理领域中一项重要的任务,以下从多个方面对其进行介绍:

定义

查询为中心的摘要任务旨在根据给定的查询需求,从一篇或多篇文档中提取、生成与之相关且能准确反映关键内容的摘要信息。与传统的通用摘要不同,它不是单纯概括文档整体大意,而是聚焦于特定查询所指向的内容,以更好地满足用户特定的信息检索和获取期望。

实现方法

  • 基于抽取式的方法:从原始文档中直接抽取那些与查询相关的句子、段落等内容,然后按照一定逻辑进行组合排列形成摘要。例如,通过计算句子与查询的相似度得分,选取得分较高的句子作为摘要的组成部分,常用的技术手段包括词向量、余弦相似度等,用于衡量语义关联程度。
  • 基于生成式的方法:利用深度学习中的生成模型,如Transformer架构基础上的一些预训练语言模型,根据对查询和文档内容的理解,生成全新的、通顺且符合查询要求的摘要语句。这需要大量的文本数据进行训练,让模型学习到如何根据不同查询准确地提炼并生成合适的摘要表述。
  • 混合式方法:结合抽取式和生成式的优势,先抽取一些关键的内容片段,再通过生成式的手段对其进行适当的改写、整合,使最终的摘要既能保留原始文档中的关键信息,又在语言表达上更加自然流畅、符合逻辑,以更好地响应查询需求。

面临的挑战

  • 语义理解准确性:要精准把握查询的语义以及文档中复杂的语义关系并非易事,自然语言往往存在一词多义、隐喻、指代不明等情况,容易导致提取或生成的摘要与实际查询需求出现偏差。
  • 摘要长度和关键信息平衡:需要在有限的摘要长度内合理涵盖关键信息,既不能过于冗长失去摘要的简洁性,也不能遗漏重要内容,尤其在面对内容丰富的长文档和复杂查询时,这一平衡较难把握。
  • 领域适应性:不同领域的文本特点差异较大,一个在通用文本上表现良好的QFS模型,可能在专业的医学、法律、科技等领域文本中效果不佳,需要针对不同领域进一步优化和适配。

以查询为中心的摘要(QFS)任务和基于显式检索任务区别:

任务本质

  • QFS任务:侧重于对给定文本内容进行信息提炼与整合,依据特定查询要求生成相应的摘要文本。它的核心在于理解查询语义,然后深入挖掘文本中的相关信息,经过筛选、组织等操作,输出一段能精准回应查询且概括关键内容的摘要,目的是让用户无需阅读全文就能快速知晓与查询相关的核心要点。例如,查询为"某部小说中主角的成长历程",QFS任务就是从这部小说文本里提取出主角各个阶段的关键经历、性格变化等相关内容,生成一段流畅且契合需求的摘要。
  • 显式检索任务:主要聚焦于从大量文档集合中查找出与查询相关的文档,更强调的是文档的定位。比如在搜索引擎中输入"人工智能在医疗领域的应用",显式检索任务就是找出那些包含该主题相关内容的网页、论文等文档资源,至于文档内部具体的相关内容细节梳理则不是其重点关注的方面。

处理过程差异

  • QFS任务
    • 文本理解与分析:首先要对输入的文本(可以是单篇长文或多篇短文)进行全面的语言理解,包括语法、语义、篇章结构等层面,以把握文本的整体脉络和细节信息。例如,对于一篇科技论文,要清楚各段落之间的逻辑关系、不同论据对论点的支撑情况等。
    • 查询语义解析:仔细剖析给定的查询语句,明确其关键概念、意图以及限定条件等。若查询是"新能源汽车电池续航提升的最新技术手段",就要准确理解"新能源汽车""电池续航""最新技术手段"这些核心要素,并且知道是要找当下最新的相关内容。
    • 相关性判断与摘要生成:依据对查询的理解,去判断文本中各部分内容与查询的相关性强弱,筛选出高度相关的部分,再运用合适的方法(如抽取式、生成式或混合式)将这些内容整合成有条理的摘要。比如对于一篇关于新能源汽车综合介绍的文章,提取出其中涉及电池新技术、能提升续航的部分,生成一段关于该主题的摘要。
  • 显式检索任务
    • 索引构建:通常会提前针对大量待检索的文档构建索引,将文档中的关键信息(如关键词、主题词等)提取出来并进行结构化存储,方便后续快速查找。例如搜索引擎会对抓取到的海量网页构建索引,以提高检索效率。
    • 查询匹配:把用户输入的查询语句与已构建好的索引进行匹配操作,通过各种算法(如倒排索引查找、基于向量空间模型的相似度计算等)找出那些在索引层面与查询匹配度高的文档,然后将这些文档作为检索结果呈现出来,并不对文档内部具体内容做深度的摘要生成工作。

应用场景侧重

  • QFS任务
    • 智能问答系统:在回答用户问题时,除了直接给出答案,若能结合QFS任务生成的摘要作为补充说明,能让用户更好地理解答案的依据和背景信息。比如用户问"某种疾病的治疗方案",问答系统除了回复具体方案,还可提供从相关医学文献中生成的关于该治疗方案原理、优势等方面的摘要。
    • 文献阅读辅助:科研人员在查找大量参考文献时,通过QFS任务获取各文献中与自己研究关注点相关的摘要,能快速筛选出对自己最有价值的文献,并且提前了解关键内容,节省时间。
  • 显式检索任务
    • 通用搜索引擎:像百度、谷歌等搜索引擎,其主要功能就是显式检索,帮助用户快速找到可能包含所需信息的网页、文档等,满足人们日常查找各类资讯、知识等广泛需求。
    • 专业数据库检索:在专业领域,如法律数据库、学术论文数据库等,显式检索能让专业人士快速定位到可能涉及相关案件、研究主题的文档资源,后续再深入阅读分析。

面临的挑战差异

  • QFS任务
    • 准确的语义关联把握:需要精准地判断文本中的内容与查询之间的语义关联程度,避免因一词多义、语义模糊等情况导致摘要内容偏离查询需求,尤其在处理复杂文本和微妙的查询语义时难度较大。
    • 摘要质量把控:要在有限的摘要长度内保证关键信息完整、逻辑连贯,同时语言表达要自然流畅,兼顾不同类型文本(如文学、科技、社科等)的特点来生成高质量摘要具有一定挑战性。
  • 显式检索任务
    • 索引时效性与全面性:随着信息不断更新,要及时更新索引以保证检索到最新的相关文档,并且要尽可能涵盖更多的文档资源,避免遗漏重要信息,这对索引构建和维护提出了较高要求。
    • 检索准确性提升:要在海量文档中准确找到与查询高度匹配的文档,减少无关文档的干扰,尤其是针对一些具有模糊性、专业性较强的查询,提高检索的精准度是个关键挑战。

7、总结

"From Local to Global: A Graph RAG Approach to Query - Focused Summarization" 介绍了一种 Graph RAG 方法,用于解决在私有文本语料库上的问答问题,特别是针对全局问题的查询聚焦总结。随着大型语言模型(LLMs)的出现,人们尝试在复杂领域实现自动化的意义构建,但在处理整个文本语料库的查询聚焦总结时面临挑战。该研究提出的 Graph RAG 方法结合了知识图谱生成、检索增强生成(RAG)和查询聚焦总结(QFS),通过构建基于图的文本索引,利用社区总结来生成最终答案,并在实验中取得了较好的效果。

  1. 研究背景与问题
    • 检索增强生成(RAG)在回答问题时,对于针对整个文本语料库的全局问题效果不佳,因为这本质上是查询聚焦总结(QFS)任务,而非简单的检索任务。
    • 现有的 QFS 方法难以扩展到典型 RAG 系统索引的大量文本。
  2. Graph RAG 方法与流程
    • 文本处理流程:将源文档分割为文本块,从文本块中提取元素实例(节点和边缘),生成元素总结,构建图社区,创建社区总结,最后利用社区总结生成最终答案。
    • 关键技术与参数:包括选择合适的文本块粒度、使用多轮提取以平衡召回和精度、采用 Leiden 算法进行社区检测等。
  3. 实验评估
    • 数据集与查询:选择两个约 100 万 token 的数据集(播客转录和新闻文章),使用基于活动的方法生成针对全局理解的问题。
    • 实验条件与指标:比较了六种条件,包括 Graph RAG 的四个层次、直接对源文本进行总结的方法和朴素的 RAG 方法,采用全面性、多样性、赋能和直接性四个指标进行评估。
    • 结果:Graph RAG 在全面性和多样性上优于朴素 RAG,在某些情况下,社区总结相比源文本总结在答案质量上有一定提升且具有更好的扩展性。
  4. 相关工作:介绍了 RAG 方法和系统的相关研究,以及图与 LLMs 结合的研究现状,指出 Graph RAG 与其他方法的不同之处在于利用了图的自然模块性进行全局总结。
  5. 讨论与未来工作:分析了评估方法的局限性、构建图索引的权衡,并提出了未来的研究方向,如开发更局部的 RAG 方法和混合 RAG 方案等。
  6. 结论:Graph RAG 方法在回答的全面性和多样性上相比朴素 RAG 有显著改进,与全局的源文本总结方法相比也有优势,开源实现即将发布。
相关推荐
无脑敲代码,bug漫天飞2 小时前
论文阅读 - 模拟误导信息易感性 (SMISTS): 利用大型语言模型模拟加强误导信息研究
论文阅读
LuH11246 小时前
【论文阅读笔记】MoGe: 使用最优训练监督解锁开放域图像的精确单目几何估计
论文阅读·笔记
ghost_him12 小时前
论文阅读:LDA-AQU:Adaptive Query-guided Upsampling via Local Deformable Attention
论文阅读
敲蚂蚁的小代码12 小时前
Leffa 虚拟试衣论文笔记
论文阅读
好评笔记13 小时前
多模态论文笔记——GLIDE(DALL·E 2模型核心部件)
论文阅读·人工智能·深度学习·aigc·transformer·glide·dall·e 2
好评笔记13 小时前
多模态论文笔记——GLIDE(DALL·E 2模型的核心部件)
论文阅读·人工智能·深度学习·计算机视觉·transformer·glide·dall·e 2
Maker~1 天前
30、论文阅读:基于小波的傅里叶信息交互与频率扩散调整的水下图像恢复
论文阅读·计算机视觉
好评笔记1 天前
多模态论文笔记——U-ViT(国内版DiT)
论文阅读·人工智能·深度学习·计算机视觉·aigc·transformer·u-vit
LuH11242 天前
【论文阅读笔记】LTX-Video: Realtime Video Latent Diffusion
论文阅读·笔记·生成对抗网络·aigc