第一讲 · 知识图谱概述

(updated 2026年8月23日)

对应 PPT:第1讲 我在这一讲先回答 4 个问题:为什么要有 KG / KG 是什么 / KG 怎么来的 / KG 怎么造怎么用。


1. 为什么需要知识图谱

1.1 信号 → 数据 → 信息 → 知识

层级是什么例子
信号传感器测量的物理量,信息的物理载体电流、电压、温度
数据信号被存储/显示出来的内容文本”226”、连续温度值
信息数据 + 解释,带语义”姚明身高 2.26 米” → “姚明很高”
知识被验证、正确、被相信的有价值信息”中国的首都是北京”

关键区分:

  • 数据 = 字面量;
  • 信息 = 理解后的数据;
  • 知识 = 验证过的信息。

课件用 Jim Gray 所说的“第四范式”交代背景:科学研究在实验观察、理论建模和计算仿真之外,还可以从海量数据中挖掘规律。知识图谱不是否定数据驱动,而是把可复用的事实、概念和规则显式组织起来,与统计学习互补。

1.2 感知智能 vs 认知智能

  • 深度学习擅长”感知”(看、听、识别);
  • 知识是”认知”(理解、推理、决策)的燃料;
  • 例:“特朗普住哪?“——纯 DL 答不出;引入”美国总统住白宫”这条常识即可推理。

1.3 知识驱动 vs 数据驱动

维度知识驱动数据驱动
依赖预定义规则和逻辑从数据中学模式
擅长结构化、定义明确的任务复杂、非结构化任务
代表专家系统、规则系统、KG深度学习、大模型

大模型幻觉的根因之一是知识不全/不准;KG 给机器外挂结构化、可推理的知识库。


2. 知识图谱的定义

知识图谱是一种用有向图模型来描述知识和建模世界万物之间的关联关系的技术方法,由节点和边组成。

  • 2012 年 Google 在搜索引擎中首次提出”Knowledge Graph”;
  • 以图数据结构描述概念、实体及其关系,更接近人类认知形式。

3. 基本概念

3.1 三元组(KG 最基本单位)

知识图谱中的实体关系事实常记作 (头实体, 关系, 尾实体),即 (h, r, t)。RDF 三元组则写作 (Subject, Predicate, Object):

  • Subject:被描述的资源;
  • Predicate:关系或属性;
  • Object:可以是另一个资源/实体,也可以是字符串、数值、日期等字面量(literal)。

因此,只有 Object 也是资源/实体时,才适合把 Subject 和 Object 对应为“头实体”和“尾实体”;属性事实的 Object 往往只是字面量。

例:

(北京航空航天大学, 成立于, 1952年)
(北京航空航天大学, 教职工人数, 4266)
(北京航空航天大学, 学生人数, 37000)

3.2 概念层与实例层

知识图谱的概念层与实例层

概念层规定有哪些类和关系,实例层保存具体实体与事实,type 把两层连起来。

层内容作用例子
概念层 / 模式层抽象的”类”、本体、本体间关系定义 schema,约束实例体育人物、娱乐人物、城市
实例层 / 数据层真实实体 + 实体间关系记录具体事实姚明、韩寒、上海

连接关系:

  • 概念层之间用 Subclass(体育人物 Subclass 人物);
  • 概念↔实例用 Instance Of / Type(姚明 Type 体育人物);
  • 实例之间用 Relation(姚明 出生于 上海)。

为什么要分两层:

  1. 概念层约束实例层,防”姚明属于水果”;
  2. 支持基于概念层次的推理(姚明属于体育人物,体育人物是人物的子类,因此姚明也属于人物);
  3. 本体可独立复用和扩展。

模式层不只是分类表,还是实例事实的语义约束。例如先声明“体育人物”是“人物”的子类,bornIn 的两端应是人物和地点,再存入“姚明出生于上海”。这样既能检查类型,也能沿 subClassOf 和 type 做继承推理。

3.3 节点的层次化表示

领域(Domain/Topic)    人物、自然、文化…
   └─ 概念(Concept)   体育人物、娱乐人物…
        └─ 实体(Entity/Instance)   姚明、韩寒…

3.4 节点类型

类型含义例子
实例(Instance)真实实体(姚明,出生地,上海市)
字符串(String)文本值(北京大学,学术传统,兼容并包、思想自由)
数值(Number)数字(北京市,面积,1.641万)、(姚明,身高,2.26米)
时间(Date)日期(姚明,出生年份,1980年)

3.5 边类型

类型连接什么例子
Subclass(子类)本体之间(体育人物,Subclass,人物)
Type(类型)实体 ↔ 本体(姚明,Type,体育人物)
Relation(关系)实体之间(姚明,出生于,上海)、(姚明,朋友,奥尼尔)

