研AI-第四章-知识的结构化表示简化版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第四讲知识的结构化表示4.1知识及其表示适当的表示对问题求解是至关重要的什么是知识表示知识的表示方法4.2框架表示4.3语义网络表示4.1知识及其表示数据,信息与知识数据泛指对客观实物的数量、属性、位置及其相互关系的抽象表示。数据是信息的载体和表示,信息是数据在特定场合下的具体含义,或者说信息是数据的语义。把有关信息关联在一起所形成的信息结构称为知识.客观世界收集数据信息分析知识深入分析行动决策4.1知识及其表示(续1)知识的分类1.在人工智能研究中,知识的机器表示是一个十分重要的问题。因为智能活动过程主要是一个获得并应用知识的过程,而知识必须有适当的表示才便于在计算机中贮存、检索、使用和修改。2.一般来讲,任何一个给定的问题都有多种等价的表示方法,但它们的表达能力是不一样的。能力强的表示法使问题具有较强的明晰性,并对机械化推理提供方便,从而使问题变得比较容易求解。适当的表示对问题求解是至关重要的【例1】麦卡赛问题:在一个2nΧ2n的方格棋盘中去掉对角的两个方格,问能否将它划分成若干个1Χ2的小长方块?解:将棋盘中的小方格相间着色得到的图与原图是同构的,问题的可解性未变。无论n为何值,两对角的小方格一定是同一颜色,这说明给定图形中小白方格和小黑方格的数目相差2,然而无论怎样安排小长方块,它每次只能盖住一个小白方格和一个小黑方格,最后余下的两个小方格是同一颜色的无法用小长方块覆盖住。因此无论n为多大,这个问题都无解。如果我们进一步对这个问题进行同态映射,可以使求解变得更加简明。为此我们引入一个序偶(小黑方格数,小白方格数),它表示待划分的那一部分图形的状态。于是问题的初始状态Qs是(2n2,2n2-2),目标状态Qg是0,0>,划分出一个小长方块相当于执行一次操作f,它使状态由<a,b变化到(a-1,b-1)。显然Qs状态经2n’一2次f操作后,将变成状态(2,0),不可能出现(0,0)。所以Qg不可达,此问题无解。在三个箭头中,每次改变相邻两个的方向,其向上和向下的奇偶性都是不变的。这个法则可以推广到在任意n(n≥2)个箭头中每次改变任意两个(或偶数个)的方向的情形。火柴问题4.1.2什么是知识表示要在计算机上再现智能行为,必须首先解决问题的机器表示问题,因此在AI中,知识的机器表示是一个首要问题,知识的表示方法、知识运用和知识获取是知识工程的三大基本问题,通常,人们把KR和推理看作经典AI的两大基石。只有将知识进行适当的表示才便于在计算机中储存检索使用和修改。所谓知识的机器表示就是研究在计算机中如何用最合适的形式对问题求解过程中所需的各种知识进行组织,它与问题的性质和求解的方法有密切的关系。所谓知识表示实际上就是对知识的一种描述,或者说是一组约定。一种计算机可以接受的用于描述知识的数据结构。对知识进行表示的过程就是把知识编码成某种数据结构的过程。知识表示并不神秘。实际上,我们已经接触过或使用过。例如,我们通常所说的算法,就是一种知识表示形式。因为它刻划了解决问题的方法和步骤(即它描述的是知识),又可以在计算机上用程序实现。又如一阶谓词公式,它是一种表达力很强的形式语言,它也可以用程序语言实现,所以它也可作为一种知识表示形式。知识表示的语言实现上面谈的知识表示,仅是指知识的逻辑结构或形式。那么,要把这些外部的逻辑形式转化为机器的内部形式,还需要程序语言的支持。原则上讲,一般的通用程序设计语言都可实现上述的大部分表示方法。但使用专用的面向某一知识表示的语言更为方便和有效。因此,几乎每一种知识表示方法都有其相应的专用实现语言。例如,支持谓词逻辑的语言有PROLOG和LISP,专门支持产生式的语言有OPS5,专门支持框架的语言有FRL,支持面向对象表示的语言有Smalltalk、C++和Java等,支持神经网络表示的语言有AXON。4.2框架表示法框架框架网络框架系统中求解问题的基本过程框架表示法的特点4.2.1框架的概念美国学者Minsky1975年在其论文“Aframeworkforrepresentingknowledge”中提出了框架理论,并把它作为理解视觉、自然语言对话及其它复杂行为的基础。基本思想:人们对事物的认识是以某种类似于框架的结构存储在记忆中的,当面临新事物时,就从记忆中找出一个合适的框架进行匹配,并根据实际情况对其细节加以修改、补充,从而形成对当前事物的认识。框架表示法是一种关于事物内部结构化描述的知识表示方法。框架例实例框架例4.1下面是一个描述“教师”的框架:框架名:教师类属:知识分子工作:范围:(教学,科研)缺省:教学性别:(男,女)学历:(中师,高师)类型:(小学教师,中学教师,大学教师)一个框架一般有若干个槽一个槽有一个槽值或者有若干个侧面一个侧面又有若干个侧面值槽值和侧面值可以是数值、字符串、布尔值,也可以是一个动作或过程还可以是另一个框架的名字,用括的槽值也是框架名,从而实现框架间的调用。例4.2下面是一个描述“大学教师”的框架:框架名:大学教师类属:教师学历:(学士,硕士,博士)专业:学科专业职称:(助教,讲师,副教授,教授)外语:语种:范围:(英,法,日,俄,德,…)缺省:英水平:(优,良,中,差)缺省:良框架的一般形式为:框架名槽1槽2…槽N槽的形式一般有两种:槽名槽值或:槽名侧面名1侧面值列表1侧面名2侧面值列表2…侧面名K侧面值列表K框架的BNF描述槽槽值NamePropertySpecialization_ofa-kind-ofobjecttypes(car,boat,house)if-added:ProcedureADD_PROPERTYownerdefault:governmentif-needed:ProcedureFIND_OWNERlocation(home,work,mobile)status(missing,poor,good)under_warranty(yes,no)财产框架例槽值可以是一个值,也可以是一组值,槽可以包含附在槽上的过程,称为附加过程(proceduralattachment)。这时一般有三种类型,当需要槽值,但初始值不存在且缺省值也未设定时,执行if-needed过程。缺省值相当于以经验为基础建立起来的某种期望,常用来表示常识。当将槽值加入槽中时,将运行if-added过程。例如,在types槽中,当需要增加一个新的财产类型如珠宝、电视机等是将执行过程ADD_PROPERTY,因为types槽中不含有这些槽值。槽槽值槽槽值namecarnameJohn’scarspecialization_ofa-kind-ofpropertyspecialization_ofIs-acartypes(sedan,sports,convertible)manufacturerGMmanufacturer(GM,Ford,Chrysler)ownerJohnDoelocationmobiletransmissionautomaticwheels4enginegasolinetransmission(manual,automatic)statusgoodengine(gasoline,diesel)under_warrantyyes汽车框架━财产的一个一般子框架汽车框架的一个实例槽值也可以包含关系,如上面的specialization-of槽,下图中通过使用a-kind-of和is-a关系来说明这些框架具有何种层次关系。2.框架网络关于师生员工的框架网络把不同的框架所具有的共同的属性抽取出来,构成一个上层框架,而在各种具体的框架中只列出独有的属性,这样就可避免重复的描述,从而节省空间。------纵向联系由于框架中的槽值或侧面值都可以是另一个框架的名字,这就在框架之间建立起来了联系,通过一个框架可以找到另一个框架。------横向联系如上例中的“工资”槽的槽值是“工资单”,而它是一个框架的名字,这样就在两个框架间建立了联系。把多个相互关联的框架连接起来组成的框架系统称为框架网络。在下层框架中对某些槽没有作特别的声明,那么它将自动继承上层框架相应槽的槽值。框架网络(续2〕3.框架中槽的设置与组织框架是一种集事物各方面属性的描述为一体,并反映相关事物间各种关系的数据结构。在此结构中,槽起着至关重要的作用,因为不仅要用它描述事物各有关方面的属性,而且还要用它来指出相关事物间的复杂关系。因此,在用框架作为知识的表示模式时,对槽的设置与组织应给以足够的重视.具体地说,应注意以下几个方面的问题.1.充分表达相关事物间的各种关系在框架系统中,事物之间的联系是通过在槽中填入相应的框架名来实现的,至于它们之间究竟是一种什么关系,则是由槽名来指明的。为了提供一些常用且可公用的槽名,在框架表示系统中通常定义一些标准槽名,应用时不用说明就可直接使用,称这些槽名为系统预定义槽名。(1)ISA槽--用于指出事物间抽象概念上的类属关系。(2)AKO槽--用于具体地指出事物间的类属关系。(3)Subclass槽--用于指出子类与类(或子集与超集)之间的类属关系。(4)Instance槽--用来建立“AKO”槽的逆关系。(5)Part-of槽--用于指出“部分”与“全体”的关系。(6)Infer槽--用于指出两个框架所描述事物间的逻辑推理关系。(7)Possible-Reason槽--与Infer槽的作用相反,它用来把某个结论与可能的原因联系起来。2.有利于进行框架推理用框架表示知识的系统一般由两大部分组成:(1)一是由框架及其相互关联构成的知识库;(2)另一是由一组解释程序构成的框架推理机。框架推理是一个反复进行框架匹配的过程,而且多数情况下其匹配都具有不确定性,为了使推理得以进行,通常都需要设置相应的槽来配合。如在有些系统中设置了“充分条件”槽、“必要条件”槽、“触发条件”槽、“否决条件”槽及“闭值”槽等来配合不确定性匹配的实现。4.2.3基于框架的推理框架表示法没有固定的推理机理。但框架系统的推理和语义网络一样遵循匹配和继承的原则。所谓继承,就是子框架可以拥有其父框架的槽及其槽值。实现继承的操作有匹配、搜索和填槽。实现继承的操作有匹配、搜索和填槽。匹配是问题框架同知识库中的框架的模式匹配。所谓问题框架,就是要求解某个问题时,先把问题用一个框架表示出来,然后与知识库中的已有框架进行匹配。如果匹配成功,就可获得有关信息。搜索就是沿着框架间的纵向和横向联系,在框架网络中进行查找。搜索的目的是为了获得有关信息。框架名:教师-x姓名:年龄:30性别:男健康状况:健康职称:讲师用此框架与知识库中的框架匹配,因为“年龄”槽与“健康状况”槽都符合要求,预选框架虽然没有给出“性别”及“职称”的槽值,但由继承性可知它们分别是“男”及“讲师”,完全符合初始问题框架“教师-x”的要求。框架的匹配是通过对相应的槽的槽名及槽值逐个进行比较实现的。如果两个框架的各对应槽没有矛盾或者满足预先规定的某些条件,就认为这两个框架可以匹配。4.框架系统中求解问题的基本过程由于框架间存在继承关系,一个框架所描述的某些属性及值可能是从它的上层框架那里继承过来的,因此两个框架的比较往往要牵涉到它们的上层、上上层框架,这就增加了匹配的复杂性。另外,框架间的匹配一般都具有不确定性,因为建立在知识库中的框架其结构和描述都已固定下来,而应用中的问题却是随机的,变化的,要使它们完全一致是不现实的。在不同的系统中,采用的解决方法各不相同,如上面提到的建立“必要条件”槽、“充分条件”槽等就是其中的一种解决方法。395.框架表示的特点1.结构性善于表达结构性的知识是框架最突出的特点。2.继承性在框架表示法中,通过使槽值为另一个框架的名字可以实现框架之间的联系,建立表示复杂知识的框架网络。在框架网络中,下层框架可以继承上层框架的槽值,也可以进行补充和修改。不仅能把知识充分表达出

1 / 73
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功