1、知识图谱

1.1基本概念

        知识图谱(Knowledge Graph)于 2012 年由谷歌(Google)首次发布,用于增强搜索引擎功能的知识库。其雏形可以追溯至 1968 年 Quilian 提出的语义网络(Semantic Networks) 。其后经历了本体(Ontology) —万维网(World Wide Web) —语义网(Semantic Web) —关联数据(Linked Data) ,历时五十多年的演变过程,直至 2012 年谷歌首次提出新的概念即知识图谱(Knowledge Graph)。

        知识图谱的数据知识存储结构为有向图结构(实体节点和关系边联系在一起)。知识图谱对知识的检索较为快捷(知识图谱可以通过图匹配算法,实现高效的数据知识访问)。知识图谱自带语义、蕴涵逻辑含义和规则,可以自动化、智能化地从已有知识实体与知识关系,通过知识推理获得知识之间存在的隐含知识关系。近年来基于 知识图谱的优势特点被应用到诸多行业领域,如电商领域、医学领域、政府管理和安 全领域、智能问答领域,但还未有相关人员将其应用到烟草工业领域故本文将其引入 烟草工业领域通过智能问答与智能搜索辅助设备故障检修。

        领域知识图谱则聚焦垂直行业深度需求,在电子产业链呈现多元化发展态势。国际 层面,IBM 开发半导体制造知识图谱,实现良率预测准确率提升 18%;英特尔构建电子 元件供应链图谱,通过风险推理模型缩短供货周期 23%;SAP 联合台积电研发晶圆厂设 备知识图谱,降低设备非计划停机率 35%。国内研究中,中科院微电子所提出动态知识 演化框架,在 28nm 芯片设计迭代中压缩开发周期 21%;华为研发电子元器件失效模式 图谱,实现故障根因定位效率提升 40%;浙江大学团队构建消费电子缺陷知识库,支持跨品牌产品的质量追溯分析。

1.2 知识图谱的定义、架构、构建

定义:

    知识图谱(Knowledge Graph)作为结构化生成的语义知识库,其核心是符号化的文字表达转换为机器可识别的语言。其中给出的形式化定义为实体集合 E、关系集合 R 、属性集合 A 和 值域 V。知识图谱的表征形式为四元组:KG=(E,R,A,F)。其中 表示事实集合。该定义揭示知识图谱的三重本质特征:结构化表征、语义互联性和推理可计算性。

架构:

        知识图谱构建遵循分层架构原则,知识图谱构建架构图如下图所示,其技术体 系包含:模式层,作为知识体系的核心框架,模式层定义本体领域的概念模型。数据层,存储具体事实数据,采用图数据库实现高效存取。构建技术栈,现代知识图谱构建采用 混合方法。

在模式层中包含类,属性,关系和公理。类为实体类型的抽象;属性为实体特征描 述;关系为类间关联;公理则为逻辑约束规则。

构建:

        KG 在数据结构上表现为“节点和边”联系在一起的有向图结构,通过把所有不同 类的实体和关系以(Entity1 - Relation – Entity2),诸多类似上述形式的三元组通过实体(节点)关系(边)相互连接,从而构成了较为复杂的像网一样的网状知识结构即知识图谱。

知识图谱就是一组节点和边构成的三元组。这里的节点A和节点B是两个不同的实体。这些节点由代表两个节点之间关系的边连接,也被称为一个三元组。

例如头实体普京”和尾实体俄罗斯”的关系是“是总统

随着不同的实体和关系,可以进一步扩展图谱:

        知识图谱搭建方式划分为三种:从顶向下(top-down)、从下向上(bottom-up)、二者 相结合(top-down 和 bottom-up)。通用知识图谱一般采用 bottom-up 方式;领域知识图谱 基本使用 top-down 方式进行搭建。top-down 方式,首先构建知识图谱本体模型;其次将知识实体加入数据层,填充知识图谱。bottom-up 搭建方式:先整合知识图谱中所需 的知识信息,并将知识抽取出来作为知识图谱中的知识实体,然后选择抽取获得的知 识实体与关系进行知识融合与消歧,选择有效且重要的知识实体和实体关系将其加入到知识库。通过对知识图谱搭建流程相关文献研读发现领域知识图谱通常采用 top-down 搭建方式,如下图所示。

        领域知识图谱 top-down 搭建流程主要包括三部分:首先需要确定知识图谱的 Schema,即知识图谱本体层数据模型的构建;其次根据本体层数据模型中定义的概念 与关系从数据源中抽取设备故障知识实例;模式层本体的构建和数据层知识实例的获 取。本体模式层的构建,首先提取数据源领域术语,其次定义领域数据的本体概念和 本体关系,最后定义领域数据本体相关规则。数据知识实例的获取流程为首先对数据 源知识实体和关系进行抽取,通过知识关系连接在一起,最后将知识数据实例与知识 本体经知识融合消歧后存储到图数据库构成知识图谱。

