基于知识图谱增强RAG应用和构建RAG知识库

科技   2024-11-26 07:35   海南  
【摘要】本文是AI落地实践的优秀案例,利用RAG技术(Retrieval-Augmented Generation,检索增强生成)的知识库实践为背景,介绍了RAG技术的发展及存在的不足,以及知识图谱相关的知识,利用RAG技术去完善和智能化知识图谱。在AI技术大量涌现,但应用不足的情况下,指明了现有应用场景、技术与AI结合的具体做法。

【作者】党宏雷,某银行软件开发中心研发部架构师,十余年系统建设及架构设计从业经验,涉及军事指挥、企业应用、公共安全等业务领域,目前主要负责金融大数据分析及人工智能技术应用相关的产品建设、方案设计和技术研究等工作。

1. 引言

随着人工智能技术的加速演进,AI 大模型如雨后春笋般纷纷涌现,已逐渐成为科技竞争和产业发展的新高地。据统计,目前国产大模型已超过200个,覆盖了金融、医疗、教育等多个关键领域。然而,大模型应用在快速发展的同时,也面临着一些挑战和问题,如幻觉问题、可解释性及更新时效不足等。为应对上述问题,利用知识图谱技术与大模型的融合正逐渐成为新的研究热点。

知识图谱作为高度结构化的知识模型,其真实性和可靠性可以提升大模型的解释推理能力,进而可以实现更加智能、精准和可靠的专业AI应用。

2. RAG 知识库

2.1. 知识库概述

以数据和经验为基础的知识信息管理在各个行业和领域都至关重要,随着知识经济的到来,有效地管理和利用知识信息,成为企业获得竞争优势、促进创新和发展最有效途径。传统的知识存储媒介以纸质为主,借助计算机和互联网技术的发展,越来越多知识信息以电子文档的形式进行存储,以共享知识库为核心,通过建立共享知识和交流平台,实现数据和经验的价值复用。

知识库中的数据来源多样,大量的非结构化信息需要人工处理,建设效率低、成本高、周期长。信息检索依赖于关键词匹配和倒排索引,随着数据规模的不断增加,用户在庞大的知识库中难以精准获取所需知识,检索效率有待提高。大语言模型的到来,使知识库应用的潜力进一步得到挖掘。其不仅具备良好的自然语言交互能力,还能够分析处理大量文本数据,生成复杂的问题,甚至驱动自动化决策。但对于特定领域或专业化的用户问答,尤其是超出了模型的训练数据或者需要最新信息时,大模型很容易产生错误的反馈或幻觉现象,从而使得大模型的应用落地较为困难。RAG( Retrieval-Augmented Generation)检索增强生成技术应运而生,其通过引入外部知识检索机制,有效地弥补了 AI 大模型应用的不足,提高了生成内容的质量、时效性和适用范围,同时降低了资源消耗,增强了系统的灵活性和可维护性。

2.2. RAG技术应用

RAG通过从多个数据源检索并整合信息来提升 AI 大模型生成输出质量,其核心思想结合了检索式和生成式模型的优势,以提高知识库问答系统的准确性和效率。RAG作为目前工程化成熟度最高的 AI 大模型应用方案,能够提供更有依据、更依赖事实的信息来帮助解决生成式 AI 的幻觉倾向、专业力不足和时效性差等固有缺陷。

RAG概念最早由Facebook提出,但受限于当时语言模型的能力,并未引发更多的关注。在大模型性能取得巨大进展的同时,伴随而来的幻觉问题使 RAG 技术重新进入人们的视野。在 RAG 技术发展过程中,从技术范式角度,将其总结为朴素 RAG 、进阶 RAG 和模块化 RAG 3个阶段,如下图所示:

3个阶段的RAG技术范式

(1)朴素 RAG- Native RAG 阶段

朴素 RAG 包括索引、检索和生成三个步骤。索引阶段,将文本分割成块并转换为向量表示,通过编码器构建向量索引。检索阶段,根据用户查询计算与索引中向量块的相似度,并检索相关文档片段。生成阶段,以检索到的上下文与查询一起构成提示 ,由 AI 大模型生成解答。

(2)进阶RAG-Advanced RAG 阶段

为解决朴素 RAG 在检索质量、响应生成以及增强过程中的不足,进阶RAG在索引过程中使用了滑动窗口、细粒度分割和元数据整合等技术,来提高被索引内容的质量。在检索阶段,引入了预检索和后检索策略进行优化查询,如扩展、重写和排序、摘要,以获得更高的检索效率和准确性。通过整合多个检索结果,使生成内容丰富、准确。

