📑 查看全课大纲(第 2 / 26 节)

典型知识库项目简介

约 21 分钟

📺 正在播放小象官方高清录播(支持倍速与清晰度调节)

小象实战讲义 · 知识图谱

在理解了知识图谱的基本概念和愿景之后,我们需要了解其现实基础——那些已经构建并开放使用的知识库项目。本节将系统梳理从常识库、词典库到大规模百科知识库等一系列经典项目,帮助你建立对知识图谱生态的全局认知,为后续的技术学习提供具体的参照物。

💡 核心导读

  • 知识库的多样性:了解从形式化常识库(Cyc)、语言学词典库(WordNet)到大规模链接数据(DBpedia, Wikidata)等不同类型的知识库。
  • 构建方式的演进:学习从专家手工构建、社区众包到机器自动抽取(NELL)等不同知识库的构建范式。
  • 核心项目剖析:掌握Cyc、WordNet、ConceptNet、Freebase、DBpedia、YAGO、BabelNet、NELL、微软Concept Graph等项目的核心特点、数据规模与应用场景。
  • 中文知识图谱生态:认识以Zhishi.me和cnSchema为代表的中文知识图谱资源与标准。

知识库项目全景概览

知识图谱并非凭空出现,它建立在众多先驱知识库项目的基础之上。这些项目在目标、规模、构建方式和应用领域上各有侧重,共同构成了一个丰富的知识生态。

根据其侧重点,我们可以将开源知识库大致分为以下几类:

  • 侧重模式(Schema):如 Schema.org,主要定义类和属性的词汇表,用于网页标记。
  • 侧重语言学:如 WordNet,专注于词汇的语义关系(如同义、上下位)。
  • 侧重概念层面:如 ConceptNet,描述概念之间的常识关系。
  • 常识知识库:如 CycWebChild,旨在编码人类共通的常识。
  • 领域知识库:聚焦特定垂直行业,例如生命科学领域的 Linked Life Data、医药研发领域的 Open PHACTS(本章典型案例还会展开)。
  • 百科知识库:如 DBpediaYAGOFreebaseWikidata,从维基百科等百科站点抽取结构化知识。
  • 自动抽取知识库:如 NELL,通过机器学习方法从互联网文本中持续学习知识。

接下来,我们将深入介绍其中几个具有里程碑意义的项目。

经典知识库项目详解

Cyc:形式化常识知识库

Cyc 项目始于1984年,由 Douglas Lenat 创建,其最初目标是构建人类最大的常识知识库。所谓“常识”,即那些对人类而言习以为常、无需明言的知识,例如“鱼会游”、“鸟会飞”、“每棵树都是植物”、“植物最终会死亡”等。

Cyc 知识库的核心由两部分构成:

  1. 术语(Terms):包含概念、关系和实体的定义。
  2. 断言(Assertions):用于建立术语之间的关系,既包括事实性描述(Fact),也包含规则(Rule)。

Cyc的主要特点

  • 形式化表示:采用形式化的知识表示方法(如谓词逻辑)来刻画知识,这使得它可以支持复杂的逻辑推理。
  • 规模庞大:最新的Cyc知识库包含约50万条术语和700万条断言。
  • 开放版本:提供两个版本:面向高校和科研机构的完整版(需符合研究许可协议)以及一个规模较小的开源版本 OpenCyc

Cyc 的形式化优势也带来了挑战:过于严格的表示方式限制了知识库的扩展性和应用的灵活性。其官网为 http://www.cyc.com/

WordNet:英语词典知识库

WordNet 是最著名的词典知识库,由普林斯顿大学认知科学实验室于1985年开始开发。它的核心目标是解决词义消歧问题。