图数据库:

        图数据库的数据图模型有两种:RDF 图模型和属性图模型。RDF 图模型侧重于数 据集成,属性图模型侧重于分析和查询。上述两种图模型结构均由一系列点(顶点) 以及这些点之间的连接(边)构成。此外,RDF 图模型更多的是用于学术的场景,而 在工业界应用更多的则是属性图模型的方式以(节点、关系、属性或节点)将知识联 系在一起构成知识图谱,故本文使用的是属性图模型,如图所示。

Neo4j 图数据库:

        Neo4j 图数据库是 Neo 技术公司开发,由 Java 语言实现的开源数据库,也是目前最 为流行的图形数据库。该图形数据库基于属性图模型(Property Graph Model),将数据 以图结构的数据形式进行存储和管理,且存储管理层为属性图模型,在遍历数据时只 访问与遍历相关的节点,不受总数据集影响,并且能够以高度可问的方式表示任何种 类的数据、支持 ACID、支持三百二十亿的节点和六百四十亿的属性,这使得 Neo4j 在 存储层对于图数据的存取效率优于关系数据库。并且它将结构化数据存储在网络上作 为云服务提供,故基于 Neo4j 图数据库的功能特性,现被广泛用于知识图谱的存储与查询。

        Neo4j 提出的图查询语言 Cypher,是一种声明式的图数据库查询语言,它拥有精 简的语法和强大的表现力,能够精准且高效地对图数据进行查询和更新。它是一种受 SQL 启发的语言,用于使用 ASCII-Art 语法描述图中的可视模式。Cypher 不需要编写 复杂的查询代码,仅通过简单的语句就可以实现对知识数据进行添加、删除、查询及 修改更新等操作。

注意事项:

1、结构化数据,存储在关系型数据库中的数据,通过定义好图谱的schema,然后按照schema的格式,把关系型数据转化为图数据。

2、非结构化数据,通常又包括了纯文本形式和基于表格的形式,通常采用模板或者模型的方式,从文本中抽取出三元组再入库。

在实际的工业场景中,数据往往是最难处理的,这和比赛情况完全不同,比赛的数据较为干净、公整。但是在工业场景中,会出现难以构建schema、数据量极少、无标注数据等情况。

所以,对于不同的情况我们应该采用不同的处理方式,而不是一味的去采用模型处理。例如表格数据,其实采用规则的方式效果会很不错。

1.3 应用形式

1.3.1 知识图谱问答系统(Knowledge-Based Question Answering system: KBQA)

        知识图谱问答系统(KBQA)是一种基于知识库的问答系统,通过解析用户输入的自然语言问题,在知识图谱中查询并返回答案。知识图谱通过对复杂数据进行处理和整合,形成“实体-关系-实体”的三元组,从而实现知识的快速响应和推理。

        在知识图谱助力下,使得知识图谱问答取得了长足发展。由于对话可以视为多轮问答,因此仅以问答简言。知识图谱问答根据用户问题的语义直接在知识图谱上查找、推理,把知识图谱作为先验知识融入到问答中,获得相匹配的答案

如上图所示,系统交互流程如下:

(1)用户向系统 提出问题,问题通过信息过滤后,与知识库中的相关 专业知识组成提示,输入到专业问答模块中得到答 案;

(2)信息抽取模块从回答中提取出三元组,与知识图谱进行匹配,获取相关节点数据;

(3)这些节点数据经用户选择后,同样以提示的形式输入专业问答模块得到知识图谱增强的回答。

这种双向交互实 现了大语言模型和知识图谱的深度结合。

1.3.2 “医疗知识”图谱构建例子

完成实体识别和实体关系提取后,本文使用 Neo4j 图数据库对其进行存储。首先, 针对七种医学实体类型创建唯一性约束规则,以确保同一概念类别中不存在重复实体。然后,导入实体和实体关系,从而构建完成一个医疗知识图谱。由于可视化空间有限,下图仅展示了部分实体和实体关系。

