Presentation is loading. Please wait.

Presentation is loading. Please wait.

第五章 知识表示 概述 表示方法.

Similar presentations


Presentation on theme: "第五章 知识表示 概述 表示方法."— Presentation transcript:

1 第五章 知识表示 概述 表示方法

2 第五章 知识表示方法 概述 表示方法

3 概述 人工智能研究中最基本的问题之一 在知识处理中总要问到:“如何表示知识?”,“知识是用什么来表示的?”。怎样使机器能懂,能对之进行处理,并能以一种人类能理解的方式将处理结果告诉人们。 在AI系统中,给出一个清晰简洁的描述是很困难的。有研究报道认为。严格地说AI对知识表示的认真、系统的研究才刚刚开始。

4 概述 知识的定义 Feigenbaum:知识是经过消减、塑造、解释和转换的信息。
(难以给出明确的定义只能从不同侧面加以理解) Feigenbaum:知识是经过消减、塑造、解释和转换的信息。 Bernstein:知识是由特定领域的描述、关系和过程 组成的。 Hayes-roth:知识是事实、信念和启发式规则。 知识库的观点:知识是某领域中所涉及的各有关方面的一种符号表示。

5 概述 知识的种类 事实性知识:采用直接表示的形式,只给出一些实例,知识藏在实例中。 如:凡是猴子都有尾巴 过程性知识:描述做某件事的过程
如:电视维修法 行为性知识:不直接给出事实本身,只给出它在某方面的行为 如:微分方程、(事物的内涵)

6 概述 知识的种类 类比性知识: 即不给出外延,也不给出内涵,只给出它与其它事物的某些相似之处 如:比喻、谜语
元知识:有关知识的知识。最重要的元知识是如何使用知识的知识,如何从知识库中找到想要的知识。

7 概述 知识的要素 事实:事物的分类、属性、事物间关系、科学事实、客观事实等。(最低层的知识)
规则:事物的行动、动作和联系的因果关系知识。(启发式规则)。 控制:当有多个动作同时被激活时,选择哪一个动作来执行的知识。(技巧性) 元知识:高层知识。怎样实用规则、解释规则、校验规则、解释程序结构等知识。

8 概述 知识表示的定义 知识表示研究用机器表示知识的可行性、有效性的一般方法。 知识表示是理智推理的部分理论。 知识表示是有效计算的载体
知识表示是交流的媒介(如语义网络)

9 概述 选取知识表示的因素 表示范围是否广泛 是否适于推理 是否适于计算机处理 是否有高效的算法 能否表示不精确知识 能否模块化 总之 ………
总之 ……… 知识和元知识能否用统一 的形式表示 是否加入启发信息 过程性表示还是说明性表示 表示方法是否自然

10 概述 选取知识表示的因素 ……….. 总之,人工智能问题的求解是以知识表示为基础的。如何将已获得的有关知识以计算机内部代码形式加以合理地描述、存储、有效地利用便是表示应解决的问题。

11 概述 研究内容 表示观的研究: 认识论、本体论、知识工程 表示方法的研究: 直接法、代替法(局部、分布,…….)

12 概述 知识表示研究的特点 智能行为特有的灵活性。“常识问题”不能概括为一类简洁的理论,是大量小理论的集合。
AI的任务受到计算装置的约束。这导致了所采用的“表示”必须同时满足“刻画智能现象”与“计算装置可以接受”,这两个有时是矛盾的条件。

13 第五章 知识表示方法 概述 表示方法

14 第五章 知识表示方法 概述 表示方法

15 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

16 表示方法 —概述 表示方法可以分成2类 替代表示法 直接表示法: 局部表示类:最充分也是正统AI最经常使用的
分布表示法:对局部表示法在智能行为表述尚不够充分而作的补充。 直接表示法: 正在引起越来越多AI研究者的注意。不可完全独立:考虑到“任何表示方法必须被计算机所接受” 这个先决条件,直接表示需要借助局部或部分表示形式。

17 表示方法 —概述 表示方法 替代表示 分布表示 直接表示 局部表示 陈述性表示 过程性表示 逻辑表示 产生式表示 语义网络表示 框架表示
脚本表示

18 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

19 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

20 表示方法 —直接表示 1963年由IBM公司的Gelernter(格伦特尔)提出的。用于基于传统欧氏几何证明的几何定理证明器,即平面几何证明程序 它的输入是对前提和目标的陈述以及图示(图示是用一系列坐标来表示的)。 在证明过程中,证明器把图示作为启发式信息,排除在图示中不正确的子目标。从而大大地减少了搜索空间。 但……..

