第7章几种结构化知识表示及其推理_第1页
第7章几种结构化知识表示及其推理_第2页
第7章几种结构化知识表示及其推理_第3页
第7章几种结构化知识表示及其推理_第4页
第7章几种结构化知识表示及其推理_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 7 章 几种结构化知识表示及其推理 第 7 章 几种结构化知识表示及其推理 7.1 框架框架 7.2 语义网络语义网络 7.3 类与对象类与对象 习题七习题七 第 7 章 几种结构化知识表示及其推理 7.1 框框 架架7.2.1 框架的概念框架的概念 顾名思义,框架就是一种结构,一种模式,其一般形式是: | | 第 7 章 几种结构化知识表示及其推理 | 即一个框架一般有若干个槽,一个槽有一个槽值或者有若干个侧面,而一个侧面又有若干个侧面值。其中槽值和侧面值可以是数值、字符串、布尔值,也可以是一个动作或过程,甚至还可以是另一个框架的名字。第 7 章 几种结构化知识表示及其推理 例例7.1

2、下面是一个描述“教师”的框架:框架名:类属:工作:范围:(教学,科研) 缺省:教学性别:(男,女)学历:(中师,高师)类型:(,)第 7 章 几种结构化知识表示及其推理 可以看出,这个框架的名字为“教师”,它含有5个槽,槽名分别是“类属”、“工作”、“性别”、“学历”和“类型”。这些槽名的右面就是其值,如“”、“男”、“女”、“高师”、“中师”等等。其中“”又是一个框架名,“范围”、“缺省”就是侧面名,其后是侧面值,如:“教学”、“科研”等。另外,用括的槽值也是框架名。第 7 章 几种结构化知识表示及其推理 例例7.2 下面是一个描述“大学教师”的框架:框架名:类属:学历:(学士,硕士,博士)

3、专业:职称:(助教,讲师,副教授,教授)外语:语种:范围:(英,法,日,俄,德,) 缺省:英水平:(优,良,中,差)缺省:良第 7 章 几种结构化知识表示及其推理 例7.3 下面是描述一个具体教师的框架:框架名:类属:姓名:李明性别:男年龄:25职业:教师职称:助教专业:计算机应用第 7 章 几种结构化知识表示及其推理 部门:计算机系软件教研室工作:参加工作时间:1995年8月工龄:当前年份-参加工作年份工资:第 7 章 几种结构化知识表示及其推理 比较例7.2和例7.3中的框架,可以看出,前者描述的是一个概念,后者描述的则是一个具体的事物。二者的关系是,后者是前者的一个实例。因此,后者一般称

4、为前者的实例框架。这就是说,这两个框架之间存在一种层次关系。一般称前者为上位框架(或父框架),后者为下位框架(或子框架)。当然,上位和下位是相对而言的。例如“大学教师”虽然是“教师-1”的上位框架,但它却是“教师”框架的下位框架,而“教师”又是“知识分子”的下位框架。第 7 章 几种结构化知识表示及其推理 7.1.2 框架的表达能力框架的表达能力 由框架的形式可以看出,框架适合表达结构性的知识。所以,概念、对象等知识最适于用框架表示。其实,框架的槽就是对象的属性或状态,槽值就是属性值或状态值。不仅如此,框架还可以表示行为(动作),所以,有些过程性事件或情节也可用框架网络来表示。第 7 章 几种