2、检索增强生成

2.1基本概念

        检索增强生成(Retrieval Augmented Generation, RAG),它通过从数据源中检索信息来辅助大语言模型(Large Language Model, LLM)生成答案。简而言之,RAG 结合了搜索技术和大语言模型的提示词功能,即向模型提出问题,并以搜索算法找到的信息作为背景上下文,这些查询和检索到的上下文信息都会被整合进发送给大语言模型的提示中。

该技术通过从外部知识库中检索相关信息,并将其作为提示(Prompt)输入给大型语言模型(LLMs),以增强模型处理知识密集型任务的能力,如问答、文本摘要、内容生成等。RAG模型由Facebook AI Research(FAIR)团队于2020年首次提出,并迅速成为大模型应用中的热门方案。

RAG的目的是通过从外部知识库检索相关信息来辅助大语言模型生成更准确、更丰富的文本内容。

检索:检索是 RAG 流程的第一步,从预先建立的知识库中检索与问题相关的信息。这一步的目的是为后续的生成过程提供有用的上下文信息和知识支撑。

增强:RAG中增强是将检索到的信息用作生成模型(即大语言模型)的上下文输入,以增强模型对特定问题的理解和回答能力。这一步的目的是将外部知识融入生成过程中,使生成的文本内容更加丰富、准确和符合用户需求。通过增强步骤,LLM 模型能够充分利用外部知识库中的信息

生成:生成是RAG流程的最后一步。这一步的目的是结合LLM生成符合用户需求的回答。生成器会利用检索到的信息作为上下文输入,并结合大语言模型来生成文本内容。

2.2 基本流程

2.2.1 知识库构建阶段

  • 数据预处理:将不同格式(PDF、HTML、TXT 等)的原始数据转换为统一的纯文本格式。

  • 文本分块:由于语言模型的输入长度限制,需要对长文本进行切分处理(如按段落或固定token数划分)。在统一外部文档格式后,合理的文本分块能显著提升模型检索性能,特别是在处理大规模知识库时。适度的分块可以有效提高检索内容的相关性,避免因输入文本过长而引入噪声或稀释关键信息。但同时也需注意避免分块过小,否则可能丢失段落中的上下文关联,影响搜索结果的准确性。此外,分块过程中还需考虑后续使用的LLM的token限制,确保RAG系统的分块大小与LLM的token容量相匹配。

  • 向量化:经过文本分块处理后,需要将文本信息转换为计算机可处理的向量形式以表征语义内容。文本嵌入模型是实现语义表示的关键技术,它通过神经网络的多层编码将文本信息映射至向量空间,在保留原始语义的同时整合上下文信息,最终生成嵌入向量。实际应用中,可采用BERT 或 OpenAI Embeddings 等模型将文本块转化为向量表示。

  • 创建索引:在完成文本嵌入之后,下一步就是创建索引,将原始语料块和文本嵌入以键值对的形式存储,创建索 引的目的是便于未来能够进行快速且频繁的检索操作。 为了提高模型检索的效率,可以使用以下方法对索引进行优化。

  • 存储:将向量化后的文本存入向量数据库(如 Pinecone、Weaviate、Faiss、 Chroma 等),完成知识库构建。

 2.2.2 检索阶段

        文本向量化的表征和召回技 术就应运而生了,传统的 RAG 采用的就是这类方法。 传统 RAG检索的具体过程是将用户输入的问句进行 向量化表示,然后计算向量化问句与向量数据库中的 向量化文本和索引之间的相似度,返回与问句向量最 接近的前 K 个文本块,根据相似度进行排序,由此完成 RAG 的检索过程。

  • 用户查询向量化:将用户输入的问题通过相同的Embedding模型转化为向量。

  • 相似度检索:在向量数据库中计算问题向量与文本块向量的相似度(如余弦相似度),返回Top-K 最相关的文本块。

  • 构造 Prompt:将检索到的文本块与用户问题结合,组装成包含上下文信息的 Prompt(如:“基于以下信息回答问题:[文本块] 问题:[用户输入]”)。

2.2.3 生成阶段

        在完成了检索任务之后,需要将检索到的文本块 和问句同时添加进prompt,输入到LLM中,由LLM形 成最后的输出回答。LLM作为RAG的生成器通过利用 检索到的信息来提高文本的准确性和相关性。通过引 入与查询紧密相关的文本片段,能够辅助生成模型深 入理解问题的语义本质,进而促进其产生内容详实、 精确无误的答复。

  • 模型生成回答:将构造好的Prompt输入大语言模型(如GPT、LLaMA),模型综合检索到的外部知识和自身参数化知识生成最终回答。