21 表示方法 —直接表示 但,长期以来直接表示没有得到长足发展。原因如下:
计算机对直接表示的信息难以处理。 直接表示难以表示定量信息(语言设计失败) 直接表示不能描述自然世界的全部信息 这两年直接表示有所发展,因为,现在认识到,可以用其它媒体表示的方法去补充直接表示的不足。——多媒体。 引申的研究是临场AI与临境技术。近几年AI对自主智能系统研究(完全机器做人不干预)的失望,导致对建立人机一体智能系统的尝试。这样系统所需环境的要求是直接表示兴起的原因之一。

22 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

23 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

24 表示方法 —逻辑表示法 一阶谓词逻辑是谓词逻辑中最直观的一种逻辑。它以谓词形式来表示动作的主题、客体。客体可以多个。
如:张三与李四打网球(Zhang and Li play tennis),可写为:play (Zhang, Li, tennis) 这里谓词是play,动词主体是Zhang和 Li,而客体是tennis。 谓词逻辑规范表达式: P ( x1, x2, x3, …), 这里P是谓词, xi是主体与客体。

25 表示方法 —逻辑表示法 谓词比命题更加细致地刻画知识: 表达能力强 谓词可以代表变化的情况 在不同的知识之间建立联系……….
如:济南是个城市, City(x) 把城市这个概念分割出来。把“城市” 与“济南”两个概念连接在一起,而且说明“济南”是“城市”的子概念。(有层) 谓词可以代表变化的情况 如:City(济南),真。 City(煤球),假 在不同的知识之间建立联系……….

26 表示方法 —逻辑表示法 在不同的知识之间建立联系 如:Human(x) → Lawed(x), 人人都受法律管制,x是同一个人。
Commit(x) → Punished(x), x不一定是人也可以是动物。 而,{[Human(x) → Lawed(x)]→[commit(x) → Punished(x)]}, 意为如果由于某个x是人而受法律管制,则这个人犯了罪就一定要受到惩罚。

27 表示方法 —逻辑表示法 谓词逻辑法是应用最广的方法之一,其原因是:
谓词逻辑与数据库,特别是关系数据库就有密切 的关系。在关系数据库中,逻辑代数表达式是谓 词表达式之一。因此,如果采用谓词逻辑作为系 统的理论背景,则可将数据库系统扩展改造成知 识库。 一阶谓词逻辑具有完备的逻辑推理算法。如果对 逻辑的某些外延扩展后,则可把大部分的知识表 达成一阶谓词逻辑的形式。(知识易表达) ………..

28 表示方法 —逻辑表示法 谓词逻辑法是应用最广的方法之一,其原因是: ………..
谓词逻辑本身具有比较扎实的数学基础,知识的表达方式决定了系统的主要结构。因此,对知识表达方式的严密科学性要求就比较容易得到满足。这样对形式理论的扩展导致了整个系统框架的发展。 逻辑推理是公理集合中演绎而得出结论的过程。由于逻辑及形式系统具有的重要性质,可以保证知识库中新旧知识在逻辑上的一致性(或通过相应的一套处理过程检验)、和所演绎出来的结论的正确性。而其它的表示方法在这点上还不能与其相比。

29 表示方法 —逻辑表示法 用逻辑(谓词)表示知识实质上是把人类关于世界的认识变成一个包含个体、函数和谓词的概念化形式。 基本步骤:
给出有关世界的个体、函数和谓词 构造一阶谓词公式(集) 对公式(集)给出解释,使该解释是相应公式(集)的一个模型。

30 表示方法 —逻辑表示法 为此逻辑表示法在实际人工智能系统上得到应用。

31 逻辑表示例 例:一个房间里,有一机器人Robot,一个积木块Box,两个桌子A和B,怎样用逻辑法描述从初始状态到目标状态的机器人操作过程?
先引入谓词: Table(A) 表示A是桌子 EmptyHanded(Robot) 机器人Robot双手空空 At(Robot,A) 表示机器人Robot在A旁 Holds(Robot,Box) 机器人Robot拿着Box On(Box,A) 积木块Box在A上 设定初始状态: EmptyHanded(Robot) On(Box,A) Table(A) Table(B) 目标状态是: EmptyHanded(Robot) On(Box,B) Table(A) Table(B)

32 例(续) 机器人的每个操作的结果所引起的状态变化,可用对原状态的增添表和删除表来表示。如机器人有初始状态是把Box从A桌移到B桌上,然后仍回到Alcove,这时同初始状态相比有: 增添表 On(Box,B) 删除表 On(Box,A) 又如机器人从初始状态,走近A桌,然后拿起Box。这时同初始状态相比有: 增添表 At(Robot,A) Holds(Robot,Box)   删除表 At(Robot,Alcove) EmptyHanded( Robot ) On( Box,A) 进一步说,机器人的每一操作还需要先决条件。如机器人拿起A桌上的Box这一操作,先决条件: On(Box,A)(Box在A上) At(Robot,A)(机器人在A旁边) EmptyHanded(robot)(机器人手空空)

