第1章 图的概念和原理

Posted 车斗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第1章 图的概念和原理相关的知识,希望对你有一定的参考价值。

第1章 图的概念和原理

 

1.1 图结构定义

在计算机科学中,一个图就是一些顶点的集合,这些顶点通过一系列边结对(连接)。顶点用圆圈表示,边就是这些圆圈之间的连线。顶点之间通过边连接。顶点有时也称为节点或者结点,边有时也称为结边或链接。

图1:关于国家的图结构

图(graph)的节点(node)通常代表一个物理实体属性,结边记录了实体之间的连接关系。图通常用一系列三元组(triple)表示,基本形式主要包括:

“实体1-关系-实体2”和“实体-属性-属性值”。每个实体(Entity)或概念用一个全局唯一确定的ID来标识,称为它们的标识符(identifier)。每个属性—值对(Attribute-Value Pair,AVP)用来刻画实体的内在特性,而关系

(Relation)用来连接两个实体,刻画它们之间的关联。

从一个节点到另一个节点要经过若干条结边(路径)或节点,这些结边的总的长度用“距离”表示。“距离”是一个虚的概念,可以用来表示路径长度价格、时间、数量等。

结边的长度有时也叫权重(weight),即每一条边会被分配一个数值。一个代表航线的图。各个城市就是顶点,航线就是边。那么边的权重可以是飞行距离、飞行时间,或者机票价格。因此很多问题可以用图来解决。

在外卖送餐中,门店、骑手和客户(地址)都可以看作是节点,结边表明他们之间的关系。例如,通过门店可以查询到骑手和服务范围内的客户;给定地址可以查询到门店。

在游戏中,道具和玩家就是节点,节点之间的链接表明玩家拥有的道具和数量,玩家之间的关系等。

在航线图中,查询从一个节点到另一个节点的最短距离有很多非常有价值的应用。例如从旧金山到莫斯科最便宜的路线是到纽约转机。

图2:机票价格航线图

边可以是有方向的,从节点A到B的距离不一定等于从B到A的距离。如果图就是状态机,那么边描述了状态之间切换的条件。用图表示一个社交网络,每一个人就是一个顶点,互相认识的人之间通过边联系。Facebook 就从他们的社交图中赚取了巨额财富。

图3:社交网络图

当前,基于图结构的数据(以下简称为“图数据”)无处不在。

Facebook、Twitter 和 Pinterest 等企业已经看到并最大化地利用了这些相互关联数据的强大之处,这直接导致了基于图的大数据解决方案与日俱增。

1.2 图结构表示—信息三元组

在继续深入理解原理之前,需要了解几个概念:

  • 实体(Entity)

实体是对客观个体的抽象,人、电影、一句话、门店、地址、游戏道具都可以看作是一个实体。

  • 类型(type)

类型是对具有相同特点或属性的实体集合的抽象。例如:中国是一个实体,美国是一个实体,法国是一个实体。这些实体都有首都、人口、面积等共同特征,因此例如像中国、美国、法国等都有首都、人口、面积等特征的实体可以抽象为“国家”类型。

  • 属性(property)

属性是对实体与实体之间关系的抽象,例如李安是一个实体,类型是人物,

“卧虎藏龙”也是一个实体,类型是一个电影。很明显这两个实体之间存在着关系:李安→导演→卧虎藏龙。因此这个关系可以用属性“导演”来刻画。那么可以根据属性构建一层关系,人物(type)→导演(property)→电影

(type)。

  • 关系(relation)

关系是实体与实体之间关系的抽象,李安(entity)→导演

(relation)→卧虎藏龙(entity),导演则是描述李安和卧虎藏龙的关系。

  • 域(domain)

域是类型的集合,位于类型之上,是对某一领域所有类型的抽象。例如: “地理位置”除了包含“国家”类型之外,还可以包括其他类型:城市、区域洲等。而将所有这些具有共同特征的类型:洲、国家、城市、区域抽象起来,组成集合,就形成了“地理位置”域。

  • 值(value)

值是用来描述实体的,可以分为文本型和数值型,例如:中国

(entity)→民族(relation)→56(value)。

上面的全部信息内容可以用三元组抽象表示:E1—R—E2,每个实体可能与多个实体有关系,即:E1—Ri—Ej。每个三元组包括主语(Subject),谓词(Predicate)和目标(Object)3个部分。主语表示源节点,谓词表示关系,目标表示目的节点。这种“两点一线”样子的三元组——SPO三元组——的集合就构成了图,显然地,对于图中的每条关系,源节点、关系边和目的节点间所有可能存在6种排列(SPO,SOP,POS,PSO,OSP,OPS),如下图:

