《知识表示》PPT课件.ppt
第4章 知识表示,1知识表示概述2知识表示方法3知识表示方法选取 4知识表示应用,重点:知识表示方法。难点:用各种知识表示法表示实际问题。,农夫、狐狸、鹅和麦粒 农夫欲将一只银狐、一只肥鹅和一些可口的麦粒带到河的对岸。不巧,因船太小,他每次只能带一样财产渡到对岸。更糟的是,不加照管的狐狸会吃掉鹅,不加照管的鹅会吃掉麦粒。因此,农夫不能让狐狸和鹅单独放在一起,也不能把鹅和麦粒单独留下。如何是好?,4.1 知识表示概述,1)一种好的描述方式,建立在一种好的表达形式的约定的基础上,为求解敞开了大门;一种糟糕的描述方式,使用一种糟糕的表达形式,则是一堵妨碍问题求解的墙。2)一旦问题以一种合适的表达形式来描述,此问题几乎接近解决。,为了使计算机具有智能,使它能模拟人类的智能行为,就必须使它具有知识。但知识是需要用适当的模式表示出来才能存储到计算机中去的,因此关于知识的表示问题就成为知识工程中一个十分重要的研究课题。知识表示以形式化方式表示知识;供计算机自动处理;,知识表示:利用计算机能够接受并且进行处理的符号和方式来表示人类在改造客观世界中所获得的知识。知识表示旨在对知识的一种描述,或是对知识的一组约定,一种计算机可以接受的用于描述知识的数据结构。知识表示在人工智能体的建造中起到关键作用以适当方式表示知识,才导致智能体展示出智能行为知识表示=数据结构+处理机制恰当的结构(符号)用于存储要解决的问题、可能的中间解答和最终解答以及解决问题涉及的知识;配套的处理机制仅有符号(结构)不能体现出系统具有知识;只有对其作适当的处理才构成意义。,从一般意义上讲,所谓知识表示是为描述世界所作的一组约定,是知识的符号化、形式化或模型化。各种不同的知识表示方法,是各种不同的形式化的知识模型。从计算机科学的角度看,知识表示是研究计算机表示知识的可行性、有效性的一般方法,是把人类知识表示成机器能处理的数据结构和系统控制结构的策略。知识表示的研究既要考虑知识的表示与存储,又要考虑知识的使用。,10,对知识表示方法的要求,(1)表示能力,要求能够正确、有效地将问题求解所需要的各类知识都表示出来。(2)可理解性,所表示的知识应易懂、易读。(3)便于知识的获取,使得智能系统能够渐进地增加知识,逐步进化。(4)便于搜索,表示知识的符号结构和推理机制应支持对知识库的高效搜索,使得智能系统能够迅速地感知事物之间的关系和变化;同时很快地从知识库中找到有关的知识。(5)便于推理,要能够从己有的知识中推出需要的答案和结论。,4.2.1 一阶谓词逻辑表示法,1 知识的谓词逻辑表示法 谓词公式就是用谓词联接符号将一些谓词按照一定的逻辑关系连接起来所形成的公式。,4.2 知识表示方法,1)对事实性知识,谓词逻辑的表示法通常是由以合取符号()和析取符号()联接形成的谓词公式来表示。如对下面句子:张三是一名计算机系的学生,他喜欢编程序。可以用谓词公式表示为 Computer(张三)Like(张三,programming)其中:Computer(x)表示x是计算机系的学生,Like(x,y)表示x喜欢y,都是谓词。,2)对规则性知识,谓词逻辑表示法通常以由单条件符号()联接形成的谓词公式来表示例如,对于 如果x,则y用谓词公式表示为 xy,14,符号,:否定(Negation),复合命题Q表示否定Q的真值的命题,即“非Q”:合取(Conjunction),复合命题PQ表示P和Q的合取,即“P与Q”:析取(Disjunction),复合命题PQ表示P或Q的析取,即“P或Q”,2023/7/31,15,:条件(Condition),也叫蕴含,复合命题PQ表示命题P是命题Q的条件,即“如果P,那么Q”:双条件(Bicondition),也叫等价,复合命题PQ表示命题P、命题Q相互作为条件,即“如果P,那么Q;如果Q,那么P”,连词优先级别是,、,、,但可通过括号改变优先级。,2023/7/31,16,语法元素 常量符号。变量符号。函数符号。谓词符号。联结词:、。(和命题相同)量词:全称量词、存在量词。和后面跟着的x叫做量词的指导变元。,2023/7/31,17,量词全称量词符号(x)P(x):表示对于某个论域中的所有(任意一个)个体x,都有P(x)真值为T。存在量词符号(x)P(x):来表示某个论域中至少存在一个个体x,使P(x)真值为T。,2023/7/31,18,若函数符号f中包含的个体数目为n,则称f为n元函数符号。若谓词符号P中包含的个体数目为n,则称P为n元谓词符号。如:father(x)是一元函数,less(x,y)是二元谓词.一般一元谓词表达了个体的性质,而多元谓词表达了个体之间的关系.,函数符号与谓词符号,2 用谓词公式表示知识的步骤 1)定义谓词及个体,确定每个谓词及个体的确切含义。2)根据所要表达的事物,为每个谓词中的变元赋以特定的值。3)根据所要表达的知识的语义,用适当的连接符号将各个谓词联接起来,形成谓词公式。,3 谓词公式表示知识举例 例:设有下列事实性知识:吴琼是一名计算机学院的学生,但他不喜欢编程序。陈雷比他父亲长的高。请用谓词公式表示这些知识。,解:首先定义谓词如下:COMPUTER(x):x是计算机学院的学生。LIKE(x,y):x喜欢y。HIGHER(x,y):x比y长的高。第二步:给变元赋值 这里涉及的 个体有:吴琼(wuqiong),编程序(programming),陈雷(chenlei),以函数father(chenlei)表示陈雷的父亲。,COMPUTER(wuqiong);LIKE(wuqiong,programming);HIGHER(chenlei,father(chenlei))第三步:将谓词联接成谓词公式 COMPUTER(wuqiong)LIKE(wuqiong,programming)HIGHER(chenlei,father(chenlei)),例:有以下规则性知识 人人爱劳动 所有整数不是偶数就是奇数 自然数都是大于零的整数 请用谓词公式表示这些知识。,解:首先定义谓词如下:MAN(x):x是人。LOVE(x,y):x爱y。N(x):x是自然数。I(x):x是整数。E(x):x是偶数。O(x):x是奇数。GZ(x):x大于零。,按照第二步和第三步的要求,以上知识可分别表示为:人人爱劳动(x)(MAN(x)LOVE(x,labour)自然数都是大于零的整数(x)(N(x)GZ(x)I(x)所有的整数不是偶数就是奇数(x)(I(x)E(x)O(x),例:机器人搬积木问题表示 设在一个房间里,有一个机器人ROBOT,一个壁橱ALCOVE,一个积木块BOX,两个桌子A和B。开始时,机器人在壁橱的旁边,且两手是空的,桌子A上放着积木块,桌子B上是空的。机器人将把积木从桌子A上转移到桌子B上。请用一阶谓词逻辑表示这一问题。,解:1)本为题涉及的常量定义为:机器人:ROBOT;积木块:BOX;壁橱:ALCOVE;桌子:A,B2)定义谓词如下:TABLE(x):x是桌子EMPTYHANDED(x):x双手是空的AT(x,y):x在y的旁边HOLDS(y,w):y拿着w ON(w,x):w在x的上面EMPTYTABLE(x):桌子x上是空的,3)根据问题的描述将问题的初始状态和目标状态分别用谓词公式表示出来。问题的初始状态:AT(ROBOT,ALCOVE)EMPTYHANDED(ROBOT)ON(BOX,A)TABLE(A)TABLE(B)EMPTYTABLE(B)问题的目标状态:AT(ROBOT,ALCOVE)EMPTYHANDED(ROBOT)ON(BOX,B)TABLE(A)TABLE(B)EMPTYTABLE(A),4)问题表示出来之后,如何求解问题。对此问题求解,实际上就是要寻找一组机器人可执行的操作,利用这组操作实现初始状态到目标状态的转变。通过分析会发现,操作一般分为先决条件和动作两部分。先决条件可以容易的用谓词公式表示,而动作可通过动作前后的状态变化表示出来,即只要指出执行动作后,应从动作前的状态表中删除和增加什么谓词公式就描述了相应的动作。,本例中,机器人将积木块从桌子A上移到桌子B上要执行的操作有如下三个:1)GOTO(x,y):从x处走到y处 2)PICK-UP(x):在x处拿起盒子 3)SET-DOWN(x):在x处放下盒子 这三个操作可分别用条件和动作表示如下:1)GOTO(x,y)条件:AT(ROBOT,x)动作:删除 AT(ROBOT,x)增加 AT(ROBOT,y),2)PICK-UP(x)条件:ON(BOX,x)TABLE(x)AT(ROBOT,x)EMPTYHANDED(ROBOT)动作:删除 ON(BOX,x)EMPTYHANDED(ROBOT)增加 HOLDS(ROBOT,BOX)3)SET-DOWN(x)条件:TABLE(x)AT(ROBOT,x)HOLDS(ROBOT,BOX)动作:删除 HOLDS(ROBOT,BOX)增加 ON(BOX,x)EMPTYHANDED(ROBOT)机器人在执行每一操作之前,总要先检查所需的先决条件是否满足,只有先决条件得到满足以后,才执行相应的动作。,2023/7/31,32,(1)一阶谓词逻辑表示法的优点 1)严密性:可以保证其演绎推理结果的正确性,可以较精确地表达知识。2)自然性:它的表现方式和人类自然语言非常接近。3)通用性:拥有通用的逻辑演算方法和推理规则。4)知识易表达:如果对逻辑的某些外延扩展后,则可把大部分精确性知识表达成一阶谓词逻辑的形式。5)易于实现:用它表示的知识易于模块化,便于知识的增删及修改,便于在计算机上实现。,4.一阶谓词逻辑表示法的特点,2023/7/31,33,(2)一阶谓词逻辑表示法的缺点1)效率低:由于推理是根据形式逻辑进行的,把推理演算和知识含义截然分开,抛弃了表达内容所含的语义信息,往往是推理过程太冗长,降低系统效率。另一方面,谓词表示越细,表示越清楚,推理越慢、效率越低。2)灵活性差:不便于表达和加入启发性知识和元知识。不便于表达不确定性的指示,但人类的知识大都具有不确定性和模糊性,这是使得它表示知识的范围受到了限制。3)组合爆炸:在其推理过程中,随着事实数目的增大及盲目的使用推理规则,有可能产生组合爆炸。,2023/7/31,34,练习,1.任何人都会死的2.每个人都有一个父亲3.所有的教师都有自己的学生,2023/7/31,35,练习,任何人都会死的。定义谓词:D(x):x会死的,M(x):x是人 谓词表示:(x)(M(x)D(x),2023/7/31,36,练习,每个人都有一个父亲定义谓词:PERSON(x),表示x是人 HASFATHER(x,y),表示x有父亲y谓词表示:(x)(y)(PERSON(x)HASFATHER(x,y),2023/7/31,37,所有的教师都有自己的学生定义谓词:TEACHER(x),表示x是教师 STUDENT(y),表示y是学生 TEACHES(x,y),表示x是y的老师谓词表示:(x)(y)(TEACHER(x)TEACHES(x,y)STUDENT(y),练习,思考题:房内有一只猴子、一个箱子,天花板上挂了一串香蕉。猴子为了拿到香蕉,它必须把箱子推倒香蕉下面,然后再爬到箱子上。请定义必要的谓词,写出问题的初始状态,目标状态(猴子拿到香蕉,站在箱子上)。,4.2.2 产生式表示法,1 什么是产生式“产生式”这一术语是1943年由美国数学家Post首先提出的,他根据串替换规则提出了一种称为Post机的计算模型,模型中的每一条规则称为一个产生式。所以,产生式表示法又称为产生式规则表示法。在产生式系统中,把推理和行为的过程用产生式规则表示,所以又称基于规则的系统。,2 产生式可表示的知识种类及基本形式 适合表示规则性知识和事实性知识,通常用于表示具有因果关系的知识。进一步可分为确定性和不确定性知识表示。其基本形式是:PQ 或IF P THEN Q,3 知识的表示方法(1)确定性规则知识的产生式表示PQ 或 IF P THEN Q 其中,P是产生式的前提;Q是一组结论或操作,用于指出前提P所指示的条件被满足时,应该得出的结论或应该执行的操作。,(2)不确定性规则知识的产生式表示 PQ(置信度)或 IF P THEN Q(置信度)其中,P是产生式的前提;Q是一组结论或操作。已知事实与前提中所规定的条件不能精确匹配时,只要按照“置信度”的要求达到一定的相似度,就认为已知事实与前提条件相匹配,再按照一定的算法将这些可能性(或不确定性)传递到结论。,(3)确定性事实性知识的产生式表示事实性知识的表示形式一般使用三元组来表示:(对象,属性,值)或(关系,对象1,对象2)如“老李年龄是40岁”,可表示成:(Li,Age,40)而“老李和老张是好朋友”,可表示成:(Friend,Li,Zhang),(4)不确定性事实性知识的产生式表示不确定事实性知识的表示形式一般使用四元组来表示:(对象,属性,值,置信度值)或(关系,对象1,对象2,置信度值)如“老李的年龄很可能是40岁”,可表示成:(Li,Age,40,0.8)而“老李和老张是好朋友的可能性不大”,可表示为:(Friend,Li,Zhang,0.1),4 产生式系统的组成 产生式系统一般由三个基本部分组成:规则库、综合数据库和推理机。它们之间的关系如下图所示。,规则库就是用于描述某领域内知识的产生式集合,包含着将问题从初始状态转换成目标状态的变换规则。是专家系统的核心。综合数据库又称为事实库,用于存放输入的事实、外部数据库输入的事实以及中间结果和最后结果的工作区。推理机是一个或一组程序,用来控制和协调规则库与综合数据库的运行,包含了推理方式和控制策略。,5 产生式表示法的特点 优点:1)清晰性。2)模块性。3)自然性。,2023/7/31,48,清晰性:产生式表示格式固定、形式简单,规则(知识单位)间相互较为独立,没有直接关系,使知识库的建立较为容易,处理较为简单。模块性:知识库与推理机是分离的,这种结构给知识库的修改带来方便,无须修改程序,对系统的推理路径也容易做出解释。自然性:符合人类的思维习惯,是人们常用的一种表达因果关系的知识表示形式,既直观自然,又便于推理。另外,产生式表示法既可以表示确定性知识,又可以表示不确定性知识,更符合人们日常见到的问题。因此,产生式方法是当今最流行的专家系统设计模式。,2023/7/31,49,缺点或不足:,(1)难以扩展:尽管规则形式上相互独立,但实际问题中往往彼此是相关的。这样当知识库不断扩大时,要保证新的规则和已有的规则没有矛盾就会越来越困难,知识库的一致性越来越难以实现。(2)规则选择效率较低:在推理过程中,每一步都要和规则库中的规则做匹配检查。如果知识库中规则数目很大,显然效率会降低。(3)控制策略不灵活:产生式系统往往采用单一的控制策略,如顺序考察规则库中的每一条规则,这同样会降低系统的效率。(4)知识表示形式单一:产生式系统比较适合于表示非结构化的知识,对于结构化的知识可能用语义网络或框架或面向对象的表示方式更为合适。注意:以纯粹的产生式系统表示复杂的知识结构比较困难,因此发展了一系列知识的结构化表示方法,如框架和语义网络等,知识以这种形式表示的系统,称为基于知识的系统。,4.2.3 语义网络表示法,语义网络是于1968年在他的博士论文中作为人类联想记忆的一个心理模型最先提出的。语义网络最初主要用于自然语言理解的研究,Quillian主张应当把语义放在第一位,一个词的含义只有根据它所处的上下文环境才能准确的把握,一个句子中相关单词的语义或意思可以通过这种网络来表示。语义网络是一种古老而简单的思想人类的记忆是由概念及概念之间的联系组成的。,1 语义网络的概念及其结构(1)语义网络的概念及结构 语义网络是通过概念及其语义关系来表示知识的一种网络图,它是一个带标记的有向图。其中有向图的各节点用来表示各种概念、事物、属性、情况、动作、状态等,节点上的标注用来区分各节点所表示的不同对象,每个节点可以带有若干个属性,以表示其所代表的不同对象的特性;弧是有方向、有标注的,方向用来体现节点间的主次关系,而其上的标注则表示被联接的两个节点间的某种语义联系或语义关系。,语义网络表示示例,智能系统,专家系统,困难问题,专家知识,专家思维,是一种,具有,能模拟,能解决,语义网络可以表示事物之间的关系。因此,关系型的知识和可以转为关系型的知识都可以用语义网表示。,一个最简单的语义网络可由一个三元组表示:(节点1,弧,节点2)可用如下图所示的有向图表示,称作基本网元。,A,B,R,其中,A和B分别代表节点,而R则表示A和B之间某种语义联系。,(2)与谓词逻辑表示法和产生式表示法的联系 从谓词逻辑表示法来看,一个基本网元相当于一组一阶二元谓词。产生式表示法是以一条产生式规则作为知识的单位,各条产生式规则之间没有直接的联系。而语义网络则不同,它不仅将基本网元视作一种知识的单位,而且各个基本网元之间又是相互联系的。每一条产生式规则可以表示为语义网络的形式。,2 语义网络中常用的语义联系(1)类属关系 类属关系是指具有共同属性的不同事物间的分类关系、成员关系或实例关系。它体现的是“具体与抽象”、“个体与集体”的层次关系。具体层节点位于抽象层节点的下层。类属关系的一个最主要的特征是属性的继承性,处在具体层的节点可以继承抽象层节点的所有属性。常用的类属关系有:AKO:“是一种”(a kind of),表示一事物是另一事物的一种类型。AMO:“是一员”(a member of),表示一事物是另一事物的一个成员。ISA:“是一个”(is a),表一事物是另一事物的一个实例。类属关系具有属性的继承性。,(2)包含关系 包含关系也称为聚类关系,是指具有组织或结构特征的“部分与整体”之间的关系。它和类属关系的最主要区别是包含关系一般不具备属性的继承性。常用的包含关系是:Part-of:“是一部分”,表示一个事物是另一个事物的一部分,该关系不具继承性。,(3)占有关系 占有关系是事物或属性之间的“具有”关系。常用的占有关系有:Have:含义为“有”,表示一个节点拥有另一个节点表示的事物。(4)时间关系 时间关系是指不同事件在其发生时间方面的先后次序关系,节点间的属性不具有继承性。常用的时间关系有:Before:“在前”,表示一个事件在另一个事件之前发生。After:“在后”,表示一个事件在另一个事件之后发上 During:“在期间”,表示某一事件或动作在某个时间段内发生。,(5)位置关系 位置关系是指不同事物在位置方面的关系,节点间的属性不具有继承性。常用的位置关系有:Located-on:“在上”,表示某一物体在另一物体之上。Located-at:“在”,表示某一物体在另一位置。Located-under:“在内”,表示某一物体在另一物体之内。Located-outside:“在外”,表示某一物体在另一物体之外。,(6)相近关系 相近关系是指不同事物在形状、内容等方面相似或相近。常用的相近关系有:Similar-to:“相似”,表示某一事物与另一事物相似。Near-to:“接近”,表示某一事物与另一事物接近。(7)推论关系是指从一个概念推出另一个概念的语义关系。,(8)因果关系是指由于某一事件的发生而导致另一事件的发生,适于表示规则性知识。通常用Ifthen表示两个节点间的因果关系。(9)组成关系是一种一对多联系,用于表示某一事物由其他一些事物构成,通常用Composedof表示。其所联接的节点间不具有属性继承性。(10)属性关系表示一个节点是另一节点的属性;通常用IS表示。,3 语义网络表示知识的方法 对事实性知识、情况、动作和事件、逻辑关系以及规则性知识的语义网络表示方法分别进行讨论。(1)事实性知识的表示 事实性知识是指有关领域内的概念、事实、事物的属性、状态及其关系的描述。例如:“雪是白色的”、“山鸡是一种鸡”的语义网络表示如下:,如果我们还希望进一步指出“山鸡是一种鸡”、“鸡是一种飞禽”、“飞禽是一种动物”,并指出它们所有的属性,则其语义网络表示如下所示:,(2)情况和动作的表示1)情况的表示 当表示那些不及物动词的语句或没有间接宾语的及物动词表示的语句时,如果该语句的动词表示了一些其他情况,如动作作用的时间等,则需要设立一个情况节点,并从该节点向外引出一组弧,用于指出各种不同情况。例如:“一只名叫神飞的小燕子从三月到十一月占有一个巢”,这条知识可表示成如图所示的语义网络:,2)动作和事件的表示 表示的知识语句涉及的动词既有主语,又有直接宾语和间接宾语;也就是说既有发出动作的主体,又有接受动作的客体和动作所作用的客体,则可以设立一个动作或事件节点;它可以有一些向外引出的弧,用于指出动作的主体与客体,或事件发生的动作以及该事件的主体与客体。例如:“张三送给李四一支钢笔”,其语义网络如图表示:,如果把“张三送给李四一支钢笔”作为一个事件,则增加一个“事件”节点,则表示如下:,(3)逻辑关系的表示1)合取与析取的表示 用语义网络表示知识时,为了能反映事实间的合取与析取的逻辑关系,可增加合取和析取节点。例如:“参赛者有工人、有干部、有高的、有低的”;如果把所有参赛者组合起来,可得到以下4种情况:a.工人,高的 b.工人,低的 c.干部,高的 d.干部,低的,该知识的语义网络表示如下:,2)量词的表示 对存在量词,可以直接用“是一种”、“是一个”等这样的语义关系来表示。对全称量词则可以采用亨德里克()提出的网络分区技术。该技术的基本思想是:把一个复杂命题划分为若干个子命题,每一个子命题用一个较简单的语义网络表示,称为一个子空间,多个子空间构成一个大空间。每个子空间看作是大空间中的一个节点,称作超节点。空间可以逐层嵌套,子空间之间用弧互相连接。,例如:“每个学生都学习了一门程序设计语言”,用语义网络表示如下:,(4)规则性知识的表示 语义网络也可以表示规则性知识。比如“如果A,那么B”是一条表示A和B之间因果关系的规则性知识,如果规定语义关系RAB的含义是“如果,那么”,则上述的知识可表示成:,这样,规则性知识与事实性知识的语义网络表示是相同的,区别仅是弧上的标注不同。,4 用语义网络表示知识的步骤1)确定问题中的所有对象以及各对象的属性。2)分析并确定语义网络中各对象间的关系。3)根据语义网络中所涉及的关系,对语义网络中的节点及弧进行整理,包括增加节点、弧和归并节点等。4)分析检查语义网络中是否含有要表示的知识中所涉及的所有对象,若有遗漏,则须补全。并将各对象间的关系作为网络中各节点间的有向弧,连接形成语义网络。5)根据第1)步的分析结果,为各对象表示属性。,5 语义网络表示知识举例例:用语义网络表示下列命题:1)树和草都是植物。2)树和草是有根有叶的。3)水草是草,且长在水中。4)果树是树,且会结果。5)苹果树是一种果树,它结苹果。,解:1)问题涉及的对象有植物、树、草、水草、果树、苹果树共6个对象。各对象的属性如下,树和草的属性:有根、有叶;水草的属性:长在水中;果树的属性:会结果;苹果树的属性:结苹果。2)树和草与植物间的关系是AKO,水草和草之间的关系是AKO;果树和树之间的关系是AKO;苹果树和果树间的关系是AKO。3)根据信息继承性原则,各上层节点的属性下层都具有,在下层都不再标出,以避免属性信息重复。例如,草的属性是有根有叶,而水草也有根有叶,但这些属性不再在水草中标出;苹果树是树的下层节点,树的属性有根有叶将不再在苹果树中标出。,4)根据上面的分析,本题共涉及6个对象,各对象的属性以及它们之间的关系已在上面指出,所以本题的语义网络应是由6个节点构成的有向图,弧上的标注以及各节点的标注已在上面指出。语义网络如下图所示:,6.语义网络表示法的特点优点 1)结构性好 2)自然性 3)联想性缺点 1)推理规则不十分明了,不能充分保证网络操作所得推论的严格性和有效性;2)一旦节点个数太多,网络结构复杂,推理就难以进行;3)不便于表达判断性知识与深层知识。,思考题:1 用语义网络表示下列知识:1)所有的鸽子是鸟。2)所有的鸽子都有翅膀。3)信鸽是一种鸽子,它有翅膀,能视途。,思考:将命题:“某个学生读过三国演义”分别用谓词公式和语义网络表示,谓词公式表示:x(student(x)read(x,三国演义)语义网络表示如图:,2023/7/31,80,【观察事物时的思维】人头脑中形成的对于事物的抽象模型(框架);用“自顶向下”的方法先匹配一个现有的抽象模型(框架);再确定抽象模型(框架)中的细节。框架表示法明斯基,1975,强调事物内部的结构化描述;较好地反映人观察事物的思维方式;应用于机器人识别领域。,4.2.4 框架表示法,1 框架理论 框架理论的基本观点是:人脑中已存储了大量事物的典型情景,也就是人们对这些事物的一种认识,这些典型情景是以一个称作框架的基本知识结构存储在记忆中的,当人面临某一情景时,就从记忆中选择(匹配)一个合适的框架,这个框架是以前记忆的一个知识空框,而其具体内容要依新的事物情景的认识,而这种认识的新框架又可记忆于人脑之中,以丰富人的知识。,2 框架的定义及组成 框架是一种描述所论对象属性的数据结构,一个框架可以由框架名、槽、侧面和值四部分组成。框架一般可表示成如下格式:侧面槽的附加说明,指出槽的取值范围和求值方法等。,3 用框架表示知识的步骤 1)分析待表达知识中的对象和属性,对框架中 的槽进行合理设置。2)对各对象间的各种联系进行考察,使用一些常用的或根据具体需要定义一些表达联系的槽名,来描述上下层框架间的联系。3)对各层对象的“槽”及“侧面”进行合理的组织安排,避免信息描述的重复。,4 框架举例 1)框架可以用来表示所讨论的对象,如一个事物、一个事件或一个概念,它是知识表示的基本单位。例:优质商品框架。框架名:商品名称:生产厂家:获奖情况:获奖等级:颁奖部门:颁奖时间:单位(年,月,日),例如,要用框架来描述“优质商品”这一概念。首先分析商品所具有的属性,一个商品可能具有的属性有:商品名称、生产厂商、生产日期、获奖情况等等,这里只考虑这几个属性。这几个属性可以定义为“优质商品”框架的槽,而“获奖情况”这个属性还可以从获奖等级、颁奖部门和获奖时间这3个侧面来加以描述。如果给各个槽和侧面赋予具体的值,就得到了“优质商品”这一概念的一个实例框架。,框架名:商品名称:红桃K口服液生产厂商:红桃K集团生产日期:1998年6月17日获奖情况:获奖等级:省级 颁奖单位:湖北省卫生厅 获奖时间:2000年5月6日,例:下面是关于地震的报道,请用框架表示这段报道。今天,一次强度为里氏8.5级的强烈地震袭击了下斯洛文尼亚(Low Slabovia)地区,造成25人死亡和25亿美元的财产损失。下斯洛文尼亚地区主席说:“多年来,靠近萨迪壕金斯断层的重灾区一直是一个危险地区,这是本地区发上的第3号地震。”,解:1)确定属性即框架的槽。本报道中关于地震的关键属性是地震发生的地点、时间、伤亡人数、财产损失数量、地震强度的震级、断层情况。2)分析本报道中各对象间的联系,由于其中只涉及地震一件事,所以本步可以省略。下面将本报道中有关数据填入相应槽后得到的3号地震的框架。框架名:地点:Low Slabovia 时间:今天 伤亡人数:25人 财产损失:25亿 震级:8.5 断层:萨迪壕金斯,该框架可用下图表示:,2)框架系统:单个框架只能表示简单对象的知识,实际的系统也并非象上面的例子那样简单。在实际应用中,当对象比较复杂时,往往需要把多个相互联系的框架组织起来进行表示,这些相互联系的框架就形成了一个框架系统。框架的实用性在于框架之间的这种层次结构和继承性;,框架名:框架名:框架名:ISA:ISA:ISA:地点:地点:地点:时间:时间:时间:伤亡人数:伤亡人数:伤亡人数:财产损失:财产损失:财产损失:框架名:Instance:地点:时间:,这四个框架组成的“自然灾害”框架系统也可以表示为如下图所示的框架图,框架系统可看做一个广义的语义网络;但说到框架必须强调实例和类,而不是节点;强调槽和槽值,而不是连线和连线的终节点:,所谓框架的继承性就是指当下层框架中的某些槽值或侧面值没有被直接给定时,可以从其上层框架中继承这些值或属性。例如,椅子一般有4条腿,如果一把具体的椅子没有指出它有几条腿时,则可以通过一般椅子的特性,得出它有4条腿,例 下面一是一个描述“教师”的框架。框架名:类属:工作:范围:(教学,科研)缺省:教学 性别:(男,女)学历:(中专,大学)类别:(,)在这个框架中,框架名为“教师”,它含有5个槽,槽名分别是“类属”、“工作”、“性别”、“学历”和“类别”。这些槽名后面就是其槽值,而槽值“”又是一个框架名。“范围”、“缺省”是槽“工作”的两个不同的侧面,其后是侧面值。,例 下面是描述“大学教师”的框架。框架名:类属:学位:范围:(学士,硕士,博士)缺省:硕士 专业:职称:范围:(助教,讲师,副教授,教授)缺省:讲师 水平:范围:(优,良,中,差)缺省:良 从上述两例可以看出,这两个框架之间存在一种层次关系,称前者为上层框架(或父框架),后者为下层框架(或子框架)。,例 下面是描述一个具体教师的框架。框架名:类属:姓名:张宇 性别:男 年龄:32 职业:职称:副教授 部门:计算机系 研究方向:计算机软件与理论 工作:参加时间:2000年7月 工龄:当前年份-2000 工资:比较上面几个例子,可以发现“教师-1”是“大学教师”的下层框架,而“大学教师”又是“教师”的下层框架,“教师”又是“知识分子”的下层框架。框架之间的这种层次关系是相对而言的,下层框架可以从上层框架继承某些属性或值。这样,一些相同的信息可以不必重复存储,节省了存储空间,这种层次结构对减少冗余信息有重要意义。,5.框架表示法的特点1)结构性2)继承性3)自然性 应用:CYC获取常识性知识:CYC(Encyclopedia)百科全书;CYC的开发者相信:无大量知识就即无法实现智能,所以他们构建了一个由各种描述概念的框架组成的巨大网络。现在,CYC已有了4000多种连线和数十种专用的推理模块。,框架表示法存在的问题:(1)缺乏形式理论,没有明确的推理机制保证问题求解的可行性和推理过程的严密性;(2)由于许多实际情况与原型存在较大的差异,因此适应能力不强;(3)框架系统中各个子框架的数据结构如果不一致会影响整个系统的清晰性,造成推理的困难。,思考题:1.试写出“学生框架”的描述。2.试写出“教室框架”的描述。,框架名:姓名:单位(姓和名)年龄:单位(岁)性别:范围(男,女)缺省(男)健康状况:范围(健康,一般,差)缺省(一般)所在系别:单位(系)专业:范围(系中所包含的专业列表)入学时间:单位(年,月)毕业时间:单位(年,月)成绩:范围(优,良,中,差)缺省(良),框架名:墙数:窗数:门数:座位数:前墙:后墙:左墙:右墙:门:窗:黑板:天花板:地板:讲台:,在大空间或多领域的情况下,从本质上讲,面向对象的知识表示方法,是在框架知识表示方法的基础上与语义网络表示结合,应用面向对象概念定义的一种知识表达方法。,4.2.5 面向对象表示法,4.2.5 面向对象表示法,1 面向对象的基本概念(1)对象 对象就是由一组数据和与该组数据相关的操作构成的封装体或实体。例如,“人”是一个对象,它至少具有以下一些属性(或者可表征它的一些数据):name weight hair-color age height skin-color 相应地操作为:Birthday(age):每年实现age+1,这里,name、weight、hair-color、age、height、skin-color都是“人”的属性,birthday(age),是一个将age每年加1的过程,在这里称做方法(method)。如果给其中的每一个属性赋一具体值,就得到“人”这个对象的一个实例。实例就是一个具体的人,实例其实也是一个对象,只不过比“人”这个对象低了一个层次。如果将每个具体的人看作对象。则”人“又会抽象成类,类的概念下面就要介绍,所以,类和对象都是一个相对的概念。,(2)类 在面向对象表示中类和类继承都是很重要的概念,类在概念上是一种抽象机制,它是对一组相似对象的抽象。类由一组变量和一组操作组成,它描述了一组具有相同属性和操作的对象。类是一个相对概念。例如,黑白电视、彩色电视都是具有对象,但它们有共同属性,于是可以把它们抽象为“电视”,“电视”是一个类对象。各个类还可以进一步进行抽象,形成超类。例如,对电视、冰箱等,可以形成超类“家用电器”。这样,超类、类、对象就形成了一个层次结构。其实该结构还可以包含更多的层次,在此结构中,层次越高越抽象,越低越具体。,(3)继承 一个类拥有另一个类的全部变量和操作,这种拥有就是继承。前者称为子类,后者称为父类,父类所具有的数据和操作可被子类继承。,(4)封装 一个对象的数据只能由它的私有操作(方法)来改变,其他对象的操作不能直接改变它的数据。当一个对象需要改变另一个对象的数据时,它只能向该对象发送消息,该对象接受消息后就根据消息的模式找出相应的操作,并执行操作改变自己的数据 像这样把一切局部对象的信息及操作都局限于对象之内,在外面是不可见的,对象之间除了互递消息之外,不再有其他联系,这就是所谓“封装”的概念。封装是一种信息隐藏技术,是面向对象的主要特征。,2表示知识的方法 用面向对象方法表示知识时,需要对类的构成形式进行描述。不同的面向对象语言所提供的类的描述形式不同,下面给出一般的描述形式;Class类名:父类名类变量表Structure对象的静态结构的描述Method关于对象的操作定义Restraint限制条件,3.面向对象表示法优点:(1)“继承”带来了天然的层次性和结构性(2)对象本身的定义产生了良好的兼容性和灵活性,它可以是数据,也可以是方法;可以是事实,也可以是过程;可以是一个框架,也可以是一个语义子网络。(3)将对象看成客观世界及其映射系统的分形元,因而事物都可以由这些分形元对垒而成。从简单的原则衍生出复杂的系统。,4.3 知识表示方法选取,知识表示的一般性方法:1)产生式;2)框架;3)语义网络;4)谓词逻辑。5)自然语言;6)程序设计语言;7)数据处理与传统数据库;8)直接表示;9)过程表示;10)特征表;11)脚本。12)语言场;13)因素空间;14)概念云;15)概念格;16)综合知识体。17)神经网络;18)Petri网。19)粗糙集;20)可拓集;21)Fuzzy集;22)Vague集。23)状态空间;24)小波分析;25)认知图;26)超图。27)面向对象;28)基于实例与范例;29)基于模型。30)扩展标记语言;31)语义单元;32)形式概念分析;33)Schank概念从属理论。34)函数式程序语言;35)高阶谓词下Escher;36)XML表示法;37)问题规约法。,4.3 知识表示方法选取,不同的知识结构都有其针对性和局限性,而且同一知识可以采用不同的表示方法,但在解决某一问题时不同的表示方法将会在求解效率、结果的正确性等方面产生完全不同的效果。因此,为了有效解决问题,选择知识表示结构时应依据具体情况来选择一种合适的表示方法。知识表达 方法的选取往往取决于领域专门知识的自然结构。可以采用两种或者多种知识的集成表示来处理实际中的复杂问题。,选取时要考虑以下问题:(1)表示能力是否足够(2)是否便于应用中对知识的各种运用(例如推理、求解等操作)(3)模块化程度如何(4)是否便于知识的扩充和修改(5)是否支持自顶向下,逐步求精的设计原则(6)从知识的思维或自然语言形式到具体表示的转换是否容易(7)表示是否便于理解和实现。,主要知识表示方法的优缺点,4.4 知识表示应用,摩托车车架设计知识表示的实例(1)车架的选型知识及表示,选型规则1:IF(排量125)AND(发动机的缸数单缸机)OR(车型越野车)THEN 车架的型式单下管摇篮式车架;规则的可信度=0.8规则的解释结构比较简