什么是“框架”
• 比如我们要描述关于“上课”的知识。我们上过许多课,在这些课中,我们可抽象出许多上课的要素:
– 首先是上课的时间、地点、班级、科目、教师。
– 然后还能想到,上课还涉及到讲台、课桌、投影仪、音响设备。
– 还有可能涉及到教学活动,比如回答问题、交作业等等。
• 最终这些知识相互关联,形成对上课的“整体认识”,这就是框架。
52
什么是“框架”
• 有了关于上课的框架,我们可以写一张表,如:
• 当我们面临一门新的课程时候,我们就可以直接调用这个框架,将新课程的要素填充到框架中,就形成对新课程的认知。
XXX课程
课程属性:时间:
教室
科目
教师
设备要求:话筒
投影
计算机
教学活动:提问
交作业
53
框架的概念
• 可以看出,框架理论是一种结构化的知识表示方法,可以描述关于实体、概念、事件的属性。
• 框架理论使用层次化结构表达知识:
– 框架(frame)的顶层是固定的,表示固定的概念、对象或事件。
– 每个框架由若干槽(slot)组成,其中可填入具体值,以描述具体事物特征。
– 每个槽可有若干侧面(faces),对槽补充说明。
– 约束条件:对每个槽、侧面的属性值做约束说明
– 框架间关联:当前框架与知识库中其他框架的关联,如“自行车”框架是属于“交通工具”框架的。
54
框架的结构
• 我们把框架的结构一般化,如下图: <框架名> 槽名1: 侧面名 11: 值111,值112 约束条件… 侧面名 12: 值121,值122 侧面名 13: 值131,值132 侧面名 14: … 槽名2: 侧面名 21: 值211,值212 侧面名 22: … 侧面名 23: … 槽名3: 侧面名 31: 值311,值312 侧面名 32: … 侧面名 33: … … … … 关联框架: <框架名1, 关系>,<框架名2,关系> …
55
例2.7 建立教师框架
• 下面我们通过一些例子来说明框架表示知识的过程。
• 比如我们要建立关于教师的框架
• 首先设计描述教师的属性,如姓名、年龄、单位等
• 然后设计各个属性的约束条件
• 然后设计教师与其他框架之间的关联,
• 最后可以得到如下框架:
56
例2.7 建立教师框架
• 最后可以得到如下框架:
<教师> 姓名: 王兵 字符串
年龄: 34 数字
性别: 男 男/女
工作单位: 计算机系 字符串
职称 讲师 助教/讲师/副教授/教授
学历 博士 本科/硕士/博士
关联框架: <教职工,属于>
57
例2.8 建立框架库
• 一个完整的框架库,往往包含许多框架,框架之间存在从属关系,如下面的自然灾害框架库:
58
典型的框架知识库:FrameNet
• FrameNet(https://framenet.icsi.berkeley.edu/fndrupal)
• 是目前最著名的语义知识框架库,由加州大学伯克利分校主持构建,旨在建立通用的语义知识库。目前该框架库中包括了1200多个语义框架,设计13000多个语义单元,并提供超过200万个标注框架的例句,广泛应用于信息提取,机器翻译,事件识别,情感分析等应用。
59
小结
• 至此,我们介绍了框架的基本概念和例子。
• 回顾一下本章的主题:知识表示。我们首先介绍了一阶谓词逻辑的知识表示形式,针对一阶谓词中的问题,进行扩展,我们得到了基于产生式的知识表示形式。
• 进一步,针对产生式的关联性弱的问题,我们介绍了基于框架的知识表示。
• 上述三种方法,从形式上来说,都依赖于人工编写知识,而且多是条目性、规则性的,因此统称为基于规则的知识表示方法。
• 在人工智能研究的早期,这种人工建立的规则知识库配合自动推理方法,在求解许多问题上取得了卓越的成绩。知识库与推理机,也成为当时研究的主流问题。下一章,我们将介绍几种经典的推理方法。

