知识图谱(二) 构建方法
前言
知识图谱的数据是通过三元组(主语、谓语、宾语)的方式进行组织的,每一个三元组代表一条知识,并且所有三元组按照一定的逻辑组织起来
知识图谱的数据结构
从知识图谱数据组织的架构来看,可以把知识图谱的数据分为两个层次:
- 数据模型层:数据模型是按照本体论的思想,勾画出来的数据组织模式,数据模型可以展示数据的组织方式,数据之间的相互关系。创建动植物的数据模型,可以按照动植物的通用分类标准,使用七个主要级别:界、门、纲、目、科、属、种。可以将动植物的数据按照下面这个模型进行组织:
/ | 人 | 白菜 | 猕猴 |
---|---|---|---|
域 | 真核生物域 | 真核生物域 | 真核生物域 |
界 | 动物界 | 植物界 | 动物界 |
门 | 脊索动物门 | 种子植物门 | 脊索动物门 |
纲 | 哺乳纲 | 双子叶植物纲 | 哺乳纲 |
目 | 灵长目 | 白花菜目 | 灵长目 |
科 | 人科 | 十字花科 | 猴科 |
属 | 人属 | 芸苔属 | 猕猴属 |
种 | 智人 | 白菜种 | 猕猴 |
数据模型可以看作是元数据,依据数据模型,数据才能得到有效的组织。数据模型除了确定对象之间的分类,关系,还要明确对象的属性。
针对不同的知识图谱,需要收集的数据的内容也不相同,内容范围由对象的属性确定。数据模型的分类,关系反应了数据之间的关系特征,数据模型的属性反应了数据的内在特征。
- 具体数据层,具体数据是一条条知识,它是依据数据模型组织起来的。我们可以把数据模型看作是骨架,把具体数据看作是肌肉,两部分共同组成了一个健壮的整体,就是知识图谱。
不同类型的知识图谱组织数据的方式也有所不同,涉及到具体数据,具体数据的内容也有差别。比如
- 对于一个人物来说,如果是历史知识图谱,可能人物数据的内容主要侧重于人物的生平,主要事迹和人物关系等等,
- 如果是文学知识图谱,人物数据的内容则会主要侧重人物的主要作品,师承关系和作品流派等等。
将知识图谱的数据分成了两个层次,在构建知识图谱的时候,是先确定数据模型再收集具体数据,还是先收集具体数据再确定数据模型,这就形成了两种构建知识图谱的方式。
自顶向下的构建方式
即先确定数据模型,再填充具体数据。
数据模型的设计,是知识图谱的顶层设计,根据知识图谱的特点确定数据模型,就相当于确定了图谱收集数据的范围,以及数据的组织方式。
总的来说,自顶向下的构建方式,适用于知识内容比较明确,关系比较清晰的领域构建知识图谱
自下向上的构建方式
指先按照三元组的方式收集具体数据,然后根据数据内容来提炼数据模型。采用这种方式构建知识图谱,是因为在开始构建知识图谱的时候,还不清楚数据的范围,也不清楚数据怎么使用,就是先把所有的数据收集起来,形成一个庞大的数据集,然后再根据数据内容,总结数据的特点,将数据进行整理、分析、归纳、总结,形成一个庞大的数据集,然后再根据数据内容,总结数据的特点,将数据进行整理、分析、归纳、总结,形成一个框架,也就是数据模型。
一般是公共领域的知识图谱采用上述方式,因为公共领域的知识图谱涉及到海量的数据,并且包括方方面面的知识,做出来的效果是大而全,这在构建的初期,很难想清楚数据的整体架构,只能是根据数据的内容总结提炼特征,形成数据框架模型。
总结
两种构建方式也不是一成不变的,在构建初期两种方式区别很明显,在知识图谱构建的后期,两种方式可能会结合使用。对于自顶向下的构建方式,随着数据量的不断积累,可能会发现原来的数据模型并不完善,有很多数据可能没有包含在数据模型的体系中,这时候就需要修订数据模型,根据数据的特点,完善数据模型。同样,在自下向上的构建方式中,慢慢形成的数据模型,对于后期的数据收集,也有一定的指导作用,按照形成的数据模型,可以快速准确地收集相关数据。
总之,数据和数据模型之间,是一个相辅相成的关系,二者在构建知识图谱的过程中缺一不可。