人工智能技术导论第6章知识表示

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6章 知识表示
这是一个PROLOG的“事实”,其谓词及领域说明如下: domains
name=name(string) body=body(subtree list) subtreelist=subtree* subtree=st(string,subtreelist) database frame(name,body)
第6章 知识表示
例6.2 下面是一个描述“大学教师”的框架: 框架名:<大学教师> 类属:<教师> 学历:(学士,硕士,博士) 专业:<学科专业> 职称:(助教,讲师,副教授,教授) 外语:语种:范围:(英,法,日,俄,德,…)
缺省:英 水平:(优,良,中,差) 缺省:良
第6章 知识表示
例6.3 下面是描述一个具体教师的框架: 框架名:<教师-1> 类属:<大学教师> 姓名:李明 性别:男 年龄:25 职业:教师 职称:助教 专业:计算机应用
6.2 框 架
第6章 知识表示
6.2.1 框架的概念 顾名思义,框架就是一种结构,一种模式,其一
般形式是: <框架名> <槽名1><槽值1>| <侧面名11><侧面值111,侧面值112,…>
<侧面名12><侧面值121,侧面值122,…>
第6章 知识表示
<槽名2><槽值2>|<侧面名21><侧面值211,侧面值212,…> <侧面名22><侧面值221,侧面值222,…>
第6章 知识表示
第6章 知识表示
6.1 知识及其表示 6.2 框 架 6.3 语义网络 6.4 面向对象知识表示
第6章 知识表示
6.1 知识及其表示
6.1.1 知识的概念 “知识”是我们熟悉的名词。但究竟什么是知识呢?
我们认为,知识就是人们对客观事物(包括自然的和 人造的)及其规律的认识,知识还包括人们利用客观 规律解决实际问题的方法和策略等。
[])]), st("缺省",[st("教学",[])])]), st("性别",[st("男",[]),st("女",[])]), st("学历",[st("中师",[]),st("高师",[])]), st("类型",[st("<小学教师>",[]),st("<中学教师>", []),= st("<大学教师>"[])])]))
部门:计算机系软件教研室 工作: 参加工作时间:1995年8月 工龄:当前年份-参加工作年份 工资:<工资单>
第6章 知识表示
第6章 知识表示
比较例6.2和例6.3中的框架,可以看出,前者描述 的是一个概念,后者描述的则是一个具体的事物。二 者的关系是,后者是前者的一个实例。因此,后者一 般称为前者的实例框架。这就是说,这两个框架之间 存在一种层次关系。一般称前者为上位框架(或父框 架),后者为下位框架(或子框架)。当然,上位和 下位是相对而言的。例如“大学教师”虽然是“教师1”的上位框架,但它却是“教师”框架的下位框架, 而“教师”又是“知识分子”的下位框架。
type(“<小学教师>”,“<中学教师>”,“<大学教师>”)). 如果要给出框架的一个通用表示形式,则下面的
表示方式可供参考。
第6章 知识表示
frame(name("教师"), body([st("类属",[st("<知识分子>",[])]), st("工作",[st("范围",[st("教学",[]),=st("科研",
第6章 知识表示
例6.1 下面是一个描述“教师”的框架: 框架名:<教师> 类属:<知识分子> 工作:范围:(教学,科研) 缺省:教学 性别:(男,女) 学历:(中师,高师) 类型:(<小学教师>,<中学教师>,<大学教师>)
第6章 知识表示
可以看出,这个框架的名字为“教师”,它含有5 个槽,槽名分别是“类属”、“工作”、“性别”、 “学历”和“类型”。这些槽名的右面就是其值,如 “<知识分子>”、“男”、“女”、“高师”、“中师” 等等。其中“<知识分子>”又是一个框架名,“范围”、 “缺省”就是侧面名,其后是侧面值,如:“教学”、 “科研”等。另外,用<>括的槽值也是框架名。
框架名:<房间>
墙数x1: 缺省:x1=4 条件:x1>0 窗数x2: 缺省:x2=2 条件:x2≥0 门数x3: 缺省:x3=1 条件:x3>0
第6章 知识表示
第6章 知识表示
前墙:(墙框架(w1,d1)) 后墙:(墙框架(w2,d2)) 左墙:(墙框架(w3,d3)) 右墙:(墙框架(w4,d4)) 天花板:<天花板框架> 地板:<地板框架> 门:<门框架> 窗:<窗框架> 条件:w1+w2+w3+w4=x2 d1+d2+d3+d4=x3 类型:(<办公室>,<教室>,<会客室>,<卧室>,<厨房>,<仓库
第6章 知识表示
1.实例关系 实例关系表示类与其实例(个体)之间的关系。 这是最常见的一种语义关系。例如,“小华是一个大 学生”就可表示为图6―4。其中,关系“是一个”一 般标识为“is-a”,或ISA。
第6章 知识表示
智能系统
是 一 种
专家系统
能解决
困难问题





专家知识
专家思维
图6―3 专家系统的语义网络
第6章 知识表示
例如,前面的“教师”框架用PROLOG可表示如下: frame(name("教师"), kind--of("<知识分子>"), work(scope("教学","科研"),default("教学")), sex("男","女"), reco--of--f--s("中师","高师"),
第6章 知识表示
小华
是一个
大学生
图6―4 表示实例关系的语义网络
第6章 知识表示
2.分类(或从属、泛化)关系 分类关系是指事物间的类属关系,图6―5就是一 个描述分类关系的语义网络。在图6―5中,下层概念 节点除了可继承、细化、补充上层概念节点的属性外, 还出现了变异的情况:鸟是鸵鸟的上层概念节点,其 属性是“有羽毛”、“会飞”,但鸵鸟的属性只是继 承了“有羽毛”这一属性,而把鸟的“会飞”变异为 “不会飞”。其中,关系“是一种”一般标识为 “akindof”或AKO。
第6章 知识表示
6.2.4 框架的程序语言实现 有一种名为FRL(Frame Representation Language)的
程序设计语言,就是专门基于框架的程序设计语言。 用它就可以方便地实现框架知识表示。不过,用 PROLOG也可方便地实现框架表示。用PROLOG实现 框架表示,一般采用含结构或表的谓词来实现。因为 框架实际上就是树,而PROLOG的结构也是树,表又 是特殊的结构,它的元素个数和层数都不限定,可动 态变化,因此,更适于表示一般的框架。
第6章 知识表示
6.3.2 语义网络的表达能力 由语义网络的结构特点可以看出,语义网络不仅
可以表示事物的属性、状态、行为等,而且更适合于 表示事物之间的关系和联系。而表示一个事物的层次、 状态、行为的语义网络,也可以看作是该事物与其属 性、状态或行为的一种关系。
第6章 知识表示
如图6―3所示的语义网络,就表示了专家系统这 个事物(的内涵),同时也可以看作是表示了专家系 统与“智能系统”、“专家知识”、“专家思维”及 “困难问题”这几个事物之间的关系或联系。所以, 抽象地说,语义网络可表示事物之间的关系。因此, 关系(或联系)型的知识和能化为关系型的知识都可 以用语义网络来表示。下面我们就给出常见的几种。
第6章 知识表示 图6―2 苹果的语义网络
第6章 知识表示
语义网络的概念最先是由Quillian提出来的,他于 1968年在他的博士论文中,把语义网络作为人类联想 记忆的一个显式心理模型。所以,语义网络也称联想 网络。
现在,语义网络的理论已经有了长足的发展。有 人把它划分为五个级别:执行级、逻辑级、认识论级、 概念级和语言学级。并分为七种类型:
如果头痛且发烧,则患感冒。 用框架表示可为:
框架名:<诊断1> 前提:条件1:头痛 条件2:发烧 结论:患感冒
第6章 知识表示
6.2.3 基于框架的推理 基于框架的推理方法是继承。所谓继承,就是子
框架可以拥有其父框架的槽及其槽值。实现继承的操 作有匹配、搜索和填槽。
匹配就是问题框架同知识库中的框架的模式匹配。 所谓问题框架,就是要求解某个问题时,先把问题用 一个框架表示出来,然后与知识库中的已有框架进行 匹配。如果匹配成功,就可获得有关信息。搜索就是 沿着框架间的纵向和横向联系,在框架网络中进行查 找。搜索的目的是为了获得有关信息。
第6章 知识表示
6.2.2 框架的表达能力 由框架的形式可以看出,框架适合表达结构性的
知识。所以,概念、对象等知识最适于用框架表示。 其实,框架的槽就是对象的属性或状态,槽值就是属 性值或状态值。不仅如此,框架还可以表示行为(动 作),所以,有些过程性事件或情节也可用框架网络 来表示。
例6.4 下面是关于房间的框架:
… <槽名k><槽值k>| <侧面名k1><侧面值k11,侧面值k12,…>
<侧面名k2><侧面值k21,侧面值k22,…>
第6章 知识表示
即一个框架一般有若干个槽,一个槽有一个槽值 或者有若干个侧面,而一个侧面又有若干个侧面值。 其中槽值和侧面值可以是数值、字符串、布尔值,也 可以是一个动作或过程,甚至还可以是另一个框架的 名字。
就形式而言,知识可分为显式的和隐式的。
第6章 知识表示
第6章 知识表示
第6章 知识表示
6.1.3 知识表示的语言实现 上面谈的知识表示,仅是指知识的逻辑结构或形式。
那么,要把这些外部的逻辑形式转化为机器的内部形式, 还需要程序语言的支持。原则上讲,一般的通用程序设 计语言都可实现上述的大部分表示方法。但使用专用的 面向某一知识表示的语言更为方便和有效。因此,几乎 每一种知识表示方法都有其相应的专用实现语言。例如, 支持谓词逻辑的语言有PROLOG和LISP,专门支持产生 式的语言有OPS5,专门支持框架的语言有FRL,支持面 向对象表示的语言有Smalltalk、C++和Java等,支持神 经网络表示的语言有AXON。
>,…)
第6章 知识表示
例6.5 机器人纠纷问题的框架描述如图6-1所示。
框 架 名 : 〈 打 人- 1 〉 动 作: 打 动 作发 出 者: 罗 宾 动 作接 受 者: 苏 西 后 果 : ( 〈 打 人 -2〉 , 〈 哭 泣 -1〉 )
框 架 名 : 〈 打 人- 2 〉 动 作: 打 动 作发 出 者: 苏 西 动 作接 受 者: 罗 宾 后 果 : (〈 打 人 -1〉 , 〈 哭 泣 -2〉 )
其中的subtreelist是递归定义的。按此定义所有框架 都取统一的表示形式。
6.3 语义网络
第6章 知识表示
6.3.1 语义网络的概念
语义网络是由节点和边(也称有向弧)组成的一 种有向图。其中节点表示事物、对象、概念、行为、 性质、状态等;有向边表示节点之间的某种联系或关 系。例如图6―2就是一个语义网络。其中,边上的标 记就是边的语义。
框 架 名 : 〈 哭- 1 〉 动 作: 哭 动 作发 出 者: 苏 西
后 果 : ( 〈 得 意 , 懊 悔)
框 架 名 : 〈 哭- 2 〉 动 作: 哭 动 作发 出 者: 罗 宾 后 果: 心 里平 衡
图6―1 机器人纠纷问题
第6章 知识表示
还需指出的是,产生式规则也可用框架表示。 例如,产生式
第6章 知识表示
(1)命题语义网(包括分块联想网络); (2)数据语义网:以数据为中心的语义网络; (3)语言语义网:用于自然语言的分析和理解; (4)结构语义网:描述客观事物的结构,常见于模 式识别和机器学习等领域; (5)分类语义网:描百度文库抽象概念及其层次; (6)推理语义网:是一种命题网,但它已在某种程 度上规范化,更适于推理; (7)框架语义网:与框架相结合的语义网。
第6章 知识表示
对客观事物及其规律的认识,包括对事物的现象、 本质、属性、状态、关系、联系和运动等的认识,即 对客观事物的原理的认识。利用客观规律解决实际问 题的方法和策略,包括解决问题的步骤、操作、规则、 过程、技术、技巧等具体的微观性方法;也包括诸如 战术、战略、计谋、策略等宏观性方法。所以,就内 容而言,知识可分为(客观)原理性知识和(主观) 方法性知识两大类。
相关文档
最新文档