文章目录
- KAG: Boosting LLMs in Professional Domains via Knowledge Augmented Generation
- 摘要
- 1 引言
- 2 方法论
- 2.1 LLM友好型知识表示
- 2.2 互索引机制
- 2.2.1 语义分块
- 2.2.2 带丰富语境的的信息抽取
- 2.2.3 领域知识注入与约束
- 2.2.4 文本块向量与知识结构的相互索引
- 2.3 逻辑形式求解器
- 2.3.1 逻辑形式规划
- 2.3.2 用于推理的逻辑形式
- 2.3.3 检索逻辑形式
- 2.4 知识对齐
- 2.4.1 索引增强
- 2.4.2 检索增强
- 2.5 KAG模型
- 2.5.1 自然语言理解
- 2.5.2 自然语言推理
- 2.5.3 自然语言生成
- 2.5.4 单次推理
- 3 实验
- 3.1 实验设置
- 3.2 实验结果
- 3.2.1 总体结果
- 3.3 消融实验
- 3.3.1 知识图谱索引消融
- 3.3.2 推理与检索消融
- 3.3.3 实验结果与讨论
- 4 应用场景
- 4.1 电子政务知识图谱
- 4.2 面向电子健康的KAG应用
- 5 相关工作
- 5.1 DIKW金字塔模型
- 5.2 基于向量相似度的检索增强生成
- 5.3 基于信息检索的图结构检索增强生成
- 5.4 基于知识图谱的问答系统
- 5.5 大语言模型与知识图谱的双向增强
- 6 局限性
- 7 结论与未来工作
- 本文是对原论文学习过程中的中文翻译,仅用于学术交流与科普分享,无任何商业目的。
- 翻译已尽力忠实原文,但受限于译者水平,可能存在偏差;术语或公式若有疑义,请以原文为准。
- 若原作者、期刊或版权方提出异议,译者将在收到通知后 24 小时内删除本文并致歉。
- 欢迎读者引用原文,并请注明出处:
@article{liang2024kag,
title={KAG: Boosting LLMs in Professional Domains via Knowledge Augmented Generation},
author={Liang, Lei and Sun, Mengshu and Gui, Zhengke and Zhu, Zhongshu and Jiang, Zhouyu and Zhong, Ling and Zhao, Peilong and Bo, Zhongpu and Yang, Jin and others},
journal={arXiv preprint arXiv:2409.13731},
year={2024}
}
KAG: Boosting LLMs in Professional Domains via Knowledge Augmented Generation
KAG:通过知识增强生成提升大语言模型在专业领域的表现
Github:https://github.com/OpenSPG/KAG
Ant Group Knowledge Graph Team, Zhejiang University
摘要
近期发展的检索增强生成(RAG)技术虽能高效构建领域应用,但仍存在向量相似度与知识推理相关性不匹配、对数值/时序关系/专家规则等知识逻辑不敏感等局限,制约专业知识服务效果。本文提出专业领域知识服务框架KAG(Knowledge Augmented Generation),通过五大核心设计双向增强大语言模型与知识图谱:(1)LLM友好的知识表示;(2)图谱与原文块互索引;(3)逻辑形式引导的混合推理引擎;(4)语义推理对齐的知识校准;(5)KAG模型能力增强。在多跳问答任务中,KAG相较现有RAG方法取得显著优势,在hotpotQA和2wiki数据集上F1值分别相对提升19.6%和33.5%。目前已在蚂蚁集团政务问答和医疗问答两大专业场景落地应用,较RAG方法显著提升专业度。我们将通过开源图谱引擎OpenSPG原生支持KAG,帮助开发者更便捷地构建严谨知识决策或灵活检索服务,推动领域知识服务向更高准确率与效率发展。
1 引言
检索增强生成(RAG)技术通过外部检索系统使大语言模型获得领域知识,显著减少幻觉回答,实现领域应用高效构建。为提升RAG在多跳和跨段落任务中的表现,具有强推理能力的知识图谱被引入RAG技术框架,包括GraphRAG、DALK、SUGRE、ToG 2.0、GRAG、GNN-RAG和HippoRAG等。
尽管RAG(检索增强生成)及其优化解决了因缺乏领域特定知识和实时更新信息导致的大部分幻觉问题,但生成文本仍存在连贯性与逻辑性不足的缺陷,尤其在法律、医学、科学等需要分析推理的专业领域,无法产出正确且有价值的答案。这一短板主要源于三个原因:其一,现实业务流程通常需要基于知识片段间特定关系进行推理以收集问题相关信息,而RAG普遍依赖文本或向量相似性进行参考信息检索,易导致检索结果不完整且重复;其二,现实流程常涉及逻辑或数值推理(如判断时间序列数据增减),语言模型采用的下一词元预测机制处理此类问题时仍显薄弱。
相比之下,知识图谱技术方法能有效解决这些问题。首先,KG通过显式语义组织信息——基本知识单元是包含实体及其关系的SPO三元组。实体具有明确的实体类型和关系,不同表达的同义实体可通过实体归一化统一,从而减少冗余并增强知识关联性。检索时使用SPARQL等查询语法能明确定义实体类型,避免同名/相似实体干扰,还能根据查询需求指定关系进行推理式检索,而非盲目扩展至相似却无关的内容。此外,KG查询结果具有显式语义,可作为特定含义的变量,进而利用LLM的规划与函数调用能力,将检索结果代入函数参数完成数值计算、集合运算等确定性推理。
针对上述挑战与专业领域知识服务需求,我们提出知识增强生成(KAG)框架,充分融合KG与RAG技术的互补特性。该框架不仅将图结构整合到知识库流程中,更将知识图谱的语义类型、关系及KGQA(知识图谱问答)常用逻辑形式融入检索与生成过程。如图1所示,该框架包含以下五个优化模块:
-
提出LLM友好的知识表示框架LLMFriSPG。借鉴DIKW模型的数据-信息-知识层级结构,将SPG升级为兼容无模式信息抽取与模式约束专家知识构建的LLMFriSPG,支持同一知识类型(如实体类型、事件类型)下图谱结构与原始文本块的互索引表示,便于构建基于图结构的倒排索引,实现逻辑形式的统一表示、推理与检索。
-
提出逻辑形式引导的混合求解推理引擎。包含规划、推理、检索三类算子,将自然语言问题转化为语言与符号结合的求解流程,每步可选用精确匹配检索、文本检索、数值计算或语义推理等不同算子,实现检索、KG推理、语言推理与数值计算四类求解流程的融合。
-
提出基于语义推理的知识对齐方法。将领域知识定义为同义、上下位、包含等语义关系,在离线KG索引与在线检索阶段均进行语义推理,使自动化生成的碎片化知识能通过领域知识对齐关联。离线阶段提升知识标准化与连通性,在线阶段精准桥接用户问题与索引。
-
构建KAG能力增强模型。为支持索引构建、检索、问题理解、语义推理等KAG框架运行所需能力,我们增强通用LLM的三项核心能力:自然语言理解(NLU)、自然语言推理(NLI)和自然语言生成(NLG),以优化各功能模块性能。
我们在2WikiMultiHopQA、MuSiQue和HotpotQA三个复杂问答数据集上评估系统效果,重点关注端到端问答性能与检索效能。实验表明,相比HippoRAG,KAG在所有任务上均显著提升,F1值分别提高19.6%,12.2%{19.6}\% ,{12.2}\%19.6%,12.2%和12.5%{12.5}\%12.5%,检索指标也有明显改善。
KAG(知识增强生成)在蚂蚁集团的两个专业问答场景中实现应用:电子政务与电子健康。在电子政务场景中,该系统基于给定文档库解答用户关于行政流程的咨询;在电子健康场景,则依托提供的医疗资源响应疾病、症状、治疗等相关查询。实际应用结果表明,KAG的准确率显著超越传统RAG方法,有效提升了专业领域问答应用的可信度。我们将很快在开源知识图谱引擎OpenSPG上原生支持KAG,使开发者能更便捷地构建严谨的知识决策或便利的信息检索服务。
综上所述,我们提出了面向专业问答场景的知识增强技术框架KAG,并基于复杂问答任务验证了该框架的有效性。我们展示了两个基于蚂蚁集团业务场景的行业应用案例,同时开源了相关代码以协助开发者使用KAG构建本地化应用。
2 方法论
本节将首先介绍KAG的整体框架,随后在2.1至2.5小节详述五项关键增强技术。如图1所示,KAG框架由KAG构建器(KAG-Builder)、求解器(KAG-Solver)与模型(KAG-Model)三部分组成。KAG构建器专用于离线索引构建,该模块提出了LLM友好知识表示框架及知识与文本块的双向索引机制。求解器模块引入了逻辑形式引导的混合推理求解器,融合了LLM推理、知识推理与数理逻辑推理。此外,通过语义推理实现的知识对齐技术提升了构建器与求解器中知识表示与检索的准确性。KAG模型基于通用语言模型优化各模块所需能力,从而全面提升系统性能。
图1:KAG框架。左侧为KAG构建器,右侧为求解器。图像底部灰色区域代表KAG模型。
2.1 LLM友好型知识表示
为定义更适配LLM的知识语义表示,我们从深度文本上下文感知、动态属性与知识分层三个维度升级SPG框架,并将其命名为LLMFriSPG。
M={T,ρ,C,L}\mathcal{M} = \{ \mathcal{T},\rho ,\mathcal{C},\mathcal{L}\} M={T,ρ,C,L}
其中,M\mathcal{M}M表示LLMFriSPG中定义的所有类型,T\mathcal{T}T代表所有实体类型(如图2中的Person)、事件类型类及符合LPG语法声明的预定义属性。C表示所有概念类型类、概念及概念关系,需注意每个概念树的根节点均为兼容LPG语法的概念类型类(如图2中的TaxoOfPerson),每个概念节点都有唯一的概念类型类。ρ\rhoρ表示从实例到概念的归纳关系。L\mathcal{L}L代表逻辑关系与逻辑概念上定义的所有可执行规则。对于∀t∈T\forall t \in \mathcal{T}∀t∈T:
pt={ptc,ptf,ptb}{p}_{t} = \left\{ {{p}_{t}^{c},{p}_{t}^{f},{p}_{t}^{b}}\right\} pt={ptc,ptf,ptb}
图2:LLMFriSPG:面向LLM的知识表示框架。通过分离实例与概念,借助概念实现更有效的LLM对齐。本研究中除非特别说明,实体实例与事件实例统称为实例。SPG属性划分为知识与信息两大领域(亦称静态与动态领域),分别兼容强模式约束的决策专业知识与开放信息表示的文档检索索引知识。红色虚线表示从信息到知识的融合挖掘过程。增强的文档块表示为LLM提供了可追溯、可解释的文本上下文。
如图2所示,其中pt{p}_{t}pt表示类型ttt的所有属性与关系,ptc{p}_{t}^{c}ptc代表领域专家预定义部分,ptf{p}_{t}^{f}ptf表示以临时方式添加的部分,ptb{p}_{t}^{b}ptb代表系统内置属性(如supporting_chunks、description、summary及belongTo)。对于任意实例ei{e}_{i}ei,将typeof(ei)\left( {e}_{i}\right)(ei)记为tk{t}_{k}tk,supporting_chunks表示包含该实例的所有文本块集合(用户可在KAG构建阶段定义分块策略及最大长度),description表示类tk{t}_{k}tk特有的通用描述信息。需注意:附加到类型tk{t}_{k}tk与实例ei{e}_{i}ei的description含义不同——前者表示该类型的全局描述,后者表示符合原文语境的实例描述。description能有效辅助LLM理解特定实例/类型的精确语义,可用于信息抽取、实体链接、摘要生成等任务。summary表示原文语境中ei{e}_{i}ei或rj{r}_{j}rj的摘要,belongTo表征从实例到概念的归纳语义,每个EntityType或EventType可通过belongTo关联ConceptType。值得注意的是1)T1)\mathcal{T}1)T与C\mathcal{C}C功能不同:ttt采用面向对象原则以适配LPG的表示方法,C\mathcal{C}C则由基于文本的概念树管理(本文不展开SPG语义细节)。2) ptc{p}_{t}^{c}ptc与ptf{p}_{t}^{f}ptf可分别实例化,即共享类声明但在实例存储空间中预定义静态属性与实时添加动态属性可共存,也支持单独实例化。该设计能更好平衡专业决策与信息检索场景——通用检索场景主要实例化动态属性,专业决策场景侧重静态属性,用户可根据业务需求在易用性与专业性间取得平衡。3) ptc{p}_{t}^{c}ptc与ptf{p}_{t}^{f}ptf共享概念术语体系,概念是独立于具体文档/实例的通用常识知识,不同实例通过链接至同一概念节点实现分类。我们通过概念图实现LLM与实例的语义对齐,概念也可作为知识检索的导航(详见2.3与2.4节)。为精确定义信息与知识的层次表示,如图3所示:KGcsK{G}_{cs}KGcs表示知识层(符合领域模式约束且经过归纳整合评估的领域知识),KGfrK{G}_{fr}KGfr表示图信息层(通过信息抽取获得的实体关系等图数据),RC{RC}RC表示原始分块层(经语义分割后的文档片段)。知识层完全遵循SPG语义规范,支持严格模式约束下的知识构建与逻辑规则定义,其知识精确度高但依赖人工标注导致构建成本较高;图信息层与知识层共享实体类型/事件类型/概念体系,并为知识层提供有效信息补充;原始分块层通过supporting_chunks、summary、description等边与图信息层构成图结构倒排索引,在保持高信息完整性的同时为图信息层提供原始语境支撑。图3右侧显示特定领域应用中R(KGcs),R(KGfr)R\left( {K{G}_{cs}}\right) ,R\left( {K{G}_{fr}}\right)R(KGcs),R(KGfr)与R(RC)R\left( {RC}\right)R(RC)分别表征两者解决目标领域问题的知识覆盖范围——若应用对知识精确度与逻辑严谨性要求较高,则需构建更多领域结构化知识(扩大R(KGcs)R\left( {K{G}_{cs}}\right)R(KGcs)覆盖)并消耗专家人力;若应用更注重检索效率且容许一定信息误差,则应扩大R(KGfr)R\left( {K{G}_{fr}}\right)R(KGfr)覆盖以发挥KAG自动化构建优势,降低专家人力消耗。
图3:知识与信息的层级化表示。
2.2 互索引机制
如图4所示,KAG构建器包含三个连贯流程:结构化信息获取、知识语义对齐和图谱存储写入器。该模块主要目标包括:1)建立图结构与文本块间的互索引以增强图谱描述性语境;2)利用概念语义图对齐不同知识粒度,降低噪声并提升图谱连通性。
图4:面向领域非结构化文档的KAG构建流程。从左至右依次为:通过信息抽取获取短语与三元组,经语义对齐完成消歧与融合,最终将构建的知识图谱写入存储。
2.2.1 语义分块
根据文档结构层级与段落间固有逻辑关联,基于系统内置提示词实施语义分块。该过程生成的块既满足长度限制(特别是LLM上下文窗口尺寸约束),又保持语义连贯性,确保每个块内主题一致。我们在RC{RC}RC中定义了块实体类型,包含id、summary、mainText等字段。经语义分割获得的每个块将写入Chunk实例,其中id{id}id是由articleID、paraCode、idInPara通过连接符#\##拼接的复合字段,确保连续块在id{id}id空间中相邻。articleID表示全局唯一文章ID,paraCode代表文章内段落编码,idInPara是段落内各块的顺序码。因此,内容相邻性体现为标识符的顺序相邻性。此外,原文与分块间建立并维护双向关系,便于跨粒度导航与上下文理解。这种结构化分割方法不仅优化了与大语言模型的兼容性,更保留并增强了文档固有的语义结构与关联。
2.2.2 带丰富语境的的信息抽取
给定数据集时,我们使用免调优的大语言模型(如GPT-3.5、DeepSeek、QWen等)或自研微调模型Hum来抽取实体、事件、概念及关系以构建KGfrK{G}_{fr}KGfr,继而建立KGfrK{G}_{fr}KGfr与RC{RC}RC间的互索引结构,实现通过实体关系的跨文档链接。该过程包含三步:首先逐块抽取实体集E={e1,e2,e3,…}E = \left\{ {{e}_{1},{e}_{2},{e}_{3},\ldots }\right\}E={e1,e2,e3,…};其次抽取与所有实体关联的事件集EV={ev1,ev2,ev3,…}{EV} = \left\{ {e{v}_{1},e{v}_{2},e{v}_{3},\ldots }\right\}EV={ev1,ev2,ev3,…},并迭代抽取EEE中实体间关系集R={r1,r2,r3,…}R = \left\{ {{r}_{1},{r}_{2},{r}_{3},\ldots }\right\}R={r1,r2,r3,…};最终补全实例与其spgClass间的所有上位关系。为后续知识对齐阶段提供便利,并克服Wikidata、ConceptNet等知识短语区分度低的问题,在实体抽取阶段,我们默认使用LLM为每个实例eee一次性生成description、summary、semanticType、spgClass、descripitonOfSemanticType等内置属性。如图2所示,这些属性按<e.description,e.summary,<e< e<e, belongTo, semanticType>和<e, hasClass, spgClass>结构存入eee实例存储。
2.2.3 领域知识注入与约束
当openIE应用于专业领域时,会引入无关噪声。先前研究[3,5,24]表明,含噪声的非相关语料会显著损害大语言模型性能。如何使提取信息的粒度与领域知识对齐是一大挑战。KAG中的领域知识对齐能力包括:1)领域术语与概念注入。采用迭代抽取方法:首先在知识图谱存储中保存带描述的领域概念与术语;其次通过openIE提取文档中所有实例,再通过向量检索获取可能的概念术语集Ed{E}_{d}Ed;最后将Ed{E}_{d}Ed加入抽取提示进行二次抽取,获得与领域知识高度对齐的集合Eda{E}_{d}^{a}Eda。2)模式约束抽取。在垂直专业领域(如药品说明书、体检报告、政务数据、网络订单、结构化数据表等),多文档间数据结构具有高度一致性,更适合采用模式约束的信息抽取,结构化抽取也更便于知识管理与质量提升。关于基于模式约束的知识构建细节,请参阅SPG1{\mathrm{{SPG}}}^{1}SPG1和OneKE[25]\mathrm{{OneKE}}\left\lbrack {25}\right\rbrackOneKE[25],本文不作详述。值得注意的是,如图2所示,对同一实体类型(如Person),既可预定义name/gender/placeOfBirth等属性和(Person,hasFather,Person)、(Person,hasFriend,Person)等关系,也能通过openIE直接抽取(Jay Chou,spgClass,Person)、(Jay Chou,constellation,Capricorn)、(Jay Chou,record company,Universal Music Group)等三元组。3) 按文档类型预定义知识结构。药品说明书、政务文书、法律定义等专业文档通常具有较规范的文档结构,可将每类文档定义为实体类型,不同段落作为实体的不同属性。以政务为例,可预定义GovernmentAffair实体类型及"行政区划/办事流程/所需材料/办理地点/目标群体"等属性,划分的文本块即不同属性值。当用户询问"西湖区申请住房公积金需要什么材料?"时,可直接取出required materials属性对应的文本块作答,避免大语言模型重新生成可能导致的幻觉。
2.2.4 文本块向量与知识结构的相互索引
KAG的相互索引是符合LLMFriSPG语义表示的知识管理存储机制。如2.1节所述,其包含四大核心数据结构:1)共享模式是项目级预定义的粗粒度SPG类,包括EntityTypes/ConceptTypes/EventTypes,用作Person/Organization/GEOLocation/Date/Creature/Work/Event等高层分类;2)实例图包含KGcsK{G}_{cs}KGcs和KGfrK{G}_{fr}KGfr中所有事件与实体实例,即通过无模式openIE或有模式约束的结构化抽取构建的实例均存入KG存储;3)文本块是符合Chunk实体类型定义的特殊实体节点;4)概念图是知识对齐核心组件,由概念与概念关系构成,概念节点也是实例的细粒度类型。通过关系预测可将实例节点链接到概念节点获取其细粒度语义类型。以及两种存储结构:1)KG存储:在图数据库(如TuGraph/Neo4J)存储知识图谱数据结构;2)向量存储:在ElasticSearch/Milvus等向量引擎或LPG引擎内置向量存储中保存文本与向量。
2.3 逻辑形式求解器
在解决复杂问题的过程中,涉及三个关键步骤:规划、推理与检索。问题拆解是确定待处理子任务的规划过程。推理包括基于分解后的问题检索信息,根据检索结果推断问题答案,或在检索内容无法解答时重新拆分子问题。检索则是寻找可供原问题或分解后子问题参考的内容。由于传统RAG中不同模块的交互基于自然语言的向量表示,常导致准确性不足。受KGQA常用逻辑形式启发,我们设计了一种具备推理与检索能力的可执行语言。该语言将问题分解为多个逻辑表达式,每个表达式可能包含检索功能或逻辑运算。2.2节描述的互索引机制使这一过程成为可能。同时借鉴ReSP思想,我们设计了基于反思与全局记忆的多轮求解机制。如图6和算法1所示,KAG求解流程首先将当前问题查询lflist l{f}_{\text{list }}lflist 分解为逻辑形式的子问题列表,通过混合推理进行求解。若能在结构化知识上通过多跳推理获得精确答案,则直接返回;否则对求解结果进行反思:将lflist l{f}_{\text{list }}lflist 对应的答案与检索结果存入全局记忆,并判断问题是否解决。若未解决则生成补充问题进入下一轮迭代。2.3.1、2.3.2与2.3.3节分别介绍了规划逻辑形式、推理逻辑形式及检索逻辑形式。总体而言,所提出的逻辑形式语言具有以下三大优势:
图6:逻辑形式执行示例。左图展示图5中的KG构建过程,右侧为整体推理迭代流程。首先基于用户整体问题进行逻辑形式分解,随后采用逻辑形式引导的检索推理,最终由生成模块判定是否满足用户问题。若未满足则提供新问题进入新一轮逻辑分解与推理,满足则直接输出答案。
-
符号语言的使用增强了问题分解与推理的严谨性和可解释性
-
充分利用LLMFriSPG层次化表示法,在符号图结构引导下检索事实与文本知识
-
整合问题分解与检索流程以降低系统复杂度
表13展示了与伪代码17一致的多轮场景。首轮虽未能确定瘟疫发生的确切次数,但提取信息表明:"威尼斯作为安东尼奥·维瓦尔第的诞生地,曾遭受被称为’黑死病’的大瘟疫袭击。这场由鼠疫耶尔森菌引发的疫情在欧亚大陆导致7500万至2亿人死亡,1347至1351年间在欧洲达到高峰。虽然威尼斯具体记录不详,但显然该城在14世纪中期受到影响。"如表13所示,经过两次迭代后确定的答案是:22次。
表13:一个使用逻辑框架(logical form)指导问题规划、推理、检索与答案生成,并通过多轮反思调整问题表述的示例。
2.3.1 逻辑形式规划
逻辑函数定义如表1所示,每个函数代表一个执行动作。通过规划这些表达式的组合来分解复杂问题,从而实现对复杂问题的推理。
表1:逻辑形式的功能
检索。根据从SPO中获取的知识或信息,s,p,os,p,os,p,o不应在同一表达式中重复出现多次。可对s,p,os,p,os,p,o应用约束条件进行查询。对于多跳查询,需进行多次检索。当当前变量引用先前提及的变量时,变量名必须与被引用变量名保持一致,且仅需提供变量名。知识类型和名称仅在首次引用时指定。
排序。对检索结果进行排序。AAA是检索到的主谓宾(SPO)(si,oi\left( {{s}_{i},{o}_{i}}\right.(si,oi或s.prop、ppp.prop、o.prop的变量名。direction指定排序方向,direction===min表示升序排序,direction===max表示降序排序。limit=n= n=n表示输出前N\mathrm{N}N条结果。
数学运算。执行数学计算。expr采用LaTeX语法,可对检索结果(集合)或常量进行计算。mathi{h}_{i}hi表示计算结果,可作为后续动作引用的变量名。
推理。对检索或计算结果进行推导以回答问题。A,BA,BA,B可以是检索到的SPO变量名或常量。运算符op={op} =op=entailment greater less equal分别表示AAA蕴含B,AB,AB,A大于B,AB,AB,A小于BBB,以及AAA等于BBB。
2.3.2 用于推理的逻辑形式
当自然语言表示的查询语句应用于搜索时,其逻辑往往具有模糊性,例如"查找包含蔬菜或水果的图片"与"查找包含蔬菜和水果的图片"。无论采用文本搜索还是向量搜索,这两个查询的相似度都很高,但对应答案却大相径庭。涉及与或非、交并差等逻辑推理过程的问题同样如此。为此,我们使用逻辑形式来表达问题,使其能呈现明确的语义关系。类似IRCOT,我们将复杂原始问题分解,规划出多步检索、数值推理、逻辑推理、语义推导等执行动作,每个子问题通过逻辑形式函数表达,并通过变量引用建立子问题间的依赖关系。如算法2所示,每个子问题的推理解析过程中,GraphRetrieval模块根据逻辑形式子句执行知识图谱结构检索以获取结构化图谱结果,另一关键模块HybridRetrieval则结合自然语言表达的子问题和逻辑函数,对文档和子图信息进行综合检索。理解如何利用逻辑函数推理复杂问题的示例见表14
输出。直接输出A,B,…A,B,\ldotsA,B,…作为答案。AAA和BBB均为引用先前检索或计算结果的变量名
2.3.3 检索逻辑形式
在朴素RAG中,检索通过计算问题与文档块的嵌入相似度(如余弦相似度)实现,其中嵌入模型的语义表征能力起关键作用。主要包括稀疏编码器(BM25)和密集检索器(BERT架构预训练语言模型)。稀疏与稠密嵌入方法捕捉不同的相关性特征,可通过互补相关性信息相互增益。
现有结合方法通常采用集成方式合并两种搜索方式的分数,但实践中不同搜索方法可能适用于不同问题,尤其是需要多跳推理的问题。当查询涉及专有名词、人物、地点、时间、数字和坐标时,预训练表征模型的表示能力有限,需更精确的文本索引。对于更接近段落文本表达的查询(如场景、行为和抽象概念),两者在某些问题中可能耦合。
在逻辑形式设计中,有效结合两种检索方法具有可行性。当需要关键词信息作为显式过滤条件时,可在检索函数内指定选择条件以实现结构化检索。
例如,针对查询"在杭州西湖申请残疾证需要哪些材料?",检索函数可表示为:“检索(s=s1:事件[申请残疾证], p=p1:支持块, o=o1:块, s.地点===杭州西湖)”。该方法通过建立不同索引(稀疏或稠密)来根据需要实现精确搜索或模糊搜索。
此外,当无法用逻辑函数检索SPO形式的结构化知识时,可采用替代方案。包括半结构化检索(使用逻辑函数搜索信息块)和非结构化检索。后者涵盖检索增强生成(RAG)等方法,通过自然语言表达的子问题检索相关文本块。这体现了系统根据信息可用性和性质灵活运用不同检索策略的适应性。
2.4 知识对齐
通过信息抽取构建知识图谱索引并基于向量相似度检索,在知识对齐方面存在三个显著缺陷:
-
知识间语义关系错位。正确答案与查询间常需特定语义关系(如包含、导致、属于),而检索依赖的相似度是缺乏属性和方向的弱语义度量,可能导致内容检索不精确。
-
知识粒度错位。开放信息抽取带来的知识粒度差异、噪声和无关性问题对知识管理构成巨大挑战。由于语言表达的多样性,存在大量同义或相似节点,导致知识元素间连通性低,检索召回不完整。
-
与领域知识结构错位。特定领域内缺乏有组织、系统化的知识。本应相互关联的知识呈现碎片化状态,导致检索内容缺乏专业性。
为解决这些问题,我们提出利用概念图谱通过语义推理增强离线索引和在线检索的方案。包括知识实例标准化、实例-概念链接、语义关系补全和领域知识注入等任务。如2.2.2节所述,我们在抽取阶段为每个实例、概念或关系添加描述性文本信息以增强可解释性和上下文相关性。同时如2.2.3节所述,KAG支持注入领域概念和术语知识以减少垂直领域知识粒度不匹配带来的噪声问题。概念推理的目标是基于前述知识结构,充分利用向量检索和概念推理补全概念关系,从而提升领域知识图谱的准确性和连通性。参照SPG概念语义定义2{}^{2}2,如表2所示,我们归纳了六种常用语义关系用于检索与推理。可根据实际场景的具体需求添加更多语义关系。
表2:常用语义关系对照表
2.4.1 索引增强
通过语义推理增强索引的过程如图5所示,具体实现为利用大语言模型预测索引项间的语义关系或关联知识要素,包含四种策略:
-
知识实例消歧与融合。以实体实例ecur{e}_{cur}ecur为例,首先利用ecur{e}_{cur}ecur的一跳关系和描述信息预测同义关系,得到ecur {e}_{\text{cur }}ecur 的同义实例集Esyn {E}_{\text{syn }}Esyn ;然后从Esyn {E}_{\text{syn }}Esyn 中确定融合目标实体etar {e}_{\text{tar }}etar ;最后运用实体融合规则将Esyn {E}_{\text{syn }}Esyn 中剩余实例的属性和关系复制到etar {e}_{\text{tar }}etar ,并将这些实例名称添加为etar{e}_{tar}etar的同义词,剩余实例随即被删除。
-
预测实例与概念间关系。针对每个知识实例(如事件、实体),预测其对应概念并将衍生三元组<ei{e}_{i}ei,属于,cj>{c}_{j} >cj>>加入知识索引。如图5所示,<<<议院,属于,立法机构>表示议院在分类上归属于立法机构。
-
补全概念及概念间关系。在抽取阶段,我们通过概念推理补全semanticType与spgClass之间的所有上位类和isA关系。如图5和表2所示,可获取议院的semanticType为立法机构,spgClass为组织。经语义补全后得到<<<立法机构,isA,政府机构>,<政府机构,isA,组织>。这使得KGfrK{G}_{fr}KGfr空间的三元组信息更完备,节点连通性更强。
图5:KAG构建流程示例
2.4.2 检索增强
检索阶段利用语义关系推理,基于逻辑形式中的短语和类型搜索知识图谱索引。对于逻辑形式中的类型、指称或关系,采用语义关系推理与相似性检索相结合的方法替代传统相似性检索。该方法使检索路径专业且符合逻辑,从而获取正确答案。首先混合推理执行精确类型匹配和实体链接,若类型匹配失败则启动语义推理。如图6所示,当政党类型匹配失败时,通过语义推理预测政党包含政治派别,并从政治派别开始进行推理或路径计算。
再举一例,若用户查询q1{q}_{1}q1为"白内障患者可前往哪些公共场所休闲?“,而文档内容d2{d}_{2}d2是"本博物馆为视障人士提供触摸、语音解说、全自动导览等无障碍参观体验服务”,基于q1{q}_{1}q1的向量相似性几乎无法检索到d2{d}_{2}d2。但通过<<<白内障患者,isA,视障人士>的语义关系则更易检索到d2{d}_{2}d2。
2.5 KAG模型
KAG包含两个核心计算流程:离线索引构建和在线问答生成。在小语言模型时代,这两个任务通常由独立流水线处理,每条流水线包含多个专用NLP模型。这导致应用系统复杂度高、部署成本大,且模块间错误传播造成不可避免的级联损失。相比之下,大语言模型作为能力综合体,有望将这些流程整合为统一的端到端同步推理过程。
如图7所示,索引构建与问答流程均由相似步骤构成。两条流水线均可抽象为分类、指称检测、指称关系检测、语义对齐、嵌入,以及面向语块/实例/查询的摘要生成。其中分类、指称检测和指称关系检测属于自然语言理解(NLU),语义对齐与嵌入归入自然语言推理(NLI),最后的摘要生成则属于自然语言生成(NLG)。由此可见,RAG系统依赖的三大自然语言处理基础能力正是NLU、NLI与NLG。
我们重点探索了优化这三种能力的方法,分别在2.5.1、2.5.2和2.5.3小节中介绍。此外,为减少模型串联成流水线导致的级联损失,我们进一步研究了将多个推理过程整合为单一推理的方法。2.5.4小节将讨论如何为模型配备检索能力,通过单次推理实现更好的性能与效率。
图7:KAG所需的模型能力
2.5.1 自然语言理解
自然语言理解(NLU)是自然语言处理中最常见的基础任务之一,包括文本分类、命名实体识别、关系抽取、主客体提取、触发词检测、事件论元抽取、事件抽取和机器阅读理解。我们收集了30余个公共数据集来增强理解能力。实验发现,简单将原始数据集转化为指令数据集虽能在已训练任务上达到专用模型水平,但无法提升模型在未见领域的NLU能力。因此我们进行了大规模指令重构,设计多种指令合成策略,构建了包含2万条多样化指令的NLU指令数据集。通过该数据集对基础模型进行监督微调,模型在下游任务中展现出增强的NLU能力。指令重构策略主要包含以下三类。
-
标签分桶:[25]该策略针对标签引导型任务,即根据标签提取文本或将文本映射到指定标签,包括分类、命名实体识别、关系抽取和EE{EE}EE。当数据集中标签在训练集中集体共现时,模型可能学习这种模式并过拟合数据集,无法独立理解每个标签的含义。因此在指令合成过程中,我们采用轮询策略,每个训练样本仅指定一个标签作为分桶依据。此外由于部分标签语义相近易混淆,我们将易混淆标签归入同一桶,使模型能更有效学习两个标签间的语义差异。
-
灵活多样的输入输出格式:大语言模型采用指令跟随式推理,高度一致的输入输出格式可能导致模型过拟合特定任务,对未见格式缺乏泛化能力。因此我们对输入输出格式进行了灵活处理,输出端设计为五种不同格式化指令及两类自然语言指令。此外输出格式可动态指定为markdown、JSON、自然语言或示例中指示的任何格式。
-
含任务指导的指令:传统NLP训练常采用"题海战术",在训练集中纳入各类数据。这使得模型能在学习过程中理解任务要求,例如提取人名时是否包含职称。针对大语言模型训练,我们期望模型通过理解任务描述像专业标注员那样执行任务。因此对收集的NLU任务,我们利用大语言模型自省过程总结任务描述,构建包含任务描述的指令训练数据。此外为增强任务多样性,我们采用启发式策略对任务描述和答案进行改写,使模型能更准确理解任务描述差异并按指令完成任务。
我们对qwen2、llama2、baichuan2、llama3、mistral、phi3六个基础模型进行微调,并使用OpenCompass记录的六个理解基准进行性能验证。表3显示KAG-Model在NLU任务上有显著提升。
表3:KAG对不同大语言模型自然语言理解能力的增强效果。实验结果基于open-compass框架,采用"gen"模式测试。C3、WSC、Lambda和Race的评估指标为准确率(ACC)。XSum和Lests采用ROUGE-1衡量。Race包含Race-middle和Race-high,取其平均值。
2.5.2 自然语言推理
自然语言推理(NLI)任务用于推断给定短语间的语义关系。典型NLI任务包括实体链接、实体消歧、分类体系扩展、上位词发现及文本蕴含。在知识库问答场景中,由于自然语言表达的多样性与歧义性,以及短语间微妙且类型各异的语义关联,通常需要基于自然语言理解(NLU)通过NLI任务进行进一步对齐或相关信息检索。如第2.4节所述,我们将知识库应用中的关键语义关系归纳为六种类型。其中诸如AAA、isPartOf(部分属于)和contains(包含)等关系呈现基于方向与距离的偏序关系。在推理过程中,准确判定这些语义关系对推进至目标答案至关重要。传统方法通常分别训练表征预训练模型与知识图谱补全(KGC)模型来进行语义关系推理,但这些KGC模型往往侧重学习图结构,未能充分利用文本语义信息这一语义图推理的关键要素。大语言模型(LLMs)具备更丰富的内在知识,可协同利用语义与结构信息以获得更精确的推理结果。为此,我们从多领域收集高质量概念知识库与本体,构建了包含8,000个概念及其语义关系的概念知识集。基于该知识集,我们构建了包含六种不同类型概念推理指令的训练数据集,以增强给定基模型的语义推理能力,从而为知识图谱问答(KAG)提供语义推理支持。
语义推理是KAG流程所需的核心能力之一,我们通过自然语言推理任务(NLI)和通用推理问答任务评估模型性能,结果如表4和表5所示。评估结果表明KAG-Model在语义推理相关任务中取得显著提升:首先,表5显示在上下位词发现任务(其形式与语义增强索引和检索所需的推理一致)中,经微调的KAG-llama模型显著优于Llama3和ChatGPT-3.5。此外,表4中我们的模型在CMNLI、OCNLI和SIQA上相较Llama3的更好表现,证明其具备优秀的通用逻辑推理能力。
表4:KAG对不同大语言模型自然语言推理能力的增强效果。CMNLI、OCNLI、SIQA的评估指标均采用准确率衡量。
表5:基于SemEval2018-Task9数据集的上下位词发现性能对比(以MRR为衡量指标)
2.5.3 自然语言生成
未经领域适应训练的模型通常在领域逻辑和写作风格上与目标文本存在显著差异。此外,在专业领域获取足量标注数据往往面临挑战。为此,我们建立了两种针对特定领域场景的高效微调方法,使生成过程更符合场景预期:即K-Lora与AKGF。
K-LoRA预训练。首先,我们认为利用知识生成答案是从文本中提取知识的逆向过程。因此,通过反转前文所述的提取流程,可构建"三元组转文本"生成任务。经过大量实例的充分微调,模型能学会识别知识图谱注入的信息格式。同时由于目标文本具有领域特性,模型还能习得该领域特有的语言风格。此外出于效率考量,我们继续采用基于LoRA的监督微调,将此步骤获得的适配器称为K-LoRA。
知识图谱反馈对齐。由于过拟合等问题,模型响应仍可能出现幻觉现象。受RLHF(基于人类反馈的强化学习)方法[27,28]启发,我们希望知识图谱能作为自动化评估器,对当前响应的知识正确性提供反馈,从而引导模型进一步优化。首先生成阶段,我们通过多样化输入格式或随机种子为每个查询产生多种响应;随后引入知识图谱对这些响应进行评分排序。评分过程通过比对生成答案与知识图谱中的知识来验证正确性,奖励值由正确匹配的知识三元组数量决定,其计算公式如公式1所示。
reward=log(rspo+α×re)(1)\text{reward} = \log \left( {\text{rspo} + \alpha \times \text{re}}\right) \tag{1} reward=log(rspo+α×re)(1)
其中α\alphaα为超参数,rspo表示SPO匹配数,re代表实体匹配数。
我们选取生物医学问答数据集CMedQA和BioASQ进行模型评估。CMedQA是中文医疗问答综合数据集,BioASQ则是英文生物医学数据集,各随机选取1000条实例进行测试。对于CMedQA,我们使用未入选问答对的答案文本作为语料,以弱监督方式构建知识图谱;BioASQ则采用全部提供的参考段落作为领域语料。如表6所示,实验结果表明生成性能得到显著提升,具体实现流程详见我们的论文[31]。
表6:CMedQA和BioASQ上的性能对比。“CP"代表"持续预训练”。我们将持续预训练视为领域知识注入的基础方法,与其他基于检索的方法并列。因此,未报告混合方法的结果。
2.5.4 单次推理
大多数检索增强系统采用串联式呈现模型、检索器和生成模型,导致系统复杂度高、构建成本大,以及模块间错误传递引发的级联损失。我们提出高效的单次统一生成与检索模型(OneGen),使任意大语言模型能在单次前向传播中完成生成与检索。受大语言模型在文本嵌入领域最新成果启发,我们通过添加特殊标记(即检索标记)扩展原始词表,并将检索任务分配给以自回归方式生成的检索标记。训练期间,检索标记仅通过对比学习参与表示微调,其他输出标记则采用语言模型目标训练。推理时,我们按需使用检索标记进行高效检索。不同于以往需要至少两个模型分别处理检索与生成的流水线方案,OneGen将其统一于单一模型,从而无需独立检索器并大幅降低系统复杂度。如表7实验结果所示,我们得出以下结论:(1)OneGen在R→GR \rightarrow GR→G任务中表现优异,检索与生成的联合训练为RAG任务带来性能提升。Self-RAG赋予大语言模型自评估与自适应检索能力,而OneGen新增自检索功能。我们的方法在所有数据集上超越原始Self-RAG,尤其在Pub数据集提升3.1个百分点,ARC数据集提升2.8个百分点,验证了联合训练的优势。(2)OneGen训练效率极高,经过指令微调的大语言模型仅需极少额外调优即可展现强大检索能力。该方法对检索数据量和质量要求较低,仅用60K{60}\mathrm{\;K}60K个含噪声样本和不完整文档即可达到可比性能,且无需合成数据。具体实现流程详见论文[32]
表7:多跳问答场景中RAG框架下,采用不同大语言模型在各数据集上的性能对比。
3 实验
3.1 实验设置
数据集。为评估KAG在知识密集型问答任务中的有效性,我们在三个主流多跳问答数据集(HotpotQA、2WikiMultiHopQA和MuSiQue)上开展实验。为公平对比,我们遵循IRCoT和HippoRAG的方案,从各验证集选取1,000个问题,并使用与选定问题相关的检索语料库。
评估指标。问答性能采用精确匹配率(EM)和F1值衡量;检索性能则基于Top2/5结果计算命中率,记为Recall@2和Recall@5。
对比方法。我们对比了多种主流检索增强生成方法:NativeRAG采用ColBERTv2检索器并基于全部检索文档直接生成答案;HippoRAG是受人类长时记忆启发的框架,使大模型能持续整合外部文档知识(本文同样采用ColBERTv2作为其检索器);IRCoT通过交替执行思维链生成与知识检索步骤实现双向引导,该技术是现有RAG框架实现多步检索的核心方案。
3.2 实验结果
3.2.1 总体结果
端到端问答性能如表8所示。在以ChatGPT-3.5为基模型的RAG框架中,HippoRAG表现优于NativeRAG——其采用的人类长时记忆策略能持续将外部文档知识整合到大模型中,显著提升问答能力。鉴于ChatGPT-3.5的经济成本较高,我们选用DeepSeek-V2 API作为替代方案。平均而言,采用DeepSeek-V2 API的IRCoT+HippoRAG组合性能略优于ChatGPT-
3.5。我们构建的KAG框架相比IRCoT+HippoRAG取得显著提升:在HotpotQA、2WikiMultiHopQA和MuSiQue数据集上EM值分别提升11.5%、19.8%和10.5%,F1值提升12.5%、19.1%和12.2%。这些进步主要得益于框架内更高效的索引构建、知识对齐与混合求解库的开发。单步检索器与多步检索器的性能对比见表9,实验表明多步检索器总体更优——分析发现单步检索结果相似度过高,难以支撑需要推理的数据解答,而多步检索器通过互索引、逻辑形式求解及知识对齐等策略显著提升了检索性能。
表8:不同RAG模型在三个多跳问答数据集上的端到端生成性能。加粗及下划线的数值分别代表最优和次优指标。
表9:不同检索模型在三个多跳问答数据集上的性能表现
3.3 消融实验
本实验旨在深入研究知识对齐和逻辑形式求解器对最终结果的影响。我们通过替换不同模块的方法并分析结果变化,对各组件进行消融研究。
3.3.1 知识图谱索引消融
在图谱索引阶段,我们提出以下两种替代方法:
-
互索引方法。作为KAG的基线方法,根据2.1和2.2节的介绍,我们使用信息抽取方法(如OpenIE)提取文档块中的短语和三元组,按照LLMFriSPG的层次化表示形成图谱结构与文本块的互索引,最终写入知识图谱存储。该方法标记为M_Indexing。
-
知识对齐增强。该方法通过知识对齐强化图谱互索引和逻辑形式引导的推理检索。根据2.4节介绍,主要完成实例与概念分类、概念上下位关系预测、概念间语义关系补全、实体消歧与融合等任务,增强知识的语义区分度与实例间连通性,为后续逻辑形式引导的推理检索奠定基础。该方法标记为K\mathbf{K}K-Alignment。
3.3.2 推理与检索消融
多轮反思机制。我们采用ReSP[26]的多轮反思机制评估逻辑形式求解器是否充分回答问题。若未完成,则生成补充问题进行迭代求解,直至全局记忆中的信息完备。我们分析最大迭代次数nnn对结果的影响,记为refn{\operatorname{ref}}_{n}refn。当n=1n = 1n=1时表示未启用反思机制。在推理检索阶段,我们设计以下三种替代方法:
-
块检索器。参考HippoRAG的检索能力定义KAG的基线检索策略,目标是召回支持当前问题回答的top_k文本块。块得分通过向量相似度与个性化PageRank得分加权计算。该方法标记为ChunkRetri,启用n轮反思的版本记为CRrefnC{R}_{{re}{f}_{n}}CRrefn。
-
逻辑形式求解器(启用图检索)。接着采用逻辑形式求解器进行推理。该方法使用预定义逻辑形式解析和回答问题:先在KGcsK{G}_{cs}KGcs和KGfrK{G}_{fr}KGfr空间探索图谱结构的推理能力,注重推理的准确性和严谨性;当推理无结果时,使用RC{RC}RC中的支持块进行补充检索。该方法标记为LFSrefn{LF}{S}_{{re}{f}_{n}}LFSrefn,参数nnn为最大迭代次数。
-
逻辑形式求解器(启用混合检索)。为充分利用KGfrK{G}_{fr}KGfr与RC{RC}RC间的互索引结构,进一步探索KG\mathrm{{KG}}KG结构对块检索的增强作用,我们修改LFSrefn{LF}{S}_{{re}{f}_{n}}LFSrefn方案:禁用图检索的直接推理功能,全部答案均通过混合检索方式生成,以此评估图检索对推理性能的贡献。该方法标记为LFSHrefn{LFS}{H}_{{re}{f}_{n}}LFSHrefn。
通过本消融实验设计,我们旨在全面深入地理解不同图谱索引和推理方法对最终结果的影响,为后续优化改进提供有力支撑。
3.3.3 实验结果与讨论
表10:不同模型方法在三个多跳问答数据集上的端到端生成性能。骨干模型采用DeepSeek-V2 API。如算法17所述,引用3{}_{3}3代表最多3轮反思,而引用f1{f}_{1}f1代表最多1轮反思,这意味着未引入反思机制。
表11:呈现了三种数据集下不同方法的召回性能。LFSrefn{LF}{S}_{{re}{f}_{n}}LFSrefn方法中部分子问题的答案采用知识图谱推理而未召回支持文本块,因此在召回率方面与其他方法不具备可比性。基础模型为DeepSeek-V2 API。
图8:三个测试数据集各包含1000道测试题,每次并行处理20个任务,最大迭代次数nnn。3.CRref33.C{R}_{{re}{f}_{3}}3.CRref3方法执行速度最快,而LFSHref3{LFS}{H}_{{re}{f}_{3}}LFSHref3方法最慢。具体而言,CRref3C{R}_{{re}{f}_{3}}CRref3方法在三个数据集上分别比LFSHref3{LFS}{H}_{{re}{f}_{3}}LFSHref3方法表现优异149%,101%{149}\% ,{101}\%149%,101%、134%{134}\%134%。相比之下,在同一数据集上,LFSref3{LF}{S}_{{re}{f}_{3}}LFSref3方法较LFSHref3{LFS}{H}_{{re}{f}_{3}}LFSHref3方法分别提升13%,22%{13}\% ,{22}\%13%,22%、18%{18}\%18%,F1相对损失为2.6%,0.1%{2.6}\% ,{0.1}\%2.6%,0.1%和1.0%。
图9:应用K_Alignment后,图的连通性呈现显著右移趋势,展示了1跳、2跳和3跳邻居的分布变化。
实验结果的解析可从以下两个维度展开:
- 知识图谱索引。如表11所示,将知识对齐融入KG互索引后,CRref3C{R}_{{re}{f}_{3}}CRref3的top-5召回率分别提升9.2%,28.4%{9.2}\% ,{28.4}\%9.2%,28.4%、9.5%{9.5}\%9.5%,平均提升15.7%。图9显示,增强知识对齐后关系密度显著增加,频度-出度分布整体右移
-
1跳图呈现明显右移,表明语义结构化增加了各节点的邻居数量,从而提升了图的密度。
-
2跳和3跳图分布不均,左侧稀疏右侧密集。对比K_Alignment前后可见,各数据集中的顶点均向右偏移,左侧更趋稀疏。这表明多跳邻居较少的节点获得了新邻居,从而形成该分布模式。
这意味着新增的语义关系有效增强了图的连通性,从而提高了文档召回率。
- 图推理分析。召回率方面,相同图索引下LFSHref3{LFS}{H}_{{re}{f}_{3}}LFSHref3较CRref3C{R}_{{re}{f}_{3}}CRref3实现提升,top-5召回率分别提高15%、32.2%和12.7%,平均提升19.9%。该改进主要源于两个因素:
-
LFSHref3{LFS}{H}_{{re}{f}_{3}}LFSHref3将查询分解为多个可执行步骤,每个子查询独立检索文本块。图8的时间分析显示,LFSHref3{LFS}{H}_{{re}{f}_{3}}LFSHref3和LFSref3{LF}{S}_{{re}{f}_{3}}LFSref3耗时均超过LFSHref3{LFS}{H}_{{re}{f}_{3}}LFSHref3两倍,表明计算时间增加是换取召回率提升的代价。
-
LFSHref3{LFS}{H}_{{re}{f}_{3}}LFSHref3不仅检索文本块,还将执行过程中的SPO三元组整合进块计算。相较LFSHref3{LFS}{H}_{{re}{f}_{3}}LFSHref3,该方法额外检索了与查询相关的关联关系。
由于LFSref3{LF}{S}_{{re}{f}_{3}}LFSref3采用基于子图的查询应答机制,在召回率分析中无法直接比较,但可通过F1值进行评估。相较于LFSHref3,LFSref3{LFS}{H}_{{re}{f}_{3}},{LF}{S}_{{re}{f}_{3}}LFSHref3,LFSref3基于检索子图回答问题的比例分别为33%、34%和18%,LFSref3{LF}{S}_{{re}{f}_{3}}LFSref3的F1值下降了2.2%,0.1%{2.2}\% ,{0.1}\%2.2%,0.1%和0.5%{0.5}\%0.5%,而计算时间分别减少了12%,22%{12}\% ,{22}\%12%,22%和18%{18}\%18%。
对性能下降案例的分析表明,构建阶段的SPO错误或不完整会导致子查询应答错误,进而产生最终答案偏差。这将在案例研究中详细说明。计算时间的减少主要源于SPO检索效率相较文档块检索有显著提升。
工业应用中计算时间是关键指标。虽然LFSrefn{LF}{S}_{{re}{f}_{n}}LFSrefn可能引入部分错误,但可通过图谱校正与补全进行优化。值得注意的是,当前实验中我们以指标轻微下降为代价换取计算时间缩短,这被认为是工业实施的可行方向。
为分析最大迭代次数参数nnn的影响,LFSref1{LF}{S}_{{re}{f}_{1}}LFSref1相较LFSref3{LF}{S}_{{re}{f}_{3}}LFSref3的F1值分别下降0.6%,1.6%{0.6}\% ,{1.6}\%0.6%,1.6%和4.8%{4.8}\%4.8%。基于LFSref3{LF}{S}_{{re}{f}_{3}}LFSref3的实验,单次迭代的比例分析为97.2%、94.8%{94.8}\%94.8%和87.9%;LFSHref1{87.9}\% ;{LFS}{H}_{{re}{f}_{1}}87.9%;LFSHref1;相较LFSHref3{LFS}{H}_{{re}{f}_{3}}LFSHref3,F1值分别下降0.2%,1.2%{0.2}\% ,{1.2}\%0.2%,1.2%和4.4%{4.4}\%4.4%。基于LFSHref3{LFS}{H}_{{re}{f}_{3}}LFSHref3的实验显示单次迭代比例为98.3%,95.2%{98.3}\% ,{95.2}\%98.3%,95.2%和84.1%{84.1}\%84.1%,与F1值下降呈正相关。表13详细分析了迭代轮次对最终答案求解的影响。增大最大迭代参数可在LFSrefn{LF}{S}_{{re}{f}_{n}}LFSrefn无法完成求解时重新规划现有信息,从而解决部分不可解案例。
4 应用场景
4.1 电子政务知识图谱
我们采用KAG框架结合支付宝电子政务场景,构建了支持解答服务方式、所需材料、服务条件及办理地点等用户咨询的问答应用。在构建过程中,首先收集了11,000份政务服务文档,基于第2章方法实现了索引构建、逻辑形式引导的推理求解、语义增强及条件摘要生成等功能模块。
离线索引构建阶段采用语义分块策略切分政务文档,获取具体事项及其属性(如行政区划、办理流程、所需材料、办理地点、适用人群)对应的文本块。
推理求解阶段根据用户问题与图谱索引结构生成逻辑函数,按逻辑函数步骤执行逻辑形式:先精确定位用户所在行政区域的索引项,再通过事项名称、人群类别等进行检索,最终根据用户具体咨询的所需材料或办理流程定位对应文本块。
在语义增强阶段,我们为条目间添加了两种语义关系:同义关系与上位关系。同义关系指两个不同区域中名称相异但含义相同的条目,例如社保卡换新与社保卡遗失补办;共上位关系则指两个条目属于同一大类下的不同子类别,如申请新建住房住房公积金贷款与申请新建翻建住房住房公积金贷款,这两个条目拥有共同上位概念——申请住房公积金贷款。
我们对比了NaiveRAG与KAG两种技术方案的效果,如下表所示。显然,KAG在完整性与准确性方面均较NaiveRAG有显著提升。
表12:KAG在电子政务问答中的消融实验
4.2 面向电子健康的KAG应用
我们基于支付宝健康管理场景开发了医疗问答应用,支持解答用户关于疾病科普、症状、疫苗、手术、检查检验的科普问题,以及医学指标解读、就医推荐、医保政策查询、医院查询和医生信息查询。通过医学专家团队梳理权威医疗文献资料,构建了180余万实体和40余万术语集,总关系数超500万。基于这一高质量知识图谱,我们还开发了700余条DSL3{}^{3}3指标计算规则用于解答指标解读问题。
在知识构建阶段,采用强约束模式精确定义疾病、症状、药物、检查等实体结构,既保障问题解答的准确性,又确保实体间关系的严谨性。推理阶段根据用户查询生成逻辑形式,转换为DSL格式进行图谱查询,最终以三元组形式返回答案。逻辑形式不仅指导图谱查询,还包含用户查询中的关键结构信息(如城市、性别、年龄、指标值等)。图查询解析时还会触发医学专家制定的DSL规则,以三元组形式返回结论。例如用户询问"血压160"时,将触发如下规则:
该规则严格遵循LLMFriSPG中L\mathcal{L}L的定义,最终得出用户可能患有高血压的结论。
语义增强阶段利用术语集表达概念的同义和上下位关系,其中上位关系支持多层级表达。在知识构建和用户问答时,实体均与医学术语对齐。例如手术类型概念中,乳牙拔除术与前牙拔除术的上位关系是拔牙术。当用户仅询问拔牙相关问题时,可根据术语检索其所有下位概念,进而获取相关实体信息作答。在KAG支持下,线上问答抽样评估集的召回率达60.67%,准确率达81.32%{81.32}\%81.32%。端到端场景中,医保政策查询(北京、上海、杭州)准确率达77.2%{77.2}\%77.2%,科普意图准确率超94%{94}\%94%,指标解读意图准确率超93%。
5 相关工作
5.1 DIKW金字塔模型
依据DIKW金字塔理论[41,42,43,44],数据经处理与情境化后形成信息,信息结合经验、理解和专业知识则升维为知识。我们通常通过信息抽取技术从原始文本获取信息[45,46,47],再经由链接、融合、分析与学习技术从信息中提炼知识[43,48,46]。信息与知识本质上是同一本体的不同形态。现有技术缺乏统一的数据、信息与知识表示语言——RDF/OWL[49]仅提供三元组的二元表示,LPG[21]缺乏对知识语义与分类的支持。SPC4[50]{\mathrm{{SPC}}}^{4}\left\lbrack {50}\right\rbrackSPC4[50]虽支持知识层级与分类表示,但缺失对大语言模型友好的文本上下文支持。我们提出的LLMFriSPG既支持从数据到信息再到知识的层级表示,还提供逆向上下文增强的互索引机制。
5.2 基于向量相似度的检索增强生成
外部知识库利用传统搜索引擎为更新大语言模型知识提供了有效方法,该方法通过计算查询与文档间的文本或向量相似度[1,4]检索支撑文档,再结合大语言模型的上下文学习方法进行问答。但此方法在理解文档间远距离知识关联时面临巨大挑战,基于简单向量的检索难以适应多步推理或追踪不同信息片段间的逻辑联系。为此研究者探索了细粒度文档分割、思维链[33]和交互式检索[26,2]等方法。尽管经过优化,传统查询-片段相似度方法仍难以精准聚焦复杂问题中关键知识的关联,导致信息密度低且远距知识关联失效。下文将阐述逻辑形式引导的求解方法。
5.3 基于信息检索的图结构检索增强生成
这类方法运用信息抽取技术构建文档间的实体关系关联,能更好感知全局信息。知识构建阶段的典型任务包括:图信息抽取和知识构建&增强。GraphRAG[51]、ToG 2.0[9]、HippoRAG[12]等方法采用开放信息抽取获取实体关系等图结构信息,部分方法利用实体间多跳关联提升跨文档检索效果[9,12];DALK[7]等方法通过PubTator Central(PTC)标注降低开放信息抽取的噪声问题,部分采用实体消歧技术增强图信息一致性[12,52]。GraphRAG[51]在构建离线索引时生成元素级和社区级摘要,采用QFS[53]方法先计算各摘要对查询的部分响应再合成最终响应。这种层级摘要特性使其难以解决多跳问答和文档增量更新等问题。开放信息抽取构建的知识图谱含有大量噪声或无关信息[54,55,56]。根据DIKW金字塔模型,这些方法仅抽取信息图结构并在信息转知识时尝试有限实体消歧,但未解决语义方向性和逻辑敏感性等问题。本文将介绍知识对齐图谱中基于领域概念语义图对齐的信息-知识转换增强方法。
5.4 基于知识图谱的问答系统
传统知识图谱推理具有良好的可解释性和透明度,但受限于领域图谱规模、知识完备性、细节覆盖度和更新时效性[57]。本文提出混合推理方法缓解知识稀疏性、实体粒度不一致和构图成本高等问题,该方法结合知识图谱检索与推理来增强生成,而非完全取代检索增强生成。
实现知识图谱增强生成需解决基于图谱的知识检索与推理问题。其一是知识边检索[58],通过定位问题最相关的实体、关系或三元组缩小范围;其二是语义解析[59,60],将非结构化自然语言问题转换为可执行数据库查询语言(如SQL、SPARQL[61]、DSL5{}^{5}5等),或先生成结构化逻辑形式(如S表达式[62,63])再转换为查询语言。
虽然无需显式语义解析也能实现大规模知识库对话问答(如HRED-KVM[64]),但多数研究聚焦上下文感知语义解析器[60,65,63]。
部分研究采用序列到序列模型直接生成查询语言[66,67]。这些方法专为特定查询语言设计,有时甚至针对特定数据集,缺乏支持不同类型结构化数据的通用性。另有研究采用逐步生成查询图与搜索策略进行语义解析[68,69,70],但该方法易受大语言模型(LLM)不可控问题影响,导致查询困难且可解释性差。ChatKBQA[63]、CBR-KBQA[71]等方法虽能完整生成S表达式并对语义解析过程进行增强,但S表达式结构相对复杂,整合多跳问题时会使LLM难以理解,也不利于知识库问答(KBQA)与检索增强生成(RAG)的协同检索。为此,我们提出多步分解逻辑形式来表达多跳检索与推理过程,将复杂查询拆解为多个子查询并提供对应逻辑表达式,从而实现SPO与文本块的联合检索。
5.5 大语言模型与知识图谱的双向增强
大语言模型(LLM)与知识图谱(KG)是神经与符号化知识运用的两大典型范式。自BERT[72]等预训练语言模型出现以来,高性能语言模型就被用于提升KG相关任务。具有强泛化能力的LLM尤其被认为能促进KG全生命周期应用。大量研究探索了LLM在KG内外任务中的潜力,例如利用LLM生成三元组补全知识,相比传统人工构建方式成本显著降低且对热门实体具有可接受的准确率[73]。过去十年间,KG内部任务方法多基于图谱结构学习(如结构嵌入方法),受限于自然语言处理技术的文本理解能力,实体名称描述等文本信息未得到充分利用。随着LLM的出现,研究者开始将其应用于KG补全中的实体关系语义理解[74]、规则学习[75]、复杂逻辑查询[76]等任务。另一方面,KG也广泛用于提升LLM性能:作为外部资源提供精准事实信息以缓解生成幻觉[9]、生成复杂逻辑问答规划数据微调LLM以增强推理能力[77]、通过关联知识变化支持知识编辑[78]等。LLM与KG的双向增强已得到广泛探索并取得部分成果。
6 局限性
本文已验证KAG框架在垂直领域与开放域问答场景的适应性,但当前OpenSPG-KAG 0.5版本仍存在需持续突破的重要局限,例如:
本框架在构建与求解阶段需多次调用LLM。规划阶段需生成大量中间token以实现子问题分解与符号化表示,如表14所示,问题分解不仅输出子问题还需生成逻辑函数,导致token生成量约为纯子问题分解的两倍,带来计算与经济开销。同时,当前KAG框架内所有模型调用(包括实体识别、关系抽取、关系召回及标准化)均依赖大模型,显著增加整体耗时。未来垂直领域实施时,可采用小型领域模型替代关系召回、实体识别等任务以提升运行效率。
复杂问题的分解规划需要高阶能力。当前虽通过LLM实现,但复杂问题规划仍是重大挑战。例如当任务要求比较两人年长时,应分解为比较出生早晚,直接询问年龄并不恰当——若对象已去世,"年龄"指向死亡年龄而非实际年长关系。复杂问题的分解规划需确保模型在问题拆解与规划中的准确性、稳定性及可求解性。当前KAG框架尚未对这些方面进行优化,我们将进一步探索预训练、监督微调(SFT)及思维链(COT)策略如何提升模型对逻辑形式的适应能力及其规划推理能力。
问题:哪部电影的导演年龄更大,《上帝赐予女人的礼物》还是《Aldri Annet Enn Bråk》?
Q1:哪位导演执导了电影《上帝赐予女人的礼物》? A1:迈克尔·柯蒂兹
Q2:哪位导演执导了电影《Aldri Annet Enn Bråk》? A2:伊迪丝·卡尔玛
Q3:《上帝赐予女人的礼物》导演的年龄是多少? A3:74岁。迈克尔·柯蒂兹(1886年12月24日至1962年4月11日)…
Q4:《Aldri Annet Enn Bråk》导演的年龄是多少? A4:91岁。伊迪丝·卡尔玛(原名伊迪丝·玛丽·约翰娜·马蒂森,1911年11月15日至2003年5月17日)…
Q5:比较两位导演的年龄,确定谁更年长。 A5:伊迪丝卡尔玛更年长。实际上,迈克尔·柯蒂兹出生更早。
开放信息抽取显著降低了构建知识图谱的门槛,但也明显增加了知识对齐的技术挑战。尽管本文实验表明通过知识对齐能提升抽取知识的准确性与连通性,但仍有许多技术难题亟待攻克,例如优化多元知识(如事件、规则、流程等)抽取的精确度与多轮抽取的一致性。此外,基于领域专家经验的模式约束知识抽取虽人力成本较高,仍是获取严谨领域知识的关键途径。这两种方法应协同应用,以更好平衡垂直场景对复杂决策严谨性与信息检索便捷性的需求。例如从多文本中抽取团队成员并询问总人数时,全面抽取对基于结构化搜索结果提供准确答案至关重要,错误抽取也会损害回答准确性。
7 结论与未来工作
为构建垂直领域的专业知识服务,充分发挥符号化知识图谱与参数化大模型的能力优势,同时大幅降低领域知识图谱构建成本,我们提出KAG框架并加速其在专业领域的应用。本文详细阐述了知识准确性、信息完备性与逻辑严谨性是专业知识服务必须具备的关键特性,同时介绍了大模型友好知识表示、知识结构与文本块互索引、语义推理知识对齐、逻辑形式引导的混合推理求解及KAG模型等创新。相比当前最具竞争力的SOTA方法,KAG在HotpotQA、2wiki、musique等公开数据集上取得显著提升,并在支付宝政务问答与医疗问答场景进行案例验证,进一步证明了KAG框架在专业领域的适应性。
未来仍需探索更多工作以持续降低知识图谱构建成本并提升推理可解释性与透明度,例如多元知识抽取、基于OneGraph的知识对齐、领域知识注入、大规模指令合成、知识逻辑约束的幻觉抑制等。
本研究未涉及复杂问题分解与规划模型的增强,这仍是未来研究的重要方向。后续工作中,KAG可作为奖励模型通过执行规划结果提供反馈,评估模型的准确性、稳定性与可求解性,从而提升规划模型能力。
我们还将与开放知识图谱社区组织OpenKG深度合作,持续攻克大模型与知识图谱协同中的关键技术问题。
论文地址:https://arxiv.org/abs/2409.13731
仅供学习使用!