框架表示法是以框架理论为基础发展起来的一种适应性强、概括性高、结构化良好、推理方式灵活、又能把陈述性知识与过程性知识相结合的知识表示方法。
Minsky在1975年的一篇论文中提出了框架理论,基本观点是:当一个人遇到新的情况或者其看待问题的观点发生实质性变化时,他会从记忆中选择一种结构,即“框架”。这是一种记忆下来的轮廓,按照需要改变其细节就可以用其拟合真实情况。
根据Minsky的理论,可以把框架看作是一种静态的数据结构,用来表示熟知的典型情况。人们对世界的知识是按照像框架一样的结构组织的,通过调用根据过去经验构造出的信息,可以把框架调整到所有新的情况。使用框架可以在现实组织的数据结构中捕捉问题域中隐含的信息连接,把知识组织成更复杂的单元,以反映问题域中对象的组织方式。
例如,当一个人将要走进一间教室之前,他能够预见教室的基本结构,如教室一定有四面墙,有门、窗、天花板、地板、黑板、讲台、课桌椅等,这是由于之前在其头脑中已经建立了有关“教室”这一概念的基本框架。这一基本框架不仅指出了相应事物的名称(教室),而且还指出了事物各有关方面的属性(墙、门、窗、黑板、讲台、课桌椅等),通过对该框架的查找就很容易得到有关教室的特征。当这个人进入到教室之后,经过观察得到教室的大小、门窗个数等细节,把这些数据填入到教室框架中,就得到教室框架的一个具体实例,称为实例框架。
框架提供了一种组织工具,利用框架可以将实例表示为结构化的对象,对象可以带有命名槽和相应的值。
框架理论将框架视为知识的单位,将一组有关的框架联结起来便形成框架系统。系统中不同框架可以有共同节点,系统的行为由系统内框架的变化来表现,推理过程是由框架间的协调来完成的。
1.框架的定义及组成
框架(Frame)是一种描述所论对象属性的数据结构,一个框架框架名、槽(slot)、侧面和值4个部分组成。在框架表示中,槽用于描述事物的各个方面的属性。一个框架可以有若干个槽,一个槽描述所论及对象的某一方面的属性,一个侧面用于描述相应属性的一个方面。每个槽可以拥有若干个侧面,而每个侧面又可以有若干个值。槽和侧面所具有的属性值分别称为槽值和侧面值。槽值可以是逻辑型或数字型的,具体的值可以是程序、条件、默认值或者是一个子框架。例如:一个人可以用其职业、身高和体重等项描述,因而可以用这些项目组成框架的槽。当描述一个具体的人时,再将这些项目的具体值填入到相应的槽中。
框架可用如下格式表示:
一个槽的默认侧面为槽的属性提供了一个隐含值。如椅子的腿通常为4条,如果一个实际问题的上下文没有提供相反的证据,则认为隐含值是正确的。一个槽的附加过程侧面包含一个附加过程,在上下文和默认侧面都没有给出需要的属性值时,附加过程给出槽值的计算过程或填槽时要做的动作,通常对应于一组子程序。附加过程把过程性知识有机地结合到框架的表示之中。框架系统除了有继承关系,还有嵌套关系。
在框架系统中,每个侧面有四种填写方式:
(1)靠已知的情况或物体属性提供;
(2)通过默认隐含;
(3)通过调用框架的继承关系实现属性值继承;
(4)对附加过程侧面通过执行附加过程实现。
2.用框架表示知识的步骤
对于要被表达的知识,其中可能包含着许多对象,各对象之间有着各种各样的联系,将这些有关系的对象的框架联结起来,便形成了要被表达知识的框架系统。用框架表示知识的步骤如下:
(1)分析待表达知识中的对象及其属性,对框架中的槽进行合理设置。依次为:
①把被表达的知识中的所有对象找出来。
②用框架将各对象表示出来。
③对对象的属性进行筛选,把需要的属性找出来,并为其设置相应的槽。
(2)对各对象间的各种联系进行考察,使用一些常用的或根据具体需要定义一些表达联系的槽名,来描述上下层框架间的联系。常用的槽名有:
①ISA槽。ISA槽用于指出对象间抽象概念上的类属关系,其直观含义是“是一个”、“是一种”或“是一只”等。ISA槽指出的联系具有继承性,即下层框架可继承上层框架所描述的属性及值。
②AKO槽。AKO槽用于具体地指出对象间的类属关系,其直观含义是“是一种”。当用它作为某下层框架的槽时,就明确了该下层框架所描述的事物是其上层框架所描述事物中的一种,下层框架可继承上层框架中的属性及值。(www.daowen.com)
③Instance槽。Instance槽用来表示AKO的逆关系。当用它作为某上层框架的槽时,可在该槽中指出它所联系的下层框架。用Instance槽指出的联系都具有继承性,即下层框架可继承上层框架所描述的属性及值。
④Part -of槽。Part-of槽用于指出“部分”与“全体”的关系。当用其作为某框架的一个槽时,槽中所填的值称为该框架的上层框架,该框架所描述的对象只是其上层框架所描述对象的一部分。Part-of槽所描述的上下层框架间不具有属性继承性。如:“人体”和“手”的关系可用Part -of槽联系。
(3)对各层对象的“槽”及“侧面”进行合理组织安排,避免信息描述的重复。表示知识时,把不同框架中的相同属性抽取出来构成上层框架,而在下层框架中只描述某一种对象所具有的独特属性。
【例1】 教室框架。教室框架由14个槽组成,分别描述“教室”的14个方面的情况或属性。如果把某个具体教室的有关情况填入槽或侧面后,就得到一个该教室的实例框架。
【例2】 有关于地震的报道:“今天,一次强度为里氏8.5级的强烈地震袭击了下斯洛文尼亚地区,造成25人死亡和25亿美元财产损失。下斯洛文尼亚地区主席说:多年来,靠近萨迪壕金斯断层的重灾区一直是一个危险地区。这是本地区发生的第3号地震。”
用框架表示如下:
(1)确定属性,即框架的槽。有地点、时间、伤亡人数、财产损失数量、地震强度、断层情况等。
(2)分析各对象间的关系。本例只涉及地震一件事,即只有一个对象。
(3)将有关数据填入相应的槽,得到3号地震的框架。
地震是一种自然灾害,自然灾害也包括了洪水、飓风等,于是本例中的框架,可以上移一层,发展为框架系统。
自然灾害、地震、洪水、飓风都可以用框架表示,用框架联系ISA/Instance将它们联系起来即形成了一个框架系统。
3.框架的推理
框架表示下的知识推理方法与语义网络表示下的知识推理方法类似,遵循匹配和继承的原则。框架表示的问题求解系统由两部分构成:一是由框架及其相互关联构成的知识库;二是用于求解问题的解释程序——即推理机。
框架求解问题的匹配推理步骤:
(1)把待求解问题用一个框架表示出来,其中有的槽时空的,表示待求解的问题,称为未知处。
(2)与知识库中已有的框架进行匹配。通过对应的槽名及槽值逐个进行比较来进行匹配,如果两个框架的各对应槽没有矛盾或者满足预先规定的某些条件,就认为这两个框架可以匹配。找出一个或几个可匹配的预选框架作为初步假设,在初步假设的引导下收集进一步的信息。
(3)使用一种评价方法对预选框架进行评价,以便决定是否接受它。
(4)若可接受,则与问题框架的未知处相匹配的事实就是问题的解。
值得注意的是,由于框架间存在继承关系,一个框架所描述的某些属性及值,可能是从它的上层框架那里继承过来的,因此两个框架的比较往往要涉及它们的上层、上上层框架,这就增加了匹配的复杂性。框架系统的问题求解过程,是符合人们求解问题思维过程的。
4.框架表示法的特点
(1)框架表示法最突出的特点是能够把知识的内部结构关系及知识间的联系表示出来,是一种结构化的知识表示方法。
(2)框架表示法通过将槽值设置为另一个框架的名字而实现框架间联系,建立起表示复杂知识的框架网络。下层框架可以继承上层框架的槽值,也可以进行补充和修改,不仅减少了知识的冗余,而且较好地保证了知识的一致性。
(3)框架表示法体现了人们在观察事物时的思维活动,当遇到新事物时,通过从记忆中调用类似事物的框架,并将其中某些细节进行修改、补充,形成对性事物的认识,这与人们的认识活动是一致的。(4)框架表示法的不足之处是不善于表达过程性知识。因此,经常与产生式表示法结合起来使用,取得互补的效果。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。