摘要
检索增强生成(RAG)已经成为一种很有前途的技术,用于解决大型语言模型(LLM)生成的响应中的幻觉问题。现有的RAG研究主要集中在应用基于语义的方法来提取孤立的相关组块,忽略了它们之间的内在关系。在本文中,我们提出了一种新的知识图引导的检索增强生成(KG2RAG)框架,利用知识图(KG),以提供块之间的事实级关系,提高检索结果的多样性和一致性。具体而言,在执行基于语义的检索以提供种子块之后,KG2RAG采用KG引导的块扩展过程和基于KG的块组织过程来在组织良好的段落中传递相关且重要的知识。在HotpotQA数据集及其变体上进行的大量实验表明,与现有的基于RAG的方法相比,KG2RAG在响应质量和检索质量方面都具有优势。
一、简介
近来,大型语言模型(LLM)(Li等人,2024年; Ren等人,2024年; Touvron等人,2023; Brown等人,2020)已经在包括问题回答在内的广泛的现实世界任务中取得了显著的成功(Sen等人,2023),辅助书写(Calamo等人,2023)、代码生成(Cheng等人,2024),以及许多其他人(Kaddour等人,2023年; Wu等人,2023年)的报告。然而,幻觉(Xu等人,2024 b; Liu等人,2024 a)成为关键的挑战,这通常是由于包含过时的信息或缺乏特定于域的知识而导致的。检索增强生成(RAG)(Gao等人,2023年; Fan等人,2024)已经成为一种可行的解决方案,通过从提供的文件中检索相关知识并将其合并到用于响应生成的LLM的提示中来减轻幻觉。
RAG中的现有研究(刘易斯等人,2020年; Yu,2022年; Purwar和Sundar,2023年; Gao等人,二零二三年; Ziletti和D 'Ambrosi,2024),如图1所示,采用基于关键字或基于语义的方法来检索与用户查询具有最高相似性的文档或组块。然而,这些检索到的块可能是同质的和冗余的,这不能提供这些块之间的内在关系,不能进一步激活LLM的推理能力。此外,检索到的块通常直接按照它们的相似性分数的顺序连接,并且作为提示的一部分被馈送到LLM。这种做法可能导致孤立的信息片段,限制了LLM在生成全面和可靠响应方面的效用。
图1:仅LLM、语义RAG和图RAG范式之间的比较
知识图(KG)(奥尔等人,2007年; Ji等人,2022),作为现实世界实体及其关系的结构化抽象,可以预期通过整合结构化的事实知识来有效地补充现有的基于语义的RAG方法。KG中的知识以三元组(头实体、关系、尾实体)的形式表示,通过重叠实体自然地链接。在RAG中使用KG的简化工作流程如图1所示,其中检索相关三元组以增加响应生成LLM中,提供组块之间的事实级关系,并突出显示基于语义的方法可能遗漏的重要事实。
基于此,本文提出了一个新的知识图引导的检索增强生成框架KG 2 RAG.具体地说,我们首先在离线处理提供的文档时进行组块和KG-组块关联,建立组块和特定KG之间的链接,以捕获这些组块之间的事实级关系。KG 2 RAG基于组块和KG,采用KG增强的组块检索,包括基于语义的检索和图引导的扩展。基于语义的检索使用嵌入和排序技术来准备若干种子块(Nussbaum等人,2024年;李和李,2024年)。然后,这些种子块被用于从关联KG中提取相关子图,在该子图上,我们可以应用图遍历算法来包括包含重叠或相关实体和三元组的块。这样的图形引导扩展的设计提供了检索块的更大多样性和全面的知识网络。
然后,我们在KG2RAG中加入了一个名为基于KG的上下文组织的后处理阶段。一方面,基于KG的上下文组织用作过滤器以保留子图中包含的最相关的信息,从而增强检索的块的信息性。另一方面,它作为一个排列器,以知识图为骨架,将块组织成内部连贯的段落。这些语义一致且组织良好的块与用户查询一起被沿着到LLM中以生成响应。
我们对广泛使用的HotpotQA(Yang et al.,2018)数据集及其新构建的变体进行了一系列实验,以减轻先验知识对LLM的影响。我们采用了一个分心和fullwiki设置,比较KG 2 RAG与几个基于RAG的方法。实验结果表明,KG 2 RAG始终优于基线的响应质量和检索质量。此外,我们进行了消融研究,以突出KG 2 RAG中不同模块的有效性。构建的数据集和源代码发布于https://github.com//KG 2 RAG,以进一步推动知识库在RAG中的开发和应用。
二、方法论
KG2RAG的工作流程概述如图2所示。在以下小节中,我们将提供KG2RAG工作流程的更多详细信息,包括文档离线处理(第2.1),KG增强的组块检索(第2.2),以及基于KG的上下文组织(第第2.3段)。
图2:提出的KG2RAG的工作流程
2.1文档脱机处理
在RAG的现有研究之后(刘易斯等人,2020; Gao等人,2023年; Fan等人,2024)中,首先基于句子和段落的结构将所有文档分割成个块,给定预定义的块大小,其可以被给定为
这些组块可以例如通过添加相关的上下文来进一步处理(Jiang等人,2023年; Eibich等人,2024),提取元信息(Mombaerts等人,2024)(例如,标题,摘要),并产生相应的问题(Ma等人,2023; Wang等人,第2024段b)。由于这些块增强技术与本文中提出的方法是正交的,因此我们建议参考原始文献以了解更多细节。在下文中,我们继续将经处理的块表示为
.
图3:三元组提取的提示
为了捕捉这些组块之间丰富的事实级关系,我们将它们与KG相关联,KG可以通过以下方法来实现。在KG可用的情况下,例如在WebQSP中(Yih等人,2016)和CWQ(Talmor and Berant,2018),可以通过实体和关系识别以及链接算法来执行组块-KG关联(Zhao等人,2023年; Tian等人,2024年)的报告。另一种方法涉及直接从块中提取多个实体和关系以形成子图,所述子图可用于联合收割机成完整图。在本文中,为了避免依赖现有的KGs,我们采用了后一种方法,通过向LLM提供适当的提示(参见图3)来实现它。在这个过程之后,我们提供了组块和特定KG之间的联系,其可以给出为
其中h、r和t分别表示头实体、关系和尾实体,并且c表示导出三元组的块。请注意,块KG关联过程是独立于查询的,这意味着它可以离线执行,只需要为所有文档构建一次,并支持新文档的增量更新。因为文档离线处理与普通RAG的功能一致,KG 2 RAG自然支持高效地向现有知识库和KG添加新文档或从现有知识库和KG中删除文档。
2.2 KG增强的组块检索
给定块D和相关联的KG G,所提出的KG2RAG建议两阶段的检索过程,包括基于语义的检索和图引导的扩展。
基于语义的检索
在基于语义的检索过程中,用户查询q和所有块之间的语义相似性可以被测量为
其中相似性函数采用嵌入模型(Nussbaum等人,2024; Li and Li,2024)将查询和组块转换为高维表示,然后计算它们的余弦相似度。与查询具有前
个最高相似性的块被选择作为检索到的块,由
表示。这些检索到的块可以作为上下文集成到LLM为RAG的提示符中。如第1、单纯依靠语义检索可能会导致孤立的语块,丢失关键的事实知识和语块之间的内在联系。为了解决这个问题,我们把检索到的块
作为种子块,并提出了一个图形引导的扩展过程。
图引导扩展
在沟通和思考过程中,人们经常将一个事件与其他事件联系起来,因为这些事件涉及相同的实体,例如人和地点。例如,华盛顿,华盛顿特区的国会山将我们对巴拉克·奥巴马、唐纳德·特朗普和乔·拜登的印象联系起来,因为他们都分别在2013年、2017年和2021年在那里发表了总统就职演说。KG2RAG通过这些洞察力,提出了通过重叠或连接的实体将一个组块与其他组块链接起来,这些实体包含在检索的组块扩展中。
具体地说,给定检索块和
,我们首先得到
的相关子图如下:
然后,我们遍历的m-hop邻域,得到扩展子图
,它可以被给定为
其中transverse(·)可以用广度优先搜索(BFS)算法来实现,用作捕获中的所有实体、对应的
跳相邻实体以及链接这些实体以形成扩展子图的所有边的函数。
给定扩展的子图,我们可以读出与该图相关联的所有块(即包含对应于该图中的三元组的事实)如下:
其中称为扩展块。
讨论
几种基于语义和上下文的方法也可以实现语块扩展。例如,可以在上述基于相似性的检索过程中增加k的值,或者应用上下文窗口扩展(Jiang等人,2023)(即,当检索块时,上下文窗口内的块也一起被重新调用)。与这些方法不同的是,所提出的图引导的扩展收集包含相同或相关实体或三元组的块,而不要求这些扩展的块与查询具有高语义相似性或位于检索块的周围。这种图引导扩展的设计有助于防止检索和扩展的组块之间的冗余和过度同质性,从而导致更大的多样性和更全面的知识网络的发展。我们提供了一些经验证据,在3.3部分中进一步证实所提出的图指导扩展的有效性。
2.3基于KG的上下文组织
在KG增强的块检索之后,在LLM的响应生成之前并入了后处理阶段,这是出于以下两个考虑。
首先,通过图引导扩展的扩展块的数量与扩展子图中包含的三元组相关联,其可能太大,可能超过上下文长度并引入可能模糊有用信息的噪声。其次,受人类阅读习惯和先前研究的启发(Li,2023; Liu等人,2024 b),提供语义连贯和组织良好的材料作为语境,对学习记忆的理解和生成产生积极影响。因此,我们在提出了一个基于
的上下文组织模块,它既作为一个过滤器和调度器,以满足这些要求。
作为过滤器
具体来说,我们首先计算扩展块与用户查询之间的语义相似性,根据等式。(二).基于这些相似性,扩展子图可以被变换为无向加权图,如下所示:
其中,表示无向边,附加有对应关系和源块作为
信息。我们重复使用在Sec2.2中计算的语义相似性以节省计算资源。
由于知识的内聚性质,可以自然地被划分为
个连通分量,用
表示,
,其中每个连通分量
内的节点表示
中的实体。由于冗余知识的存在,多条边可能连接一对节点,这促使我们生成每个连通分支的最大生成树来用于过滤,这个可以被公式化为
通过这样的过滤过程,我们只保留实体之间最相关的链接信息,并消除冗余边缘,从而增强检索块的信息量。
作为一个组织者
我们的目标是通过基于KG的上下文组织模块,以KG为骨架,将检索到的语块整合成内在相关且自洽的段落。
为了实现这一点,我们为每个生成的提供两种表示,包括文本表示和三元组表示。对于文本表示,我们选择具有最高权重的边作为根,并使用深度优先搜索(DFS)算法连接链接到边缘的所有块以形成连贯的段落。对于三元组表示,我们在
内以
的形式连接所有边。
我们使用交叉编码器重排序函数基于和用户查询的三元组表示来计算他们之间的相关性得分(Xiao等人,2023年):
其中是交叉编码器重新排序函数,并且
用于获得三元组表示。我们使用三元组表示而不是文本表示,因为三元组提供了与相应块相关联的关键信息的简洁和结构化的细化,从而允许相关性匹配聚焦于关键信息。在计算了相关性得分之后,我们对
,根据它们与用户查询
的相关性
,以降序排列。然后,我们按顺序包含它们的文本表示,直到达到对块数量的
约束。最后,将这些选定的块与用户查询一起沿着到LLM中,以生成响应。
三、实验
3.1 实验设置
数据集
我们在基准数据集HotpotQA上进行实验(Yang等人,2018),其中每个查询可以与若干材料相关联(例如,维基百科中的相关内容)以帮助生成响应。HotpotQA数据集由两个设置组成,分别名为HotpotQA-Dist和HotpotQA-Full。在干扰物设置中,总共提供了十个文档作为支持材料,包括所有有用的知识以及一些无关的内容。在fullwiki环境中,需要从维基百科提取的全部66,581个文档中识别出有用的知识。
对于KG-组块关联,我们向Llama-3提供手动提示(Dubey等人,2024),用于从HotpotQA的66,581个文档中提取实体和关系,从而得到总共211,356个三元组,其中包括98,226个实体和19,813个关系。所构建的KG中的每个三元组都链接到其源块。我们记录了从每个组块和文档中提取的三元组的数量,并在图4中绘制了相应的组块和文档的分布,图4显示了长尾现象。
(a)根据三元组数的文档分布
(b)根据三元组数的组块分布
图4:三元组的统计
此外,为了减轻在生成过程期间对现有知识的依赖(即,LLM的训练语料库可能包含Wikipedia内容),并且为了更好地演示RAG的效果,我们构建了HotpotQA的变体。具体地说,对于每个实体,我们随机地将其替换为同一类别中的另一个实体,然后相应地更新查询、三元组和文档。例如,实体Family Guy可以替换为Rick和Morty,并且查询、三元组和文档中包含的Family Guy的所有实例都将更新为Rick和Morty。因此,LLM必须从文档中识别和提取相关内容,而不是依赖于来自训练数据的关于Family Guy的先验知识来正确地回答查询。请注意,可能会生成许多新的三元组,如(Rick and Morty,language,French),因为原始的尾部实体也可以从英语转换为法语。产生的变体数据集分别由Shuffle-HotpotQA-Dist和ShuffleHotpotQA-Full表示。
评估指标
我们比较与现有的基于
的方法的响应质量和检索质量,这可能会受到检索到的组块和上下文组织。对于检索质量,我们使用HotpotQA提供的评估脚本来衡量检索到的组块和引用的事实之间的F1分数,精度和召回率。对于响应质量,我们采用F1分数,精度和召回率作为度量标准,将生成的响应与地面真实答案进行比较。
基线
在实验中,我们将与以下基线方法进行了比较:
- LLM-only,它直接指示LLM生成对用户查询的响应,而无需任何额外的检索机制。
- 语义RAG(Jiang等人,2023),其采用基于语义的方法来检索相关块。这些块被连接到提示符中,并输入到LLM中以生成响应。更多详情,请参阅第二节2.2。
- 混合RAG(Gao等人,2021),其将基于语义的检索方法与基于关键字的检索方法(例如,BM 25(Askari等人,2023))进行块检索。检索到的块随后通过交叉编码器重新排序器合并。
- GraphRAG(Edge等人,2024),它使用LLM构建基于图的索引。GraphRAG从源文档中导出知识图,并为聚类实体预生成社区摘要。给定一个查询,它会生成每个相关社区摘要的部分响应,并将它们聚合到最终答案中。
- LightRAG(Guo等人,2024),它充当GraphRAG的轻量级版本。LightRAG从源文档中提取实体和关系,并生成每个实体的简短描述以供检索。检索到的信息与查询统一,并输入LLM进行生成。
对于和所有基线方法,我们使用LLaMA 3 -8B(Dubey等人,2024)作为KG构造和响应生成的LLM,mxbaiembed-large(Li和Li,2024)作为嵌入模型,以及bge-reranker-large(Xiao等人,2023)作为混合RAG和
的交叉编码器重排器。除非另有说明,否则k的值被设置为10。
3.2 对比与分析
响应质量
KG2RAG与基线之间的相应质量的比较展示在表1中。从表中,我们可以观察到,与仅使用LLM的方法相比,使用RAG的所有方法都实现了显着的改进,在原始HotpotQA上的F1分数提高了29.1%,在ShuffleHotpotQA上的F1分数提高了26.4%。在这些基于RAG的方法中,KG2RAG实现了一致的优异性能,特别是在fullwiki设置和ShuffleHotpotQA数据集上。
表1:KG2RAG和基线之间的响应质量比较。
在fullwiki设置中,向LLM提供了大量的候选文档(比干扰项设置多数千倍),需要高质量的检索结果和有效的上下文组织。在这样一个具有挑战性的设置,我们提出的方法KG 2 RAG实现了至少8%的改进相比,基线,表明KG 2 RAG增强块检索通过KG引导的方法,超越基于语义和基于关键字的方法。此外,在Shuffle-HotpotQA数据集上,LLM应该更多地依赖于RAG而不是先验知识,我们提出的方法在干扰器和fullwiki设置中分别实现了至少2.5%和6.4%的改进。
检索质量
实验结果如表2所示,表明KG 2 RAG在检索精度和召回率之间取得了良好的平衡,突出了KG引导的扩展和上下文组织的有效性。在干扰项设置中,不相关的块是有限的,我们提出的方法在召回率上达到了类似的性能,但在准确率上有明显的提高(在HotpotQA和Shuffle-HotpotQA上分别超过7.9%和6.9%)。在全维基环境中,识别相关组块更具挑战性,与其他基于RAG的方法相比,本文提出的方法在准确率和召回率方面都有了一致的提高.这些结果进一步证实了KG2RAG在KG的帮助下提供高质量检索结果的有效性。
表2:KG2RAG和基线之间检索质量的比较
3.3进一步讨论
消融研究
我们进行了消融研究,以证明KG 2 RAG中不同模块的贡献,包括KG引导的扩展和基于KG的上下文组织。表3和表4显示了在分心设置中HotpotQA和Shuffle-HotpotQA数据集上的实验结果,其中我们还报告了检索到的块的平均数量。
表3:在牵引装置中对HotpotQA进行的消融研究的实验结果
表4:在牵引器设置中对Shuffle-HotpotQA进行的消融研究的实验结果
从这些结果中,我们可以观察到,仅使用KG引导的扩展而不使用基于KG的上下文组织(在表中由“w/o组织”表示),KG 2 RAG在答案质量方面实现了类似的性能,但检索质量明显较差。原因是,如果没有基于KG的上下文组织模块,检索到的块的数量可能会明显更大,可能包含不相关的块,这些块对性能没有积极贡献,但会消耗额外的令牌。这些发现证实了基于知识生成的上下文组织模块在有效地选择和组织检索到的语块以保存相关信息方面的贡献。
仅使用基于KG的上下文组织模块(在表中由“w/o expansion”表示),KG 2 RAG以显著更少的组块数量实现了高检索精度和F1得分,但未能提供更好的响应,因为仅使用基于语义的方法可能无法检索某些必要的块。这些结果证实了KG引导的扩展模块在成功利用KG捕获块之间的事实级关系和检索基于语义的方法可能会错过的关键信息方面的重要性。
性能相对于改变k
我们在HotpotQA上在分心设置中使用不同的top-k值进行实验。实验结果如图5所示。从这些图中,我们可以观察到,与具有不同k的基线相比,KG 2 RAG保持了上级性能。当k被设置为合适的值(例如,5或10),KG 2 RAG确保高质量块的有效检索,从而提供连贯和上下文一致的上下文,以生成高质量的响应。
(a)响应质量
(b)检索质量
图5:在分心设置中HotpotQA上改变top-k的实验结果。
然而,当k被设置为太大的值(例如,15),虽然检索召回率显着提高,生成的响应的质量并没有成比例地增加,这表明简单地增加块的数量并不总是导致更好的检索召回率和响应质量。与基线相比,KG 2 RAG对超参数k的敏感性最低,这使得RAG过程具有鲁棒性。
性能相对于改变m
KG 2 RAG中,m作为图扩展的超参数,平衡检索精度和召回率之间的权衡。在前面的实验中,我们将m-hop值设置为1。为了进一步探索m的影响,我们在HotpotQA数据集上进行了不同m的实验。结果示于表5中。这些结果表明,设置m = 1对于实验是合适的,并且KG 2 RAG对超参数m表现出低灵敏度。
表5:在具有不同m的分心物设置中HotpotQA的实验结果
稳健性分析
为了进一步确认KG2RAG对质量受限KG的稳健性,我们从构建的KG中随机丢弃5%或10%的三联体,并在表6中显示实验结果。结果表明,KG2RAG保持稳健的性能,即使有质量限制,并优于基线。
表6:在三元组掉落的干扰器设置中HotpotQA的实验结果
四、相关工作
检索增强生成
为了解决幻觉的问题(Xu等人,2024 b; Liu等人,2024 a)由于缺乏相应的知识或包含过时的知识,检索增强生成(RAG)(Gao et al.,2023年; Fan等人,2024)已经被提出用于从候选文档池中检索相关块以辅助LLM生成。
在典型的RAG系统中(刘易斯等人,2020)中,首先基于长度和结构将文档分割成块,然后利用嵌入模型(Nussbaum等人,2024; Li和Li,2024),并进行索引以进行有效检索。受滑动窗口思想的启发(Jiao,2006),句子窗口检索(Jiang等人,2023年; Eibich等人,2024)获取所检索的块周围的相邻块并将它们连接成单个较大块以用于上下文丰富。然而,句子窗口检索仅考虑同一文档内文本块的物理邻近性。与现有研究不同,KG 2 RAG基于跨多个文档的组块之间的事实关联进行检索扩展。
重新排序(Ampazis,2024年; Glass等人,2022)是信息检索中的关键技术(Grems,1962; Kuo等人,2024年)的报告。在RAG系统中,将检索到的组块与查询沿着馈送到基于深度学习的交叉编码器(Xiao等人,2023)可以更精确地度量语义相关性,从而提高检索和生成的质量。KG 2 RAG将检索到的组块组织成段落,以KG作为骨架,从而允许对查询的段落级相关性进行细粒度测量。
具有知识图的LLM
LLM(Li等人,2024年; Ren等人,2024)是当代人工智能(AI)最具代表性的成果之一。KGs(Ji等人,2022)作为图结构化的关系数据库,为AI应用提供了至关重要的数据基础设施。研究表明,LLM具有解决与KG相关的任务的潜力,例如知识图完成(Liu等人,2024 c)和知识图问答(Sen等人,2023年)的报告。
最近,研究团体开始探索如何使用KGs来增强LLM的生成能力(Wang等人,2024 a; Edge等人,2024年; Xu等人,第2024条a款)。例如,KGP(Wang等人,2024 a)构造由页面和段落节点组成的文档KG,并将段落节点与TF-IDF链接。采用文献KG进行检索扩展。KGP构造的文档KG是基于句子级文本相似度的,其基本功能类似于简单地扩展上下文窗口。GraphRAG(Edge等人,2024)针对以查询为中心的摘要任务。GraphRAG利用LLM从文档库中自动抽取知识库,并在查询前分析数据集的语义结构,通过对知识库进行不同层次的分解和层次化的链接节点检测。与以往的研究不同,KG 2 RAG的研究目的是利用知识结构的事实层次结构和事实知识来增强RAG。
五、结论
本文提出了KG 2 RAG框架,该框架通过KGs之间的集成来提高RAG的性能。我们介绍了语块和特定语法之间的联系,这有助于提供这些语块之间的事实层面的关系。因此,KG 2 RAG建议在基于语义检索方法检索到的种子组块的基础上,进行基于KG的引导组块扩展和基于KG的上下文组织。通过这些过程,检索到的组块变得多样化、内在相关和自一致,形成组织良好的段落,这些段落可以被馈送到LLMs中以生成高质量的响应。我们将KG 2 RAG与现有的基于RAG的方法进行了比较,证明了KG 2 RAG在响应质量和检索质量上的上级性。通过对KG 2 RAG的消融实验进一步验证了KG 2 RAG中基于KG的组块扩展和基于KG的上下文组织两个模块的作用,表明这两个模块的协同作用增强了KG 2 RAG的效率。
鸣谢
本工作得到国家自然科学基金(No.62272219)的资助。
不足
检索-扩充生成(RAG)是一种系统工程框架,可以从多个角度进行改进,包括查询重写(Xiao等人,2023),检索优化(Eibich等人,2024)、多回合对话(Yao等人,2023)等(Gao等人,2023年)的报告。KG 2 RAG只关注检索优化部分,其目标是利用知识库中的结构化事实知识,进行知识库引导的检索扩展和基于知识库的上下文组织,从而增强RAG,而不优化其他模块。然而,所提出的KG 2 RAG是正交的,并且与上述模块兼容。在未来,我们将把KG 2 RAG开发成一个即插即用的工具,它可以很容易地与其他方法集成,从而更好地促进研究社区。