知识图谱概览

第一部分 世界是由粒子组成的

知识图谱的基本粒子

1.什么是知识图谱

简单的理解就是描述知识,标识知识

2.知识图谱包括的内容

知识表示、知识抽取、知识存储、知识融合、知识推理、知识众包、语义搜索、知识问答等内容

3.知识图谱的构成

知识图谱由一条一条知识组成
每条知识标识为一个SPO三元组(Subject-Predicate-Object)
Subject : 主语
Predicate: 谓词
Object :宾语
举个例子:猫是动物
猫:主语
是:谓词 用来描述或判定客体性质、特征或者客体之间关系的词项
动物:宾语

4.怎么描述一个三元组——即怎么描述一条知识

RDF(Resource Description Framework),资源描述框架,是W3C制定的,用于描述实体/资源的标准数据模型
RDF图中一共有三种类型,International Resource Identifiers(IRIs),blank nodes 和 literals

  • Subject可以是IRI或blank node。
  • Predicate是IRI。
  • Object三种类型都可以。

IRI:我们可以看做是URI或者URL的泛化和推广,它在整个网络或者图中唯一定义了一个实体/资源,和我们的身份证号类似。

blank node:有争议的存在,先不做介绍

literal:是字面量,我们可以把它看做是带有数据类型的纯文本,假如上面提到猫的名字叫小花,那么小花可以表示为"xiaohua"^^xsd:string

描述一下猫的名字是小花这个三元组


猫的名字是小花
  • 猫是一个唯一标识实体很容易理解
  • kg:name是RDF中定义的一些perfix文件中的一个
    定义格式如下:
@perfix kg:<www.kg.com/ontology/>

kg:name相当于www.kg.com/ontology/name

  • 小花是一个字面量

这样经过RDF的规则统一,梳理一下,就将一个句子(一条知识)做了充分的定义和表示

第二部分 粒子该怎么组合

语义网络、知识图谱

第一部分介绍的只是某一条知识,太简单了,也达不到我们的要求,将一条一条的知识组合在一起,会组成一个庞大的网络,才会有意义。可以理解为,第一部分介绍的东西是造句,接下来要将句子组合在一起,做作文

1.语义网络 Semantic Network

语义网络是一种知识的表达形式,用一幅图表示一下
语义网络

这样的一个语义网络可以表示一些知识,但是优点和缺点都很明显

优点

  • 1.容易理解
  • 2.知识容易聚类

缺点

  • 1.节点和边的值没有标准,完全是由用户自己定义。
  • 2.多源数据融合比较困难,因为没有标准。
  • 3.无法区分概念节点(class)和对象(object)节点。
  • 4.无法对节点和边的标签进行定义。

RDF的标准解决了缺点1和2,制定了一些标准,但是对于3和4还没有解决

看一个问题引出问题3,如何用RDF的规则表示“猫是哺乳动物”这句话
RDF中可以表示为

猫  rdf:type 哺乳动物

语言文化博大精深,“猫是哺乳动物”这句话有两成含义,在语境A中“猫”可以指一个特定的实体,即object,但是在语境B中,猫可以指一个类型即class
为了解决这个问题,即问题3和4,W3C提出了RDFS和OWL两个标准
下面举几个例子:以RDFS为例,

  • 声明一个类
哺乳动物 rdf:type rdfs:class
  • 声明一个子类
猫 rdf:type rdfs:Class
猫 rdfs:subClassOf 哺乳动物
  • 声明一个实例
猫 rdf:type 哺乳动物

rdf:type可以缩写为a,即猫 a 哺乳动物

2.知识图谱

对于上面的语义网络,虽然RDF可以描述边节点之间的关系,但是大家发现一个最可怕的问题吗,这个语义网络没有边界,可以随便扩展,这就导致无法描述
知识图谱和语义网络的区别在于此,知识图谱只包含两种类型,即资源和字面量,所有节点的边最终都是一个字面量,类似于树的叶子节点,不会再有出度,如下面的图


罗纳尔多知识图谱

里面所有的边界最后都是一个字面量,这样就可以使所有的数据量化,并可表达

至此,大致的就可以了解知识图谱是什么东西

推荐阅读更多精彩内容