《专家系统与知识工程》复习要点.docx
《《专家系统与知识工程》复习要点.docx》由会员分享,可在线阅读,更多相关《《专家系统与知识工程》复习要点.docx(9页珍藏版)》请在冰豆网上搜索。
《专家系统与知识工程》复习要点
《专家系统与知识工程》复习要点
知识工程是人工智能技术与专家系统发展相结合的产物,它是数据工程的高级阶段。
知识工程是设计和实现知识库系统及知识库应用系统的理论、方法和技术,是研究知识获取、知识表示、知识管理和知识运用的一门学科。
数据库技术是构成数据工程的中心和基础,数据库工程也就是数据工程。
通常数据工程的设计与实现包括三个基本环节:
概念数据模型的分析与设计、逻辑数据模型分析与设计、物理数据模型的设计。
知识是数据和信息集合的整体。
只有当信息被系统地、有目的地积累起来时,才能转变成知识。
知识是由信息描述的,信息则是用数据来表达的;
知识工程是设计和实现知识库系统及知识库应用系统的理论、方法和技术,是研究知识获取、知识表示、知识管理和知识运用的一门学科。
知识工程处理的对象是知识,知识种类及知识的表示方式:
1.)第一类:
关于事实和现象的知识。
(Know_what)
第二类:
自然原理和领域规律性知识。
(Know_why)
第三类:
关于技能和能力的知识。
(Know_how)
第四类:
关于谁的知识。
(Know_who)
2.)产生式、函数式、逻辑式、对象式、语义网络、框架结构、状态过程等多种形式。
数据信息知识三者的关系:
数据是指客观事物的属性、数量、位置及其相互关系的符号描述。
信息是数据在特定场合下的具体含义,信息是对数据的解释。
知识是一个或多个信息关联在一起形成的有价值的信息结构,是对客观规律的认识,是高层次的信息。
也就是说,知识是数据和信息集合的整体。
由此可见,数据是记录信息的符号,信息是对数据的解释,知识是信息的概括和抽象;数据经过解释处理形成了信息,信息又经过加工过程形成了知识;知识是由信息描述的,信息则是用数据来表达的;从数据到信息的转换是一个数据处理过程,从信息到知识的转换是一个认知的过程。
这就是数据、信息和知识之间的相互依存的辨证关系。
知识工程是一个远比数据工程复杂的多的领域,也是一个比数据工程更富于挑战性的领域,表现在:
1、知识种类比较多2、知识的表示方式比较多3、要有一个较好的知识表示方式和知识管理机制
在知识工程中,最为困难的问题是知识获取,一般来说,获取知识的方法有两种情况:
1、由知识工程师从领域专家那里获取知识,即:
人工获取。
2、从数据库数据中发现知识(KDD),即数据挖掘。
决策支持系统(DSS—decisionsupportsystem)
(DW—DataWarehouse)
知识工程、数据工程、软件工程三者在应用系统形成过程中的本质区别。
●需求分析阶段:
(what-to-do)
数据工程:
把E-R图作为分析阶段的结果。
知识工程:
还要分析问题之间的关联关系,从而定义问题的求解规则。
软件工程:
进一步进行功能分解,产生功能的层次结构。
●设计阶段(how-to-do)
数据工程:
要解决的问题是从概念结构的关联中寻找极小化的逻辑结构。
知识工程:
要解决的问题是从概念结构的关于关联的关联中寻找极小化的逻辑结构。
软件工程:
要解决的问题是功能的划分以及功能模块之间的接口。
●实现阶段:
数据工程:
按照要求对数据库中的数据进行适当的调整。
知识工程:
除了针对具体问题做一些适当的调整外,几乎不做什么事情。
软件工程:
则意味着编程、写代码、调试、维护等一系列工作的开始。
知识库系统中的知识可分数据级、知识库级、推理机级三级来描述。
由数据库发展数据仓库主要的原因:
数据太多,知识完全;异构环境数据的转换和共享;利用数据进行事务处理转变为利用数据进行决策支持。
数据仓库是一个“面向主题的”、“完整的”、“非易失的”、“不同时间的”、“用于支持决策管理”的数据集合。
数据仓库是为决策支持服务的;数据库系统是为事务处理服务的。
非易失性指的是数据仓库是只读的,数据一旦经集成进入数据仓库后,数据一般不能被回写,也就是说数据是稳定的,具有稳定性
数据仓库中的数据时限为:
1~55-10年10~1515~20
数据仓库和数据库存在着根本不同:
1、数据存储方式的不同2、数据存储量的不同3、存储的结构不同
数据库的存储格式一般是二维平面式的,数据仓库由于涉及到时间,主题等因素是一个多维的超立方体结构形式,大多采用量型模型。
数据仓库的数据量是数据库数据量的100倍,数据量大的原因在于:
(1)数据库中的数据是按决策主题重新组织并集成起来的数据;
(2)保留了大量的历史数据,用于预测分析;
(3)对当前数据进行了轻度或高度综合后形成了综合数据。
数据仓库中的数据
=当前数据+历史数据+综合数据
数据载入是一个比较复杂的过程,操作数据向数据仓库的移动通常分为提取、转换、净化、加载、汇总五个步骤。
粒度反映了数据仓库中数据单位中保存数据的细化或综合程度的级别,是数据仓库中数据的最基本元素或单位。
确定数据粒度是设计数据仓库的重要环节,它决定了“怎样去载入数据”,也反映了数据仓库设计师对用户的要求和系统传递的信息单位。
在许多实际应用中,数据的粒度级别是不同的。
一般来说,细化程度越高,粒度级别就越小;反之,细化的程度越低,粒度级别就越大。
高粒度数据不仅只需要很少的字节去存储数据,而且索引项也比较小,这对于节省存储空间提高数据分析效率是有益的。
如果数据仓库的空间是有限的话,用高粒度表示数据比用低粒度表示数据的效率高得多。
元数据在数据仓库的建模和运行中起着及其重要的作用,它描述了数据仓库中的各个对象以及数据仓库中的各个方面,是整个数据仓库的核心。
元数据描述了数据仓库的数据和环境,是关于数据的数据。
元数据描述了数据仓库的数据和环境,是关于数据的数据,可分为四类:
1关于数据源的元数据(业务系统数据源的描述信息)。
2关于数据模型的员数据(数据方向关系的描述,使用管理的基础)。
3关于数据高度映射的元数据(数据源与数据仓库数据之间的映射)。
4关于数据仓库使用的元数据(数据仓库中的信息使用性能的描述)。
数据仓库中的元数据不仅定义了数据仓库有什么,指明了数据仓库中信息的内容和位置,刻画了数据的抽取和转换规则,存储了与数据仓库主题有关的各种商业信息,而且整个数据仓库的运行都是基于元数据的,如数据的修改、跟踪、抽取、载入和综合等。
标准化实体关系与关系数据库的目标是增加更新效率,但是决策支持数据模型的目标是增加查询效率。
在数据仓库的构建过程中,数据模型的确定是非常重要的。
决策支持系统采用的数据模型为“星型模型”或“空间数据模型”。
构建星型模型的常用方法有三种:
1、修正方案
2、模型创建
3、自主开发
数据仓库必须具有安全性,通常所采取的安全措施有:
1、服务器的安全管理(包括软、硬件);
2、工作站的安全管理;
3、数据访问的安全管理
所谓基于角色的安全就是指在角色被创建并被授予了适当的数据库权限之后,新的用户仅需要根据与数据仓库交互的需要,注册到一个或多个角色中就行了。
OLAP(联机分析处理,区别于OLTP联机事务处理
三层结构不是简单地将数据仓库的处理划分为客户端和一些数据库服务器,而是在客户端和数据仓库之间增加了应用服务器,
信息的急剧增长在给人们带来方便的同时,也带来了一系列的问题:
1、信息过量,难以消化;
2、信息真伪,难以辨识;
3、信息形式不一致,难以处理;
4、信息安全,难以保证。
正确的查询工具将使得用户能够充分发挥数据仓库的作用,通常采用以下一些评估准则来选择所需查询工具:
1易于使用:
这是最基本的准则,表现在构建报表与表现信息的灵活性,是数据仓库设计成功的一半;
2性能:
性能的高低与整个DW的环境有关,包括数据库本身、查询工具性能以及访问数据的SQL工具等;
3多源数据:
查询工具应能够从多个数据源中提取数据并确保它们所支持的数据库源类型与数据仓库和信息系统能够很好地集成在一起;
4集中式管理:
集中式数据管理工具能够在机构内进行单个的知识分割,从而显现给终端用户一个有效的用户界面。
5数据安全性:
在敏感的数据环境中不要使用任何不具备附加安全性的查询工具;
6可以使用WEB技术:
WEB技术将会成为DW信息发布的工具和途径。
要求查询工具能够将数据结果以页面的形式加以发布;
7集成化分析:
能够更改用户对所显示的数据进行灵活的在探索,再分析。
KDD(KNOWLEDGEDISCOVERYINDATABASE)
DM(DATAMINGING)
知识发现和数据挖掘技术的出现还依赖于以下几个技术的支持:
1、数据库技术2、机器学习3、专家系统:
知识发现和数据挖掘侧重于利用数据库技术对数据进行前端处理,再利用机器学习方法从处理后的数据中提取有用的知识。
知识发现和数据挖掘说白了就是利用机器学习的方法、主动地从数据库的大量数据中提取有价值的知识的过程,
尽管知识发现和数据挖掘与机器学习一样都是从数据中提取知识,但它们之间也存在许多不同:
(1)机器学习所使用的数据是专门为机器学习而特别准备的数据,而知识发现和数据挖掘所使用的数据是来自现实世界的实际数据。
(2)机器学习所用的数据一般比较规范,而知识发现和数据挖掘所使用数据的完整性、一致性和正确性难以保证。
(3)机器学习所用数据量一般比较少,而知识发现和数据挖掘所处理的数据量都比较大。
数据挖掘是指从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、潜在的、有用的信息或知识的过程。
数据预处理任务:
1、消除噪声数据;2、弥补、推导、计算缺值的数据;3、消除冗余数据或记录;4、完成数据类型的转换。
挖掘出来的模式主要有以下几类:
1、关联模式2、分类模式3、聚类模式4、回归模式5、序列模式
数据挖掘与知识发现过程。
知识发现和数据挖掘的常见方法:
决策树法、神经网络法、粗糙集算法、遗传算法、统计分析法、覆盖正例排斥反例法、模糊逻辑、概念树法、公式发现、云模型方法、可视化方法。
知识发现和数据挖掘模型是一个多阶段的处理过程,通常有以下三种模型:
1、以数据库为中心的模型2、以领域专家为中心的模型3、以用户为中心的模型
给出五种常用的知识发现与数据挖掘方法。
知识工程是建立知识库之上的关于知识表示、知识管理和知识利用的一门学科,知识库管理和知识工程的开发方法是知识工程中的重要研究内容。
谓词逻辑是知识表示的主要框架,主要理由如下:
① 谓词逻辑具有完整的理论基础和严密的表示规范。
② 谓词逻辑的语义比较丰富,可以用不同的方式加以解释;操作或证明论语义;模型论语义;过程语义。
③ 具有完备的演绎推理能力。
④ 与书写次序无关。
领域知识(Domain-Knowledge)。
(OSS—Object-OrientedStructure
LSKB------LargescaleKnowledgeBase
KD-----KnowledgeDictionary
数据工程和知识工程遵循的主要开发模型是螺旋式开发模型,产生结果是满足需求的数据和知识库。
与数据工程不一样,实施知识工程可分为三个阶段:
1概念化阶段。
2逻辑化或形式化设计阶段。
3知识库实现阶段(知识库求精阶段)。
在这个过程中,知识是整个开发工程核心环节,原因是:
① 知识是数据:
是知识工程的处理对象。
② 知识是程序:
大量功能性的程序都是用知识表示的一种形式——规则或逻辑公式。
③知识是语义约束:
语义约束规则或逻辑公式就是以表示知识的约束条件。
KDL----KnowledgedisruptionLanguage
知识工程的开发模型
=知识工程开发过程三个阶段
+增量式开发方法
+快速原型系统
尽管知识是知识工程中最重要的内容,但知识的获取往往比较困难,原因有:
1、知识资源稀少,大量获取比较困难。
2、人们对知识的认识有一个渐进的过程,不能一下子获得。
从“初级知识→中级知识→高级知识”有一个理解过程。
3、不同领域的人对知识的认识不同,常说“隔行如隔山”,领域的划分造成知识获取的障碍。
这也就是我们经常所说的跨学科发展的原因,只有这样才能创新。
4、知识经验性或经验性知识,往往“只可意会不可言传”,如:
经验、技能、窍门等。
AOP---Agent-OrientedProgramming
OOP---Object-OrientedProgramming
软件工程技术自诞生以来,主要经历了四个发展阶段和发展过程:
面向过程→面向实体→面向对象→面向智能体
而面向对象和面向Agent的不同之处在于:
对象是被动的,而Agent是主动的。
一个通用的知识表示系统具备如下条件:
1能够自动检查知识之间的一致性。
2能够表达复杂的世界模型。
3适于动态地构造和操作有关模型。
4能够接受多种外部语言。
5能够转换为多种外部语言。
6能够产生推理。
7与书写的次序无关。
大容量的知识库LSKB是系统的核心组织结构,分成三大部分:
知识的逻辑组织,知识的物理组织,知识的物理与逻辑组织的转换。
LSKB逻辑与物理组织之间的转换是通过LSKB中的知识字典(KD)定义的一种可递映射来完成的。
专家系统是基于知识库的知识利用系统,是人工智能的应用工程——“知识工程”的典型代表,专家系统是知识信息处理系统,
专家系统是一个(或者一组)能在某特定领域内,以人类专家水平去解决该领域中困难问题的计算机程序。
专家系统技术的产生和发展过程大致经历了孕育期、初创期、成熟期、发展期这四个时期。
(KE)---KnowledgeEngineer
ES----ExpertSystem
专家系统把求解问题的知识分为三级层次加以组织:
数据级(上下级)、知识级和控制级(推理机)且不同层次的知识采取了不同的实现方法。
人们在开发专家系统的实践中发现专家系统的“瓶颈”问题是知识获取,并由此提出建造专家系统的中心任务是知识获取。
为了加快专家系统的研制速度,人们先后研制出了一批用于建造和维护专家系统的工具系统。
到目前为止所出现的工具系统可分为三类:
第一类:
可以“通过实例自动形成知识的系统”。
这一类工具系统是比较理想的知识获取系统,但由于目前对人类归纳学习的根本推理认识还很肤浅,所以这类系统研制的不多,基本上处于探讨阶段。
第二类:
可以看成是“智能知识库编辑系统”,它虽不能自动获取知识,却可以帮助人们建造知识库。
这是目前实现知识获得的主要手段。
第三类:
是七十年代后期出现的“骨架系统”,即由某个已获得成功的专家系统演变而产生的系统。
在使用骨架系统研制专家系统时,建造系统的主要任务是选取适当的骨架系统并把专家头脑中专门知识整理出来放入骨架系统的知识库中,因此避免了许多实际上的程序设计工作。
用骨架系统设计专家系统和用程序设计语言设计骨架系统特别类似于用高级语言和汇编语言分别进行的程序设计。
所以也有人把骨架系统成为专家系统语言(ExpertSystemLanguage)。
由此可见,骨架系统的出现是专家系统的一个重大进展。
它大大地缩短了专家系统的研制周期。
新一代(第三代)专家系统的特点表现在:
●多学科综合性应用
●专家系统开发工具
●大型知识工程系统
专家系统的特征
1.启发性:
不仅能使用逻辑知识,也能使用启发性知识。
2.透明性:
能向用户解释它的推理过程,还能回答用户的一些关于它自身的问题。
3.灵活性:
系统中的知识便于修改和维护。
给出五种类型的专家系统
与人类相比,研究专家系统的意义何在?
知识广度、深度、精度、速度
ES的组成结构除了知识库、推理机两个主要部分外,还有四个组成部分:
综合数据库、人机接口、解释程序和知识获取程序。
开发和改进系统必不可少的三大因素是:
领域专家(DE)•知识工程师(KE)•大量的实例
专家系统的设计原则:
1.知识库与推理机分离:
这是专家系统设计的基本原则。
只有知识库与推理相分离,才能实现解释功能和知识获取功能。
2.尽量使用统一的知识表示方法:
这就便于对系统中的知识统一处理,解释和处理,从而使专家系统的实现工作相对简化。
3.推理机尽量简化:
这意味着解释和获取知识的工作量较小。
因此实现工作也相对容易。
4.利用冗余:
知识的冗余指获取和利用各具不同有点的多来源知识解决问题。
HEARSAY.SYN等系统的经验表明:
用知识的冗余是一种弥补知识的不完整和不精确的有效方法。
此外,由于专家系统是基于计算机软件的典型知识系统,它的设计应遵循软件工程和系统工程的基本原则。
因此在设计专家系统时还应注意下列原则:
5.专门任务:
专家系统适用于专家知识和经验行之有效的场合。
专家系统的设计应面向专业性的专门任务。
6.原型设计:
采用“最小系统”观点先进行系统原型设计,逐步改进、扩充和完整,加速设计进程。
7.用户参与:
用户参与专家系统的设计和开发,有助于“人—机”接口的设计,以及系统的运行和评价。
8.辅助工具:
采用专家系统开发工具进行辅助设计,借鉴已有系统经验,提高设计效率。