属性图中,实体间关系是边,标量属性是节点或边上的键值对;RDF 则统一用谓词表示关系和属性,简单属性的宾语可以直接是字面量。


4. 发展历史(6 个阶段)

阶段时间核心关键人物/事件
专家系统(ES)1970s知识库 + 推理机,人工写规则MYCIN(医疗)
本体(Ontology)1980结构化术语集,概念间关系哲学起源 → AI
万维网(WWW)1989文档靠超链接互联Tim Berners-Lee
语义网(Semantic Web)1998给网页加机器可读语义W3C 后续推进规范
链接数据(Linked Data)2006URI 标识万物 + RDF 互联语义网落地
知识图谱2012~Google 正式命名 KGYAGO/DBpedia/Wikidata 等百花齐放

知识工程 vs 知识图谱

维度知识工程知识图谱
构建人工自动 + 众包
数据量数万~数十万数十亿~数百亿
表示一阶逻辑/产生式/描述逻辑RDF/属性图/分布式表示
任务逻辑推理检索 + 推理,赋能搜索/问答/推荐

KG vs 传统知识库 vs 数据库

类型主要任务备注
数据库数据处理表结构、强 schema
传统知识库知识处理重推理、量小
知识图谱知识应用量大、含语义、可推理、形式灵活

KG 不替代数据库,KG 是更高层的语义层。


5. 典型知识图谱

5.1 通用 KG vs 领域 KG

维度通用 KG领域 KG
知识来源Wikipedia/众包行业/企业内部数据
规模化渐进快速大规模
表示三元组事实型复杂本体 + 规则
质量开放域 + 容忍度抽+人工审核、质量高
融合提升质量多源融合扩展
应用搜索/问答决策/业务管理(重推理)
举例DBpedia、Yago、百度、谷歌电商、医疗、金融、农业、安全

互补:通用提供基础 → 行业复用+加深 → 回流补充通用。

5.2 代表项目

名称类别核心特点关键记忆点
WordNet早期词典1985 普林斯顿,按”词义”组织,词义簇 synset词义聚类
ConceptNet常识MIT OMCS,多语言、开放常识词-词关系多
BabelNet跨语言YAGO 思路 + 多语言 Wiki + 机器翻译最大多语言百科
Wikidata众包免费开放、多语言、机器可编辑、三元组维基数据
YAGO融合WordNet 词汇 + Wikipedia 分类WordNet+Wiki
DBpedia早期KG 版的 Wikipedia结构化抽取 Wiki
Freebase众包开放共享、协同构建、链接数据库众包先驱
Schema.org词汇标准本体,覆盖人/组织/地点/时间/医疗/商品互联网本体标准
NELL自动抽取互联网挖掘自动抽三元组Never-Ending Learning
OpenKG中文社区18 个领域中文 KG中文 KG 联盟
cnSchema中文标准OpenKG 发起、中文本体标准中文版 Schema.org
OpenBase.AI中文众包类似 Wikidata,中文为主,机+人协同中文 Wiki

5.3 行业代表

  • 阿里巴巴电商 KG:用户需求 ↔ 商品特性,提升搜索/推荐;
  • 美团大脑:挖掘人-店家-商品关联,餐饮娱乐决策;
  • AMiner(清华):学者-论文关联,KDD 2020 时间检验奖;
  • 中医药 KG:医案抽取,临床知识;
  • 天眼查:商业情报,挖掘公司/负责人隐式关系。

可以按各项目的来源和用途区分:WordNet-词典,ConceptNet-常识,Wikidata-众包,YAGO-多源融合,DBpedia-维基百科结构化,Freebase-众包先驱,NELL-自动抽取,OpenKG-中文开放联盟。

课件把搜索、问答和推荐作为三类典型应用:搜索从返回关键词相关网页,扩展到直接索引人物、机构和地点;问答把问题链接到实体和关系后查询或推理;推荐则可以沿演员、导演、类型等关系找候选。实际系统通常把图特征与协同过滤、排序模型结合,而不是用 KG 取代其他方法。


6. 技术流程(4 个关键问题)

6.1 整体架构

领域知识图谱的技术流程

先定义语义,再抽取事实、融合指称,最后用存储和推理引擎提供服务。

应用层    语义搜索 / 智能问答 / 辅助决策
服务层    知识存储 / 知识检索 / 知识推理
支撑层    NLP / 知识抽取 / 知识表示 / ML / DL / 图数据库
         知识融合 / 知识众包 / 知识建模 / 大模型
数据层    非结构化 / 半结构 / 结构化 / 多媒体结构 / 众包

6.2 四个关键问题(4 个动词)

