产生式方法是目前专家系统首选的知识表示方式。用于化工工业测定分子结构的DENDRAL系统,用于诊断脑膜炎和血液病毒感染的MYCIN系统,以及用于估计矿藏的PROSPECTOR系统等,都是用这种方法进行知识表示和推理的例子。
(3)语义网络表示法。语义网络是知识表示中最重要的方法之一,是一种表达能力强而且灵活的知识表示方法。语义网络利用节点和带标记的边构成的有向图描述事件、概念、状况、动作及客体之间的关系。带标记的有向图能十分自然的描述客体之间的关系。 语义网络由于其自然性而被广泛应用。采用语义网络表示的知识库的特征是利用带标记的有向图描述可能事件。结点表示客体、客体性质、概念、事件、状况和动作,带标记的边描述客体之间的关系。知识库的修改是通过插入和删除客体及其相关的关系实现的。采用网络表示法比较合适的领域大多数是根据非常复杂的分类进行推理的领域以及需要表示事件状况、性质以及动作之间的关系的领域。
语义网络表示法具有以下的优点:①把各节点之间的联系以明确、简洁的方式表示出来,是一种直观的知识表示方法;②着重强调事物间的语义联系,体现了人类思维的联想过程,符合人们表达事物间关系的习惯,因此把自然语言转换成语义网络较为容易;③具有广泛的表示范围和强大的表示能力,用其它形式的表示方法能表达的知识几乎都可以用语义网络来表示;④把事物的属性以及事物间的各种语义联系显式地表示出来,是一种结构化的知识表示法。
但是,语义网络表示法也存在着以下的缺点:①推理规则不十分明了,不能充分保证网络操作所得推论的严格性和有效性;②一旦节点个数太多,网络结构复杂,推理就难以进行;③不便于表达判断性知识与深层知识。
(4)框架表示法。框架表示法是明斯基于1975年提出的,其最突出的特点是善于表示结构性知识,能够把知识的内部结构关系以及知识之间的特殊关系表示出来,并把与某个实体或实体集的相关特性都集中在一起。 框架是一种描述固定情况的数据结构,一般可以把框架看成是一个由节点和关系组成的网络。框架的最高层次是固定的,并且它描述对于假定情况总是正确的事物,在框架的较低层次上有许多终端———被称为槽(Slots)。在槽中填入具体值,就可以得到一个描述具体事物的框架,每一个槽都可以有一些附加说明———被称为侧面(Facet),其作用是指出槽的取值范围和求值方法等。一个框架中可以包含各种信息:描述事物的信息,如何使用框架的信息,关于下一步将发生什么情况的期望及如果期望的事件没有发生应该怎么办的信息等等,这些信息包含在框架的各个槽或侧面中。
一个具体事物可由槽中己填入值的框架来描述,具有不同的槽值的框架可以反映某一类事物中的各个具体事物。相关的框架链接在一起形成了一个框架系统,框架系统中由一个框架到另一个框架的转换可以表示状态的变化、推理或其它活动。不同的框架可以共享同一个槽值,这种方法可以把不同角度搜集起来的信息较好地协调起来。
框架表示法具有以下优点:①框架系统的数据结构和问题求解过程与人类的思维和问题求解过程相似;②框架结构表达能力强,层次结构丰富,提供了有效的组织知识的手段,只要对其中某些细节作进一步描述,就可以将其扩充为另外一些框架;③可以利用过去获得的知识对未来的情况进行预测,而实际上这种预测非常接近人的认识规律,因此可以通过框架来认识某一类事物,也可以通过一系列实例来修正框架对某些事物的不完整描述(填充空的框架,修改默认值)。
框架表示法与语义网络表示法存在着相似的问题:①缺乏形式理论,没有明确的推理机制保证问题求解的可行性和推理过程的严密性;②由于许多实际情况与原型存在较大的差异,因此适应能力不强;③框架系统中各个子框架的数据结构如果不一致会影响整个系统的清晰性,造成推理的困难。
(5)面向对象的知识表示。面向对象的知识表示方法基本出发点就是:客观世界是由一些实体组成的。这些实体有自己的状态,可以执行一定的动作。相似的实体抽象为较高层的实体,实体之间能以某种方式发生联系。所谓对象就是对这些实体的映象。对象中封装了数据成员(或者叫实例成员)和成员函数(方法)。数据成员可以用来描述对象的各种属性,这些属性是对外隐蔽的。外界可以且仅可以通过成员函数访问对象的私有成员,数据成员可以被初始化,可以通过成员函数被改变,因此对象可以动态地保存当前自己的状态。由于对象中还包含了操作(成员函数),因此可以把求解机制封装于对象之中。这样对象既是信息的存储单元,又是信息处理的独立单位,它具有一定的内部结构和处理能力。各种类型的求解机制分布于各个对象,通过对象之间消息的传递完成整个问题求解过程。用对象表示的知识与客观情况更为接近,这种表示方案比较自然,易于理解。
面向对象表示法具有如下优点:①“继承”带来了天然的层次性和结构性。在高层次,对象能封装复杂的行为,使具体细节对该层知识使用保持透明,从而降低问题描述和计算推理的复杂度;通过继承可以减少知识表达上的冗余,知识库的修改、增加、删减以及使用和维护都十分方便;对一个知识单元进行修改不会影响其它单元,每一知识单元中所包含的知识规则有限,推理空间小,提高了推理效率;②对象本身的定义产生了良好的兼容性和灵活性,它可以是数据,也可以是方法;可以是事实,也可以是过程;可以是一个框架,也可以是一个语义子网络;③用几何语言来描述的话,面向对象的抽象机制实际上是将对象看成了客观世界及其映射系统的分形元,因而事物都可以由这些分形元堆垒而成。分形的特征首先是不断的细分,这和知识结构的不断扩展是一致的。其次是“比例自相似性”,使得我们有可能“从简单的原则衍生出复杂的系统”。 (6)基于本体的知识表示方法。本体是对领域实体存在本质的抽象,它强调实体间的关联,并通过多种知识表示元素将这些关联表达和反映出来,这些知识表示元素也被称为元本体,主要包括:①概念———表示领域知识元,包括一般意义上的概念以及任务、功能、策略、行为、过程等等,在本体的实现中,概念通常用类(class)来定义,而且通常具有一定的分类层次关系;②属性———描述概念的性质,是一个概念区别于其他概念的特征,通常用槽(slot)或者类的属性(Properties)来定义;③关系———表示概念之间的关联,例如一些常用的关联:父关系、子关系、相等关系;④函数———表示一类特殊的关系,即由前n-1个要素来唯一决定第n个要素,如:长方形的长和宽唯一决定其面积;⑤公理———表示永真式,在本体论中,对于属性、关系和函数都具有一定的关联和约束,这些约束就是公理,公理一般用槽的侧面(facet)来定义;⑥实例———表示属于某个概念类的具体实体。本体的每一个知识表示元素也可以被看作一个知识片,每一个知识片都包含名称、定义和文档说明。