数据模型就是数据组织方式,是构建知识图谱首要解决的问题,无论是开放域的知识图谱还是行业的知识图谱,都需要收集大量的数据,这些数据的收集是有选择性的,这个选择的依据就是数据模型。数据模型,也可以称为知识表达模型,解决知识图谱如何组织数据的问题,是数据的底层架构,是一个知识体系框架,能够涵盖住知识图谱所有的数据,决定了数据收集的范围。
1 数据的分类问题。
通用知识图谱,它收集的数据比较全,涉及到各种各样的知识。我们可以把通用知识图谱认为是一个大而全的知识图谱,它基本能涵盖所有的知识,当然,这类通用知识图谱,由于涵盖的知识范围广,所有对于某一个知识点,可能不会说的特别细,也就是深度不够。行业知识图谱和通用知识图谱,正好是一个互补的关系,行业知识图谱是对某一个行业的知识,组织的很专业,研究的很深入。
无论是通用知识图谱还是行业知识图谱,都存在数据的组织问题,首要的就是数据如何分类,可以画一个树状图,根节点为物体或者对象,就是包含万物,然后再一层层的进行分类,知识图谱中的所有知识都可以在树状图中找到对应的节点。
下面我们以百科数据为例,介绍一下知识图谱的分类问题。其它通用知识图谱,也有自己的分类体系,和百科的分类大同小异,但也有自己的一些特点。
百科知识的组织,第一层分类为艺术、科学、自然、文化、地理、生活、社会、人物、经济、体育、历史等。
选择一个分类,比如科学分类,就能看到第二层分类科学的分类体系,包括健康医疗、航空航天、天文学、环境生态、农业科学、生命科学、数理科学、心理学、信息科学、工程技术、化学、地球科学、其它等。
再继续选择,比如健康医疗,就可以看到第三层的分类,医学知识库的知识分类情况,从医疗症状、药物、中医药、诊断技术等几个维度来组织医学知识。
通过这种分类体系,就会发现,无论收集什么知识,我们都可以在体系中找到对应的分类,这样有利于大家在这个知识图谱中查找知识,也有利于添加知识,扩展知识图谱的数据内容。
2 数据的属性
对于数据组织体系,在分类到末端节点,也就是叶子节点,就需要对这个叶子节点(具体知识点)进行描述,如何将一个知识点描述清楚,在知识图谱中,需要使用属性来描述知识点。这些属性可以从多个方面,多个层次来描述事物。
我们还是以百科数据为例,在医学知识库中,找到叶子知识点,比如糖尿病, 词条中最重要的一个是定义或者叫做简介,说明什么是糖尿病,然后是几个主要属性,英文名称、常见症状、就诊科室、传染性等。把这些属性放到最开始的位置,人们看到后,就可以对糖尿病有一个大致的了解,这些属性也能够简单反映糖尿病这个知识点的基本情况。
除了基本的属性,对于糖尿病这个知识点,还有更多的描述,百科是从病因、检查、鉴别诊断、临床表现、诊断、治疗这几个维度,来阐述糖尿病,通过这些更进一步的属性,人们就会对糖尿病有一个更深入的了解。
下面我们再继续来看一下,检查这个属性,都包括哪些内容。百科中列出了比较多的检查项目或者称为检查内容,血糖、尿糖、尿酮体、糖基化血红蛋白(HbA1c)、糖化血清蛋白等等,而且对于每一项检查内容,都有一个简短的说明。