(3)模块化 RAG-Modular RAG 阶段

模块化 RAG 通过将检索、理解和生成模块等不同组成部分设计为独立的、可插拔的组件,并引入了更多的功能模块,如查询搜索引擎、融合多个回答等。技术上将检索与微调、强化学习等技术融合。流程上也对 RAG 模块之间进行设计和编排,出现了多种 RAG 模式。通过这些设计不仅提升了系统的整体效能,还为开发者提供了定制化的解决方案。

当前, RAG 已经成为业内公认的大模型知识库关键技术路线最佳落地范式之一。RAG 为生成式大模型与外部信息交互提供了良好的解决方案。RAG 通常包括两个阶段:检索上下文相关信息和使用检索到的知识指导生成过程,其基本流程可以分为知识文本准备、文本切分转换、向量数据存储、问题理解及检索、生成问题解答,如下图所示:

检索增强生成(RAG)基本流程

2.3. 存在不足

RAG技术的应用在信息检索和文本生成方面有效解决了AI大模型在更新时效和专业覆盖的局限性,大大提高了生成内容的质量,但在应用于知识库时也存在一些不足,主要概括为:

(1)知识库自身的局限,基于特定领域或时间点数据构建的知识库,无法涵盖所有问题信息,可能缺乏相关信息而无法给出准确答案,而且知识库的持续筛选和整合新数据是一项工作量浩大的任务,需要大量的人工干预。

(2)检索效率与问答效果的平衡,在检索数据量庞大时,检索算法的选择和优化直接影响到系统的响应速度和准确性,提升检索算法及生成内容质量的同时,可能导致响应速度的降低。

(3)上下文精准理解不足,在复杂语境或缺少世界知识情况下,生成模型可能误解问询意图,尤其是当检索到的信息片段质量不高时,可能导致生成的回答偏离主题或逻辑混乱。

(4)知识数据拆分的影响,信息以离散的文本形式存在,缺乏实体间关系的表达,导致信息孤岛现象,影响对复杂查询的理解和响应。难以处理需要基于完整事实进行推断的问题,影响答案的深度和准确性。

以上面临的诸多挑战和不足,需要持续的技术创新和策略优化以克服这些问题。通过结合结构化知识图谱与图数据库的融合应用,为RAG知识库指引了新的方向。

3. 知识图谱技术

3.1. 知识图谱定义

知识图谱的本质是语义网络(Semantic Network)的知识库,不仅包含实体和关系和属性信息,还包含实体和关系之间的语义关系。它以实体和实体之间的关系构成的三元组(头实体、关系和尾实体)为基本组成单位,表示和存储结构化知识信息。知识图谱提供了一种符号化形式来组织表示知识数据,使计算机可以通过事物以及事物之间的内在联系,查询和推理来获取有关特定实体或关系的内容,其示例如下图所示:

知识图谱示例

知识图谱由节点、边、属性组件构成:节点(实体和概念),代表现实世界或抽象概念中的实体,如个人、企业、事件等,以及更抽象的概念,如类别、属性等;边(关系),表示实体间的具体关系或属性,例如,“托管银行”、“管理基金”、“重仓持股”等,这些关系明确地定义了节点间如何相互关联;属性(特性),提供额外的描述信息,比如出生日期、所属年份等。

3.2. 知识图谱构建

知识图谱构建是一个系统性过程,涉及多个关键步骤的紧密结合,包括是将大量结构化、半结构化或者非结构化的数据通过知识抽取、知识融合、知识推理等操作处理之后加入数据库,构建过程需要反复多次迭代直至知识补全。知识图谱的构建方式包括自顶向下和自底向上:自顶向下构建方式借助现有的结构化知识库,完成知识抽取到图谱构建的过程;自底向上构建方法是从非结构化文本中提取知识,选取置信度较高的三元组,完成构建。

知识图谱构建流程的关键步骤包括:需求分析、数据采集、数据预处理、本体设计、知识抽取(包括实体识别和关系抽取)、知识融合、实体消歧、关系推理和图谱补全等,其中实体识别和关系抽取技术在构建阶段发挥着核心作用,它们能够自动或半自动地识别出数据中的实体以及实体之间的关系。

