人工智能中的知识表达[转载]
1.知识的概念
Feigenbaum认为知识是经过削减、塑造、解释和转换的信息。简单地说,知识是经过加工的信息。
Bernstein说知识是特定领域的描述、关系和过程组成。
Hayes-Roth认为知识是事实、信念和启发式规则。
知识可从(范围,目的,有效性)加以三维描述。其中知识的范围是由具体到一般,知识的目的是由说明到指定,知识的有效性是由确定到不确定。例如“为了证明 A→B,只需证明A∧~B是不可满足的”这种知识是一般性、指示性、确定性的。而像“桌子有四条腿”这种知识是具体的、说明性、不确定性。
知识表示是研究用机器表示知识的可行性、有效性的一般方法,是一种数据结构与控制结构的统一体,既考虑知识的存储又考虑知识的使用。知识表示可看成是一组描述事物的约定,以把人类知识表示成机器能处理的数据结构。
2.人工智能系统所关心的知识
一个智能程序高水平的运行需要有关的事实知识、规则知识、控制知识和元知识。
事实:是有关问题环境的一些事物的知识,常以“...是...”的形式出现。如事物的分类、属性、事物间关系、科学事实、客观事实等,在知识库中属于低层的知识。如雪是白色的、鸟有翅膀、张三李四是好朋友。
规则:是有关问题中与事物的行动、动作相联系的因果关系知识,是动态的,常以“如果...那么...”形式出现。特别是启发式规则是属于专家提供的专门经验知识,这种知识虽无严格解释但很有用处。
控制:是有关问题的求解步骤,技巧性知识,告诉怎么做一件事。也包括当有多个动作同时被激活时应选哪一个动作来执行的知识。
元知识:是有关知识的知识,是知识库中的高层知识。包括怎样使用规则、解释规则、校验规则、解释程序结构等知识。
对知识通过引入谓词、函数来加以形式描述,获得有关的逻辑公式,进而以机器内部代码表示。
设在一个房间里,有一个机器人ROBOT,一个壁室ALCOVE,一个积木块BOX,两个桌子A和B。机器人可把积木块BOX从一种状态变换成另一种状态。
引入谓词:
TABLE(A)表示A是桌子
EMPTYHANDED(ROBOT)表示机器人双手是空的
AT(ROBOT,A)表示机器人在A旁
HOLDS(ROBOT,BOX)表示机器人拿着积木块
ON(BOX,A)表积木块BOX在A上
产生式是一种知识表达方法,具有和Turing机一样的表达能力。
4.3.1 事实与规则的表示
事实可看成是断言一个语言变量的值或是多个语言变量间的关系的陈述句,语言变量的值或语言变量间的关系可以是一个词。不一定是数字。如雪是白色的,其中雪是语言变量,其值是白色的。John喜欢Mary,其中John、Mary是两个语言变量,两者的关系值是喜欢。
一般使用三元组(对象,属性,值)或(关系,对象1,对象2)来表示事实,其中对象就是语言变量,若考虑不确定性就成了四元组表示(增加可信度)。这种表示的机器内部实现就是一个表。
如事实“老李年龄是35岁”,便写成(Lee,age,35)
事实“老李、老张是朋友”,可写成(friend,Lee,Zhang)
对于规则是表示事物间的因果关系,以下列形式表示:
condition->action
condition作为前件或模式,而action称作动作或后件或结论。前件部分常是一些事实Ai的合取,而结论常是某一事实B,如考虑不确定性,需另附可信度度量值。
4.3.2 产生式系统的组成和推理
多数较为简单的专家系统(Expert System)都是以产生式表示知识的,相应的系统称作产生式系统。
产生式系统,由知识库和推理机两部分组成。其中知识库由规则库和数据库组成。规则库是产生式规则的集合,数据库是事实的集合。
规则是以产生式表示的。规则集蕴涵着将问题从初始状态转换解状态的那些变换规则,规则库是专家系统的核心。规则可表成与或树形式,基于数据库中的事实对这与或树的求值过程就是推理。
数据库中存放着初始事实、外部数据库输入的事实、中间结果事实和最后结果事实。
推理机是一个程序,控制协调规则库与数据库的运行,包含推理方式和控制策略。
产生式系统的推理方式有正向推理、反向推理和双向推理
正向推理:从已知事实出发,通过规则库求得结论,或称数据驱动方式。推理过程是
-
规则集中的规则前件与数据库中的事实进行匹配,得匹配的规则集合。
- 从匹配规则集合中选择一条规则作为使用规则。
- 执行使用规则的后件。将该使用规则的后件送入数据库中
- 重复这个过程直至达到目标
具体说如数据库中含有事实A,而规则库中有规则A->B,那么这条规则便是匹配规则,进而将后件B送入数据库中。这样可不断扩大数据库直至包含目标便成功结束。如有多条匹配规则需从中选一条作为使用规则,不同的选择方法直接影响着求解效率,选规则的问题称作控制策略。正向推理会得出一些与目标无直接关系的事实,是有浪费的。
反向推理:从目标(作为假设)出发,反向使用规则,求得已知事实,或称目标驱动方式,推理过程是:
- 规则集中的规则后件与目标事实进行匹配,得匹配的规则集合;
- 从匹配的规则集合中选择一条规则作为使用规则;
- 将使用规则的前件作为子目标;
- 重复这个过程直至各子目标均为已知事实成功结束;
如果目标明确,使用反向推理方式效率较高。
双向推理:同时使用正向推理又使用反向推理。
4.3.3 产生式表示的特点
产生式表示格式固定,形式单一,规则(知识单位)间相互较为独立,没有直接关系使知识库的建立较为容易,处理较为简单的问题是可取的。另外推理方式单纯,也没有复杂计算。特别是知识库与推理机是分离的,这种结构给知识的修改带来方便,无须修改程序,对系统的推理路径也容易作出解释。所以,产生式表示知识常作为构造专家系统的第一选择的知识表示方法。
逻辑表示法和产生式表示法常用于表示有关论域中各个不同状态间的关系,然而用于表示一个事物同其各个部分间的分类知识就不方便了。槽(slot)与填槽表示方法便于表示这种分类知识。语义网络和框架表示方法就属于其中的两种。
4.4.1 语义网络的结构
语义网络是对知识的有向图表示方法。一个语义网络是由一些以有向图表示的三元组(结点1,弧,结点2)连接而成。
结点表示概念、事物、事件、情况等。
弧是有方向的有标注的。方向体现主次,结点1为主,结点2为辅。弧上的标注表示结点1的属性或结点1和结点2之间的关系。
如事实“雪是白色的”,可表示成:
如规则“如果A那么B”,可表示成:
这样事实与规则的表示是相同的,区别仅是弧上的标注有别。
从逻辑表示法来看,一个语义网络相当于一组二元谓词。因为三元组(结点1,弧,结点2)可写成P(个体1,个体2),其中个体1、个体2对应于结点1、结点2,而弧及其上标注的结点1与结点2的关系由谓词P来体现。
语义网络视作一种知识的单位,人脑的记忆是由存储了大量的语义网络来体现的。而产生式表示法是以一条产生式规则作为知识的单位,而各条产生式规则没有直接的联系。
结点间的关系有isa,a-part-of,is型
(1)ISA链用来表示具体-抽象关系,或说表示一种隶属关系,体现某种层次分类。特点是具体层结点可继承抽象层结点的属性。
(2)a-part-of链用来表示部分-全体关系,或说表示包含关系。特点是part-of关系下各层结点的属性可能是很不相同的。
(3)is链用于表示一个结点是另一个结点的属性
例:苹果的语义网络
4.4.2 语义网络表示下的推理
语义网络表示下的推理方法不像逻辑表示法和产生式表示法的推理方法那样明了。语义网络表示法是依匹配和继承来进行推理的。最简单的isa关系下的推理是直接继承,如:
也可以将语义网络引入逻辑含义,表示出∧,∨,~关系,便可以使用归结推理法。
还有人将语义网络中的结点看成有限自动机(DFA),为寻求几个概念间的关系,起动相应的自动机,如有回合点便可求得解答。
4.5.1 框架理论
1975年Minsky的论文“A framework for respresenting knowledge”中提出了框架理论。其基本观点是人脑已存储有大量典型情景,当人面临新的情景时,就从记忆中选择一个称为框架的基本知识结构,这个框架是以前记忆的一个知识空框,而其具体内容依新的情景而改变,对这空框的细节加工修改和补充,形成对新情景的认识又记忆于人脑中。框架理论将框架视作的知识单位,将一组有关的框架连接起来便形成框架系统。系统中不同框架可以有共同结点,系统的行为由系统内框架的变化来表现的。推理过程是由框架间的协调来完成的。
框架表示法是一种适应性强、概括性高、结构化良好、推理方式灵活又能把陈述性知识与过程性知识相结合的知识表示方法。
4.5.2 框架结构
框架是由若干结点和关系(统称为槽slot)构成的网络。是语义网络一般化形式化的一种结构,同语义网络没有本质区别。将语义网络中结点间弧上的标注也放入槽内就成了框架表示法。
框架是表示某一类情景的结构化的一种数据结构。框架由框架名和一些槽(slot)组成,每个槽有一些值,槽值可以是逻辑的、数字的,可以是程序、条件、默认值或是一个子框架。槽值含有如何使用框架信息、下一步可能发生的信息、预计未实现该如何做的信息等。
框架的一般格式:
FRAMEWORK:<framework name>
<slot 1>
<face 11>:value
...
<face 1n>:value
<slot 2>
<face 21>:value
...
<face 2n>:value
...
例:
framework: <大学教师>
类属:<教师>
学历:(学士,硕士,博士)
专业:<学科专业>
职称:(助教,讲师,副教授,教授)
外语:
范围:(英,法,德,...)
默认:英
水平:(优、良、中、差)
默认:良
4.5.3 框架表示下的推理
框架表示法没有固定的推理机理。但框架系统的推理和语义网络一样遵循匹配和继承的原则,而且框架中如if-needed、if-added等槽的槽值是附加过程,在推理过程中起重要作用。如确定一个人的年龄,已匹配的知识库中的框架为
槽名
年龄:NIL
if-needed:ASK
if-added:CHECK
在推理的过程中便启动了if-needed和if-added两个槽的附加过程ASK和CHECK。
4.5.4 框架与产生式表示法的比较
production | framework | |
知识表示单位 | 规则 | 框架 |
推理 | 固定、与知识库独立 | 可变,与知识库成一体 |
建立知识库 | 容易 | 困难 |
通用性 | 低 | 高 |
应用 | 简单问题 | 复杂问题 |
用户 | 初学者 | 专家 |