33 例(续) 先决条件成立与否的验证可以使用归结法。如将初始状态视作已知条件,而将要验证的先决条件作为结论,便可使用归结法了。 归结过程如下:
1)At(Robot,A) 2)EmptyHanded (Robot) 3)On(Box, A) 4)Table(A) 5)Table(B) 6)~On(Box, A) ∨~At(Robot,A) ∨~EmptyHanded(Robot)(先决条件之否定) 7)~At(Robot,A) ∨~EmptyHanded(Robot) 3,6 8) ~EmptyHanded (Robot) ,7 9) NULL ,8 于是验证了先决条件的成立。

34 表示方法 —逻辑表示法 存在问题: 谓词表示越细,推力越慢、效率越低,但表示清楚。实际中是要折衷的。

35 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

36 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

37 表示方法—产生式规则表示法 美国数学家Post,1943年提出了一种计算形式体系里所使用的术语。主要是使用类似文法的规则,对符号串做替换运算。这就是最早的一个产生式系统。 到了60年代,产生式系统成为认知心理学研究人类心理活动中信息加工过程的基础,由此心理学家认为,人脑对知识的存储就是产生式形式。因此,用它来建立人类认知模型。 到目前为止,产生式系统已发展成为人工智能系统中最典型最普遍的一种结构。产生式表示方法是专家系统的第一选择的知识表达方式。

38 表示方法—产生式规则表示法 表示形式 事实的表示:可看成是断言一个语言变量的值或是多个语言变量间的关系的陈述句,语言变量的值或语言变量间的关系可以是一个词,不一定是数字。 例1:香蕉是黄色的。语言变量——香蕉,值——黄色的 例2:小李喜欢小莉。语言变量——小李、小莉, 关系值——喜欢 一般用三元组(对象,属性,值)或 (关系,对象1,对象2) 例:(Li, Age, 25), (Friend, Li, Chang)

39 表示方法—产生式规则表示法 产生式系统的基本特征: 一组规则,即产生式本身。 每个规则分左边右边。 如:天上下雨 → 地上湿
→ 中国的首都是北京 一般左边表示情况,即什么条件。发生时产生式被调用。通常用匹配方法进行推理。匹配成功时,执行右边规定的动作。 …………

40 表示方法—产生式规则表示法 产生式系统的基本特征: 数据库
………… 数据库 存放的数据是构成产生式的基本元素,又是产生式作用的对象。这里的数据是广义的常量、变量、多元组谓词、表、图像等。以往事实或断言——知识元 一个解释程序 从匹配成功的规则(可能不止一个)中选出一个加以执行。

41 表示方法—产生式规则表示法 产生式系统基本结构 推理机 数据库 规则库 知识库 产生式系统结构图

42 表示方法—产生式规则表示法 产生式系统基本结构
工作存储器(数据库):存放当前已知的数据,包括推理过程中形成的中间结论。数据是广义的,可以是常量、多元数组、谓词、表示结构等。 产生式规则:每条产生式规则分为左右两个部分。左部表示激活该产生式规则的条件,右部表示调用该产生式规则后所作的动作。条件是一组复杂的模式,规则之间的控制也不是语句的传递,而且满足条件的规则被激活但不一定立即执行,取决于产生式系统的冲突消解策略。 …….

43 表示方法—产生式规则表示法 产生式系统基本结构 ……. 规则解释程序 匹配器:判断规则条件是否成立。 冲突消解器:选择可调用的规则。
解释器:执行规则的动作。并且在满足结束条件时终止产生式系统运行。

44 表示方法—产生式规则表示法 推理方法: 正向、 反向、 双向, 与或树。

45 表示方法—产生式规则表示法 正向推理方法: 从已知事实出发,逐步推导出最后结论。 其推理过程大致是:
用工作存储器中的事实与产生式规则的前提条件进行匹配。 按冲突消解策略从匹配的规则中选择一条规则。 执行选中规则的动作(依次)。修改工作存储器。 用更新后的工作存储器,重复上述工作,直到得出结论或工作存储器不再发生变化为止。

46 表示方法—产生式规则表示法 反向推理方法: 首先提出假设,然后验证这些假设的真假性,找到假设成立的所有证据或事实。 其推理过程大致是:
看假设是否存在于工作存储器中,若在,则假设成立,推理结束。 找出结论与此假设匹配的规则。 按冲突消解策略从匹配的规则实例中选择一条规则。 将选中的规则的前提条件作为新的假设,重复上述工作,直到假设的真假性被验证或不存在激活的规则。

47 表示方法—产生式规则表示法 双向推理方法: 即自顶向下、又自底向上作双向推理,直至某个中间界面上两方向结果相符便成功结束。
该方法较正向或反向推理所形成的推理网络小,从而推理效果更高。

