text: 《人工智能》：框架表示法
  关注▲教AI的郑老师▲，和我一起成长。框架表示法概念1975年，美国明斯基在"A framework for representing knowledge"提出了框架理论：人们对现实世界中各种事物的认识都是以一种类似于框架的结构存储在记忆中的。框架表示法是以框架理论为基础发展起来的一种结构化的知识表示，它适用于表达多种类型的知识。1975年美国麻省理工学院明斯基(Minsky)在论文“Aframework for representing knowledge"中提出了框架理论，引起了人工智能学者的重视。他是针对人们在理解情景、故事时提出的心理学模型，论述的是思想方法不是具体实现。框架理论的基本观点是“人脑已存储有大量的典型情景，当人面临新的情景时，就从记忆中选择(粗匹配)一个称作框架的基本知识结构，这个框架是以前记忆的一个知识空框，而其具体内容依新的情景而改变，对空框的细节加工修改和补充，形成对新情景的认识又记忆于人脑中，以丰富人的知识。例如，一个人走进一个教室之前就能依据以往对“教室”的认识，想象到这个教室一定有四面墙，有门、窗，有天花板和地板，有课桌、凳子、讲台、黑板等。尽管他对这个教室的大小、门窗的个数、桌凳的数量、颜色等细节还不清楚，但对教室的基本结构是可以预见到的。因为他通过以往看到的教室，已经在记忆中建立了关于教室的框架。该框架不仅指出了相应事物的名称（教室），而且还指出了事物各有关方面的属性（如有四面墙，有课桌，有黑板……）。通过对该框架的查找就很容易得到教室的各个特征。在他进入教室后，经观察得到了教室的大小、门窗的个数、桌凳的数量、颜色等细节，把它们填入到教室框架中，就得到了教室框架的一个具体事例。这是他关于这个具体教室的视觉形象，称为事例框架。框架表示法：一种结构化的知识表示方法，已在多种系统中得到应用。 框架（frame）：一种描述所论对象（一个事物、事件或概念）属性的数据结构。一个框架由若干个被称为“槽”（slot）的结构组成，每一个槽又可根据实际情况划分为若干个“侧面”（faced）。一个槽用于描述所论对象某一方面的属性。一个侧面用于描述相应属性的一个方面。槽和侧面所具有的属性值分别被称为槽值和侧面值。槽值可以是逻辑的、数字的，可以是程序、条件、默认值或是一一个子框架。槽值含有如何使用框架信息、下一步可能发生的信息、预计未实现该如何做的信息等。在一个用框架表示的知识系统中，一般都含有多个框架，为了区分不同的框架以及一个框架内不同的槽，不同的侧面，需要分别赋予不同的名字，分别称为框架名、槽名及侧面名。因此，一个框架通常由框架名、槽名、侧面和值这四部分组成，其一般结构如下:与语义网络节点的表示结构相比较：两者表示结构接近，但框架更丰富(引入侧面)。语义网络节点形式为：<槽> :={<槽名>:<槽内容>}。框架更强调表示事物的内部结构，语义网络节点更强调表示事物间的关系。例如，要用框架来描述“优质商品”这一概念。首先分析商品所具有的属性，一个商品可能具有的属性有：商品名称、生产厂商、生产日期、获奖情况等等，这里只考虑这几个属性。这几个属性可以定义为“优质商品”框架的槽，而“获奖情况”这个属性还可以从获奖等级、颁奖部门和获奖时间这3个侧面来加以描述。如果给各个槽和侧面赋予具体的值，就得到了“优质商品”这一概念的一个实例框架。框架名：<优质商品>商品名称：红桃K生产厂商：红桃K集团生产日期：1998年6月17日获奖情况：获奖等级：省级颁奖单位：湖北省卫生厅获奖时间：2000年5月框架中4个常用的槽通常在框架系统中定义一些公用、常用且标准的槽名，并把这些槽名称为系统预定义槽名。人们在使用这些槽名时，不用说明就知道它表示何种联系。下面给出几个比较常用的、用来表示对象间关系的槽名：ISA槽ISA槽用于指出对象间抽象概念上的类属关系。其直观意义是“是一个”，“是一种”，“是一只”......。在一般情况下，用ISA槽指出的联系都具有继承性。所谓框架的继承性就是指当下层框架中的某些槽值或侧面值没有被直接给定时，可以从其上层框架中继承这些值或属性。例如，椅子一般有4条腿，如果一把具体的椅子没有指出它有几条腿时，则可以通过一般椅子的特性，得出它有4条腿。框架名：<运动员>姓名：单位(姓，名)年龄：单位(岁)性别：范围(男，女)缺省：男框架名：<棋手> ISA：<运动员>脑力：特好在此例中，棋手框架中的ISA槽指出该框架所描述的事物是运动员框架所描述事物的属性及值。AKO槽AK0槽用于具体地指出对象间的类属关系。其直观意义是“是一种”。当用它作为某下层框架的槽时，就明确地指出了该下层框架所描述的事物是其上层框架所描述事物中的种，下层框架可继承上层框架中值或属性。Instance槽Instance槽用来表示AKO槽的逆关系。当用它作为某上层框架的槽时，可在该槽中指出它所联系的下层框架。用Instance槽指出的联系都具有继承性，即下层框架可继承上层框架中所描述的属性或值。Instance槽用来建立AKO槽的逆关系。当用它作为某上层框架的槽值时，可用来指出它的下层框架是哪些。框架名：<运动员> Instance：<棋手>，<足球运动员>，<排球运动员>姓名：单位(姓，名)年龄：单位(岁)性别：范围(男，女)缺省：男Part-of槽Part-of槽用于指出部分和全体的关系。当用其作为某框架的一个槽时，槽中所填的值称为该框架的上层框架名，该框架所描述的对象只是其上层框架所描述对象的一- 部分。例如，“两条腿” 是“人体”的一部分。可以将“两条退”和”人体”分别定义成框架，“两条退'’为下层框架，“人体”为其上层框架。在“两条退”的框架中设置一个Part-of槽，槽值填入<人体>这个框架名。显然，用Part-of槽指出的联系所描述的下层框架和上层框架之间不具有继承性。框架系统相互关联的多个框架联合起来构成框架系统。框架的某些槽的侧面值可以是其它框架，进而建立起节点是框架的网络。框架分类:1. 事物组成描述复杂事物的组成(分解事物) ，例如，房间可分解为墙、天花板、地板、家具、供电等组成。Frame<房间>墙数Value：4窗数Value：2门数Value：1墙框架：墙天花板框架：天花板地板框架：地板家具框架：家具Frame<墙>墙面颜色Value:White墙面材料Value:油漆挂物框架:物窗框架:窗门框架:门Frame<天花板>.....Frame<地板>......Frame<家具>.....2. 层次分类描述事物的层次分类体系(超类-子类、类-个体) ;例如，不可能把各种房间的所有可能属性都写进房屋框架。把房间分成子类，每类房间都有自己的框架。Frame<房间>墙数Value：4窗数Value：2门数Value：1墙框架：墙天花板框架：天花板地板框架：地板家具框架：家具Frame<厨房> Ako Value：房 间转入条件：煤气罐数>0煤气罐数Value：1煤气灶框架：煤气灶煤气罐框架：煤气罐Frame<公用厨房> Ako Value：厨房转入条件：煤气罐数>1煤气罐数Value：2例题例1 教师框架框架名：〈教师〉   姓名：单位（姓、名）   年龄：单位（岁）   性别：范围（男、女）   默认：男   职称：范围（教授，副教授，讲师，助教）          默认：讲师   部门：单位（系，教研室）   住址：〈住址框架〉   工资：〈工资框架〉   开始工作时间：单位（年、月）   截止时间：单位（年、月）            默认：现在例2 教师框架当把具体的信息填入槽或侧面后，就得到了相应框架的一个事例框架。  框架名：〈教师-1〉      姓名：夏冰      年龄：36      性别：女      职称：副教授      部门：计算机系软件教研室      住址：〈adr-1〉      工资：〈sal-1〉      开始工作时间：1988，9      截止时间：1996，7例3 教室框架框架名：〈教室〉     墙数：     窗数：     门数：     座位数：     前墙：〈墙框架〉     后墙：〈墙框架〉     左墙：〈墙框架〉     右墙：〈墙框架〉     门：〈门框架〉     窗：〈窗框架〉     黑板：〈黑板框架〉     天花板：〈天花板框架〉     讲台：〈讲台框架〉例4 将下列一则地震消息用框架表示。“某年某月某日，某地发生6.0级地震，若以膨胀注水孕震模式为标准，则三项地震前兆中的波速比为0.45，水氡含量为0.43，地形改变为0.60。”解：地震消息用框架如下图所示。 框架名：〈地震〉   地   点：某地   日   期：某年某月某日   震   级：6.0   波 速 比：0.45   水氡含量：0.43   地形改变：0.60  例5下面有关地震的新闻报道，请用框架结构表示这段报道。“今天，一次强度为里氏8.5级的强烈地震袭击了下斯洛文尼亚(Low Slabovia)地区，造成25人死亡和5亿美元的财产损失。下斯洛文尼亚地区主席说：多年来，靠近萨迪壕金斯断层的重灾区一直是一个危险地区。这是本地区发生的第3号地震。”解：首先分析关于地震报道中所涉及的一些有关地震的关键属性。这些属性包括地震发生的地点、时间、伤亡人数、财产损失数量、地震强度的震级和断层情况。这些属性可以作为该框架的各个槽。接下来，将本报道中的有关数据填入相应的槽后就得到了第3号地震的框架。框架名: <第3号地震>地   点：Low SI abovia时   间：今天伤亡人数：25财产损失：5亿美元震   级：8. 5级断   层：萨迪壕金斯框架系统中求解问题的基本过程核心思想一"匹配与填槽”1. 把问题用框架表示出来。2. 与知识库中已有的框架进行匹配，找到一个或几个预造框架。3. 针对预造框架收集信息。4. 评价预造框架，决定取舍。框架表示法的特点1.结构性便于表达结构性知识，能够将知识的内部结构关系及知识间的联系表示出来。2.继承性框架网络中，下层框架可以继承上层框架的槽值，也可以进行补充和修改。3.自然性框架表示法与人在观察事物时的思维活动是一致的。如果大家喜欢我的文章，欢迎点个在看，转发到朋友圈，带动更多的ta来享受编程的快乐！你好，我是郑开心，一个持续专注于个人成长、专业精进的计算机专业教师。希望通过写作和短视频影响更多的人一起成为更好的自己。扫码添加我的微信，咱们一起成长。公众号：教AI的郑老师视频号：教AI的郑老师