8.1.2 概念分类层次知识验证

8.1.2 概念分类层次知识验证

根据类别的实例空间,类别关系可以划分为如下不同的关系类型,如图8.1所示。

图8.1 类别之间的关系图

类别之间的关系分为两大类:相容关系和不相容关系。

相容关系又分为四种关系:相同关系、真包含关系、交叉关系、相容并列关系。

不相容关系又分为三种关系:相异关系、矛盾关系和对义关系。

这些关系定义如下。在图8.2和图8.3中,圆圈表示类别的实例空间。

图8.2 相容关系分类

图8.3 不相容关系分类

(a)如果Ext(C1)=Ext(C2),则称类别C1和C2具有相同关系,如图8.2所示。

(b)如果Ext(C1)⊃Ext(C2),则称类别C1和C2具有真包含关系,如图8.2所示,也就是,C2是C1的子类。

(c)如果Ext(C1)∩Ext(C2)≠∅和Ext(C1)≠Ext(C2),则称类别C1和C2具有交叉关系,如图8.2所示。

(d)如果Ext(C3)⊂Ext(C1),Ext(C2)⊂Ext(C1),Ext(C2)∩Ext(C3)≠∅,并且Ext(C2)≠Ext(C3),则称类别C1和C2具有相容并列关系,如图8.2所示。

(e)如果Ext(C1)∩Ext(C2)=∅,则称类别C1和C2具有相异关系,如图8.3所示。

(f)如果Ext(C3)⊂Ext(C1),Ext(C2)⊂Ext(C1),Ext(C2)∪Ext(C3)=Ext(C1),和Ext(C2)∩Ext(C3)=∅,则称类别C1和C2具有矛盾关系,如图8.3所示。

(g)如果Ext(C3)⊂Ext(C1),Ext(C2)⊂Ext(C1),和Ext(C2)∩Ext(C3)=∅,则称类别C1和C2具有对义关系,如图8.3所示。

以考古学领域为例,

类别古文化与其自身的关系是相同关系,如图8.4所示。

类别“遗址”真包含类别“遗骸”,因为任一遗骸实例均是遗址的实例,也就是,遗骸是遗址的子类。

类别“生活工具”与类别“铁器”具有交叉关系,如图8.4所示,这是由于存在铁针既是铁器的实例,也是生活工具的实例。

类别“生产工具”与类别“生活工具”是相容并列关系,如图8.4所示,这是因为生产工具和生活工具均是类别“人工制品”的子类,镰刀既是生产工具,也是生活工具。

图8.4 相容关系分类的示例

例如,类别“生活场所”和类别“遗迹”具有相异关系,如图8.5所示。因为,没有实例既是类别生活场所的实例,同时也是遗迹的实例。

图8.5 不相容关系分类的示例

类别“居住地”和类别“坟墓”是矛盾关系,如图8.5所示,这是由于类别遗址划分为类别居住地和类别坟墓,没有实例既是类别居住地的实例,同时也是坟墓的实例。

类别“木制品”和类别“骨器”是不相容并列关系,这是由于这两个类别是人工制品的子类,类别木制品的实例空间和类别骨器的实例空间的交集是空集。

评估本体包括概念分类层次知识的主要准则包括一致性、完整性、简洁性、可扩展性和敏感性。这里,本节给出基于继承关系的分类层次知识结构需要满足的命题或性质,并说明满足这些性质的分类层次知识结构不存在不一致错误和不完整性错误[18]

将一个类别划分为子类别的依据可分为四种情况:

(a)单值属性。换句话说,一个类别根据单个值属性划分子类别。

(b)多值属性。换句话说,一个类别根据多个值属性划分子类别。

(c)多个属性均是单值属性。

(d)多个属性中,至少存在一个多值属性。

对于每一种划分,可能产生的错误和相应的评估方法,如图8.6和图8.7所示。

图8.6 不相容关系分类的示例

图8.7 不相容关系分类的示例

命题1:给定类别C和其子类SC1,SC2,…,SCn,那么

(∀i)(i∈{1,2,…,n}→Ext(SCi)⊂Ext(C))。

