上面定义已经给出了一些本体中所具备的一些要素。事实上,大量的经验表明,要构造出一个功能完备的领域本体出来,难度较大,需要耗费大量的时间成本。
标准的本体构建主要构建阶段包括如下几步:
1、收集领域本体术语
列出本体中的重要术语集合,列出在本体构建中的一些基本概念(实体类型)、概念(实体类型)的属性词和关系词,为了完成这个步骤需要确定本体的领域和范围。
例如,医疗领域中有诊断检查项目、疾病、药品、食物、在售药品、疾病症状等实体术语,疾病名称、疾病简介、疾病病因、预防措施、治疗周期、治疗方式、治愈概率、疾病易感人群等属性或关系术语。
领域本体术语的收集,是知识图谱本体设计的一个基础手段,与此相关的技术包括词汇挖掘技术,既可以从已经开放的词汇资料中进行摘录和整理,也可以通过短语挖掘、术语扩展等方式完成术语体系的搭建;
2、定义本体概念层级
基于术语集合进行定义,定义概念与概念之间的继承关系(is-a或kind-of)、等价关系(the-same-as)、兄弟关系(brother),解决抽象层级体系的定义问题。这个步骤有多个需要注意的点:
其一、实例和概念的区分。 一个具体的名称应该作为一个概念或者实例需要预先设定出本体的粒度,原则上来说,实例是不可再分的最细粒度的信息承载单位,如果该实例还可以进一步下分,那么这个词则可以作为一个概念或实体类别;
其二、属性和类的取舍, 如“黑熊”是应该将“黑”作为“胸”一个属性“颜色”来设置,还是额外设计一个新的概念“黑熊”,通常情况下,数量、色彩和属性信息等可以作为属性的一个赋值来使用;
其三、概念的范围问题。 概念定义的粒度需要根据实际需求进行设计,一个概念一般情况下无法做到十分全面,往往是一个动态添加的过程,先定义一些常见的、常用的概念作为第一个版本即可。
3、定义本体属性关联
本体属性关联,包括针对概念的属性类型、概念属性之间的推理关系、关系与关系之间的互逆关系(如父亲和儿子,在知道父亲数据的情况下,可以自动得到儿子这条数据)、概念与概念之间的关系类型(实体类型)。
与概念定义遇到的问题类似,属性和关系的定义和取舍问题也是一大难点。
“父亲”这个关系既可以是属性,也可以是关系,但一般情况下,对于一个谓词,如果该谓词所赋予的值是一个终止节点,即不会作为关系边的发出者与其他知识节点发生关联的时候,。
4、定义本体约束条件
定义本体约束条件指的是定义概念实例和属性值的限制条件,包括属性的取值类型、取值范围、缺省值等。与关系型数据库等字段的设计一样,在定义好存在的字段名称以及字段之间的关联关系,需要对概念实例命名、概念属性的取值规范和合法性进行约定。
例如,对于性别这个属性值,需要设定“男”或“女”,对于人的寿命取值范围一般小于200岁,2月份不会超过29天等,设置这些条件可以有效抑制噪声数据的进入,设定标准时间的各位为八位日期形式,可以对日期数据进行规范。