核心机制

  • 同义词集(Synset):WordNet 将表达相同概念的词分组,形成“同义词集”。每个同义词集有一个唯一的ID,代表一个无歧义的词义。
  • 语义关系:定义了丰富的词汇间语义关系。
    • 名词:上下位关系(如:“猫科动物”是“猫”的上位词)。
    • 动词:蕴含关系(如:“打鼾”蕴含着“睡眠”)。
    • 此外还包括反义、近义等关系。

例如,对于 “bank” 一词,WordNet 会为它区分 “河岸” 与 “银行” 等不同词义,正是借助这种同义词集划分来支持词义消歧(注意 WordNet 是词典知识库,只收录普通词汇的词义,不收录“苹果公司”这类机构专名)。

数据规模:WordNet 3.0 包含超过15万个词和20万个语义关系。它提供了丰富的API,官网为 http://wordnet.princeton.edu/

ConceptNet:非形式化常识知识库

ConceptNet 是另一个著名的常识知识库,源于MIT媒体实验室的Open Mind Common Sense (OMCS)项目,由AI先驱 Marvin Minsky 于1999年建议创立。

构建方式:主要依靠互联网众包、专家创建和游戏三种方式。新版本也导入了大量开放结构化数据,如DBpedia、Wiktionary和WordNet。

核心特点

  • 知识表示:以三元组形式组织知识,例如 (猫, IsA, 动物)
  • 非形式化:与Cyc不同,ConceptNet采用更接近自然语言的、非形式化的描述,使其与自然语言的沟通更顺畅。
  • 侧重词关系:更侧重于词与词之间的关系,与WordNet类似,但包含的关系类型更丰富,且刻画的是常识知识。
  • 多语言支持:完全免费开放,并支持多种语言。

数据规模:ConceptNet 5 包含约2800万条关系描述。官网为 http://www.conceptnet.io/

Freebase 与 Wikidata:社区众包知识库

Freebase 由MetaWeb公司开发,是一个基于社区贡献的开放知识库。其特点是:

  • 三元组表示:知识以 (主体, 谓词, 客体) 的三元组形式存储,例如 (MetaWeb, 开发了, Freebase)
  • 开放许可:采用CC-BY(知识共享署名)协议,允许商业化使用。
  • 商业模式:通过开源免费吸引用户贡献数据,通过增值应用和技术服务收费。

2010年,谷歌收购了MetaWeb。后来,谷歌逐渐降低了Freebase的活跃度,并于2016年将其关闭,数据导向了 Wikidata

Wikidata 是维基媒体基金会旗下的项目,目标是构建全世界最大的免费知识库。

  • 许可协议:采用CC0(公共领域贡献)协议,完全自由。
  • 构建方式:依赖一个相对小众、专业、严格的众包社区进行维护。
  • 资金支持:得到了谷歌、摩尔基金会和Allen AI Institute的资金支持,并导入了Freebase的数据。

Wikidata 仍然面临知识缺失严重的问题,但其开放的社区模式和自由的许可协议使其成为当前最重要的开放知识库之一。官网为 http://www.wikidata.org/

DBpedia:维基百科的结构化提取

DBpedia 是语义网早期的标志性项目,其名称意为“数据库版本的维基百科”。它从维基百科的信息框(infobox)、分类、摘要等半结构化内容中抽取知识,并将其转化为链接数据。

核心特点

  • 严格的本体:定义了一个较为严格的本体(DBpedia Ontology),包含人、地点、音乐、电影、组织机构、物种、疾病等类别的定义。
  • 广泛链接:与Freebase、OpenCyc、Bio2RDF等多个数据集建立了数据链接,是关联开放数据云(LOD Cloud)的核心枢纽。
  • 数据规模:采用RDF数据模型,共包含约30亿个RDF三元组。

DBpedia 为研究者提供了一个高质量、大规模、多领域的通用知识库。官网为 http://dbpedia.org

YAGO:集成时空维度的知识库

YAGO 由德国马普研究所研制,是一个高质量的链接数据库。