证明:由于∀i(i∈{1,2,…,n},SCi是C的子类,根据子类定义,有Ext(SCi)⊂Ext(C)。

命题1确保每个类别均没有被定义为自身的泛化或特化[18],即不会发生循环错误。

定义(类别的划分)类别C的划分定义为:类别C被划分为子类SC1,SC2,…,SCn(n是自然数),任一子类的任意实例均不是其他子类的实例,也就是,∀x(x∈Ext(SCi)→(x∉Ext(SCi)∧(i≠j)))。

命题2:给定类别C,根据其单值属性集合,类别C划分为子类SC1,SC2,…,SCn,那么Ext(SCi1)∩Ext(SCi2)∩…∩Ext(SCim)=∅,其中,i1,i2,…,im是1,2,…,n的一个排列,并且1≤m≤n,任意两个子类均是对义关系。

证明:如果类别C根据其单值属性集合{a1,a2,…,ar},被划分为子类SC1,SC2,…,SCn,那么,根据单值属性定义,

实例x属性ap的属性值与实例y属性ap的属性值是不同的(p∈{1,2,…,r})。因此,不存在同时属于Ext(SCi)和Ext(SCi)的实例,也就是,Ext(SCi)∩Ext(SCi)=∅。根据对义关系的定义,类别SC1和SC2的关系为对义关系。进一步,获得Ext(SCi1)∩Ext(SCi2)∩…∩Ext(SCim)=∅,其中,i1,i2,…,im是1,2,…,n的排列,并且1≤m≤n。

例如,对于类别“古人类(Paleoanthropus)”的单值属性“性别(Sex)”,不存在古人类实例即古人既是男性,又是女性。

根据子类划分的定义,若是根据单值属性集合进行类别划分,则称为子类划分。当一个或若干个实例属于至少两个子类,则会产生具有相同实例的子类的错误[18]。因此,满足命题2的划分就可以避免该类错误。如果命题2中至少存在一个多值属性,则公式Ext(SCi1)∩Ext(SCi2)∩…∩Ext(SCim)=∅不是永远成立。例如,科学家类别可以分为自然科学家和社会科学家,也可以分为子类别:数学家、天文学家、物理科学家、历史学家、考古学家等。对于中国社会科学院考古学家兼历史学家张正朗来说,他属于前一种划分的社会科学家,也属于后一种划分的历史学家和考古学家,即Ext(历史学家)∩Ext(考古学家)≠∅。

命题3.给定类别C,根据包含至少一个多值属性a的属性集合,类别C划分为子类SC1,SC2,…,SCn(n是自然数),如果对于任意i,子类SCi所有实例的属性a的属性值集合至少包含一个元素,那么,∃i,j(Ext(SCi)∩Ext(SCj)≠∅)。

证明:由于属性a是多值属性,根据多值属性的定义,则至少存在类别C的一个实例x,实例x的属性a的属性值个数大于1。进一步,子类SCi所有实例的属性a的属性值集合至少包含一个元素,因此,存在两个子类包含一个相同的类别C实例,即,∃i,j(Ext(SCi)∩Ext(SCj)≠∅)。

当类别C的实例不属于C的任何子类别时,会产生类别划分不完整错误。当存在类别C的子类的实例,但该实例不是类别C的实例,则会产生冗余类别分类错误。这两种类型的错误可以分别通过命题4和命题5来检测。

命题4.给定类别C,若类别C被划分为子类SC1,SC2,…,SCn(n是自然数),则Ext(C)⊆Ext(SCi1)∪Ext(SCi2)∪…∪Ext(SCin)。

证明:由于类别C被划分为子类SC1,SC2,…,SCn,即,Ext(C)的实例被划分到n个集合Ext(SC1),Ext(SC2),…,Ext(SCn)。因此,∀x∈Ext(C),∃j∈{1,2,…,n},x∈Ext(SCj),即Ext(C)⊆Ext(SCi1)∪Ext(SCi2)∪…∪Ext(SCin)。

命题5:给定类别C,若类别C被划分为子类SC1,SC2,…,SCn(n是自然数),则Ext(C)⊇Ext(SCi1)∪Ext(SCi2)∪…∪Ext(SCin)。

证明:根据命题1,∀i(i∈{1,2,…,n}),Ext(SCi)⊂Ext(C)),那么

Ext(C)⊇Ext(SCi1)∪Ext(SCi2)∪…∪Ext(SCin)。类别划分的子类个数可以通过下面命题6进行计算。

命题6.给定Vai(C)(i∈{1,2,…,n})是离散的,

(a)若∀i∈{1,2,…,n},ai是单值属性,则类别C划分为至多

(c)若∀i∈{1,2,…,n},ai是多值属性,则类别C划分为至多

|2|Vai+1(C)|-1|×|2|Vai+2(C)|-1|×…×|2|Vai+n(C)|-1|个子类个数。

证明:

(a)如果∀i∈{1,2,…,n},属性ai是单值属性,Vai(C)是离散的,那么∀x∈Ext(C),实例x的属性ai的属性值是集合Va1(C)中的一个元素,并且根据属性ai,类别C至多划分为|Vai(C)|个子类。进一步,不同划分的子类组合构成类别C的子类。因此,存在至多|Va1(C)|×|Va2(C)|×…×|Van(C)|个组合,也就是,类别C被划分为|Va1(C)|×|Va2(C)|×…×|Van(C)|个子类。

(b)如果a1,a2,…,ai是单值属性,Va1(C),Va2(C),…,Van(C)是离散的,则根据属性ap,则类别C划分Vap(C)|(p∈{1,2,…,i})个子类。如果ai+1,..,an是多值属性,Vai+1(C),Vai+2(C),…,Van(C)是离散的,则∀x∈Ext(C),实例x的属性aq的属性值可能是集合Vaq(C)(q∈{i+1,i+2,…,n)中的一个元素或多个元素。因此,至多存在

|Va1(C)|×|Va2(C)|×…×|Vai(C)|×|2|Vai+1(C)|-1|×|2|Vai+2(C)|-1|×…×|2|Vai+n(C)|-1|个不同划分的子类组合。也就是,类别C至多分为|2|Vai+1(C)|-1|×2|Vai+2(C)|-1|×…×|2|Vai+n(C)|-1|个子类个数。

子类划分缺失错误是指忽略两个类别之间的矛盾关系和对义关系。命题2可用于消除划分的该类错误。