目录
- 一、知识表示(Knowledge Representation)的基本概念
- 二、谓词逻辑(Predicate Logic)表示法
- 三、产生式(Production Rule)表示法
- 四、语义网络(Semantic Network)表示法
- 五、框架(Frame)表示方法
- 六、状态空间(State Space)表示法
一、知识表示(Knowledge Representation)的基本概念
知识的基本单元:概念(Concept)
知识由概念组成,概念是构成人类知识和思维体系的基本单元
概念:人脑对客观事物的一般的、本质的特征
概念的三部分:
- 概念名:由一个字或一个词语表示概念的名称
- 概念的内涵:概念所反映的事物对象所特有的属性,通常用命题表示
- 概念的外延:由满足概念内涵表示的对象构成的经典集合
例:
概念名:奇数
内涵:奇数是不能被2整除的整数,可分为正奇数、负奇数
外延:正奇数集合
{
1
,
3
,
5
,
7
,
⋯
}
\{1,3,5,7,\cdots\}
{1,3,5,7,⋯},负奇数集合
{
−
1
,
−
3
,
−
5
,
−
7
,
⋯
}
\{-1,-3,-5,-7,\cdots\}
{−1,−3,−5,−7,⋯}
知识的类型:
- 结构性知识(描述关系)
- 过程性知识(描述命令,规则,策略)
- 陈述性知识(描述概念、事实和对象)
- 启发性知识(领域或对象的一些专业知识,经验)
- 元知识(有关其他类型知识的知识)
知识的特性:
- 相对正确性
- 不确定性
- 可表示性与可利用性
知识表示:将人类的知识形式化(符号化)或模型化(结构化),以便机器识别与理解
AI中需要表达的各种知识,主要包括:
- 事件
- 对象
- 事实
- 元知识
- 知识库
- 表现
主要的知识表示方法:
- 陈述性表示方法(事实性知识)
- 过程性表示方法(规则和控制结构知识)
二、谓词逻辑(Predicate Logic)表示法
逻辑:思维的规律和规则
包括:
- 形式逻辑
- 归纳逻辑
- 演绎逻辑
- 数理逻辑
- 命题逻辑
- 谓词逻辑
- 二阶、三阶逻辑……
命题逻辑:见这篇文章
原子命题:不包括其他命题作为其组成部分的命题
复合命题:通过命题连接词连接而成的包括其他命题作为其组成部分的命题
逻辑等价:如果命题 p p p和命题 q q q在所有情况下都具有相同的真假结果,则 p p p和 q q q在逻辑上等价,一般表示为 p ≡ q p\equiv q p≡q
推理:按照某种策略从前提除法,推出结论的过程
常见的推理规则:
- 假言推理: a → b , a ⇒ b a\to b, a\Rightarrow b a→b,a⇒b
- 与消解: a 1 ∧ a 2 ∧ ⋯ ∧ a n ⇒ a i ( 1 ≤ i ≤ n ) a_1\land a_2\land\cdots\land a_n\Rightarrow a_i(1\le i\le n) a1∧a2∧⋯∧an⇒ai(1≤i≤n)
- 与导入: a 1 , a 2 , ⋯ , a n ⇒ a 1 ∧ a 2 ∧ ⋯ ∧ a n a_1,a_2,\cdots,a_n\Rightarrow a_1\land a_2\land\cdots\land a_n a1,a2,⋯,an⇒a1∧a2∧⋯∧an
- 双重否定: ¬ ¬ a ⇒ a \neg\neg a\Rightarrow a ¬¬a⇒a
- 单项消解或单项归结: a ∨ b , ¬ b ⇒ a a\lor b,\neg b\Rightarrow a a∨b,¬b⇒a
- 消解或归结(resolution): a ∨ b , ¬ b ∨ c ⇒ a ∨ c a\lor b,\neg b\lor c\Rightarrow a\lor c a∨b,¬b∨c⇒a∨c
谓词逻辑:可以参考这篇文章
知识的谓词逻辑表示:用谓词逻辑既可以表示事物的状态、属性、概念等事实性知识,也可以表示事物间具有因果关系的规则性知识
e.g.
Musk是一名资本家,喜欢裁员。
Capitalist
(
Musk
)
∧
Like
(
Musk
,
Layoff
)
\text{Capitalist}(\text{Musk})\land \text{Like}(\text{Musk},\text{Layoff})
Capitalist(Musk)∧Like(Musk,Layoff)
谓词逻辑表示知识的步骤:
- 定义谓词及个体
- 为每个谓词中的变量赋值
- 用逻辑连接词把谓词连接起来
一阶谓词逻辑表示法的特点:
- 优点:
- 严密性
- 自然性
- 通用性
- 知识易于表达
- 易于实现
- 缺点:
- 组合爆炸
- 灵活性差
- 效率低
三、产生式(Production Rule)表示法
规则:描述前提与结论之间的因果关系式
确定性规则的表示:
IF P THEN Q
- P:前提(前件),由事实的逻辑组合构成,给出产生式可否使用的先决条件
- Q:结论/操作,当前件满足时应该推出的结论或应该执行的动作
- e.g. 若
动物会飞
且动物会下蛋
,则动物是鸟
。 IF 动物会飞 AND 动物会下蛋 THEN 该动物是鸟
。
不确定性规则的表示:
IF P THEN Q (置信度)
- e.g. 如果发烧,就有60%的几率会感冒。
IF 发烧 THEN 感冒 (0.6)
。
确定性事实的表示:
- (对象,属性,值) e.g. (Musk, Age, 51)表示Musk的年龄是51岁
- (关系,对象1,对象2) e.g. (Daughter, Vivian, Musk)表示Vivian是Musk的女儿
不确定性事实的表示:
- (对象,属性,值,置信度) e.g. (Musk, Age, 51, 0.9)表示Musk的年龄有大概90%的可能性是51岁
- (关系,对象1,对象2,置信度) e.g. (Daughter, Dora, Musk, 0.05)表示Dora只有5%的可能性是Musk的女儿
产生式的形式描述与语义——巴科斯范式(Backus Normal Form)
- 产生式 = 前提 → 结论
- 前提 = 简单条件 | 复合条件
- 结论 = 事实 | 操作
- 符合条件 = 简单条件 AND/OR 简单条件 AND/OR 简单条件 …
- 操作 = 操作名[变元,…]
产生式系统:
规则库:相应领域知识的集合
推理机:控制系统
综合数据库:存放事实、中间结果和最终结论等求解过程数据(类似于人脑短时记忆)
专家系统:根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家解决领域问题的计算机程序系统
产生式表示的特点:
- 优点:
- 自然性
- 模块性
- 有效性
- 清晰性
- 缺点:
- 效率不高、不能表达结构性知识
- 理解难、独立性强
- 适合表示的知识:
- 领域知识之间关系不密切,不存在结构关系
- 没有严格、统一的理论
- 求解过程可被表示为一系列独立的操作,每个操作可被表示为一条或多条规则
四、语义网络(Semantic Network)表示法
语义基元:在语义网络表示中最基本的语义单元,用三元组表示:(节点1, 弧, 节点2)
语义基元的图表示(基本网元):
语义网络:把多个语义基元用相应的语义联系起来
语义网络中弧的方向是有意义的(有向图),不能随意调换
语义网络和谓词逻辑表示有着相同的表示能力,三元组(节点1, 弧, 节点2)
用谓词逻辑可以表示为P(节点1, 节点2)
,其中弧的功能由谓词完成
属性继承:凡是由上位概念(B)具有的属性均可由下位概念(A)继承
常用的基本语义关系:
(1) 实例关系(ISA, is a):A是B的例子,具有属性的继承性
(2) 分类关系(AKO, a kind of):A是B的成员,具有属性的继承性
(3) 成员关系(A-Member-Of):A是B的成员(强调个体与集体的关系),具有属性的继承性
(4) 属性关系:A的某属性是B,属性关系可以有很多种
(5) 包含关系(Part-Of):部分与整体之间的关系,一般不具备属性的继承性
(6) 时间关系:时间上的先后次序关系,不具备属性的继承性,包括Before
和After
(7) 位置关系:指不同的事物在位置方面的关系,不具备属性的继承性,如Located-on
、Located-at
、Located-under
、Located-inside
、Located Outside
、In
(8) 相近关系(Similar-to):A与B在某方面相似
(9) 推论关系(Reasoning-to):某一概念可以由另一概念推导出来
语义网络举例:
- 动物能吃,能运动
- 鸟是一种动物,鸟有翅膀,会飞
- 鱼是一种动物,鱼生活在水中,会游泳
事件和动作的表示:需要给事件设立一个节点,时间节点有时向外引出一些弧,表示动作的主体和客体
逻辑表示法、产生式表示法与语义网络表示法的比较:
Musk和Peter是朋友
- 逻辑表示法: Friend ( Musk , Peter ) \text{Friend}(\text{Musk},\text{Peter}) Friend(Musk,Peter)
- 产生式表示法:
IF Musk and Peter THEN Friend
- 语义网络表示法:
语义网络表示法的特点:
- 优点:
- 直观
- 体现了人类思维的联想过程
- 表示能力强大
- 结构化
- 缺点:
- 推理规则不明了
- 节点个数太多,网络结构复杂,推理就难以进行
- 不便于表达判断性知识与深层知识,没有任何等价的量词
五、框架(Frame)表示方法
框架:由若干槽(slot)组成
槽:描述对象某一方面的属性,由若干侧面(facet)组成
侧面:用于描述相应属性的若干细分属性
槽值和侧面值:分别为槽和侧面的若干细分属性
框架结构的一般表示形式(感觉和JSON
,YAML
很像?):
(约束条件是任意的,可以没有)
再比如
框架名: <Musk>
Age: 51
Gender: Male
Wives: First Wife: Justine
Second Wife: Talulah
框架表示法的特点:
- 优点:
- 结构性
- 继承性
- 自然性
- 缺点:
- 只善于表达静态知识,不能表达过程性的知识
- 缺乏框架的形式理论,框架的清晰性难以保证
六、状态空间(State Space)表示法
状态(state):描述某类不同事物间的差别的某种结构的符号或数据,用四元组表示
(
S
,
O
,
S
0
,
G
)
(S,O,S_0,G)
(S,O,S0,G)
S
S
S:状态集合
O
O
O:操作算子集合,每个算子可以把一个状态转换为另一个状态
S
0
⊂
S
S_0\subset S
S0⊂S:初始状态集合
G
⊂
S
G\subset S
G⊂S:目的状态集合
(感觉和图灵机有点像?)
状态空间的有向图描述:
-
图的节点:问题的状态
-
图的弧:状态间的关系
-
从一个状态转移为另一个状态的某个操作算子序列等价于在有向图中的某一路径
例: -
八数码问题:状态为棋盘布局,操作算子为移动(上下左右)
-
旅行商问题:状态为当前地点,操作算子为从一个地点移动到下一个地点
-
汉诺塔问题:状态为每个金片在哪根柱子上,操作算子为移动金片
-
传教士与野人问题:状态为左岸的(传教士数,野人数,船数),操作算子为摆渡