48 . 与或树的标识能力 苹果 桃 核果 梨果 果肉 乳黄色 肉质脆 无石 细胞 外有 纵沟 果实 扁圆 果皮 有毛 李亚科 亚科 蔷薇科
花两性 花托 杯形 双子 叶纲 网状 叶脉 叶胚 花瓣5枚

49 表示方法—产生式规则表示法 推理方法的选择 推理方法的选择取决于推理的目标和搜索空间的形状。
如果目标是从一组给定事实出发,找出所有可能的结论,那么,通常使用正向推理。 如果目标是证实或否定某一特定结论,那么,通常使用反向推理,否则,从一组初始事实出发盲目地正向推理,可能得出许多和所要证实的结论无关的结论。

50 表示方法—产生式规则表示法 用产生式系统结构求解问题的过程和人类求解问题时的思维很相像。因而可以用它来模拟人类求解问题的思维过程。
特点 用产生式系统结构求解问题的过程和人类求解问题时的思维很相像。因而可以用它来模拟人类求解问题的思维过程。 可以把产生式系统作为人工智能系统的基本结构单元或基本模型看待。就好像是积木世界中的积木块一样。因而研究产生式系统的基本问题就具有一般意义。 表示的格式固定、形式单一、规则间相互独立,所以建立容易;推理方式单纯、知识库与推理机分离,修改方便、容易理解。

51 表示方法—产生式规则表示法 优点 模块性。 规则与规则之间相互独立 灵活性。 知识库易于增加、修改、删除 自然性。
方便地表示专家的启发性知识与经验 透明性。 易于保留动作所产生的变化、轨迹

52 表示方法—产生式规则表示法 缺点: 应用实例: 知识库维护难。 效率低。为了模块一致性。 理解难。由于规则一致性彼此之间不能调用。
用于化工工业测定分子结构的DENDRAL 用于诊断脑膜炎和血液病毒感染的MYCIN 估计矿藏的PROSPECTOR

53 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

54 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

55 表示方法—语义网络表示法 概述 1968年Quillian的博士论文建议用一种语义网络来描述人对事物的认知,实际上是对人脑功能的模拟。
逻辑和产生式表示方法常用于表示有关领域中各个不同状态间的关系。然而用于表示一个事物同其各个部分间的分类知识就不方便了。 槽和填槽表示方法便于表示这种分类知识。这种表示方法包括语义网络、框架、概念从属和脚本。语义网络方法的特点就在于提出了槽和填槽的结构。 语义网络同一阶逻辑有相同的能力。多用于自然语言处理。

56 表示方法—语义网络表示法 表示形式 每一个要表达的事实用一个“结点”表示,而事实之间的关系用“弧线”表示。即,有向图表示的三元组,(结点1, 弧,结点2)连接而成。

57 语义网络事例,能告诉你什么信息?

58 表示方法—语义网络表示法 类属关系 类属关系是指具有共同属性的不同事物间的分类关系、成员关系或实例关系。
注:它体现的是“具体与抽象”、“个体与集体”的概念。类属关系的一个最主要特征是属性的继承性,处在具体层的结点可以继承抽象层结点的所有属性。 常用的属性有: A-Kind-of:表示一个事物是另一个事物的一种类型 A-Member-of:表示一个事物是另一个事物的成员 Is-a:表示一个事物是另一个事物的实例 类属关系实例 注:在类属关系中,具体层的结点除了具有抽象层结点的所有属性外,还可以增加一些自己的个性。

59 表示方法—语义网络表示法 包含关系 包含关系也称为聚类关系,是指具有组织或结构特征的“部分与整体”之间的关系。
注:它和类属关系的最主要的区别就是包含关系一般不具备属性的继承性。 常用的包含关系的有: Part_of:表示一个事物是另一个事物的一部分 包含关系实例

60 表示方法—语义网络表示法 属性关系 属性关系是指事物和其属性之间的关系。 常用的属性的关系有:
Have:表示一个结点具有另一个结点所描述的属性 Can: 表示一个结点能做另一个结点的事情 例:鸟有翅膀 属性关系实例

61 表示方法—语义网络表示法 位置关系 位置关系是指不同事物在位置方面的关系。 常用的位置关系: Located-on: 一物在另一物之上
Located-at: 一物在何位置 Located-under: 一物在另一物之下 Located-inside: 一物在另一物之中 Located-outside: 一物在另一物之外

62 表示方法—语义网络表示法 相近关系 相近关系是指不同事物在形状、内容等方面相似和接近。 常用的相近关系: Similar-to: 相似
Near-to: 接近

63 表示方法—语义网络表示法 时间关系 是指不同事件在其发生时间方面的先后关系。 常用的时间关系有:
Before:表示一个事件在一个事件之前发生 After: 表示一个事件在一个事件之后发生。 例如:香港回归之后,澳门也回归了。

