2. 什么是本体
Last updated
Was this helpful?
Last updated
Was this helpful?
人工智能文献给出了众多不同的本体的定义,甚至有一些是相互矛盾的。在本文中,本体指一个描述性的形式化概念体系,包括实体分类(class/concept, 亦称为概念,简称类,即领域上下文中涉及的概念分类体系),槽位(slot, 用于指代实体分类或实体实例的某个特征或属性),角色限制(facet, 用于说明槽位与实体分类联合使用时的限制和隐含语义)。一个本体以及由它定义的一组实体实例(instance)在一起就构成一个知识库。这就是本体和知识库的区别。
类(class)描述了领域中的概念,也是大多数本体的重点。例如,“葡萄酒”作为类,可以代表所有类型的葡萄酒。任何一瓶葡萄酒都可以是它的实例。读者面前的一杯波尔多葡萄酒就是“波尔多葡萄酒”类的一个实例。一个类可以细分为更具体的子类(subclass),例如我们可以将“葡萄酒”细分为“红葡萄酒”、“白葡萄酒”和“玫瑰葡萄酒”。或者可以基于另外一个分类标准,将“葡萄酒”分成“起泡的葡萄酒”和“不起泡的葡萄酒”。
槽位(slot)描述了实体分类与实体实例的属性。“拉菲酒庄波亚克葡萄酒”的“酒体”是“丰富”(酒体,用以表示葡萄酒的浓厚度和分量感的强度):),它由拉菲酒庄生产。在这个例子中,我们有两个描述葡萄酒的槽位:”酒体"槽位的值为“丰富", 而“酿造者”槽位的值为“拉菲酒庄”。在实体分类层面,我们可以说,“葡萄酒”一类的所有实例都会描述它们的味道、酒体、糖份比例、酿造者等。[1] 如图1, ”葡萄酒“和它的子类“波亚克”的所有实例都有一个“酿造者”的槽位,相应的值则是是“酒庄”类的某个实例。所有酒庄的实例也都有一个槽位 “生产”,指向该酒庄生产的“葡萄酒”类实例。
开发本体实践过程一般包括如下步骤
定义实体分类
定义实体分类的分类关系(即子类 - 父类的分类树)
定义槽位以及槽位取值的限制
设定槽位取值的缺省值
此后,我们可以基于本体添加实体实例,从而形成领域知识库。
[1] 实体分类的命名采用首字母大写的方式,槽位的命名方式为首字母小写。文中提到的所有概念会用引号标识。