知识图谱的构建过程包括两个主要步骤:知识抽取和知识融合。

(1)知识抽取,用于从半结构化和无结构化数据中提取实体、关系和实体属性等结构化信息。知识抽取可以通过自然语言处理、信息抽取和机器学习等技术实现,包括实体识别、关系抽取和属性抽取三个关键技术。实体识别是识别文本中的命名实体,如人名、地名等,可以利用机器学习算法来识别实体边界并分类实体类型。关系抽取是为了获取实体之间的关系,从而构建知识图谱,该技术可以基于语法规则、统计机器学习方法等。属性抽取是从多个信息源中收集特定实体的属性信息,可以使用启发式算法、数据挖掘方法或基于半结构化数据来提取属性信息。

(2)知识融合,是从非结构化和半结构化数据中抽取得到的实体、关系和属性信息进行整合和链接的过程,包括实体链接和知识合并两个关键技术。实体链接是将从文本中抽取得到的实体对象链接到知识库中正确实体对象的操作。根据实体指称项,在知识库中找到一组候选实体对象,通过相似度计算将指称项链接到正确的实体对象 。知识合并涉及将外部知识库融合到本地知识库,并处理数据层的冲突和模式层的融合,还可以将企业或机构自己的关系数据库转换成资源描述框架(Resource Description Framework,RDF)的三元组数据,将历史数据融入知识图谱中。

3.3. 知识图谱检索

知识图谱查询与检索技术是知识图谱应用中的关键组件,它们使得用户能够从庞大的知识网络中高效地查找和获取所需信息。这些技术涉及多种方法,从基本的关键词查询到复杂的图模式匹配和语义推理等。

(1)基于关键词的查询,这是最直接和常见的查询方式,用户输入关键词,系统通过匹配实体名、属性或关系描述中的文本与之对应。

(2)图模式匹配,通过定义查询图模板,包括特定的节点(实体)和边(关系),在知识图谱中寻找与模板匹配的所有子图,用于寻找复杂的关系结构,如特定的路径、环等。

(3)语义查询与推理,利用本体和逻辑推理,实现更深层次的理解和信息提取。它能够处理模糊查询,理解用户查询背后的意图,并通过推理生成或验证额外的知识。

4. 利用知识图谱增强 RAG 应用

为RAG知识库引入知识图谱及图数据库,不仅在信息丰富性、时效性、复杂查询处理、可解释性以及系统效率上取得了显著提升,还能够提供结构化的实体信息、关系和属性,激发 AI 大模型进行更深层次的理解和分析,进一步改进知识表示和推理。在RAG基础上,融入知识图谱上下文信息和图数据库检索能力,对RAG应用增强包括以下几个方面:

(1) 增强 RAG 上下文理解深度

RAG主要依赖文本检索获取信息,可能无法充分理解复杂查询中的上下文关系和实体间的深层次联系。通过引入知识图谱的图结构,能够更好地捕捉实体间的关系和层次结构,使系统在处理复杂上下文和逻辑推理问题时表现更优,生成更准确。

(2)增强 RAG 检索结果更加丰富和连贯

RAG 生成内容受限于检索到的文本片段,信息无法保证全面和连贯。利用知识图谱中实体关系和属性信息整合更多维度的信息与 AI 大模型进行交互,可以生成准确且更加丰富、连贯的结果,从而提供更加全面和深入的解答。

(3)增强 RAG 数据时效性和知识专业化

RAG 的检索和生成过程受限于知识库的更新速度,对于时效性要求高的信息处理不够灵活。结合知识图谱的动态更新特性,更易实现信息的实时性和个性化定制,特别是在处理专业信息和动态变化的场景时,能够更加贴合用户需求。

(4)增强 RAG 复杂查询处理能力

由于文本检索可能难以有效串联,RAG 在处理多跳查询或多级推理问题时可能不够完善。利用图谱的天然优势,可以更有效地追踪和推理实体间多跳关系,处理需要跨领域、跨实体推理的复杂查询,提供更精准的响应。

(5)增强 RAG 可解释性和透明度

RAG的生成过程相对不透明,难以追溯答案的来源和推理路径。通过知识图谱图结构展示实体关系,能够提供更直观的解释路径,增强回答的可解释性和用户信任度,用户可以追溯到具体的知识节点和关系路径。

(6)增强RAG 系统扩展性和效率