2.3 RAG 优化

查询优化:

  • 查询重写:更精准匹配知识库内容, 减少语义歧义导致的检索 偏差。用户查询简短或模糊的场 景,如开放域问答、复杂 推理任务、多模态内容生成等。
  • 假设文档嵌入:零样本学习,摆脱了对标 注数据的依赖。能够灵活 捕捉复杂相关性模式,提 升检索效果。适用于缺乏标注数据的场 景、开放域问答与事实验 证等。在高精度或实时性 要求严格的场景中有待优化。
  • 子查询:需多步推理的复杂问题, 如复杂推理任务、多跳问答等。
  • 后退提示:STEM 领域推理、知识密 集型问答、多跳推理任务等。

检索优化:

  • 上下文压缩:通过压缩冗余信息减少计 算开销,提升处理速度; 提升检索的相关性。适用于实时对话系统(如 客服机器人),但不适用 于需要细粒度上下文的任务。
  • 句子窗口检索:能够精准定位,返回相关 句子及周围窗口内容,减 少噪声干扰;窗口大小可 调,平衡上下文与信息密度。适用于事实型问答、短文 本摘要生成等任务,但不 适用于需多段落推理的任务。
  • 父文档检索:平衡信息的广度和深度, 保留父文档的全局信息, 使得上下文更连贯。适用于长文档处理,不适 用于简单问答或需要毫秒级响应的应用场景。
  • 混合检索:高召回率与准确率,减少 了单一检索方式的局限性。高精度需求领域,如医疗问答、金融报告分析,搜 索优化,专业领域翻译等。
  • 检索器与生成器的对齐(a 检索器微调,b 增加适配器):a:通过生成器反馈调整检索器可以提升相关性;提升特定领域的任务适配性。适用于垂直领域定制化系统。 b:轻量高效,无需全模型微调;灵活部署。适用于多任务系统,快 速迭代或跨领域适应的场 景以及资源受限的环境。
  • 自适应检索:动态确定何时检索和检索 内容,避免不必要的知识库检索。适用于需要高精度和灵活 性的任务,以及需处理实时数据变化的场景。

检索后优化:

  • 文本压缩:降低计算开销;减少噪声干扰。适用于实时对话系统、新闻摘要生成等。
  • 重排序:提升相关性精度,缓解检索器初始偏差。适合高精度需求且可接受 延迟的场景。

生成优化:

  • 提示学习:无需修改模型参数,不破 坏预训练模型的泛化能力。适合通用问答系统,不适合实时更新、数据高频变换的场景。
  • 检索器与生成器对齐(微调生成器):生成器可学习检索器输出 的上下文偏好,减少信息 冗余和矛盾;结合检索结 果生成,降低幻觉风险。适用于垂直领域专家系 统、多模态对齐场景等。

2.4、RAG 评估

        RAG 的快速发展与应用推动了 RAG 评估的研究, 通过建立一个 RAG 评估系统可以系统化地分析 RAG 的各个环节并针对相应环节进行优化,以提升 RAG 的 效果并对优化的性能进行评估。

基于组件的评估

  • 生成器评估

        方法:手动构建数据集(如RGB、RECALL、NoMIRACL)

        目标:测试生成答案的质量(准确性、流畅性等)。

        局限:依赖人工标注,效率低且可能主观。

  • 检索器评估

        指标:精确度、召回率、MRR(平均倒数排名)、MAP(平均准确率)等。

        挑战:需区分知识密集型与非知识密集型场景(如CRUD-RAG强调数据库作用)。

端到端评估

  • 核心框架:基于RAG三元组(问题、检索文本、回答)的两两评估。

        代表工具:RAGAS、TruLens、ARES。

        自动化:利用LLM生成评估分数,减少人工干预。

  • 三大质量得分

        上下文相关性:检索文本与问题的匹配度。

        答案真实性:答案是否基于检索文本(可溯源)。

        答案相关性:答案是否直接回答问题(如通过问题-答案相似度衡量)。

四项核心能力评估

  • 抗噪声鲁棒性:处理含无关信息的文档能力。
  • 负面拒绝能力:对无法回答的问题拒绝响应。
  • 信息集成能力:综合多文档回答复杂问题(多跳推理)。
  • 反事实鲁棒性:识别文档中的事实错误。