核心集成:主要集成了 WikipediaWordNetGeoNames 三个数据源。

  • 概念融合:将WordNet中定义良好的词汇语义(特别是名词的上下位关系)与维基百科的分类体系融合,形成了一个比DBpedia本体更丰富、更严格的概念层次体系。
  • 时空知识:YAGO的一个重要特色是增加了时间空间维度的属性描述。例如,它可以表示“奥巴马在2009年至2017年间担任美国总统”、“某个事件发生在某个地理位置”。

数据规模:YAGO包含约1.2亿条三元组,是IBM Watson问答系统的后端知识库之一。其版本持续演进:从早期 YAGO,到强化时间与空间维度的 YAGO2,再到支持多语言的 YAGO3。官网为 http://yago-knowledge.org

BabelNet:多语言词典知识库

BabelNet 的目标是解决WordNet在非英语语种中数据缺乏的问题。

构建方法:它将WordNet与维基百科集成。

  1. 建立WordNet词条与维基百科页面的映射。
  2. 利用维基百科中已有的多语言链接。
  3. 辅以机器翻译技术,为WordNet增加多种语言的词汇和释义。

核心特点

  • 多语言:BabelNet 3.7 包含了271种语言
  • 丰富关系:包含1400万同义词组、36.4万条词语关系,并从维基百科抽取了3.8亿条链接关系,辅以上下位、近义、反义等多种语义关系。
  • 大规模:总计超过19亿RDF三元组。

BabelNet 集成了WordNet的语义关系优势和维基百科的多语言优势,是目前最大规模的多语言词典知识库。官网为 http://babelnet.org/

NELL:永不停止的语言学习者

NELL(Never-Ending Language Learner)由卡内基梅隆大学开发,其理念是让机器通过自学习的方式,持续不断地从互联网中抽取知识。

工作原理(Bootstrap方法)

  1. 初始种子:给定一个初始的本体(少量类和关系的定义)和少量样本数据。
  2. 模式学习:系统从种子数据中学习识别文本模式(Patterns)。
  3. 知识抽取:用学到的模式从网页中抽取新的三元组知识(如 (姚明, IsA, 篮球运动员))。
  4. 置信度评估:对抽取的知识进行置信度打分,保留高置信度的结果。
  5. 迭代增强:将高置信度的新知识加入训练集,学习新的模式,不断循环。

NELL 已经抽取了超过400万条高置信度的三元组知识。这种方法代表了知识获取从人工到自动化的一个重要方向。官网为 http://rtw.ml.cmu.edu/rtw/

微软 Concept Graph:概念化知识图谱

微软Concept Graph 是一个以 概念层次体系(IsA关系) 为中心的知识图谱。

核心功能:概念化(Conceptualization) 给定一个实体(如“Microsoft”),Concept Graph 返回一组与该实体有IsA关系的概念,例如:“Company”、“Software Company”、“Largest OS Vendor”。这个过程称为“概念化”。

应用场景

  • 短文本理解:帮助理解短文本中词汇的潜在概念。
  • 语义消歧:例如,对于句子“The engineer is eating the apple”,Concept Graph 可以帮助判断“apple”在此语境下更可能指向“水果”概念还是“公司”概念。

构建方式:主要通过从互联网和搜索引擎日志中挖掘查询点击模式来构建。第一个版本包含超过540万概念,1255万实体和8760万关系。可通过 http://concept.research.microsoft.com 访问相关研究。

中文知识图谱资源

