📑 查看全课大纲(第 1 / 26 节)
- 1.知识图谱和语音技术概述
- 2.典型知识库项目简介
- 3.知识图谱技术概览
- 4.典型应用案例
- 5.早期知识表示简介
- 6.基于语义网的知识表示框架
- 7.典型知识库项目的知识表示
- 8.基于本体工具的知识建模实践
- 9.面向非结构化数据的知识抽取
- 10.面向结构化数据的知识抽取
- 11.面向半结构化数据的知识抽取
- 12.实践:基于百科数据的知识抽取
- 13.面向文本的知识抽取
- 14.知识挖掘
- 15.从一个例子开始
- 16.图数据库介绍
- 17.什么是知识融合
- 18.知识融合的基本技术流程
- 19.典型知识融合工具简介
- 20.典型案例简介
- 21.LIMES实战演练
- 22.知识推理
- 23.语义搜索
- 24.知识问答
- 25.IBM watson Lite
- 26.行业知识图谱应用
知识图谱和语音技术概述
约 28 分钟
从万维网到知识图谱:让机器链接 “事物” 而不只是 “网页”
小象实战讲义 · 知识图谱
为什么今天的搜索引擎能直接在结果页告诉你一部电影的评分、上映时间和主演,而不是只丢给你一排蓝色链接?为什么社交网站能听懂 “喜欢哈佛、还爱骑行的人” 这样复杂的问句?这背后是一场从 “链接网页” 到 “链接事物” 的范式转变。本节作为《知识图谱》的开篇,从万维网的诞生讲起,带你理清知识图谱的来龙去脉、核心思想与典型用途,建立对这门交叉技术的全局认知。
💡 核心导读
一条演进主线:记忆机器 MEMEX → 超文本万维网 → 语义网与链接数据 → 2012 年谷歌知识图谱。
一次范式转变:从 “链接文档(Web of Documents)” 到 “链接数据 / 事物(Web of Data / Things)”,也就是谷歌提出的 Things not strings。
两个标志性产品:谷歌实体图与 Facebook 兴趣图谱,如何把 “网页搜索” 升级为 “对象导航”。
三大用途与一个目标:知识图谱辅助搜索、辅助问答、辅助决策,并为机器补上常识推理能力。
一个本质判断:知识图谱是 KR、NLP、Web、AI、DB 交叉融合的系统工程,目标是做 “有学识的 AI”。
1. 从记忆机器到万维网:链接思想的起源
知识图谱的思想源头,可以追溯到万维网诞生之前。
1945 年,Vannevar Bush 与 MEMEX。 时任美国总统科学顾问、参与过曼哈顿计划的 Vannevar Bush 在《大西洋月刊》(The Atlantic)发表了著名文章 As We May Think。他设想了一种叫 MEMEX(记忆机器) 的设备:把人类的书籍、记录与通信存储起来,并通过 “关联轨迹(associative trails)” 相互链接、随时调取。他的核心观察是 ——人的记忆是偏重关联的,我们总是顺着事物之间的联系去回忆和思考,而不是按固定的层级目录去检索。
1989 年,Tim Berners-Lee 与万维网。 万维网之父、MIT 教授、图灵奖得主 Tim Berners-Lee 在 Information Management: A Proposal 中,把 MEMEX 的关联思想变成了现实雏形:用超文本(hypertext)/ 超链接(hyperlink)把一篇篇笔记连成一张网。他明确提出,这应当是一个以链接为中心的系统—— 相比固定的层级结构,“圆圈和箭头” 组成的网络更能自由地表达事物之间的相互关系,也更容易在开放的互联网环境中生长和扩展。这一理念最终演化为今天的万维网(Web)。
1945 MEMEX(关联记忆) → 1989 超文本/Web(以链接为中心) → …… → 2012 知识图谱
Bush《As We May Think》 Tim Berners-Lee《IM: A Proposal》2. 从链接文本到链接数据:语义网的核心转变
万维网解决了 “网页相连”,但网页里的内容主要是写给人看的。1994 年在日内瓦的万维网大会上,Tim Berners-Lee 表达了这样的遗憾:网页文档其实在描述真实世界的对象(real objects)和抽象概念(concepts),并给出了它们之间的具体关系,机器却完全无法处理这些语义。
于是人们开始推动一次关键转变:
| Web of Documents(文本的链接) | Web of Data / Things(数据的链接) | |
|---|---|---|
| 链接的对象 | 网页、文档 | 实体、对象、概念 |
| 连接方式 | 超链接 hyperlink | 带语义的关系(谓词) |
| 服务对象 | 给人阅读浏览 | 让机器理解、计算与推理 |
| 典型形态 | 传统网页搜索 | 语义搜索、知识图谱 |
在数据的链接里,世界被建模成一张有向标记图:图中的每个节点是一个对象(实体),节点之间的边是一条特定的语义关系。例如一支乐队:它有成员,成员是意大利人、曾在某所大学受教育,大学位于欧洲;乐队发行过名为 Island 的唱片,还在德国的某个场馆开过演唱会。
┌────────┐ memberOf ┌────────┐
│ 成员 │ ──────────▶ │ 乐队 │
└───┬────┘ └───┬────┘
│ educatedAt │ heldConcertAt
▼ ▼
┌────────┐ locatedIn ┌────────┐ locatedIn ┌────────┐
│ 大学 │ ─────────▶ │ 欧洲 │ │ 场馆 │ ──▶ 德国
└────────┘ └────────┘ └────────┘这种 “主体 — 谓词 — 客体” 的一条陈述,就是知识图谱最基础的数据单元 ——三元组(triple)。下面用现代 Python 的 rdflib 库,把上面这张迷你图真正建出来并做一次语义导航,直观体会 “链接事物” 和 “链接字符串” 的区别:
# 用 rdflib 构建一张最小的"实体-关系"图:链接的是对象,而不是字符串
from rdflib import Graph, Namespace, Literal
from rdflib.namespace import RDF
EX = Namespace("http://example.org/music/")
g = Graph()
g.bind("ex", EX)
# 每条三元组 = (主体 subject, 谓词 predicate, 客体 object)
triples = [
(EX.band, RDF.type, EX.Band),
(EX.band, EX.name, Literal("示例乐队")),
(EX.member, RDF.type, EX.Person),
(EX.member, EX.memberOf, EX.band),
(EX.member, EX.educatedAt, EX.college),
(EX.college, EX.locatedIn, EX.Europe),
(EX.islandAlbum, EX.artist, EX.band),
(EX.islandAlbum, EX.name, Literal("Island")),
(EX.venue, EX.locatedIn, EX.Germany),
(EX.band, EX.heldConcertAt, EX.venue),
]
for s, p, o in triples:
g.add((s, p, o))
# 语义导航:沿"成员→就读大学→所在地"的语义关系,从一个对象走到另一个对象
q = """
PREFIX ex: <http://example.org/music/>
SELECT ?member ?continent WHERE {
?member ex:memberOf ?band ;
ex:educatedAt ?college .
?college ex:locatedIn ?continent .
}"""
for row in g.query(q):
print("成员", row.member.split("/")[-1], "就读的大学位于", row.continent.split("/")[-1])运行结果:
成员 member 就读的大学位于 Europe注意查询时我们并不关心网页地址,而是直接沿着对象之间明确的语义关系导航到答案 —— 这正是 “数据的链接” 相对 “文档的链接” 最本质的差别。
3. 知识图谱的诞生与两个标志性产品
3.1 概念演化时间线
“知识图谱” 并不是凭空出现的,它是知识表示、万维网与人工智能多条脉络汇合的结果:
| 年代 | 里程碑 | 要点 |
|---|---|---|
| 1960 | 语义网络 Semantic Networks | 一种图 / 网络型知识表示方法,最早用于自然语言理解,刻画词与概念之间的依赖关系 |
| 1980s | 本体论 Ontology | 哲学中的 “本体” 概念被引入人工智能,用于刻画领域内公认的概念与知识 |
| 1989 | 知识表示与知识库 KR/KB | 人工智能研究者陆续提出大量知识表示方法,如框架系统、产生式规则、描述逻辑等 |
| 1989 | 万维网 Web | Tim Berners-Lee 提出以链接为中心的 Linked Information System |
| 1998 | 语义网 Semantic Web | 目标是从 “超文本链接” 走向 “语义链接”(2001 年《科学美国人》同名文章影响深远) |
| 2006 | 链接数据 Linked Data | 强调语义网的本质是建立开放数据之间的链接,由此形成 LOD 开放数据云 |
| 2012 | 知识图谱 Knowledge Graph | 谷歌发布基于知识图谱的搜索产品,应用进入井喷期 |
在这个过程中,构建知识库的思路也从早期自顶向下(top-down)的人工定义,转向自底向上(bottom-up)—— 借助社交网络兴起后的众包力量与海量开放数据汇聚而成。为支撑这种“数据之网”,业界也提前铺好了配套设施:2011 年 Google、Microsoft、Yahoo! 与 Yandex 共同发起了 Schema.org 公共词汇表,让网站能在网页中嵌入机器可读的语义数据;2013 年谷歌又推出 Hummingbird(蜂鸟) 排序算法,把语义理解进一步融入检索。
3.2 谷歌知识图谱:Things not strings
2012 年,谷歌正式提出 Knowledge Graph 并用于语义搜索,口号是 “Things not strings”:搜索框里输入的不再被当作一个待匹配的字符串,而是努力识别它对应现实世界中的哪个对象(实体)。于是搜索一部电影,会直接返回它的评分、上映时间、时长、配音演员、相关电影等结构化摘要(structured summary),而不只是包含关键词的网页片段(snippet)。
这种模式带来两个变化:一是导航的目标从 “网页” 变成了 “对象”;二是对象与对象之间的关系是明确的 —— 例如从一家公司出发,可以清晰地导航到它的 CEO、母公司、创立地点和产品,而不是在一堆超链接里人工猜测。
3.3 Facebook 兴趣图谱:连接人、事、物
Facebook 构建的是兴趣图谱(Interest Graph),其内部的图搜索项目代号为 Unicorn。它同样把人、事、物连成图,并能区分不同的语义关系:“喜欢(like)” 某所学校和 “访问过(visit)” 某所学校是两条不同的边,因此返回的对象也不同。借助图谱,系统可以回答 “喜欢某所学校、爱好骑行、且在某地工作的人” 这类多条件复杂查询;还能做指代消解—— 把 “我的家乡(my hometown)” 自动替换为当前登录用户家乡的实体,再与 “兴趣是骑行” 组合成一个逻辑与(AND)查询。
4. 知识图谱能做什么:搜索、问答、决策与常识推理
4.1 辅助搜索:从网页搜索到语义搜索
当 Web 从 “文档之网” 变为 “数据之网”,搜索自然从网页搜索升级为语义搜索。支撑这种搜索的知识库可以通过多种途径构建:人工众包产出高质量知识、把关系数据库做格式转换(D2R)、从文本或 HTML/XML 中做三元组抽取、对多源异构知识库做实体融合(实体链接 / 对齐)、对不全的知识库做链接预测与推理补全,以及用 KG Embedding(知识图谱嵌入) 把实体和关系映射到向量空间做语义计算。Freebase、Wikidata 等开放知识库,与 Schema.org 这样的公共词汇规范,正是这一切的地基。
4.2 辅助问答:给万物挂上背景知识库
问答被视为搜索的下一代交互形态:输入是一句自然语言,期望输出不再是 “包含答案的文档”,而是直接、精确的答案。随着机器人与物联网(IoT)普及,智能厨房、智能驾驶、智能家居都需要在背后挂一个 “背景知识库”。典型系统背后都站着知识图谱:IBM Watson 依赖 DBpedia、YAGO 等知识库(课件明确 YAGO 是 Watson 后端知识库之一);亚马逊 Echo 的 Alexa 依赖其收购的英国公司 True Knowledge(Evi);苹果 Siri 依赖 DBpedia 与 Wolfram Alpha;此外还有百度度秘、三星收购的 Viv、微软 Cortana 等。
4.3 辅助决策:把粗糙数据变成机器可理解的数据
决策场景需要把文本预先抽取语义、为多媒体定义更规范的元数据、把传感器的流式数据在时间窗口内聚合成可计算的数值,再经知识图谱推理,得到 “更机器可理解(more machine-understandable)” 的结论。两个典型代表:
Palantir:服务政府与国家安全领域,核心是提出 动态本体(dynamic ontology) 建模方式,并结合语义搜索与可视化分析。
Kensho:面向金融领域,构建金融知识图谱,对事件及其依赖链、事件到结果的因果关联做精细建模,用微小的事件信号辅助预测行情变化。
4.4 辅助 AI:补上常识推理这块短板
人工智能最难的问题之一是常识推理(common sense reasoning)。自然语言理解学者 Terry Winograd 指出,人理解一句话时会调动全部知识,而不仅是语法。Winograd Schema Challenge 用一组需要常识才能消解指代的题目来测试机器,例如:
“奖杯装不进棕色手提箱,因为它太大(太小)。什么太大(太小)?”(答案在 trophy 与 suitcase 之间随形容词翻转)
“市议员拒绝给示威者许可,因为他们恐惧(支持)暴力。谁恐惧(支持)暴力?”(答案在 councilors 与 demonstrators 之间随动词翻转)
在这类题上,纯 NLP 方法正确率约 50%,加入知识库(NLP+KB)可超过 60%,而人类的及格线约为 90%。这说明知识图谱能显著改善常识理解,但距离人类水平仍有很大空间。
5. 知识图谱的本质:一个交叉系统,做 “有学识的 AI”
5.1 五个视角看知识图谱
知识图谱不是单一技术,不同学科看到的侧面不同:
Web 视角:像建立文本之间的超链接一样,建立数据之间的语义链接,并支持语义搜索。
NLP 视角:怎样从非结构化文本中抽取语义与结构化数据。
KR(知识表示)视角:怎样用计算机符号来表示和处理知识(既含离散符号表示,也含连续向量表示)。
AI 视角:怎样利用知识库来辅助机器理解人的语言。
DB(数据库)视角:怎样用图的方式来存储知识(图数据库)。
因此,做好知识图谱需要兼容并蓄,综合运用 KR、NLP、Web、机器学习(ML)与数据库(DB)等多方面的方法与技术。这也决定了本课程会循序渐进,沿着 “表示与建模 → 抽取 → 存储 → 融合 → 推理 → 搜索与问答” 的全生命周期展开,并穿插小实践把各环节串起来。
5.2 聪明的 AI 与有学识的 AI
可以把人工智能粗略分成两类能力:
| 聪明的 AI(以深度学习为代表) | 有学识的 AI(以知识图谱为代表) | |
|---|---|---|
| 擅长 | 感知、识别、判断、学习 | 思考、语言理解、逻辑推理 |
| 基础 | 大数据 + 强算力 | 知识与数据中沉淀的规律、规则 |
| 特点 | 图像 / 语音 / 视频感知能力强 | 可基于小数据做推理、结果可解释 |
人的大脑正是依赖所学知识进行思考、逻辑推理和语言理解。知识图谱与深度学习并非替代关系,而是相辅相成:既有 “深度学习用于知识图谱(deep learning for KG)” 的抽取、补全方法,也有 “知识图谱用于深度学习(KG for DL)” 的增强。例如在推荐场景中,当数据稀疏、类别不平衡或缺乏解释时,知识图谱可以提供可解释的依据(justification)、做数据补全扩展、提供上下文以消解歧义。这些都会在后续章节逐步展开。
📝 动手练一练
概念辨析:请判断下面两条分别属于 “Web of Documents” 还是 “Web of Data”,并再各举一个生活中的例子。
① 两篇新闻网页之间通过
<a>超链接互相跳转;② 在知识图谱中用 “《流浪地球》— 导演→郭帆” 这样的三元组描述关系。👉 点击查看参考答案
参考答案:① 属于 Web of Documents(文档的链接),链接的是网页、服务于人阅读,例如维基百科词条里的相关词条超链接。② 属于 Web of Data / Things(数据的链接),链接的是实体且边带有明确语义、可供机器计算,例如电商知识图谱里 “商品 — 属于类目→手机数码”。
动手构造:用
rdflib描述 “《知识图谱》课程的标题是‘知识图谱’、授课语言是中文” 这两条事实,并用 SPARQL 把该课程的全部属性查出来。👉 点击查看参考答案
参考答案:
from rdflib import Graph, Namespace, Literal EX = Namespace("http://example.org/course/") g = Graph() g.bind("ex", EX) g.add((EX.KG, EX.title, Literal("知识图谱"))) g.add((EX.KG, EX.language, Literal("中文"))) q = """ PREFIX ex: <http://example.org/course/> SELECT ?p ?o WHERE { ex:KG ?p ?o }""" for r in g.query(q): print(r.p.split("/")[-1], "=", r.o)预期输出两行:
title = 知识图谱、language = 中文。
本章小结
本节沿着历史与概念两条线索,建立了知识图谱的全局认知:
思想起源:Bush 的 MEMEX(1945)强调记忆的关联性,Tim Berners-Lee 以超链接为中心构造了万维网(1989)。
范式转变:语义网推动 Web 从 “链接文档” 走向 “链接数据 / 事物”,数据被建模为 “实体为节点、语义关系为边” 的有向标记图,最小单元是三元组。
正式诞生:2012 年谷歌提出知识图谱(Things not strings),谷歌实体图与 Facebook 兴趣图谱把搜索升级为对象导航。
核心用途:辅助搜索、辅助问答、辅助决策,并为机器补上常识推理(Winograd Schema 上 NLP+KB 明显优于纯 NLP)。
本质定位:知识图谱是 KR/NLP/Web/AI/DB 的交叉系统,与深度学习互补,共同构建 “聪明且有学识的 AI”。
📋 行动清单
用自己的话复述 “Web of Documents → Web of Data” 的区别,并能各举一例。
在本地用
uv run --with rdflib python跑通本节两段代码,亲手建一张属于自己的三元组小图。记住 1960→2012 的概念演化时间线,带着 “五个视角” 进入下一节对典型知识库项目的学习。
—— 小象教研组
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加顾问免费领取;想学什么,直接告诉顾问
微信扫码添加顾问