64 表示方法—语义网络表示法 多元逻辑关系 例如AC米兰队和国际米兰队在一场足球比赛中的成绩为0:1,逻辑表示法为SCORE( AC-MILAN, INTER-MILAN, 0:1),可以通过加入附加结点的办法将其改成语义网络表示法,其根本方法是将多元关系表示成二元关系的组合或合取。本例通过加入附加结点G22。 多元逻辑关系语义网络实例 从图中可以看出,原来的多元关系都变成了G22结点属性。

65 另例 Micheal is an employee and Jack is his boss. Someday Micheal kicked his boss. 语义描述

66 表示方法—语义网络表示法 推理方法 网络匹配:结构上的匹配,包括结点和弧的匹配
继承推理:利用如:成员联系、特征联系、相互作用联系、集合联系、合成联系、因果联系、活动方式联式、活动目标联系、蕴含联系等具有继承性质的语义联系建立一些并不一定显示存在于网络知识库中的网络结构。 语义网络上的推理:网络上的搜索过程,正向、逆向、双向。

67 表示方法—语义网络表示法 继承的一般规则: IF X (AKO) Y and Y(AKO)Z then X(AKO)Z
IF X (ISA) Y and Y(AKO)Z then X(ISA)Z IF X (AKO) Y and Y(属性)Z then X(属性)Z IF X (ISA) Y and Y(属性)Z then X(属性)Z IF X (属性) Y and Y(AKO)Z then X(属性)Z IF X (属性) Y and Y(ISA)Z then X(属性)Z

68 语义关系举例 “猎狗是一种狗” “狗是一种动物” 毛 跑得快 生命 have 猎狗 狗 动物 毛 have 尾巴 狩猎 运动 is have
A-kind-of A-kind-of 猎狗 动物 have have can can 尾巴 狩猎 运动 “猎狗是一种狗” “狗是一种动物”

69 语义网络表示法举例 设有如下事实: 张三是硕士研究生; 他在山东大学主修计算机专业; 他入校的时间是2010年9月; 他的导师是李四。
问题: 1. 给出张三受教育的语义网络。 2.语义网络中的推理过程有哪几种?结合构造的语义网络分析说明“张三是什么时间入学的?”这一问题的求解过程。 3.试述语义网络表示法的特点及可以利用语义网络表示知识的问题。

70 语义网络

71 2、 语义网络中的推理过程主要有两种: 继承,匹配; 继承是把对事物的描述从概念节点或类节点传递到实例节点。 匹配 问题的求解一般是通过匹配实现的,待解问题的概念节点或网络片断与语义网络中的节点相一致,由此可以求得问题的答案。

72 问题“张三是什么时间入学的?”的求解过程
(1)、根据求解问题构造如下网络片断; (2)、依据网络片断到知识苦中寻找可匹配的网络;即概念节点“张三”与语义网络中的“张三”节点匹配成功; (3)、与询问处匹配的事实即是问题的解,通过匹配推知张三所受的教育为“教育-A”,而教育-A的入学时间为“2010.9”

73 3、 特点 (1) 结构性好: 语义网络是一种结构化的知识表示方法,它能够把事物的属性和事物间的各种语义关系显示地表示出来; (2)联想性: 语义网络作为人类联想记忆模型提出来,强调的就是事物之间的语义关系。 (3)自然性: 语义网络实际上是一个带有标示的有向图,可直观的把事物的属性及事物间的语义联系表示出来,便于理解。 利用语义网络表示知识的问题有:自然语言理解,问答系统,专家系统等。 缺点:推理规则不十分明显,表达范围有限,一旦结点个数太多,网络结构复杂。

74 表示方法—语义网络表示法 推理特点 不十分明了,有继承规则。
可以用关系如:成员联系、特征联系、相互作用联系、集合联系、合成联系、因果联系、活动方式联式、活动目标联系、蕴含联系等。 还可以将语义网络引入逻辑含义。表示∧,∨,~关系。用归结推理法。

75 表示方法—语义网络表示法 结论 语义网络图的好处是直观、清晰
缺点是表达范围有限。如,一旦有十个结点,而且各结点之间又有联系,则这个网络就很难辨清了。

76 语义网络表示法的应用

77 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

78 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

79 表示方法—框架表示法 概述 1975年 Minsky在论文中提出了框架理论。他从心理学的证据出发,认为人的知识以框架结构记存在人脑中。当人们面临新的情况,或对问题的看法有重要变化时,总是从自己的记忆中找出一个合适的框架,然后根据细节加以修改补充,从而形成对新观察到的事物的认识。 人类对于一件事的了解,表现在对于这件实物的诸方面,即属性的了解。掌握了事物的属性,也就有了关于事物的知识,知识表示是从属性描述开始的。 Facebook使用LAMP(Linux、Apache、MySQL、PHP)作为技术构架. 电子商务网站采用的是:mySQL+Tomcat+Myeclipse技术构架