关键问题解决什么主流方法
知识表示知识怎么”写”成机器能懂的符号RDF / 属性图 / OWL / 表示学习
知识抽取怎么从数据里把知识挖出来实体识别 / 关系抽取 / 事件抽取
知识融合多源 KG 怎么合并成一个实体对齐 / 消歧 / 共指
知识服务怎么用知识补全 / 推理 / 语义检索 / 问答

6.3 4 个问题展开

① 知识表示

  • 本体:类集、属性集、关系集、词汇集;
  • 实体:实体间关系 + 描述术语;
  • 事件:实体关联 + 发生时间;
  • 基本描述框架:W3C 的 RDF = 主谓宾三元组。

② 知识抽取

  • 结构化数据 → D2R 工具:Triplify、D2RServer、OpenLink、SparqlMap、Ontop;
  • 文本数据 → 实体识别 + 关系抽取;
  • 关系抽取方法演进:特征模板 → 核函数监督 → 远程监督 → 联合抽取 → LLM。

③ 知识融合

  • 模式层:新本体融入已有本体;
  • 数据层:实体指称、属性、关系、类别融合;
    • 实体消歧:同名实体不同含义(“苹果”公司 vs 水果);
    • 共指消解:不同命名指同一实体(“北航” = “北京航空航天大学”)。

④ 知识服务

  • 本体推理:基于描述逻辑,对概念/关系补全;
    • 课件示例规则:(X,出生于,Y) ∧ (Y,属于国家,Z) ⇒ (X,国籍,Z);
    • 在这条规则和“姚明出生于上海、上海属于国家中国”两个示例事实下,可推出“姚明国籍中国”;
    • 这只是课件用来演示规则推理的例子,不是通用事实:现实中不能仅凭出生地确定国籍。
  • 图结构推理:实体间路径 + 周围图结构预测关系;
  • 表示学习推理:实体/关系嵌成向量,h + r ≈ t(TransE);
  • 知识检索:语义搜索,给出精确答案 + 相关推荐;
  • 辅助决策:KG 嵌入分析/推荐流程。

用课件的菜谱领域例子,四步可以连成一条线:

  1. 根据饮食领域和问答、检索等场景建立菜品、食材、步骤等本体;
  2. 从结构化、半结构化和非结构化数据中抽出实体、关系和属性;
  3. 对齐“土豆—马铃薯—洋芋”、“西红柿—番茄”等不同指称;
  4. 把融合后的知识交给存储、查询和推理引擎,用 SPARQL 等接口回答“酸辣土豆丝需要花椒吗”。

这个流程需要迭代:出现新数据或本体不足时,会回到表示、抽取和融合阶段。课件还给出一个最小规则推理:北航有 4266 名教职工和 37000 名学生,在“学校总人数 = 教职工数 + 学生数”规则下得到 4266+37000=412664266+37000=41266。

6.4 知识存储两条路线

  • 三元组库(Semantic Web 出身):存 RDF,代表 Apache Jena、OpenLink Virtuoso;
  • 图数据库(数据库出身):存属性图,代表 Neo4j、JanusGraph、OrientDB;
  • 核心区别:属性图让节点和边原生携带键值属性;RDF 的基本模型是三元组,陈述的时间、来源或置信度需要通过具体化、命名图或 RDF-star 等方式表示。

KG 不替代数据库:图模型规定如何组织语义,数据库系统仍负责索引、持久化、并发和查询执行。


7. 本讲结构

知识图谱概述
├── 为什么需要知识
│   ├── 信号→数据→信息→知识
│   ├── 感知 vs 认知
│   ├── 大模型幻觉根因
│   └── 知识驱动 vs 数据驱动
├── 基本概念
│   ├── 节点=实体/概念,边=关系/属性
│   ├── 三元组 (h, r, t)
│   ├── 概念层(Subclass/Type)+实例层(Relation)
│   ├── 节点类型:实例/字符串/数值/时间
│   └── 边类型:Subclass/Type/Relation
├── 发展历史
│   ├── 专家系统(70s)→本体→万维网→语义网
│   ├── →链接数据→KG(2012 Google)
│   └── KG vs 知识工程 vs 数据库
├── 典型项目
│   ├── 通用:WordNet/ConceptNet/YAGO/DBpedia/Wikidata/Freebase/NELL/BabelNet
│   ├── 中文:OpenKG/cnSchema/OpenBase
│   └── 领域:阿里电商/美团/AMiner/中医药/天眼查
└── 技术流程(4 关键问题)
    ├── 知识表示 → RDF/属性图/OWL
    ├── 知识抽取 → 实体/关系/事件
    ├── 知识融合 → 实体对齐/消歧/共指
    └── 知识服务 → 推理/检索/问答

评论