知识图谱学习与实践(2)——知识图谱数据模型的构建

数据模型就是数据组织方式,是构建知识图谱首要解决的问题,不管是开放域的知识图谱仍是行业的知识图谱,都须要收集大量的数据,这些数据的收集是有选择性的,这个选择的依据就是数据模型。数据模型,也能够称为知识表达模型,解决知识图谱如何组织数据的问题,是数据的底层架构,是一个知识体系框架,可以涵盖住知识图谱全部的数据,决定了数据收集的范围。架构

1 数据的分类问题。框架

通用知识图谱,它收集的数据比较全,涉及到各类各样的知识。咱们能够把通用知识图谱认为是一个大而全的知识图谱,它基本能涵盖全部的知识,固然,这类通用知识图谱,因为涵盖的知识范围广,全部对于某一个知识点,可能不会说的特别细,也就是深度不够。行业知识图谱和通用知识图谱,正好是一个互补的关系,行业知识图谱是对某一个行业的知识,组织的很专业,研究的很深刻。3d

不管是通用知识图谱仍是行业知识图谱,都存在数据的组织问题,首要的就是数据如何分类,能够画一个树状图,根节点为物体或者对象,就是包含万物,而后再一层层的进行分类,知识图谱中的全部知识均可以在树状图中找到对应的节点。对象

下面咱们以百科数据为例,介绍一下知识图谱的分类问题。其它通用知识图谱,也有本身的分类体系,和百科的分类大同小异,但也有本身的一些特色。blog

百科知识的组织,第一层分类为艺术、科学、天然、文化、地理、生活、社会、人物、经济、体育、历史等。字符串

 

选择一个分类,好比科学分类,就能看到第二层分类科学的分类体系,包括健康医疗、航空航天、天文学、环境生态、农业科学、生命科学、数理科学、心理学、信息科学、工程技术、化学、地球科学、其它等。基础

 

再继续选择,好比健康医疗,就能够看到第三层的分类,医学知识库的知识分类状况,从医疗症状、药物、中医药、诊断技术等几个维度来组织医学知识。百度

 

经过这种分类体系,就会发现,不管收集什么知识,咱们均可以在体系中找到对应的分类,这样有利于你们在这个知识图谱中查找知识,也有利于添加知识,扩展知识图谱的数据内容。扩展

2 数据的属性方法

对于数据组织体系,在分类到末端节点,也就是叶子节点,就须要对这个叶子节点(具体知识点)进行描述,如何将一个知识点描述清楚,在知识图谱中,须要使用属性来描述知识点。这些属性能够从多个方面,多个层次来描述事物。

咱们仍是以百科数据为例,在医学知识库中,找到叶子知识点,好比糖尿病, 词条中最重要的一个是定义或者叫作简介,说明什么是糖尿病,而后是几个主要属性,英文名称、常见症状、就诊科室、传染性等。把这些属性放到最开始的位置,人们看到后,就能够对糖尿病有一个大体的了解,这些属性也可以简单反映糖尿病这个知识点的基本状况。

 

除了基本的属性,对于糖尿病这个知识点,还有更多的描述,百科是从病因、检查、鉴别诊断、临床表现、诊断、治疗这几个维度,来阐述糖尿病,经过这些更进一步的属性,人们就会对糖尿病有一个更深刻的了解。

 

下面咱们再继续来看一下,检查这个属性,都包括哪些内容。百科中列出了比较多的检查项目或者称为检查内容,血糖、尿糖、尿酮体、糖基化血红蛋白(HbA1c)、糖化血清蛋白等等,并且对于每一项检查内容,都有一个简短的说明。

 

上面的属性,就是百科对于疾病症状的知识组织方式,咱们能够看一下其余的疾病症状,基本上都是按照这个方式,来组织属性数据。糖尿病这个疾病症状,经过一些属性,还能够关联到其它词条,好比检查内容中的血糖。这样就能够在知识点之间创建关联,造成一个网状的知识图谱。

 

3 数据模型的构建过程

在构建数据模型的实践中,基本上都会找一个相似的知识体系,或者粗略的数据分类体系,而后以其为基础,再进行扩展。固然,在收集数据的过程当中,也可能会收集到大量脱离数据模型的数据,这时候,就能够根据这些数据进行数据模型的修改和完善。

构建数据模型的初始阶段,能够找一个知识图谱的中心数据,好比构建一个音乐知识图谱,能够以歌曲为中心,先考虑歌曲的属性,好比演唱者、做词、做曲、分类、歌词、曲谱等等,对于这些属性,一方面是考虑在知识图谱中是否合适,须要不断地斟酌,修改、增长或者删除一些属性,从而达到完善属性的目的。另外一方面,还要肯定这些属性对应的属性值,好比演唱者、做词、做曲都是对应的人,人也是一种实体,也会有不少属性,好比出生日期、性别、姓名、籍贯、主要事迹、做品等等,对于人的属性,又能够开启属性论证工做,肯定使用哪些属性,属性值的范围等。

在不断肯定属性和属性值范围的过程当中,咱们还要明确一个边界。由于对于这种关联关系,能够一直作下去,最后都会变成一个万物互联的通用知识图谱。咱们有的时候,多是构建一个行业知识图谱,这时候,边界的肯定就很重要,好比出生日期,对于古代人,就不能写成年月日的形式,可能就是一个朝代,这个朝代也是一个实体,咱们就没有必要再对朝代进行属性和属性值的肯定。由于朝代对于咱们知识图谱来讲,已是相关性很小的知识了。对于朝代这类和知识图谱相关性比较弱的知识实体来讲,咱们才以为办法,最简单的处理就是直接写一个名称,将它看做一个字符串或者是一个枚举值,做为枚举值的话,须要罗列出全部的朝代。另一种处理方法就是将包含的朝代连接到通用知识图谱,好比百度百科或者dbPedia等公认的通用知识图谱。咱们专一于行业知识图谱中,关联性比较强的数据。

4 数据模型须要注意的问题

咱们最终构建的数据模型,须要注意两个方面的问题。

一个是体系的完备性。有类、子类这样的层次关系,实体都能划分到这个层次关系中。类的属性,子属性,每一个类都有什么属性,属性之间存在什么样的关系,对于一个属性来讲,它能够看做是谓语,主语和宾语的范围如何界定。将类、子类、属性、子属性之间的关系描述清楚,可以把知识图谱中的相关实体都归入到这个体系中,而且经过属性叙述清楚实体,就表示这个数据模型知足了知识图谱的完备性要求。

另外一个须要注意的是数据模型度的把握。虽然有完备性的要求,但也不能将全部的内容都罗列到数据模型中。对于数据模型中的类和属性,要有所取舍,只选取那些和知识图谱相关性强的类和属性,一开始能够选的粗一些,而后再逐渐细化。也能够一开始就作的比较细致,后面再进行删减,最后造成一个内容适当的数据模型。

5 结语

如今构建知识图谱数据模型,都有必定的依据,通常不会从零开始,有一个雏形做为数据模型的基础,再进行完善。基本模式是以自顶向下为主,再根据收集的数据,对数据模型进行修正,也就是自底向上为辅,这样的构建方式比较广泛。

相关文章
相关标签/搜索