5、结构化知识表示及其推理 例例7.4 下面是关于房间的框架:框架名:墙数x1: 缺省:x1=4 条件:x10窗数x2: 缺省:x2=2 条件:x20门数x3: 缺省:x3=1 条件:x30第 7 章 几种结构化知识表示及其推理 前墙:(墙框架(w1,d1)后墙:(墙框架(w2,d2)左墙:(墙框架(w3,d3)右墙:(墙框架(w4,d4)天花板:地板:门:窗:条件:w1+w2+w3+w4=x2 d1+d2+d3+d4=x3类型:(,)第 7 章 几种结构化知识表示及其推理 例7.5 机器人纠纷问题的框架描述如图7-1所示。图71 机器人纠纷问题第 7 章 几种结构化知识表示及其推理 还需指出的是

6、,产生式规则也可用框架表示。例如,产生式 如果头痛且发烧,则患感冒。用框架表示可为: 框架名: 前提:条件1:头痛 条件2:发烧 结论:患感冒第 7 章 几种结构化知识表示及其推理 7.1.3 基于框架的推理基于框架的推理 基于框架的推理方法是继承。所谓继承,就是子框架可以拥有其父框架的槽及其槽值。实现继承的操作有匹配、搜索和填槽。 匹配就是问题框架同知识库中的框架的模式匹配。所谓问题框架,就是要求解某个问题时,先把问题用一个框架表示出来,然后与知识库中的已有框架进行匹配。如果匹配成功,就可获得有关信息。搜索就是沿着框架间的纵向和横向联系,在框架网络中进行查找。搜索的目的是为了获得有关信息。第

7、 7 章 几种结构化知识表示及其推理 框架名: 教师-1姓名: 李明性别: 男年龄: 25职称: 助教专业: 计算机应用部门: 计算机系软件教研室外语水平: 显然, 原框架“教师-1”中无“外语水平”槽, 但它的父框架是“大学教师”, 该框架内有“外语水平”槽, 并且侧面“语种”(“范围”)缺省值是“英”, 侧面“水平”的缺省值是“良”。 于是通过继承, 便知道了“教师-1”懂英语, 且水平还良好。 那么, 这两个值也就可以填到“教师-1”的槽中。 第 7 章 几种结构化知识表示及其推理 7.1.4 框架的程序语言实现框架的程序语言实现 有一种名为frl(frame representatio

8、n language)的程序设计语言,就是专门基于框架的程序设计语言。用它就可以方便地实现框架知识表示。不过,用prolog也可方便地实现框架表示。用prolog实现框架表示,一般采用含结构或表的谓词来实现。因为框架实际上就是树,而prolog的结构也是树,表又是特殊的结构,它的元素个数和层数都不限定,可动态变化,因此,更适于表示一般的框架。第 7 章 几种结构化知识表示及其推理 例如,前面的“教师”框架用prolog可表示如下: frame(name(教师), kind-of(), work(scope(教学,科研),default(教学), sex(男,女), reco-of-f-s(中师

9、,高师), type(“”,“”,“”). 如果要给出框架的一个通用表示形式,则下面的表示方式可供参考。第 7 章 几种结构化知识表示及其推理 frame(name(教师), body(st(类属,st(,), st(工作,st(范围,st(教学,),=st(科研,), st(缺省,st(教学,), st(性别,st(男,),st(女,), st(学历,st(中师,),st(高师,), st(类型,st(,),st(,),= st() 第 7 章 几种结构化知识表示及其推理 这是一个prolog的“事实”,其谓词及领域说明如下: domains name=name(string) body=b

10、ody(subtree list) subtreelist=subtree* subtree=st(string,subtreelist)database frame(name,body) 其中的subtreelist是递归定义的。按此定义所有框架都取统一的表示形式。第 7 章 几种结构化知识表示及其推理 7.2 语义网络语义网络7.2.1 语义网络的概念语义网络的概念 语义网络是由节点和边(也称有向弧)组成的一种有向图。其中节点表示事物、对象、概念、行为、性质、状态等;有向边表示节点之间的某种联系或关系。例如图72就是一个语义网络。其中,边上的标记就是边的语义。 还需指出的是, 上述关于框架

11、的推理方法, 实际仅适于装载着概念和实体对象的框架, 而对于装载着规则的框架, 其推理就要用基于规则的演绎推理方法。 第 7 章 几种结构化知识表示及其推理 语义网络的概念最先是由quillian提出来的,他于1968年在他的博士论文中,把语义网络作为人类联想记忆的一个显式心理模型。所以,语义网络也称联想网络。 现在,语义网络的理论已经有了长足的发展。有人把它划分为五个级别:执行级、逻辑级、认识论级、概念级和语言学级。并分为七种类型: (1)命题语义网(包括分块联想网络); (2)数据语义网:以数据为中心的语义网络;第 7 章 几种结构化知识表示及其推理 (3)语言语义网:用于自然语言的分析和

12、理解; (4)结构语义网:描述客观事物的结构,常见于模式识别和机器学习等领域; (5)分类语义网:描述抽象概念及其层次; (6)推理语义网:是一种命题网,但它已在某种程度上规范化,更适于推理; (7)框架语义网:与框架相结合的语义网。第 7 章 几种结构化知识表示及其推理 图72苹果的语义网络第 7 章 几种结构化知识表示及其推理 6.3.2 语义网络的表达能力语义网络的表达能力 由语义网络的结构特点可以看出,语义网络不仅可以表示事物的属性、状态、行为等,而且更适合于表示事物之间的关系和联系。而表示一个事物的层次、状态、行为的语义网络,也可以看作是该事物与其属性、状态或行为的一种关系。如图73

13、所示的语义网络,就表示了专家系统这个事物(的内涵),同时也可以看作是表示了专家系统与“智能系统”、“专家知识”、“专家思维”及“困难问题”这几个事物之间的关系或联系。所以,抽象地说,语义网络可表示事物之间的关系。因此,关系(或联系)型的知识和能化为关系型的知识都可以用语义网络来表示。下面我们就给出常见的几种。第 7 章 几种结构化知识表示及其推理 图73 专家系统的语义网络 第 7 章 几种结构化知识表示及其推理 1.实例关系实例关系 实例关系表示类与其实例(个体)之间的关系。这是最常见的一种语义关系。例如,“小华是一个大学生”就可表示为图74。其中,关系“是一个”一般标识为“is-a”,或i

14、sa。第 7 章 几种结构化知识表示及其推理 图74 表示实例关系的语义网络 小华大学生是一个第 7 章 几种结构化知识表示及其推理 2.分类(或从属、泛化)关系分类(或从属、泛化)关系 分类关系是指事物间的类属关系,图75就是一个描述分类关系的语义网络。在图75中,下层概念节点除了可继承、细化、补充上层概念节点的属性外,还出现了变异的情况:鸟是鸵鸟的上层概念节点,其属性是“有羽毛”、“会飞”,但鸵鸟的属性只是继承了“有羽毛”这一属性,而把鸟的“会飞”变异为“不会飞”。其中,关系“是一种”一般标识为“akindof”或ako。第 7 章 几种结构化知识表示及其推理 图75 表示分类关系的语义网

15、络 第 7 章 几种结构化知识表示及其推理 3.组装关系组装关系 如果下层概念是上层概念的一个方面或者一部分,则称它们的关系是组装关系。例如图76所示的语义网络就是一种聚集关系。其中,关系“一部分”一般标识为“a-part-of”。第 7 章 几种结构化知识表示及其推理 桌子桌腿桌面一部分一部分图76 表示组装关系的语义网络 第 7 章 几种结构化知识表示及其推理 4.属性关系属性关系 属性关系表示对象的属性及其属性值。例如,图77表示simon是一个人,男性,40岁,职业是教师。第 7 章 几种结构化知识表示及其推理 图77 表示属性关系的语义网络personsumonisa男40教师sex

16、ageprofession第 7 章 几种结构化知识表示及其推理 5.集合与成员关系集合与成员关系 意思是“是的成员”,它表示成员(或元素)与集合之间的关系。例如,“张三是计算机学会会员”可表示为图78。其中,关系“是成员”一般标识为“a-member-of”。第 7 章 几种结构化知识表示及其推理 图78 表示集合成员关系的语义网络 张三计算机学会是成员第 7 章 几种结构化知识表示及其推理 6.逻辑关系逻辑关系 如果一个概念可由另一个概念推出,两个概念间存在因果关系,则称它们之间是逻辑关系。图79所示的语义网络就是一个逻辑关系。 第 7 章 几种结构化知识表示及其推理 图79 表示逻辑关系

17、的语义网络 雨天外出andor带雨披带雨伞则第 7 章 几种结构化知识表示及其推理 7.方位关系方位关系 在描述一个事物时,经常需要指出它发生的时间、位置,或者指出它的组成、形状等等,此时可用相应的方位关系语义网络表示。例如事实: 张宏是石油学院的一名助教; 石油学院位于西安市电子二路; 张宏今年25岁。 可用图710所示的语义网络表示。第 7 章 几种结构化知识表示及其推理 图710 表示方位关系的语义网络 电子2路石油学院张宏助教西安市区25岁味道工作在职务属于年龄第 7 章 几种结构化知识表示及其推理 图711 表示所属关系的语义网络狗尾巴have 8.所属关系所属关系 所属关系表示“具

18、有”的意思。例如“狗有尾巴”可表示为图711。第 7 章 几种结构化知识表示及其推理 语义网络中的语义关系是多种多样的,一般根据实际关系定义。如常见的还有before、after、at等表示时间次序关系和located-on、located-under等表示位置关系。进一步,还可对带有全称量词和存在量词的谓词公式的语义加以表示。 由上所述可以看出,语义网络实际上是一种复合的二元关系图。网络中的一条边就是一个二元关系,而整个网络可以看作是由这些二元关系拼接而成。第 7 章 几种结构化知识表示及其推理 上面我们是从关系角度考察语义网的表达力的。下面我们从语句角度来考察语义网。 例如,对于如下的语句

19、(或事件): 小王送给小李一本书。 用语义网络可表示为图712,其中s代表整个语句。这种表示被称为是自然语言语句的深层结构表示。 语义网络也能表示用谓词公式表示的形式语言语句。例如: x(student(x)read(x,三国演义) 即“某个学生读过三国演义”,其语义网络表示为图713。第 7 章 几种结构化知识表示及其推理 图712 语句(事件)的语义网络 第 7 章 几种结构化知识表示及其推理 图713 谓词公式的语义网络 studentisa三国演义readbookxread1isaisasubjectobject第 7 章 几种结构化知识表示及其推理 图714 分块语义网络 stude

20、ntisa三国演义readbookxread1isaisasubjectobjectrgsisafa又如: x(student (x) read (x, 三国演义) 即“每个学生读过三国演义”, 其语义网络表示为图 7-14。 第 7 章 几种结构化知识表示及其推理 7.2.3 基于语义网络的推理基于语义网络的推理 基于语义网络的推理也是继承。继承也是通过匹配、搜索实现的。问题求解时,首先根据待求问题的要求构造一个网络片断,然后在知识库中查找可与之匹配的语义网络,当网络片断中的询问部分与知识库中的某网络结构匹配时,则与询问处匹配的事实,就是问题的解。我们要通过图7-1所示的语义网络(假设它已存

21、入知识库), 查询富士苹果有什么特点。那么, 我们可先构造如图7-15所示的一个网络片段。然后, 使其与知识库中的语义网络进行匹配。 匹配后x的值应为“脆甜”。当然, 这是一个简单问题。如果问题复杂, 也可能不能通过直接匹配得到结果, 那么还需要沿着有关边进行搜索, 通过继承来获得结果。例如要问:吃富士苹果对人的健康有何意义? 那么, 通过上述网络片断不能直接获得答案, 这时, 就需沿着边“ako”一直搜索到节点“水果”, 由水果的“富营养”性, 通过特性继承便得到富士苹果也富营养。 第 7 章 几种结构化知识表示及其推理 图715 语义网络片段 苹果x富士 特点ako第 7 章 几种结构化知

22、识表示及其推理 7.2.4 语义网络的程序语言实现语义网络的程序语言实现 由 于 语 义 网 络 是 一 个 二 元 关 系 图 , 所 以 用prolog可方便地实现语义网络知识表示。例如,图71所示的语义网络用prolog可表示如下: a-kind-of(苹果,水果). taste(苹果,甜). a-kind-of(富士,苹果). intro-from(富士,日本). is-a(日本,亚洲国家). 第 7 章 几种结构化知识表示及其推理 a-kind-of(秦冠,苹果). produ-in(秦冠,陕西). is-located-at(陕西,中国西部). a-part-of(中国西部,中国)

23、. 也可以表示为 arc(a-kind-of,苹果,水果). arc(taste,苹果,甜). arc(a-kind-of,富士,苹果). arc(intro-from,富士,日本). arc(is-a,日本,亚洲国家). 第 7 章 几种结构化知识表示及其推理 arc(a-kind-of,秦冠,苹果). arc(produ-in,秦冠,陕西). arc(is-located-at,陕西,中国西部). arc(a-part-of,中国西部,中国). 当然,我们也可以将一个网络或网络片段组织在一个事实中。例如: net1( a-kind-of(“苹果”,“水果”), taste(“苹果”,“甜”

24、), a-kind-of(“秦冠”,“苹果”), produ-in(秦冠,陕西). 第 7 章 几种结构化知识表示及其推理 7.3 面向对象知识表示面向对象知识表示近年来,面向对象技术蓬勃兴起。在知识表示领域则出现了面向对象的知识表示方法。 面向对象技术中的核心概念是对象和类。对象可以泛指一切事物,类则是一类对象的抽象模型。反之,一个对象是其所属类的实例。通常,在面向对象的程序设计语言中,只给出类的定义,其对象由类生成。第 7 章 几种结构化知识表示及其推理 类的定义中就说明了所辖对象的共同特征(属性、状态等)和行为。特征用变量表示,行为则是作用于这些特征和作用于对象的一组操作,如函数、过程等

25、。这些操作一般称为方法。这样,一个类将其对象所具有的共同特征和操作组织在一起,统一进行定义,以供全体对象共享。即当给类中的特征变量赋予一组值时,则这组值连同类中的方法,就构成了一个具体的对象。第 7 章 几种结构化知识表示及其推理 例例7.6 下面是面向对象程序设计语言c+中一个雇员类和经理类的定义。 class employee privite: char*name; int age; int salary;= public: employee(char*name,int age,int salary); employee();第 7 章 几种结构化知识表示及其推理 ;employee em

26、ployee(char*name,int age,int salary)name=newcharstrlen(name);strcpy(name,name);age=age;salary=salary;= = employee employee() delete name;= void employee change(int age,int salary)第 7 章 几种结构化知识表示及其推理 age=age;salary=salary;void employee retire()if(age60)delete this;以上是雇员类的定义,用此定义就可生成一个雇员类的实例,即雇员对象。例如下面的语句 employeee1(李明,30) 第 7 章 几种结构化知识表示及其推理 就生成一个名为李明,年龄为30岁的雇员。下面是经理类的定义。 class manager:public employeeint level;public:manager(char*name,int age,int salary,int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论