经典表示方法
# 知识表示方法
为了给AI系统提供必要的知识,国内外都建设了很多知识库系统,一般来说,AI系统为完成复杂任务(如疾病诊断、人机对话)而构建的一套表示相关知识的符号集合就是知识表示
常见的经典表示方法:
- 框架(frame)
- 语义网络(semantic network)
- 产生式(production network)
# 框架
通过描述对象(事物)的属性而建立的一种知识表示,用以表示事物的属性、事物之间的类属关系、事物的特征与变异。
基本思想: 将各类事物的状态、属性、发展过程和相互关系存在的规律性(模式或套路)总结出来形成一种表示方式,在认识新事物时,可以类比地套用最相近的模式进行匹配,尽快地获得对新事物的全面认知。
框架表示的基本形式是<slot>-<value>,slot
可以称为属性,相对应的value
即为属性值,如果一个slot
不足以表示复杂的属性,可以继续定义slot
以下的框架,称之为侧面(facet)
框架的表示形式反映了人类认识事物的一种方法,即对事物的层级式分类,这种形式有助于推进人们对一个事务不断地深入认识。以下是框架的例子
框架名: 自然灾害
slot1: 时间
slot2: 地点
slot3: 伤亡
facet3.1: 死亡人数
facet3.2: 失踪人数
slot4: 损失
facet4.1: 直接经济损失
facet4.2: 间接经济损失
框架名: 大象
所属类别: 哺乳动物
拥有部分:象牙
体型:大型
2
3
4
5
6
7
8
9
10
11
12
13
14
框架表示的主要特点为:
- 每个框架都有框架名,框架名可以带参数,用于说明其中的某些属性
- 每个框架有一组属性,每个属性称为一个
slot
,用于存放value
- 每个
slot
有一定的数据类型,不同slot
的类型不同 value
可以说子框架调用,调用时可以带参数- 有些
value
可以事先确定,有些value
则需要在生成实例时再给出 - 生成
value
时需要满足一定条件,不同value
间有时需要满足一定的约束条件
再举一个例子: ![[Pasted image 20220311210317.png]]
框架名: 立方体斜俯视图
物体: 立方体
视角: 斜俯视
呈现形状: 六角形
姿态: 平卧
调用框架: 面斜视图
框架名: 面X斜视图(y1,y2,y3,y4)
物体: 矩形面
视角: 斜俯视
呈现形状: 平行四边形
左上边: y1
右上边: y2
左下边: y3
右下边: y4
姿态: 直立/平卧
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 语义网络
语义网络作为一种只是表示形式,自二十世纪五十年代起就有研究者进行探索与改进。后来语义网络的形式又衍生出了知识图谱(knowledge graph) ![[Pasted image 20220311215141.png]]
# 产生式系统
也称为产生式规则系统,包含了一组描述行为的规则,用以表示知识单元之间大量存在的因果关系,常用于推理。 一个典型的产生式系统包含三个组成部分:
- 产生式:一组产生式规则,每条规则分为前后件,其中前件是条件,后件是结论或者动作
- 数据基:一个数据集合,用于存放在推理过程中的已知条件、推导出的中间结果和最终结论
- 控制系统(推理引擎):用于控制系统的运行,根据数据基中当前的数据,来选择合适的规则,不同的规则选择方法能构成不同的控制策略。
举个例子: 三个人参与猜帽子游戏,每个人看不到自己帽子的颜色,设帽子分为红白色,其中至少有一顶白色帽子,此时有个人抢答了。请问他是如何获胜的?
通过看别人头上的帽子颜色和别人的回答反应,来给出推断的规则。
# Wumpus 怪兽世界
![[Pasted image 20220311220425.png]]
该游戏场景是4x4的,怪物会在周围格子发出臭味,陷阱的周围格子会有微风,玩家需要找到金子。当碰到怪兽/陷阱时就会失败,推理原理与扫雷相似