RAG在面对大规模数据和复杂查询时,面临检索效率和资源消耗的问题。通过优化的图数据结构和算法,可以在处理大规模数据时保持较高的效率,同时图的结构化特性也为系统的扩展提供了便利,便于集成新的数据源和算法。

5. 基于知识图谱构建RAG知识库

通过知识图谱构建和联合检索,构建基于知识图谱的大模型检索增强生成知识库问答系统设计方案,包括整体架构、处理流程、关键技术及工程实践等。经过检验,基于知识图谱构建RAG知识库的方案具有知识构建效率高成本低、意图理解精确、知识检索准确等优势。

5.1. 整体架构

基于知识图谱的自然语言交互业务问答系统,综合了知识图谱及向量数据存储的业务问答的优势,利用预AI大模型语义理解和文字组织生成能力,实现业务问题自然语言交互问答。系统整体技术方案通过数据层、知识层、支撑层、服务层和应用层进行设计搭建,整体架构实现逻辑如下所示:

整体架构示意图

其中,数据层利用知识获取组件和知识接入组件处理结构化、半结构化和非结构化数据信息,形成三元组织数据基础;知识层对数据层处理的数据信息进行质量评估和知识融合,形成知识图谱管理;支撑层实现知识图谱信息对AI大模型知识库的知识注入和提示辅助支撑,提升大模型可解释性和关联推理能力;服务层在对数据和知识进行运维和管理的基础上,面向交互问答应用封装模型及知识图谱服务接口;应用层则是利用大模型和知识图谱封装的服务能力来支撑知识可视化及业务问答应用,如说关联挖掘分析和业务知识问答。

5.2. 处理流程

基于知识图谱的RAG知识库问答系统构建流程主要包括知识构建流程、知识检索流程和解答生产流程,如下图所示:

处理流程示意图

知识构建流程包括知识数据预处理、建立索引和知识存储,主要是将内部的数据库 、知识图谱、文档以及构建问答语料对进行统一处理,并存储为知识库的统一形式 ,以完成知识数据的处理和构建。知识检索流程包括预处理、知识检索、后处理、解答生成等步骤。在知识库构建完成后,用户使用知识库进行知识检索。知识检索过程将获取与用户问题相关知识内容的上下文信息。最后,基于知识检索过程获得上下文内容集成提示信息,通过大模型生成问题解答。

5.3. 关键技术

5.3.1. 领域知识图谱构建

领域知识构建是知识库问答系统的核心部分,负责将原始知识数据转化为易于存储和检索的结构化知识,并存入知识库。构建的知识库质量决定了 RAG 的检索问答效果。

通过知识图谱构建内容,我们了解到人工构建和维护知识图谱需要大量的工作和时间精力。使用传统的机器学习模型可以建立自动化的知识图谱构建,如用于实体识别任务的 W2NER、LERERT 等模型,用于关系提取的 CasRel 模型等。随着AI大模型技术的发展,从文本中提取三元组和关键词借助了现有的文本大模型能力,传统的 NLP技术如分词、句法分析、实体识别等已逐渐被取代。

基于 Transformer 的嵌入模型被广泛应用于各种自动化构建任务。Transformer 模型能够从海量的文本数据中学习到丰富的语义表示,从而提供更准确、更具上下文感知能力的实体识别结果。如将 Bert 与双向 LSTM和CRF 进行集成,可以提升实体识别的性能。其中,Bert 负责提取句子的语义信息,双向 LSTM 用于编码序列的上下文信息,而 CRF 则用于对标记序列进行建模和解码。虽然利用模型建立自动化知识图谱构建,能够大大节约大规模数据的构建成本,为了有效保证实体机关系抽取额正确性和完整性,仍需要定期使用标准测试集或交叉验证评估模型性能,监控精度、召回率等指标,通过建立人工审核与反馈机制,对模型抽取结果进行校验等,形成持续优化闭环。

5.3.2. 图数据库及知识图谱检索

图数据库以图形结构存储数据,节点代表实体,边代表实体间的关系。节点和边可以拥有多个属性,用于存储具体信息;节点可以通过标签进行分组,以便分类和快速检索。相比传统的关系型数据库,图数据库在处理复杂关系和多跳查询方面表现出更高的效率和灵活性,图数据库关键特性如下:

(1)图模型:直接映射知识图谱中的实体和关系,简化数据模型设计,提高数据的直观性和查询效率。

(2)关系的首要性:强调实体间的关系,支持快速遍历和复杂的关联查询。

