框架理论
框架理论认为,我们对世间事物的认识都是以类似框架的结构存储在记忆中的。当遇到一个新事物就从记忆中找出一个合适的框架,并根据新的情况对齐细节加以修改、补充,从而形成对这个新事物的认识。
用以往经验来认识新事物使人们常用的方法,但是我们又不可能把过往发生过的所有经验都存在脑海中,而只能用一种通用的数据结构吧它们存储起来,当新情况发生的时候只需把新的数据添加到已有的通用数据结构中便可以实例化一个具体的实体。这种通用数据结构就是框架。
框架理论中,框架是知识的基本单位,把一组有关的框架连接起来便可以形成一个框架系统。
框架的基本结构
框架通常有描述事物各个方面的若干槽(slot)组成,每一个槽也可以根据实际情况拥有若干个侧面(aspect),每一个侧面又可以拥有若干个值(value)。
在框架系统中每个框架都有自己的名字,称为框架名,每个槽跟侧面也都有自己的名字。
例如:
这个框架共有10个槽,分别描述一个硕士生在姓名,性别,年龄等10个方面的情况。其中性别这个槽的第二个侧面是默认值(default)。
该框架中的每个槽或侧面都给出了相应的说明信息,这些说明信息用来指出填写槽值或侧面值时的一些格式限制。
- 单位(unit):用来指出填写槽值或侧面值时的书写格式,例如姓名槽应先写姓后写名
- 范围(Area):用来指出所填的槽值仅能在指定的范围内选择
- 默认值(default):用来指出当相应槽没填入槽值时,以其默认值作为槽值。
- 尖括号’<>’:表示由它括起来的是框架名。
框架中给出这些说明信息,可以使框架的问题描述更加清楚,但这些信息不是必须,也可以进一步简化,省略以上说明并直接放置槽值或侧面值也可以。
框架的表示
当只是的结构比较复杂时,往往需要多个相互联系的框架来表示。
例如上面的硕士框架可以用学生框架和新的硕士框架来表示,其中新的这个硕士框架是学生框架的子框架。
学生框架描述所有学生的共性,硕士框架描述硕士生的个性,并继承学生框架的所有属性。
学生框架:
硕士框架:
在硕士框架中使用了一个系统预定义槽名AKO。所谓系统预定义槽名,是指框架表示法中事先定义好的可公用的一些标准槽名。
框架的继承,通常由框架中设置的三个侧面:Default、If-needed、If-Added来组合实现:
- If-needed:当某个槽不能提供统一的默认值时,可在该槽增加一个If-needed侧面,系统通过调用该侧面提供的过程产生相应的属性值
- If-added:当某个槽值变化会影响到其他槽时,需要在该槽增加一个If-added侧面,系统通过调用该侧面提供的过程去完成对其相关槽后继处理。
实例框架
当把一个学生的具体情况填入硕士框架之后,就可得到一个实例框架。
在这个实例框架中,用到了一个系统预定义槽名ISA,表示这个实例框架是硕士框架的实例。
框架系统
框架之间的纵向联系
纵向联系是通过定义槽名AKO、ISA来实现的。
框架之间的横向联系
一个框架的槽值或侧面值可以是另外一个框架的名字,这就在框架之间建立了横向联系。
转载:https://blog.csdn.net/hjc256/article/details/88858261