知新温故,从知识图谱到图数据库
作者:CQITer小编 时间:2019-01-18 21:41
说到人工智能技术,首先会联想到深度学习、机器学习技术;谈到人工智能应用,很可能会马上想起语音助理、自动驾驶等等。实际上,人工智能要在行业中得到应用的先决条件是首先要对行业建立起认知,只有理解了行业和场景,才能真正智能化。简单的说,就是要建立行业知识图谱,才能给行业AI方案。

机器通过人工智能技术与用户的互动,从中获取数据、优化算法,更重要的是构建和完善知识图谱,认知和理解世界,进而服务于这个世界。
那什么是知识图谱呢?

知识图谱
知识图谱本质上是语义网络的知识库,从实际应用的角度出发其实可以简单地把知识图谱理解成多关系图。
那什么是多关系图呢? 回忆在数据结构中的“图”。图是由节点和边来构成,通常用来描述某些事物之间的某种特定关系。图用点代表事物,用连接两点的边表示相应两个事物间具有某种关系,但这些图通常只包含一种类型的节点和边,在IOTA,物联网区块链?一文中就谈到了有向无环图。多关系图一般包含多种类型的节点和多种类型的边。 图的数学基础是图论,本身是应用数学的一部分,在往下大概要涉及到拓扑学的领域了。

在知识图谱里,通常用“实体”来表达图里的节点、用“关系”来表达图里的“边”。实体指的是现实世界中的事物,关系则用来表达不同实体之间的某种联系,实体和关系也会拥有各自的属性。知识图谱的构建是后续应用的基础,而且构建的前提是需要把数据从不同的数据源中抽取出来。数据抽取的难点在于处理非结构化数据,这回涉及到NLP中的相关技术,例如实体命名识别、关系抽取、实体统一、指代消解等等。
知识图谱工程本身还是业务为重心,以数据为中心。不要低估业务和数据的重要性。

知识图谱最重要的核心在于对业务的理解以及对知识图谱本身的设计。要从业务逻辑出发,并且通过观察知识图谱的设计也很容易推测其背后业务的逻辑,而且设计时也要想好未来业务可能的变化。让知识图谱尽量轻量化、并决定哪些数据放在知识图谱,哪些数据不需要放在知识图谱,在于把知识图谱设计成小而轻的存储载体。
知识图谱主要有两种存储方式:RDF和图数据库。它们之间的区别如下图所示。RDF一个重要的设计原则是数据的易发布以及共享,图数据库则把重点放在了高效的图查询和搜索上。其次,RDF以三元组的方式来存储数据而且不包含属性信息,但图数据库一般以属性图为基本的表示形式,所以实体和关系可以包含属性,这就意味着更容易表达现实的业务场景。

那为什么要用图数据库呢? 核心在于“关系”。
重新认识“关系”
关系是指人与人之间,人与事物之间,事物与事物之间的相互联系。
不同事物按着各种不同类型的关系而彼此联系在一起,例如,空间与时间的关系,整体与部分的关系,原因与结果的关系,内容与形式的关系以及遗传关系、函数相依关系、内部关系与外部关系等等。 数据结构中的关系指的是集合中元素之间的某种相关性。关系的运算包括集合的子,交,并,补等等。

在数学中,相关关系是一种非确定的相互依存关系:
按程度:完全相关、不完全相关和不相关
按影响: 正相关和负相关
按形式:线性相关和非线性相关
按变量数目:单相关、复相关和偏相关
......
事物之间的关系也是复杂的、无限多样的。

在现实生活中,每一个实体都和周围的其他实体有着千丝万缕的关系,这些关系里面所存储的信息甚至要大于实体本身的属性。
但是数据库有很多,为什么需要图数据库呢?关系型数据库和众多的NoSQL为什么不能完全拥有知识图谱的构建呢?
“关系”的数据库存储与表达
世界是由关系组成的,关系型数据库能够处理好关系吗?

关系型数据库