80 表示方法—框架表示法 概述 Facebook使用LAMP(Linux、Apache、MySQL、PHP)作为技术构架.
电子商务网站采用的是:MySQL+Tomcat+Myeclipse技术构架, “12306网站”的技术架构:O日Oracle+WebLogic+SSH(spring-struts-hibernate)+CSP0 … … Facebook使用LAMP(Linux、Apache、MySQL、PHP)作为技术构架. 电子商务网站采用的是:mySQL+Tomcat+Myeclipse技术构架

81 表示方法—框架表示法 概述 天气预报 日期 图示 温度 雨量 风力
Facebook使用LAMP(Linux、Apache、MySQL、PHP)作为技术构架. 电子商务网站采用的是:mySQL+Tomcat+Myeclipse技术构架

82 表示方法—框架表示法 定义 表示形式: 推理方法:
框架是由若干个结点和关系(统称为槽)构成的网络。是语义网络的一般化形式的一种结构。同语义网络没有本质的区别。 如将语义网络结点间弧上的标注也放到槽内就成了框架表示形式。 表示形式: 由框架名、槽名、侧面、值组成 推理方法: 没有固定的推理机理。但和语义网络一样遵循匹配和继承的原理。

83 表示方法—框架表示法 性质 对事物进行描述。而且对其中某些细节做进一步描述。则可将其扩充为另外一些框架。 如:汽车载货或人。
可以通过它对一些从感官中没有直接得到的信息进行预测,对于人来说这种功能是很强的。如:一想到桌子就可以想到桌子的腿与腿的位置。 可以利用框架知识进行判断推理。 可通过它来认识某一类事物。 可以通过一系列实例来修正框架对某些事物的不完整描述。(填充空的框架,修改默认值)

84 表示方法—框架表示法

85 表示方法—框架表示法 简单框架的例子: Micheal Gender: man Profession: singer
Height: 185cm Weight: 79kg Age: 27

86 表示方法—框架表示法(附加过程) 例如,要确定一个人的性别,已匹配的知识库中的框架为 启动过程如下:
【槽名 Gender NIL If needed ASK If added CHECK】 启动过程如下: 1)如果没有默认值,if needed条件满足 2)启动ASK,向用户查询并等待输入 3)若有输入(if added),执行CHECK,检查输入的合法性 若有默认值而无输入,则不执行CHECK

87 表示方法—框架表示法 框架之间的关系 推理方法:
框架也分为类框架和实例框架。通过引入类-超类(AKO)及实例-类(ISA)关系来表示框架之间的包含关系和属于关系。框架理论将知识看成相互关系的成块组织。 推理方法: 匹配:和语义网络一样遵循匹配原理。 槽计算:继承(属性值、属性、限制), 附加过程,即附加在数据结构上,启动时 计算槽值。

88 框架名:<大学> 类 属:<学校> 类 型: 范围:(综合性大学,专科性大学) 专 业:默认值:综合 学 院 数: 教 学 楼: 教工人数: 职工人数: 学生人数: 位 置:(省(直辖市),市) 面 积:单位(平方米) 框架名:<学校> 类 属:<教育机构> 类 型: 范围:(大学,中学,小学) 位 置:(省(直辖市),市) 面 积:单位(平方米) 教工人数: 学生人数:

89 框架名:<大学1> 类 属:<大学> 姓 名:xx大学 专 业:医学 学 院 数:13 教 学 楼:20 办 公 楼:40 学生宿舍:20 教工宿舍:60 教工人数:4000 职工人数:5000 学生人数:20000 位 置:xx市 面 积:10000(平方米) 创建时间:2000年3月

90 教育 机构 高等 综合 特殊 医学 初等 幼儿园 残疾 专科 大学 小学 幼儿 医学大学 蓝天幼儿园 盲人学校 框架系统结构

91 举例 [虚拟新华社3月15日电]昨日,在云南玉溪地区发生地震,造成的财产损失约10万元,统计部门如需详细的损失数据可电询 。另据专家认为震级不会超过4级,并认为地处无人区,不会造成人员伤亡。 人员伤亡: Value : null If added: 核实 Frame:地震 报道时间: Value : 3月15日 地震发生时间: Value :昨日 “3月14日” 地震发生地点: Value :云南玉溪 财产损失: Value : null Default:约10万元 If needed:电询 If added: 核实 震级: Value :小于等于4级

92 人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架 Framework 提供了一套明确机制
软件开发过程中框架理论的使用 人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架 Framework 提供了一套明确机制 让开发人员很容易的扩展和控制整个Framework开发上的结构

93 为某一特定目的实现一个基本的、可执行的构架 包含了应用程序从启动到运行的主要流程 流程中那些无法确定的步骤留给用户来实现
软件开发过程中框架理论的使用 框架特点: 为某一特定目的实现一个基本的、可执行的构架 包含了应用程序从启动到运行的主要流程 流程中那些无法确定的步骤留给用户来实现 程序运行时框架系统自动调用用户实现的功能组件 系统的行为是主动的