可参考:34个RAG评估框架教你如何评估RAG效果_ragflow效果 如何评估-CSDN博客

3、KG+LLM

3.1 KG+LLM

KG 负责用户问题实体抽取+检索召回,LLM负责总结输出语句,相关项目和论文很多。本质上并没有脱离传统 KG 。重点是实体抽取步骤并没有改变,实体抽取依赖传统机器学习方法。

3.2 GraphRAG

3.2.1 基本概念

        GraphRAG(Graph-based Retrieval-Augmented Generation)是检索增强生成(RAG)技术的升级版本,通过将知识图谱(Knowledge Graph)与大型语言模型(LLM)结合,解决了传统RAG在处理复杂查询、多跳推理和跨文档语义关联上的局限。其核心目标是通过结构化的知识图谱表示,捕捉数据中实体、关系及全局语义,从而提升LLM对私有或未训练数据的理解与生成能力。

  • 复杂查询: 利用社区聚类(如Leiden算法)生成分层摘要,支持跨文档主题分析(如“近五年AI研究趋势”),实现全局语义理解,解决复杂查询。
  • 多跳推理: 通过图谱路径回答需多次关联的问题(如“A事件如何间接导致C结果”

1)图RAG方法:提出了一种新的Graph RAG方法,这种方法结合了知识图谱的构建、检索增强生成(RAG)和查询聚焦摘要(QFS),以支持对整个文本语料库的人类感知制作。这种方法特别针对于全局性问题,如“数据集中的主要主题是什么?”

2)两阶段图索引构建:Graph RAG方法使用大型语言模型(LLM)分两个阶段构建基于图的文本索引:

        第一阶段:从源文档中提取实体,构建实体知识图谱。
        第二阶段:为所有密切相关的实体组预生成社区摘要。

3)社区检测算法:利用社区检测算法(如Leiden算法)将图索引划分为模块化的社区,这些社区内的节点(实体)之间有更强的联系。
4)查询聚焦摘要:通过查询聚焦摘要方法,将社区摘要合并为最终的全局答案,这种方法特别适用于处理大规模文本数据集。

算法流程图:

  • 图索引构建:首先,使用LLM对源文档进行处理,提取实体和关系,构建实体知识图谱。然后,使用社区检测算法将图谱划分为社区,并为每个社区生成摘要。
  • 查询处理:当接收到用户查询时,系统会使用社区摘要来生成部分答案。这些部分答案随后被汇总和摘要,以形成对用户的最终回答。
  • 并行处理:在索引和查询时,系统能够并行处理社区摘要,这提高了处理效率并允许处理大规模数据集。
  • 模块化和可扩展性:Graph RAG方法的模块化设计允许它适应不同规模和类型的数据集,同时保持高效和可扩展。

小贴士

1.  KG 思想最重要的有两个。

  • 用户问题识别:从用户的 prompt 抽取 实体、关系等。用于后续的图谱检索
  • 知识图谱构建:根据现有的结构化、非结构化数据,构建实体与实体之间的图谱关系。难点在根据数据设计“主体结构”(通常需要业务理解)

KG 技术更侧重于信息检索,用图表示各个文本内容之间的关系。

参考文献

[1] 张玉.基于知识图谱的故障知识库问答系统构建[D].安徽工业大学,2022.DOI:10.27790/d.cnki.gahgy.2022.000727.

[2] 白添予.电子产业链知识图谱构建与应用研究[D].大连交通大学,2025.

[3] 刘映.基于知识图谱的中文医疗自动问答系统的研究与实现[D].江西理工大学,2023.DOI:10.27176/d.cnki.gnfyc.2023.000792.

[4] 江佳佳.知识图谱融合大型语言模型的医疗问答系统研究[D].武汉邮电科学研究院,2025.

[5] 吴璇,付涛.检索增强生成技术研究综述[J/OL].计算机工程与应用,1-20[2025-08-07].https://link.cnki.net/urlid/11.2127.tp.20250610.1915.014.

[6] 34个RAG评估框架教你如何评估RAG效果_ragflow效果 如何评估-CSDN博客

[7] python从零开始构建知识图谱 - wuxiaojun的文章 - 知乎
https://zhuanlan.zhihu.com/p/243211697

[8] GraphRAG 论文 2404.16130

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