01 - 知识图谱入门

转载自:KG的前世今生,本文主要介绍为什么需要知识图谱,什么是知识图谱以及知识图谱的形式化表示。

一、为什么需要知识图谱?

当你看到下面这行文本时会想到什么?

Ronaldo Luís Nazário de Lima 

估计大多数人不明白这串文本表达了什么。让我们看看它的中文翻译:

罗纳尔多·路易斯·纳萨里奥·德·利马

现在大多数人应该能够明白这是一个外国人的名字。熟悉足球的人可能会知道这是一个巴西足球运动员,绰号“肥罗”。

举这个例子是为了说明,计算机面临这样的困境——无法获取网络文本的语义信息。尽管人工智能得到了长足的发展,但是距一台机器拥有一个两三岁小孩的智力还有一段距离,很大一部分原因是机器缺乏先验知识。机器看到这个字符串的反应和大多数不懂葡萄牙语不看足球的人看到这个字符串的反应是一样的。为了让机器能够明白文本背后的含义,需要构建机器的先验知识,即对事物进行建模,填充其属性,扩展它和其他事物的关联关系。以罗纳尔多为例,通过对“罗纳尔多”实体进行扩展,我们可以得到如下的知识图。

机器有了这样的先验知识,当它再看到“Ronaldo Luís Nazário de Lima”这个字符串时,就能知道这是一个出生于里约热内卢、名叫“罗纳尔多”的巴西足球运动员。这和我们人类在看到熟悉的事物时会进行联想和推理是一致的。需要注意的是,这张图就是一个草图,并非知识图谱的实际组织形式,甚至会对理解知识图谱带来负面影响。后面会给出这张图在知识图谱中更正式的表示。

Google为了提升搜索引擎返回的答案质量,推出了知识图谱概念。有知识图谱的辅助,搜索引擎能够根据用户查询背后的语义信息,返回更准确、更结构化的信息。Google知识图谱的宣传语“things not strings”道出了知识图谱的精髓:不要无意义的字符串,需要文本背后的对象或事物。以罗纳尔多为例,当用户以“罗纳尔多”作为关键词进行搜索,没有知识图谱的情况下,我们只能得到包含这个关键词的网页,然后不得不点击进入相关网页查找需要的信息。有了知识图谱,搜索引擎在返回相关网页的同时,还会返回一个包含查询对象基本信息的”知识卡片“,如果我们需要的信息就在卡片中,就无需进一步操作了。也就是说,知识图谱能够提升查询效率,让我们获得更精准、更结构化的信息。

二、什么是知识图谱?

知识图谱的概念可以追溯到上世纪六十年代提出的一种知识表示形式——语义网络。语义网络,Semantic Network,由相互连接的节点和边组成,节点表示概念或对象,边表示节点与节点之间的关系。在表现形式上,语义网络和知识图谱相似,但语义网络侧重于描述概念与概念之间的关系,知识图谱侧重于描述实体与实体之间的关系。除了语义网络,语义网(Semantic Web)和链接数据(Linked Data)也和知识图谱有着千丝万缕的关系,可以说是知识图谱的前身。

目前,知识图谱没有标准的定义,借用下面这句话描述知识图谱:

A knowledge graph consists of a set of interconnected typed entities and their attributes. 

知识图谱是由一些相互连接的实体以及它们的属性构成的。知识图谱由一条条知识组成,每条知识可以表示为一个SPO三元组(Subject-Predicate-Object)。

在知识图谱中我们用 RDF 形式化的表示这种三元关系。RDF,Resource Description Framework,资源描述框架,是W3C制定的一种用于描述实体/资源的标准数据模型。RDF中有三种类型:IRI、blank node和literals,常用的是 IRI 和 literals,至于 blank node 为什么不常用请参考原文(因为我也没看太明白)。IRI,International Resource Identifier,可以看做是 URI 或 URL 的泛化,用于在整个知识图谱中唯一的表示一个实体/资源。literals,字面量,可以看做是带有数据类型的纯文本,比如罗纳尔多的全名是 Ronaldo Luís Nazário de Lima 这个字面量可以表示为:

"Ronaldo Luís Nazário de Lima"^^xsd:string 

那么,“罗纳尔多的全名是Ronaldo Luís Nazário de Lima”这个 SPO 三元组用 RDF 形式表示就是:

@prefix kg: <http://www.kg.com/ontology/>
http://www.kg.com/person/1 kg:fullName "Ronaldo Luís Nazário de Lima"^^xsd:string 

"http://www.kg.com/person/1"是一个 IRI,唯一表示“罗纳尔多”这个人类的实体。“kg:fullName”也是一个 IRI,表示“全名”这样一个属性,其中“kg:”是“http://www.kg.com/ontology/”的缩写。

将之前的那张图用更正式的形式表示出来:

我们可以认为知识图谱包含两种节点:实体和字面量。字面量类似叶子节点,出度为0,所以之前那张图中“罗纳尔多·路易斯·纳萨里奥·德·利马”这个字面量是不应该有指向外部节点的边的。此外,之前那张图也无法突出“实体/资源”这个在知识图谱中极其重要的概念。

三、小结

本文通过罗纳尔多这个例子引出知识图谱解决的问题,接着给出知识图谱的概念及其 RDF 形式化的表示。

下一篇会介绍和知识图谱相关的几个大概念。

猜你喜欢

转载自www.cnblogs.com/leoxk/p/9099090.html