图4: SPO三元组

从三元组构建出的图谱就是最基础的知识表达系统。万维网本身就是一个知识图谱:是一个描述资源和资源之间关系的网络。针对业务去构建知识库(图谱)并进行知识抽取。联合抽取实体+关系的三元组信息,包括实体间的多关系抽取,来解决实体识别任务,将关系抽取视为多头选择问题(可以识别每个实体潜在的多种关系)。

1.3 知识图谱

描述资源的方式RDF(Resource Description Framework)都是一个主谓宾三元组构成的短句,比如:{李安,是,导演}、{藏龙卧虎,是,电影}、{李安,导演,藏龙卧虎}...。把它画成RDF图就是“两点一线”的样子(如图 4)。有越多这样的三元组,就等于我们有越多关于李安导演的知识。例如可以用 OWL语言(Web Ontology Language)来描述 RDF 数据——知识图谱

(Knowledge Graph)。

OWL 指的是 Web 本体语言(Ontology——“本体”这个术语来自于哲学,它是研究世界上的各种实体以及他们是怎么关联的科学。对于Web,本体则关

于对Web信息及Web信息之间的关系的精确描述),它构建在RDF的顶端之上,不是供人类进行阅读的,而是设计为供计算机进行解释、处理Web 上的信息的、具有强大的词汇表的语言。OWL 是一项 Web 标准,由 XML 来编写,拥有三种子语言。

OWL信息可在使用不同类型的操作系统和应用语言的不同类型的计算机之间进行交换。计算机一直面临着这样的困境——无法获取网络文本的语义信息。尽管近些年人工智能得到了长足的发展,在某些任务上取得超越人类的成绩,但离一台机器拥有一个两三岁小孩的智力这样一个目标还有一段距离。这距离的背后很大一部分原因是机器缺少知识。为了让机器能够理解文本背后的含义我们需要对可描述的事物(实体)进行建模,填充它的属性,拓展它和其他事物的联系,即构建机器的先验知识。例如,当我们围绕“罗纳尔多”这个实体进行相应的扩展,我们就可以得到下面这张知识图谱(如图5):

图5:“罗纳尔多”的知识图谱

有了用OWL描述的知识图谱作为辅助,搜索引擎能够洞察用户查询背后的语义信息,返回更为精准、结构化的信息,更大可能地满足用户的查询需求。 Google知识图谱的宣传语“Things Not Strings”给出了知识图谱的精髓,即,不要无意义的字符串,而是获取字符串背后隐含的对象或事物。这只是知识图谱在搜索引擎上的一部分应用场景。知识图谱这样一种概念、或者技术,它的诞生是符合计算机科学、互联网发展潮流的。

知识图谱背后的思想可以追溯到上个世纪五六十年代所提出的一种知识表示形式——语义网络(Semantic Network)。语义网络由相互连接的节点和边组成,节点表示概念或者对象,边表示他们之间的关系(is-a关系,比如:猫是一种哺乳动物;part-of关系,比如:脊椎是哺乳动物的一部分),如图6。在表现形式上,语义网络和知识图谱相似,但语义网络更侧重于描述概念与概念之间的关系,而知识图谱则更偏重于描述实体之间的关联。

图6:语义网络侧重于概念之间的关系

1.4 本章小结

知识图谱可以用图结构来表达,采用类似OWL的语汇描述本体的特征和映射关系。知识图谱引入了更多的语义关系,有助于深层次的发现用户兴趣,通过知识图谱中不同的关系链接种类,有利于推荐结果的发散。简单的图谱可以用关系型数据库保存三元组,存储一个大型的知识图谱,需要一个大型的分布式系统,如:Hadoop/HBase。第2章将研究一个大规模知识图谱的具体存储技术和方法,以及如何实现分享知识图谱的知识的能力。第3章将研究如何结合知识图谱的特征学习解决传统的推荐系统存在的问题。

第2章 知识图谱的存储技术和本体映射方法

以上是关于第1章 图的概念和原理的主要内容,如果未能解决你的问题,请参考以下文章

2-25《啊哈算法》第5章,图的遍历原理。

第1章:关系数据库原理——数据库概述+E-R概念模型

通信原理第7版樊昌信,曹丽娜课后答案通信原理第七版课后习题答案

数据库原理-第7章:数据库设计

数据库原理-第8章:数据库恢复技术

数据库工程师学习笔记-第1章-数据库原理概述