知识图谱

Knowledge Graph (KG)

知识图谱 KG 是用实体-关系-实体三元组(SPO:Subject-Predicate-Object)组织知识的图结构;在 RAG 中补全多跳推理、消歧实体别名、发现隐含关系,是向量检索加关键词之外的第三大检索支柱。

详细解释

知识图谱(Knowledge Graph,KG) 最出名的亮相是 2012 年 Google 在搜索里推出 Google Knowledge Graph(搜”爱因斯坦”右侧出一张结构化卡片:生卒年、国籍、相对论、配偶……)。到 AI RAG 时代,KG 找到了新定位:把”非结构化文档里的结构化关系”显式抽出来存成图,用来补向量检索的两个硬伤——多跳推理、实体歧义。

核心数据结构:三元组(Triple)= (头实体 S, 谓词/关系 P, 尾实体 O),例如:

  • (唯元智创, 创始人, 张三)
  • (张三, 毕业于, 清华大学)
  • (清华大学, 位于, 北京)

实体 + 关系一起组成一张图,每个节点(实体)有一堆属性(别名、类型、描述),每条边(关系)有方向+权重。

知识图谱在 LLM / RAG 里解决什么痛点

向量检索的硬伤是:“你问的文档里没直接写,但靠 2–3 跳关系能推出来”的问题,它经常答不出来。KG 刚好就是”关系机器”。

痛点场景纯向量检索的表现+ Knowledge Graph 之后
多跳推理:“唯元智创创始人的毕业院校在哪个城市?”如果没有文档直接一句话”张三毕业于清华,清华在北京”,向量检索可能只能召回 2 段分散文档,LLM 拼不起来,直接 幻觉从 KG 上跑:(唯元智创→创始人→张三→毕业于→清华→位于→北京),路径清晰。LLM 可以拿到”路径证据”,回答准确率 +20 至 40%
实体消歧:用户说”苹果发布新手机了”向量库可能同时召回”苹果(水果)营养文档”和”苹果公司 iPhone”文档,Top-K 里混进噪音KG 里有实体类型 + 别名:(Apple Inc., 别名, 苹果公司) + (Apple Inc., 类型, 科技公司) + (Malus domestica, 别名, 苹果),结合上下文先做消歧 → 再检索
隐含关系补全:新客户资料里写了”A 公司被 B 收购”,之前文档没提向量检索要等下次重刷索引才知道KG 直接加一条 (B, 收购了, A) 三元组,立即可查;还能做链路预测”A 的竞争关系现在归到 B 了”
合规溯源:用户问”A 药品治什么病?“要求回答必须能追溯到药品说明书原文向量检索能给原文片段,但不知道”原文里 A 对应的治疗病症”这句话里的实体关系对不对KG 里把药品-适应症、成分、禁忌症、不良反应抽成三元组,每条回答都挂三元组的 SPO ID,直接溯源到原文第几句

构建企业知识图谱的 4 步流水线(标准做法)

非结构化文档/PDF/网页

① 文档切片(Chunking + [Semantic Chunking](/support/glossary/semantic-chunking/))

② 实体与关系抽取(LLM + IE Prompt / 专用信息抽取模型)
  输出:[{Entity: 唯元智创, Type: 公司}, {Entity: 张三, Type: 人物}, ...]
       [(唯元智创, 创始人, 张三), ...]

③ 实体对齐(Entity Alignment)+ 消歧
  把"张三 / 张总 / ZS / zhangsan@weimeta.cn"全部对齐到同一个实体节点

④ 存入图数据库(Neo4j / NebulaGraph / Amazon Neptune)
  同时把每个实体 + 关系的描述做 [Embedding](/support/glossary/embedding/),存到 [Vector Database](/support/glossary/vector-database/) 里做混合检索

企业落地推荐组合:图数据库(存结构)+ 向量数据库(存语义)+ Rerank 重排,三者联手。唯元智创 企业版 RAG 支持”文档一键抽 KG”,第①②步开箱就能跑。

知识图谱 vs 纯向量 RAG 成本对比(10 万文档级知识库)

维度纯向量 RAG+ 知识图谱
搭建成本(人周)1–2 人周(上 Chroma / pgvector 即可)5–10 人周(抽取 Schema 设计 + 实体对齐 + 图数据库运维)
召回准确率(单跳事实)85%87%(提升不大)
召回准确率(2 跳以上推理)55%85%+(大幅提升)
幻觉率高(20% 左右)低(5% 以下)(可追溯 SPO)
适用行业通用文档问答医疗(药品/病症)、金融(股权/关联交易)、法律(合同/条款关系)、制造(设备/BOM 关系)

常见问题

我们公司文档 1 万篇都不到,需要上 KG 吗?
看你的”关系密度”。如果你的文档是流程/说明书/FAQ这类”一篇文档就是一个独立问题”的 → KG 收益很小,纯向量 + Rerank + HyDE 就够了。如果你的文档是合同/股权结构/医疗知识/产品 BOM这类”大量实体和关系在文档之间交叉引用”的 → 哪怕只有 1000 篇,也值得建个小 KG,收益立刻看得见。一句话:先问有没有多跳推理需求,再决定上不上。
LLM 能直接抽三元组吗,还是必须买信息抽取商业模型?
2025 年基本都用 LLM 抽了。做法:给 LLM 一段文档 + 一份关系类型 Schema(白名单)(比如只能抽”公司/人/产品”三类实体,只能有”创始人/投资/位于”等 15 种关系)+ 3 条 Few-Shot 示例 → 用 Structured Output 强制输出 JSON 数组。gpt-4o-mini 这个级别的模型,抽取 F1 通常能到 85–90%,人工抽查 10% 做质检就够了。商用抽取模型(百度信息抽取、阿里云 NLP)能到 92–95% 但贵很多,一般先用 LLM + 结构化输出,跑通了再看要不要上专用模型。
Neo4j 之外还有什么适合企业的图数据库?
按规模选:小型(100 万三元组以内):Neo4j Community 免费版 / Apache AGE(PG 扩展,有 PG 就直接用);中型(1 亿级):NebulaGraph(国产开源,字节/美团等大厂在用,社区活跃)/ Amazon Neptune(托管版,AWS 用户方便);超大规模(10 亿+):Neo4j Enterprise / TigerGraph / 阿里 GDB;2025 年新趋势:Vector + Graph 融合数据库(如 pgvector + AGE 同一张表、Neo4j 5.x 内置向量索引),不用两套系统跨库 join。