94 软件开发过程中框架理论的使用 系统框架 .NET中的应用框架 MFC框架 Java AWT 中间件框架 Spring框架 Struts框架
Hibernate框架 EXTjs框架 企业应用框架 为不同行业的应用开发专用的框架系统 ,JBOSS, eBOSS等

95 软件开发过程中框架理论的使用 Struts框架: Struts对Model,View和Controller都提供了对应的组件;
Mode槽:ActionForm和JavaBean组成; View槽: JSP(或HTML、PHP……)实现; Controller槽:核心控制器,业务逻辑控制器。 最新版本的Struts2.3.8 Spring3.2.0 Hibernate4.1.9搭建的SSH框架,并实现了查询功能,而且对增删改查进行了简单封装

96 软件开发过程中框架理论的使用 MFC框架 三类文件:APP,VIEW,DOC 编译运行机制:消息映射 WinMain(…) {
MSG msg; RegisterClass(…); // 注册窗口类 CreateWindow(…); // 创建窗口 ShowWindow(…); // 显示窗口 UpdateWindow(…); While(GetMessage(&msg,…)){ // 消息循环 TranslateMessage(…); DispatchMessage(…); } return msg.wParam; } While(GetMessage(&msg,…)) // 消息循环 { TranslateMessage(…); DispatchMessage(…); } 即消息循环部分封换成message map(即消息映射)即大部分程序中有的BEGIN_MESSAGE_MAP(CAaaView, CView) ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP() 这里的ON_COMMAND(A,B)中

97 软件开发过程中框架理论的使用 MFC框架 While(GetMessage(&msg,…)) // 消息循环 { TranslateMessage(…); DispatchMessage(…); } 即消息循环部分封换成message map(即消息映射)即大部分程序中有的 BEGIN_MESSAGE_MAP(CAaaView, CView) ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP() 大概来说,一个MFC程序运行如下:1、所有MFC程序必须从CWinApp类中派生出一个新类。然后生成一个该派生类的实例(一般叫theApp)。2、然后系统会自动调用该派生类的InitInsance()函数,在InitInstance()函数中调用CMainFrm类的派生类进行主窗口的初始化。然后调用ShowWindow和UpdateWindow函数显示主窗口。其中UpdateWindow函数会发送一个WM_PAINT消息。然后退出InitInstance()函数。3、进入Run函数,进入消息循环。Run会处理刚才的WM_PAINT消息,怎么处理呢?就是调用View类的OnDraw函数(如果没有重新定义OnDraw函数。系统就会按照默认的操作,将屏幕清成白色:注意,为简化开发者的负担,有一些函数有默认的操作,虽然没有任何代码(相关代码被隐藏了),有一此消息有默认的处理函数,当然你也可以重新定义)),OnDraw会执行开发者定义的操作,如果开发者没有重写该函数,系统会默认地用白色清屏。这就是为什么很多MFC程序主窗口是白色的。

98 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

99 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

100 表示方法—脚本表示法 脚本方式是采用一个专用的框架, 用来表示特定领域的知识。 脚本通过一些元语作为槽名来代表 要表示的对象的基本行为。
有些象电影剧本。

101 开场条件 1.  病人有病。 2.  病人的病需要找医生诊治。 3.  病人有钱。 4.  病人能够去医院。 角色 病人、医生、护士。 道具 医院、挂号室、椅子、 桌子、药方、药房、 钱、药。
场景 场景1 进入医院 (1)  人走进医院 (2)  病人挂号 (3)  病人在椅子上坐下等待看病 场景2 看病 (1)  病人进入医生的办公室 (2)  病人向医生所说病状 (3)  医生向病人解释病情 (4)  医生给病人开药方 场景3 交费 (1)  病人到交费处 (2)  病人递交药方 (3)  病人交钱 (4)  病人取回药方及收据 场景4 取药 (1)  病人到药房 (3)  病人取药 场景5 离开 (1)  病人离开医院 结果 1.病人看病了,明白了 自己的病是怎么回事。 2.病人花了钱,买了药。 3.医生付出了劳动。 4.医院的药品少了.

102 表示方法—脚本表示法(推理) 脚本表示使得知识有强烈的因果结构,系统对事件的处理必须是一个动作完成后才能完成另一个。整个过程的启动取决于开场条件,满足脚本的开场条件,脚本中的事件才有可能发生。而脚本的结果就是动作完成后的系统结果。 由于脚本是以非常固定的形式描述的,在预言一些没有直接提到的事件方面特别有用。如已知某一脚本适用于所给定的情形,一旦脚本被起用,则可以应用它按照事件发生的顺序推理。如果其中的某一个情景的描述发生了跳跃,可以根据脚本的故事情节推断出整个事件正常进行时所得出的结论。但是如果事件被强行中断,也就是给定的情节中的某个时间与脚本中的事件不能对应时,则脚本便不能预测被中断以后的事件。如,上例中,如果医生说病人没病,病人就回家了。那么,对于病人所发生的变化;医院的药所发生的变化都不能作出推断。

103 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

104 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

105 表示方法—过程表示法 前面的几种知识表示方法均是知识和事实的一种静止的表示方法。我们称这类知识表示方式为陈述式表达。它所强调的是事物所涉及的对象是什么,是对事物有关知识的静态描述,是知识的一种显式、说明性知识表达形式。 说明性表示知识给出事物本身的属性及事物之间的相互关系。对问题的解答就隐含在这些知识之中。而过程性知识则给出解决一个问题的具体过程。

106 表示方法—过程表示法 说明性知识和过程性知识相比: 说明性知识比较简要、清晰、可靠、便于修改。但往往效率低。
过程性知识比较直截了当,效率高。但由于详细地给出了解决过程,使这种知识表示显得复杂、不直观、容易出错、不便于修改。 实际上,说明性表示和过程性表示实际上没有绝对的分界线。因此,任何说明性知识如果要被实际使用,必须有一个相应的过程去解释执行它。对于一个以使用说明性表示为主的系统来说,这种过程往往是隐含在系统之中,而不是面向用户。

107 表示方法—过程表示法 知识过程性的两个含义: 含义1:把解决一个问题的过程描述出来。可以称它为解题知识的过程表示。汽车修理等
含义2:把客观事物的发展过程用某种方式表示出来。 在某些情况下,这两种含义是很难决然分开的。如,任何一个解题系统的基本构成都是一个数据集,一组运算符和一个解释程序。过程性知识使用状态来表示,在状态空间运作。

108 表示方法—过程表示法 过程式表示定义: 过程式表示就是将有关某一问题领域的知识连同如何使用这些知识的方法均隐式地表达为一个求解过程。
它所给出的是事物的一些客观规律,表达的是如何求解问题,知识的描述形式就是程序。所有信息均隐含在程序中——效率高、没有固定形式。 如何描述知识完全取决定于具体的问题。 实际上的系统都是陈述与过程观点的结合。陈述之中多少包含了过程方法。

109 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

110 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

111 表示方法—混合型知识表示法 上述的知识表示虽各有特点,而且适用的领域也不同。如: 对于复杂的、深层次的知识,就很难用一种知识表示来解决问题。
谓词逻辑方法只适用于确定性、陈述性、静态性知识,而对动态的、变化性、模糊性知识则很难表示。 产生式规则方法推理方法太单一,如果前提条件太多,或规则条数太多,则推理的速度将慢得惊人。 语义网络方法表达的知识面比较窄。 框架方法表示的知识横向关系不太明确。(纵向从属继承关系很明确) 对于复杂的、深层次的知识,就很难用一种知识表示来解决问题。

112 表示方法—混合型知识表示法 根据需要表示的知识的特征来决定用二、三种方式联合表示。 逻辑与框架:框架里的槽值可以对应与谓词项。
语义网络与框架:结点对应与框架,结点的参数就是框架的槽值。 产生式与框架:框架的槽值对应于一条产生式规则。 逻辑、产生式和过程式:产生式两端以谓词形式出现“活动”是个过程。 与神经网络结合

113 表示方法—混合型知识表示法 框架与产生式 在产生式系统中,随着产生式规则数量的增加,系统设计时难以理解规则之间的相互作用。原因是每条规则的自含性使得知识表示的粒度过于细致。因此,需要对规则的适当划分,将其组织易于管理的功能模块。框架系统具有组织成块知识的良好特性。两者的有机结合,有利于系统的开发、调试和管理。 框架的表示机制可以用作产生式语言和推理机制设计的一个重要构件。 框架可以直接用于表示规则(每个规则作为一个框架,一组规则组成一类)

114 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

115 表示方法 概述 直接表示 逻辑表示 产生式规则表示法 语义网络表示法 框架表示法 脚本方法 过程表示 混合型知识表示方法 面向对象的表示方法

116 表示方法—面向对象的知识表示法 面向对象表示法中的对象指物体,消息指物体间的联系,通过发送消息使对象间相互作用来求得所需的结果。
任何事物都是对象,对象按照“类”、“子类“进行分类。 特点: 有属性继承、特征描述结构化等优点。

117 结论: 本章介绍了若干种知识表达方式,绝大多数在应用中得到了很好的验证。但实际工作中,如果要建立一个人工智能系统、专家系统时,可能还是要根据具体情况提出一个混合性的知识表达方式。


Download ppt "第五章 知识表示 概述 表示方法."

Similar presentations


Ads by Google