知识图谱介绍

知识图谱介绍

1. 知识图谱的定义及相关概念

知识图谱的本质是一个语义网络,它旨在描述客观世界的概念、实体事件及其之间的关系,并且对它们进行语义建模;知识图谱是一种基于图的数据结构,由节点和边构成,每个节点表示一个“实体”,每条边为实体之间的“关系”。

知识图谱介绍_第1张图片
图1. 知识图谱构成

如图1所示,在知识图谱中,各个节点(现实世界中的事件、数据、信息)不再是孤立的,它们是通过特定的关系(边)链接在一起,从而形成结构化的知识表示,这种图数据结构很容易被人们理解接受,并且也很容易被计算机识别和处理

知识图谱的核心其实就是三元组,三元组是由实体(Entity)、属性(Attribute)和关系(Relation)组成的,形式为<实体,关系,实体><实体,属性,属性值>;而这样的三元组正好可以构建成图数据格式,如上图所示的示意图可以拆分成三元组的形式如下:

<丽江,属于,云南>
<大理,属于,云南>
<洱海,属于,大理>
<小秦,住在,丽江>
<小明,住在,大理>
<小明,朋友,小秦>

在上述三元组中我们只看到了<实体,关系,实体>类型的三元组,其实在上文中的知识问答搜索例子中我们已经见识过<实体,属性,属性值>类型的三元组了,比如<姚沁蕾,国籍,美国>,其中姚沁蕾表示一个实体“人”,“国籍”就是实体“人”的一个属性,而“美国”正是该属性的“属性值”。

基于已有三元组可以推导出新的关系三元组,这对构建知识图谱非常重要,同时这也是知识图谱具有推理能力的基础。比如由两个三元组<翅膀 part-of 鸟>,<麻雀 kind-of 鸟>,可以推导出<翅膀 part-of 麻雀>这样一个事实。

2. 开放领域知识图谱和垂直领域知识图谱

  • 开放领域(通用)知识图谱面向通用领域,面向的用户是全部的互联网用户,实际上是谷歌或者百度这样的搜索公司在构建,它的构建是以常识性的知识为主,包括结构化的百科知识,它更强调知识的广度,而对深度不做更多要求。
  • 垂直领域(行业)知识图谱的定位是面向特定的领域或者行业,比如医疗知识图谱、工业知识图谱等,他的数据来源是特定的行业语料,它强调知识的深度,而不是广度。

通用知识图谱和行业知识图谱之间并不是相互独立的,他们是具有互补的关系,一方面前者会吸纳后者的知识来扩充它的知识面,增加知识广度;另一方面,构建行业知识图谱也可以从通用知识图谱里吸纳一些常识性的知识作为补充,以形成更完整的行业知识图谱。

3. 构建知识图谱的流程

构建知识图谱的一般流程和所需知识栈,如下图(均来自网络)所示:

知识图谱介绍_第2张图片 知识图谱介绍_第3张图片

构建一个完整的知识图谱一般会经历如下步骤:

  • 收集数据,确认拥有什么可使用的数据,去收集,然后对数据做最基本的处理
  • 知识定义,结合所拥有的数据以及知识图谱的用途,定义知识模式,定义实体类型和实体之间的关系
  • 获取知识,前面收集的数据仅仅是一些零散的信息,距离它们成为能用的知识还很远,因此需要使用命名实体识别、关系抽取、属性抽取等技术去获取知识
  • 知识融合,由于知识的来源可能多种多样,当获取了知识之后,我们有必要将知识做融合,比如我们获取了有关“成龙”、“Jack Chen” 等相关知识,众所周知 Jack Chen 就是成龙,成龙就是 Jack Chen,那么有必要将这两者进行实体对齐等操作
  • 知识存储,当有了知识后,我们需要将其存储,存储的目的是方便对知识的查询和推理应用,目前流行的是使用图数据库,比如 neo4j,来存储,当然你也可以不使用图数据库
  • 知识赋能应用,有了知识图谱,那么就可以利用其去支持一些应用了

4. 参考

大话知识图谱–知识图谱的定义和应用场景

你可能感兴趣的:(知识图谱,人工智能,机器学习,知识图谱)