(3)高性能查询:通过索引和图算法,支持高效地进行路径搜索、邻居查找等操作。

(4)灵活的数据模型:易于添加新的实体类型和关系类型,适应知识图谱的动态扩展。

(5)事务支持:确保数据的一致性和完整性,尤其是在并发访问和更新时。

通过图查询语言(如 Cypher、Gremlin 等)能够实现对图数据库的高效查询,支持复杂的图模式匹配和数据检索。子图检索通过在大型知识图谱中查找与给定模式或查询图形结构相匹配的子图实现,能够帮助从复杂的网络关系中提取有用的信息片段,其相关技术主要包括图模式匹配、索引与查询优化、近似子图匹配等。

另外,将知识图谱中的信息转换为向量形式,与AI大模型的词嵌入表示相结合,能够 实现知识的实体关系整合。在检索时,将实体和关系作为单元进行联合建模,从而更准确地理解查询意图,并提供更精准的检索结果。借助于Text2GQL、Text2Cypher技术微调的图查询语言专有模型,可以直接将自然语言转换为图查询语言,代替基于关键词子图检索从而获得更精确的图谱数据。

5.3.3. 上下文压缩及重排优化

检索结果通过进一步的优化和调整,以提高检索系统性能和检索结果质量。包括对检索结果进行筛选、压缩和重新排序等。当检索步骤所获得的结果内容较多并超出大模型上下文长度时,需要对上下文进行压缩处理以去除冗余信息,查询无关噪声,同时保持语义不丢失,进而为 AI 大模型提供更有效的上下文信息。

为确保最相关且最有价值的知识图谱检索结果能够优先被用作回答查询的上下文输入,引入了重新排序机制。重排操作通过对检索阶段获得的检索结果相关性评分进行再次调整,或采用更精细的排序算法,实现检索结果的重新排列。通过引入交叉编码器,对于给定查询,将所有检索结果与之进行编码打分,然后按得分递减排列,得分最高者即为最相关检索结果。重排环节的优化有助于提高上下文的相关性和质量。

5.4. 工程实践

Graph RAG ,即基于图技术的检索增强生成(Graph Retrieval-Augmented Generation)。相比基于 Vector格式 的向量知识库存储,Graph RAG 引入了知识图谱技术,使用Graph格式存储知识,能够在处理复杂查询、提供深度和精准答案方面,利用结构化的知识图谱来增强检索和生成模型的表现。

搭建一个完整的 Graph RAG 链路要包括:1个支持RAG的AI工程框架,1个知识图谱系统和1个图存储系统。AI工程框架有 LangChain、LlamaIndex、RAGFlow、DB-GPT等。知识图谱系统有:Jena、RDF4J、Oxigraph、OpenSPG等。图存储系统有Neo4j、JanusGraph、NebulaGraph、TuGraph等。

Graph RAG 的工程实践内容主要包括环境搭建、数据导入、图谱生成、整合检索、 提示组装、解答生成、知识更新等,具体实践过程作为后续更新内容。感兴趣的小伙伴可以参考开源项目DBGPT(https://github.com/eosphoros-ai/DB-GPT)的实现,动手实践。

6. 总结

通过以上介绍,通过分析RAG技术应用及存在不足,引入了知识图谱及图数据库检索增强RAG在索引、检索、生成阶段的能力和效果。最后通过开源项目进行工程实践。基于知识图谱技术增强大模型RAG知识库应用是个相对前沿的 AI 工程领域,需要探索和改进的工作还有很多要做。

原题:基于知识图谱技术增强大模型RAG知识库应用效果

点击文末阅读原文,可以到社区原文下留言交流

觉得本文有用,请转发、点赞或点击“在看”,让更多同行看到


 资料/文章推荐:


欢迎关注社区 “AI”技术主题 ,将会不断更新优质资料、文章。地址:https://www.talkwithtrend.com/Topic/116059

下载 twt 社区客户端 APP


长按识别二维码即可下载

或到应用商店搜索“twt”


长按二维码关注公众号

*本公众号所发布内容仅代表作者观点,不代表社区立场;封面图片由版权图库授权使用

twt企业IT社区
talkwithtrend.com社区(即twt社区)官方公众号,持续发布优秀社区原创内容。内容深度服务企业内各方向的架构师、运维主管、开发和运维工程师等IT专业岗位人群,让您时刻和国内企业IT同行保持信息同步。
 最新文章