📑 查看全课大纲(第 1 / 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万维网 WebTim 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)、做数据补全扩展、提供上下文以消解歧义。这些都会在后续章节逐步展开。


📝 动手练一练

  1. 概念辨析:请判断下面两条分别属于 “Web of Documents” 还是 “Web of Data”,并再各举一个生活中的例子。

    ① 两篇新闻网页之间通过 <a> 超链接互相跳转;② 在知识图谱中用 “《流浪地球》— 导演→郭帆” 这样的三元组描述关系。

    👉 点击查看参考答案

    参考答案:① 属于 Web of Documents(文档的链接),链接的是网页、服务于人阅读,例如维基百科词条里的相关词条超链接。② 属于 Web of Data / Things(数据的链接),链接的是实体且边带有明确语义、可供机器计算,例如电商知识图谱里 “商品 — 属于类目→手机数码”。

  2. 动手构造:用 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 的概念演化时间线,带着 “五个视角” 进入下一节对典型知识库项目的学习。

—— 小象教研组

配套学习资源与课件
  • 第1章课件:知识图谱概览
    下载
  • 知识图谱课程思维导图(KG_Centralized.xmind 全课程结构图)
    下载
🎁 免费学习资源

领取《小象 11GB VIP 课件资料包与大厂真题手册》

包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。

  • 完整 Python / 数据分析 Jupyter 实战源码
  • 大厂真实业务数据集与练习题
  • 微信扫码添加顾问免费领取;想学什么,直接告诉顾问
微信二维码:扫码添加课程顾问微信扫码添加顾问