4.6.1 语义继承推理
框架表示法、语义网络表示法和本体表示法都是面向语义的结构表示法,它们将知识组织为层次结构,层次链表示事物或概念之间的最本质的等级关系,这种层次链提供一种把知识从某一层传递到另一层的途径。因此,这种层级结构具有性质继承特性,较低层对象元素从其祖先对象继承性质的过程,称为语义继承推理。例如框架方法,一个框架可表示一个具体对象或概念,对象或概念的性质存储在框架的槽中,低层框架都可以继承其所有祖先框架的槽、槽值及附加过程。语义继承推理比通常的逻辑演绎方法(如逻辑定理证明或产生式规则演绎推理)执行要快得多。利用继承推理,可以推导出隐含的事实,实现语义继承检索。
槽值可以是确定值,或是默认值。在一些情况下,槽既没有确定值,也没有默认值,当需要检索槽值时,可使用一个附加过程求出槽值,这种过程称为“如果需要”(if-needed)过程。槽的确定值、默认值及求值的“如果需要”过程存储在适当层次的框架中,可被其所有子孙框架共享。因此,性质的继承方式有三种:值继承、默认值继承和“如果需要”过程继承。
1.值继承
值继承就是继承确定的槽值,它可以是一个或多个值,这种类型的值存放在槽值侧面中。
2.默认值继承
在某些情况下,当缺少关于某事物的具体信息时,可以根据常识性知识作一些假定。假定值具有相当程度的真实性,但又不十分确定,这种值称为默认值,并将它存放在槽的默认值侧面(Default Facet)中。这个默认值就可以被它的子孙框架继承。例如,目前大多数微型计算机的字长为32位(二进制),在图4-2微型计算机框架中,字长槽的默认值设置为32。当用户询问IBM-PC机的字长时,该框架中无字长槽,执行继承推理,查找微型计算机框架,并继承其字长槽的默认值32,即IBM-PC机的字长为32位。
图4-2 默认值继承
3.“如果需要”过程继承
在一些情况下,当检索某槽的值,而该槽为空时,可以从祖先框架继承一个if-needed附加过程产生槽的值,这种计算的过程称为if-needed过程继承。该附加过程包含描述对象或专家知识的操作模式,如函数计算或演绎规则集合等。这种附加过程存放于较高层框架的槽的侧面中。例如,每类和每台微型计算机的外存设备及外存容量是不同的,没必要对每个计算机对象都设置外存容量槽,可根据微型计算机的硬盘台数和每台硬盘的容量来计算总的外存容量,只需设计一个计算函数或过程供继承使用即可。如图4-3所示,一个外存容量确定过程PROC存放于微型计算机框架的外存容量槽的if-needed侧面中。
若要查询IBM-PC1的总外存容量时,继承推理过程如下:
(1)向上搜索,从微型计算机框架的外存容量槽继承if-needed PROC过程;
(2)若IBM-PC1的硬盘容量槽和硬盘台数槽中有值,使用PROC过程,求这两个槽值的乘积,即为IBM-PC1的外存容量值。
此外,有关槽值的插入、修改和删除的if-added和if-deleted过程,也可以被继承使用,实现对象或概念的语义内容的修改或重定义,解决不完全继承和例外情况的排斥继承问题。
在语义网络的层级结构中,允许一个结点有多个父辈结点,并能从这些父辈结点中继承性质,称为多重继承问题。在多重继承推理中,选择继承路径可使用以下几种策略。
图4-3 “如果需要”过程继承
(1)最短路径优先策略,即优先选择最短路径。
(2)子集优先策略,当对象间存在类属关系和实例关系,优先选择实例关系。
(3)枚举策略,枚举出所有可能的推理结果,这可能会产生矛盾的结论。
以上策略对于大多数情况是有效的,但对于相同距离、相同性质的路径,尤其涉及冲突信息的问题,就不适用了。例如,假设史密斯先生是X党人士(赞成和平),又是Y党人士(反对和平),那么史密斯的信仰如何呢?这就是典型的菱形问题。处理这样的问题,如果系统任意选择其中一个就作出结论,或者不能产生结论,这样的结果不能正确地反映客观事物。事实上,正确的结论应该是反映所有相关信息的组合结果,并允许各种相关信息具有不同的重要性。解决复杂多重继承问题的有效方法之一是将相关对象作为证据,并带有一个权值,表示证据的重要程度,然后组合所有相关的证据,可将继承推理处理为非精确推理。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。