中文知识图谱生态也在快速发展。一个重要的入口是 OpenKG (http://openkg.cn),它汇集了众多中文知识图谱资源、工具和应用。

其中,Zhishi.me 是一个典型的中文百科知识图谱项目。

构建初衷与挑战

  • 数据源:整合中文维基百科、百度百科和互动百科,以构建一个类似于DBpedia的中文百科知识库。
  • 挑战:与维基百科统一的infobox模板不同,百度百科和互动百科的页面结构复杂且不统一(如宽表、不规则HTML),知识抽取的难度更大。

Zhishi.me 抽取的内容

  • 标签(Label):实体的名称。
  • 摘要(Abstract):实体的描述。
  • 信息框(Infobox):结构化的属性-值对。
  • 主题类别(Subjects):经过融合和推理得到的实体类型(IsA关系),而非简单的浏览分类。
  • 图片、内链、外链等

通过知识融合技术,Zhishi.me 将来自不同百科的同一实体(如“北京”)的信息进行对齐和合并,形成一个更全面、更规范的知识描述。官网为 http://zhishi.me

另一个重要项目是 cnSchema (http://cnschema.org),它是一个基于社区维护的开放中文知识图谱Schema标准。cnSchema 复用、连接并扩展了Schema.org、Wikidata等已有标准,结合中文特点,为中文领域的知识图谱、聊天机器人、搜索引擎优化等提供了通用的数据描述词汇和接口定义标准。

📝 动手练一练

  1. 概念辨析:Cyc 和 ConceptNet 都是常识知识库,它们最核心的区别是什么?这种区别导致了它们在哪些方面(如构建、应用)有所不同?
👉 点击查看参考答案

核心区别知识表示的形式化程度

  • Cyc:采用形式化的谓词逻辑等表示方法。优势是支持复杂的逻辑推理,劣势是知识构建门槛高、扩展性差、不够灵活。
  • ConceptNet:采用非形式化、更接近自然语言的描述。优势是易于通过众包扩展、更贴近自然语言处理应用,劣势是推理能力较弱。

导致的不同

  • 构建方式:Cyc 早期主要依赖专家手工编码;ConceptNet 主要依赖互联网众包。
  • 应用场景:Cyc 更适合需要严格逻辑推理的领域;ConceptNet 更适合作为自然语言理解任务的背景知识库。
  1. 知识表示实践:请用 Turtle 格式(一种RDF序列化格式)的三元组,分别表示以下两条从视频中提取的知识: a) MetaWeb 公司开发了 Freebase。 b) 浙江大学(Zhejiang University)的缩写是 ZJU。

提示:你可以使用 ex: 作为示例命名空间,例如 <http://example.org/entity/MetaWeb> 可以简写为 ex:MetaWeb。关系可以使用 ex:developedex:abbreviation

👉 点击查看参考答案
@prefix ex: <http://example.org/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

ex:MetaWeb ex:developed ex:Freebase .
ex:ZhejiangUniversity rdfs:label "浙江大学" ;
                      ex:abbreviation "ZJU" .

说明:

  • 第一行定义命名空间前缀。
  • 第二行是一个简单的三元组语句。
  • 第三、四行使用了Turtle的简写方式,用分号表示同一个主体(ex:ZhejiangUniversity)有多个谓词-客体对。
  • 我们使用了RDFS的 rdfs:label 属性来表示实体的标签(名称)。

本章小结

本节我们系统回顾了知识图谱发展历程中一系列里程碑式的知识库项目。从追求形式化推理的Cyc,到解决语言问题的WordNet和BabelNet,从众包典范Freebase和Wikidata,到自动抽取的NELL,再到集成多源、富含时空信息的YAGO和DBpedia,每个项目都代表了知识工程在不同方向上的探索。最后,我们关注了中文知识图谱生态的代表Zhishi.me和cnSchema。理解这些项目的目标、方法和特点,是构建和运用知识图谱的重要基础。

📋 行动清单

学完本节,你可以立即:

  • 访问 OpenKG 网站,浏览其中收录的中文知识图谱数据集和工具。
  • 尝试在 Wikidata 上搜索一个你熟悉的人物或概念(如“Albert Einstein”),观察其结构化的属性、关系和外部链接。
  • 思考一个你感兴趣的垂直领域(如电影、音乐、体育),如果为其构建知识图谱,可以借鉴本节中哪个或哪些项目的思路?

—— 小象教研组

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

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

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

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