知识表⽰
知识表⽰(Knowledge Reprentation)是长期以来⼈⼯智能研究中的⼀个重要问题。在智能信息系统研究中,知识表⽰则是其核⼼部分之⼀。本章介绍六种常⽤的知识表⽰⽅法及其在信息系统中的应⽤。
2.1 知识表⽰⽅法
在⼈⼯智能中,知识表⽰就是要把问题求解中所需要的对象、前提条件、算法等知识构造为计算机可处理的数据结构以及解释这种结构的某些过程。这种数据结构与解释过程的结合,将导致智能的⾏为。智能活动主要是⼀个获得并应⽤知识的过程,⽽知识必须有适当的表⽰⽅法才便于在计算机中有效地存储、检索、使⽤和修改。
在⼈⼯智能领域⾥已经发展了许多种知识表⽰⽅法,常⽤的有:产⽣式规则、谓词逻辑、语义⽹络和框架。从其表⽰特性来考察可归纳为两类:说明型(declarative)表⽰和过程型(procedural)表⽰。
(1)说明型表⽰
说明型表⽰中,知识是⼀些已知的客观事实,实现知识表⽰时,把与事实相关的知识与利⽤这些知识的过程明确区分开来,并重点表⽰与事实相关的知识。例如,谓词逻辑,将知识表⽰成⼀个静态的事实集合,这些事实是关于专业领域的元素或实体的知识,如问题的概念及定义,系统的状态、环境和条件。
它们具有很有限的如何使⽤知识的动态信息。这种⽅法的优点是:具有透明性,知识以显⽰的准确的⽅法存储,容易修改;实现有效存储,每个事实只存储⼀次,可以不同⽅法使⽤多次;具有灵活性,这是指知识表⽰⽅法可以独⽴于推理⽅法;这种表⽰容许显式的、直接的、类似于数学⽅式的推理。
(2)过程型表⽰
过程型表⽰中,知识是客观存在的⼀些规律和⽅法,实现知识表⽰时,对事实型知识和利⽤这些知识的⽅法不作区分,使⼆者融为⼀体,例如产⽣式规则⽅法。该类⽅法常⽤于表⽰关于系统状态变化、问题求解过程的操作、演算和⾏为的知识。这种⽅法的好处是:能⾃然地表达如何处理问题的过程;易于表达不适合⽤说明型⽅法表达的知识,例如有关缺省推理和概率推理的知识;容易表达有效处理问题的启发式知识;知识与控制相结全,使得知识的相互作⽤性较好。
⽬前普遍接受的观点是,在⼤多数领域中既需要状态⽅⾯的知识,如有关事物、事件的事实,它们之间的关系,以及周围事物的状态,也需要知道如何应⽤这些知识。所以实际上,⼤多数知识系统综合运⽤两类知识表⽰⽅法。
⼀个好的知识表⽰⽅法应满⾜以下⼏点要求:
(1)具有良好定义的语法和语义;
(2)有充分的表达能⼒,能清晰的表达有关领域的各种知识;
(3)便于有效的推理和检索,具有较强的问题求解能⼒,适合于应⽤问题的要求,提⾼推理和检索的效率;
(4)便于知识共享和知识获取;
(5)容易管理,易于维护知识库的完整性和⼀致性。
2.2 产⽣式规则表⽰法
产⽣式规则(Production Rules)是逻辑蕴含、操作、推理规则以及各种关系(包括经验性联想)的⼀种逻辑抽象。这种表⽰法是以操作(即过程)为中⼼的⽅法。它很适于描述建议、指⽰及策略等有关知识,尤其专家的启发式知识。
依据逻辑推理的需要,产⽣式规则有不同的表达形式。依据推理的⽅向,产⽣式规则分为正向
规则(forward rule)和逆向规则(backward rule);依据逻辑的确定性,规则可分为确定规则和不确定规则;依据规则对知识内容的概括程度,⼜可分为特殊和⼀般性规则;依据使⽤功能还有元规则。
(1)正向规则和逆向规则
正向规则的⼀般形式是:
如果 <;前提> 则 <;结论>(if premi then conclusion)
或
如果<;情况>则<⾏为>(if ca then action)
前提可由⼀个或多个条件组成,可使⽤逻辑运算符and及or连接起来。结论中仅包含⼀个条件。⼀条规则表⽰,结论要在逻辑上或⾏为⽅式上符合于前提条件。在调⽤⼀条规则时,系统⾸先检查⼀下前部分的值是否为真。若前提为假,系统就停⽌处理该规则;若前提为真,则结论的值也为真,或执⾏结论中有关⾏为。
例如
如果⽤户⽆系统经验则需提供辅助。
逆向规则的⼀般形式是:美国政策
<;结论> 如果(if)<;前提>
在这种格式中,前提和结论的顺序被逆转。⼈们称它为逆向规则(backward rule)。在Prolog语⾔中,if⽤“︰—”代替。例如,
约翰应该乘坐飞机如果
约翰计划旅⾏的距离在600公⾥以上。
这两种格式都是常⽤的表⽰形式。
(2)确定和不确定规则
以上的格式描述了确定规则。事实上,⼀些规则可能是真的,但不全都是真的,它们可能是不确定的或不精确的。可以在规则中加⼊确定性因⼦来表达不确定知识。规则的确定性因⼦表⽰了规则为真的程度。例如,
澳龙如果短期利率的变化趋势未知
并且联帮储备制⽆膨涨倾向
则有80%的把握:下六个⽉的利率会上浮。
其中确定性因⼦80%表⽰了结论的确定性。
(3)特殊和⼀般性规则
规则可表达为不同的概括级别,规则表达的越⼀般,则应⽤越⼴泛。考虑以下两条规则:
规则1:
如果⼀个电钻有⼀根受损的电线圈
则电钻将会产⽣震动事故;
规则2:
如果⼀个烙铁有⼀根受损电线圈
则烙铁将会产⽣震动事故。
我们可将这两条特殊规则表达为⼀条较⼀般的规则:
规则3:
如果 “设备”有⼀根受损的电线圈
则 “设备”将会产⽣震动事故。
将规则表达为较⼀般形式的优点是可将规则⽤于⼀般情况。如上⾯规则3就可⽤于所有具有电线圈的设备,当增加新的同类设备,不需增设新的规则。因此,应⽤⼀般性规则,可以从相当少的规则推导出许多结论。很⾃然地,与规则的对象类或知识结构相同的所有规则都将为真。规则3中的“设备”起⼀个变量的作⽤,它可匹配许多不同的具体设备。因此,在规则中使⽤变量,可使规则较⼀般化。然⽽,应⽤⼀般性规则时必须⼩⼼,因为规则越⼀般,越有可能存在例外。有时仅⽤⼀般性规则,不能区分具体事物之间的差异,可能会产⽣模糊知识。因此,有时需要设置⼀些较特殊的规则来识别差异,消除模糊性。莲花山观景台
燕然未勒归无计(4)元规则(metarules)
⽬前,存在许多使⽤规则的⽅法。有⼀种规则⽤于控制其它规则的⾏为,这种规则称为元规则。当知识库中的规则逐渐增多时,就必须开发元规则来组织和管理知识库中规则的活动。例如,
如果顾客的年龄⼤于65岁
且规则集合1的前提中包含热衷于股票的信息
且规则集合2的前提中包含冒风险的信息
则优先应⽤规则集合1,后⽤规则集合2。
建⽴这种元知识是困难的,因为元规则是更⼀般性的规则,常存在例外。在上例中,也许存在⼀些⽼年⼈,他们有可靠的收⼊,可能喜欢冒风险。
2.3谓词逻辑表⽰法
谓词逻辑(Predicate Calculus)表⽰法是⼀种形式表达法。本节介绍基于⼀阶谓词逻辑(First Order Predicate Calculus)的⼦句形式的表⽰⽅法。它能⽤谓词演算来表⽰各种⾃然语⾔的事实,并提供⼀种从旧知识直接求得新知识的有效⽅法—⼀数学演绎。这种演绎⽅法被⼴泛⽤作求解问题的⽅法,并较容易实现。
2.3.1 谓词逻辑
⼈们曾⽤命题逻辑表达知识,很快发现它有很多局限性。例如,
李先⽣是个⼯⼈表⽰为 LI WORKER
王先⽣是个⼯⼈表⽰为 WANG WORKER
这是⼀些完全独⽴的格式,⼀个命题描述⼀条事实,我们⽆法从中得出有关李和王相似性的结论。因此,命题逻辑不适于描述包含若⼲对象的事例。如果我们把这些事实表⽰为如下形式:
WORKER(LI)
WORKER(WANG)
这就要好得多,因为这种表达结构反映出知识本⾝的结构。这种表⽰⽅法就是谓词逻辑表⽰法。
谓词逻辑是命题逻辑的扩充和发展,它允许逻辑描述包含变量和量词(仅⽤于变量)。谓词逻辑使⽤以下⼏个基本元素。
(1)常量
常量表⽰事物或概念等特指对象,例如书、椅⼦等。
(2)变量
变量表⽰泛指的对象,常⽤⼀些符号表⽰,例如X、Y、Z等。
(3)函数
函数主要⽤来限制对象的范围,表⽰对象到对象的映射,⽤f(t1,t2,……,t n)表⽰,f是函
数,t i(i=1,2,……,n)是参量。
(4)谓词(Predicate)
谓词表⽰对象的属性和对象之间的关系,⽤P(t1,t2,…,t n)表⽰⼀个n元谓词,P是谓词符号,t i(i=1,2,…,n)是谓词的参量,它可以是常量或变量。例如,“史密斯喜欢⾜球。”这个⾃然语⾔语句可表⽰为Likes(Smith,football),Likes是谓词,Smith和football是参量。
(5)逻辑运算符
∧(conjunction):合取(与)
∨(disjunction):析取(或)
~(not):否定(⾮)
国家产假
→(implication):蕴含(如果...,则...)
(6)量词
'(universal quantifier):全称量词(对于所有的)
$(existential quantifier):存在量词(存在某个)
(7)分隔符
为了明确量词的限定范围,使⽤“()”,“[]”,“{}”等分隔符。
使⽤以上基本元素,就可以定义以下谓词逻辑的构成元素。
(1)项(Term)
常数、变量或函数称为项,它可作为谓词的参数。
(2)原⼦式(Atom)
命题或谓词称为原⼦式。
(3)⽂字(Literal)
原⼦式或原⼦式的否定称为⽂字。
(4)范式(Well-Formed Formula)
A.原⼦公式是范式。
B.如果A和B是范式,则~A,A∧B,A ∨B,A→B是范式。
C.若A是范式,X是任何变量,那么('X)A和($X)A是范式。泡泡画
D.有限次运⽤A—C所产⽣的公式均为范式。
(5)⼦句(Clau)
⼦句是⽤析取符号∨连接⽂字组成的逻辑式。
定理:任何⼀个范式公式都可以等价地变换成⼀个⼦句集合,集合中各⼦句之间⽤合取符号∧连接。
若P1,P2,Q1,Q2…,Qn为原⼦式,则
P1∨P2∨~Q1∨…∨~Qn
为⼦句,根据逻辑的等价性,上式与下式等价:
川穹
Q1∧…∧Qn→PI∨P2
(6)Horn⼦句
最多由⼀个正⽂字(⾮否定的原⼦公式)组成的⼦句称为Horn⼦句。或者说,最多包含⼀个结论的⼦句称为Horn⼦句。这是由逻辑学家Alfred Horn提出的。 Horn⼦句有两种形式:
A.有头Horn⼦句
P∨~Q 1∨…∨~Qn
它等价于:Q1∧…∧Qn→P。
B.⽆头Horn⼦句
~Q1∨…∨~Qn
它等价于:Q1∧…∧Qn→。
2.3.2 知识表⽰实例
在谓词逻辑中,表⽰知识的元素是谓词、⼦句和规则(在Prolog语⾔中,所有谓词都是Horn⼦句)。若⼀个⼦句中的项全是常量,则该⼦句称为事实。从这种观点出发,每个⼦句模式可以包含若⼲实例或事实。为了便于推理,可将逻辑蕴含关系表⽰为规则。
谓词逻辑应⽤归结原理(归结反演)来求解问题,为证明⼀个语句成⽴,转化为归结证明其⾮,导出⼀个与已知语句(公理)⽭盾的结果(为空⼦集),说明该语句的⾮不成⽴,则该语句成⽴。在归结证明过程中,要使⽤谓词匹配操作,即证明两个谓词表达式恒等。谓词匹配的规则如下:
①两个谓词符相同,否则不匹配
②参量个数相等,否则不匹配
③对应参量匹配:
a.两者均为常量,两者应相等
b.⼀个为常量,另⼀个为变量,将常量赋给变量
c.两者均为变量,作变量代换
d.⼀变量能匹配⼀函数/谓词表达式,必须这个表达式不包含该变量的任⼀例⽰。
现⽤⼀个Prolog程序例⼦说明知识的表⽰及演绎检索(Deductive Retrieval)处理。
(1)事实
事实⽤于描述对象之间的关系。事实的⼀般格式为:
关系(对象,对象,…,对象),
其中,“关系”是谓词,对象是谓词的参量。
例如,⽂献信息可⽤⽂献谓词描述,谓词参量包括:⽂献号、篇名、著者、出处、出版⽇期、主题,即
⽂献(⽂献号,篇名,著者,出处,出版⽇期,主题)。
主题知识可⽤主题谓词表⽰:
主题(主概念,⼦概念)。
八大关宾馆其中,“主概念”可代表单个概念,“⼦概念”是⼀个词表,标志着数据库中这个主题组⾯,它们直接从属于主概念。所有主题谓词集中在⼀起,可以形成⼀个主题词索引。
⽤户信息可使⽤⽤户谓词表⽰:
⽤户(⽤户名,主题)。
其中的“主题”描述⽤户感兴趣的主题领域。
(2)规则