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

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

 

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

3 数据模型的构建过程

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

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

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

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

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

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

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

5 结语

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypyws.html