目前,知识图谱在学术界和工业界都引起了重视。本人目前也开始负责知识图谱项目,因此从本文开始对知识图谱进行系统性的介绍。首先从综述入手可以使我们对知识图谱有一个整体的概念,然后对其中的每个细节进行深入介绍。本文来自论文《Knowledge Graphs》,是一篇长达 132 页(558篇引用)的综述,可谓干货满满,所以以这篇综述作为切入点。因为内容过长,所以我们将论文的每一章作为一篇博文,一共大概会有十几篇博文。
1. 简介
尽管“知识图谱”首次出现在文献中是在1972年,但是现代意义上的知识图谱起源于2012年谷歌发布的“谷歌知识图谱”(Google Knowledge Graph),随后更进一步的知识图谱项目如雨后春笋般涌现出来。随着知识图谱在工业界的兴起,学术界也开始重视:越来越多的关于知识图谱的文献和书籍开始出现。
知识图谱的核心就是用图(graph)来表示数据,通常还会用一些明确表示知识的方法加以增强。使用基于图的知识表示方法相比于其他方法有很大的优势,比如关系型数据库或者非关系型数据库:
- 图可以为各领域提供简洁直观的抽象化概念,其中图的节点用实体表示,边则表示实体与实体之间的内在关系。
- 图允许维护人员推迟定义schema,允许数据以更灵活的方式发展,特别是在捕获不完整知识方面。(开放世界假设)
- 特定的图查询语言不仅支持鸟准的关系操作符(join,union,projection 等),还有导航操作符,通过递归查找任意路径长度的实体。
- 标准的知识表示形式,比如本体和规则,还可以用来进行知识的定义和语义推理。
- 大规模的图分析框架帮助我们进行各种图计算以获得各领域的新的见解。
- 各种知识表示技术的发展支持将机器学习技术直接应用于图数据上。
总之,知识图谱打开了一扇从不同数据源集成和抽取知识的大门。但是到目前为止,还没有一个统一的方法来描述知识图谱如何被使用,用到了什么技术,以及它们与现有的数据管理之间有什么联系。本文的目的就是全面介绍知识图谱:
- 数据模型基础以及如何对数据进行检索;
- 讨论知识表示方法(schema,identity 和 context) ;
- 讨论归纳和演绎的方法,使得知识更加明确;
- 介绍不同的用于创建和增强图结构数据的技术;
- 介绍知识图谱的质量评估以及如何进行改进;
- 讨论知识图谱发布的标准以及最佳实践;
- 提供一些已有的知识图谱项目的梗概。
1.1 知识图谱
知识图谱的定义目前仍然存在争议,现有的定义从具体的技术性定义到更具包容性的一般性定义。本文采用如下定义:
a knowledge graph as a graph of data intended to accumulate and convey knowledge of the real world, whose nodes represent entities of interest and whose edges represent relations between these entities.
知识图谱是一个数据图旨在积累和表达真实世界的知识,其中图的节点表示实体,边表示实体之间的关系。
知识指的是已知的东西,它可以是从外部源积累的或者抽取出来的,也可以是知识图谱本身提取出来的。知识可以由简单的陈述(simple statements)表示,比如“圣地亚哥是智利的首都”,也可以是量化描述(quantified statements),比如“所有的首都都是城市”。简单描述可以由知识图谱中的边来表示,但是要想实现量化描述就需要借助更加复杂的方法来表示知识,比如本体(ontology)或者规则(rules)。演绎方法可以用来推演更深层次的知识,比如“圣地亚哥是一个城市”。归纳方法可以用来积累和抽取知识。
归纳 其实就是知识图谱的构建;
演绎 其实就是知识图谱的推理。
知识图谱的数据来源通常是不同的,这就造成数据源的结构和粒度的不同。为了解决这些差异,知识模式(schema),知识一致性(identity)和上下文(context)的表示就至关重要。知识模式指的是知识图谱的高级结构,知识一致性指的是同一个知识的不同描述,上下文指的是在某一单元内知识的正确性。如上文所说,知识图谱的构建与优化需要:extraction,enrichment,quality assessment,refinement。
1.2 实践
知识图谱是作为一个组织或领域中不断发展的知识共享基础,我们将知识图谱分成两类:开放知识图谱( open knowledge graphs)和企业知识图谱(enterprise knowledge graphs)。开放知识图谱是发布在网络上,可供公开获取的知识图谱,企业知识图谱指的是面向企业用户的商业化知识图谱。
开放知识图谱
DBpedia, Freebase, Wikidata, YAGO 等。
企业知识图谱
Bing, Google, Airbnb, Amazon, eBay, Uber, Facebook, LinkedIn, Accenture, Banca d’Italia, Bloomberg , Capital One, Wells Fargo 等。
企业知识图谱通常用于搜索,推荐,个人助理,广告,商业分析,风险评估,自动化等方面。
1.3 运行实例
为了更清晰的对知识图谱进行介绍,本文采用一个智利旅游相关的知识图谱作为实例进行讲解。这个知识图谱包括旅游景点,文化事件,服务以及商业介绍等内容,应用场景包括:
- 创建一个门户网站,允许用户搜索景点、即将到来的活动、以及相关服务等(多语言);
- 深入了解关于季节、国籍等旅游人口统计数据;
- 分析游客对各种景点和活动的情感,包括正面的评价、对活动和服务的投诉总结、犯罪报告等;
- 了解旅游轨迹:游客参观的景点、活动等的顺序;
- 航班/巴士信息,以建议新的游览路线;
- 提供个性化的旅游地推荐等等。