┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊1第1章概述随着信息社会和知识经济时代的来临,信息正以前所未有的速度膨胀。面对浩如烟海的信息资源,人类的自然智能越来越显得难于驾驭。如何用人造的智能去模仿和扩展人类的自然智能,实现信息的智能化处理,是信息社会和知识经济所面临的一个重大课题。人工智能作为一门研究机器(计算机)智能的学科,其目的是要用人工的方法和技术,研制智能机器或智能系统,来模仿、延伸和拓展人的智能。因此,人工智能是人类迈向信息、迎接知识经济挑战所必须具备的一项核心技术。难怪有人把人工智能同原子能技术、空间技术一起称为20世纪的三大尖端科技成就。但人工智能系统较率低,不能应用于实际。随着计算机、Internet的普及,以及数据库(DB)技术的迅速发展和数据库管理系统(DBMS)的广泛应用,导致许多领域积累了海量数据(如,从普通的超市业务数据、信用卡记录数据、电话呼叫清单、政府统计数据到不太普通的天体图像、分子数据库和医疗记录等)。现有的DB技术大多可高效地实现数据查询、统计和维护等管理功能,但却无法发现数据中存在的关联和规则,无法根据现有的数据预测未来的发展趋势。数据库中存在着大量数据,却缺乏从这些数据中自动、高效地获取知识的手段,出现了“数据丰富,知识贫乏”的现象。此外,在数据操纵方面:信息的提取及其相关处理技术却远远落后。为此,针对庞大的数据库及其中的海量数据信息源,仅依靠传统的数据检索机制和统计分析方法已远不能满足需要。需求是发展之母,数据管理系统(DBMS)和人工智能中机器学习两种技术的发展和结合,促成了在数据库中发现知识这一新技术的诞┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊2生,即基于数据库知识发现(KnowledgeDiscoveryinDatabase,KDD)及其核心技术---数据挖掘产生并迅速发展起来。它的出现为自动和智能地把海量数据转化成有用的信息和知识提供了手段。1.1知识知识不仅是人工智能领域中研究的重要对象,而且也是知识工程与知识发现处理的重要对象。什么是知识?(到目前为止,知识还没有统一的严格的形式化定义)知识是人们在改造客观世界的实践中积累起来的认识和经验,是一切智能行为的基础。广义地说,知识是人们通过学习、发现或感悟到的对世界的认识总和,是人类认识的结晶。狭义地说,知识是一种有组织的经验、价值观、相关信息和洞察力的组合。☆与知识相关联的两个概念是数据和信息所谓数据是指人们为了描述客观世界中的具体事物而引入的一些数字、字符、文字等符号或符号的组合。如,“建国50岁”中的“建国”、“50岁”都是数据。所谓信息是指不同的有用数据组成的一种结构。如“建国80岁”,就是一条信息。☆数据、信息和知识间的关系是:数据是信息的载体和表示;信息是数据在特定场合下的含义,或者说信息是数据的语义。如“建国80岁”。但相同的数据在不同的场合会有不同的含义。信息仅是对客观事物的一般性描述,它还不是知识。只有经过对其进行加工、整理、解释、挑选和改造,形成对客观世界规律性认识后才能称为知识。可见,知识是对信息进行智┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊3能性加工所形成的对客观世界规律性的认识。(如,水,在标准大气压下,加热到100度就会沸腾)实现对信息的加工过程,实际上也是一种把信息关联在一起的过程。因此,也可把有关信息关联在一起所形成的信息结构称为知识。从这种意义上讲,“信息”与“关联”是构成知识的两个要素。信息之间关联的形式很多,其中最常用的一种形式为:如果……则……(IF……THEN……)如,“如果他学过人工智能课程,则他应该知道什么叫知识”。1.2什么是知识工程?知识工程的概念出现于1977年的人工智能联合会议上,由费根鲍姆教授提出的,至今也没有严格的定义,但人们普遍认为,知识工程是以知识为处理对象,借用工程化的思想,应用人工智能的原理、方法和技术去设计、构造和维护知识型系统的一门学科,是人工智能的一个应用分支。知识工程的目的是在研究知识的基础上,开发智能系统。所以,知识工程的核心则是专家系统。由此知,知识的获取、知识的表示、知识的运用便构成知识工程的三大要素。知识工程的研究内容,主要包括:基础理论研究、实用技术的开发、知识型系统工具研究和智能机等相关课题的研究。其中,基础理论研究包括:知识的本质、知识的表示、推理、获取和学习方法等;实用技术主要研究解决建立知识系统过程中遇到的问题,包括:实用知识表示方法、实用知识获取技术、实用知识推理方法、知识库结构系统、知识系统体系结构、知识库管理技术、知识型系统的调试与评估技术、实用解释技术、实用接口技术等;┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊4知识型系统工具研究,主要是为了给系统的开发提供良好的环境工具,以提高系统研制的质量和缩短系统研制周期等。★知识工程系统的特点知识工程系统能解决专家水平的问题;系统能快速的进行假设和搜索解答;系统能做出具有专家水平的解答;系统具有大量的基础知识和通用的问题求解能力;系统应能选择问题的恰当表示方式,其中的知识型系统是一个符号系统;系统具有自动推理的能力,能从结构步骤分析、解决、推理问题等,这些都表现出具有人工智能及其系统的特点。因此,同样可以说,知识工程是人工智能的一个重要应用分支★知识工程与人工智能的关系传统人工智能不能进入实用阶段,主要原因有人工智能系统的知识库中只含有少量的规则和事实;人工智能系统的效率极低。而知识工程是人工智能在知识信息处理方面的发展,它研究如何由计算机表示知识,进行问题的自动求解。知识工程的研究使人工智能的研究从理论转向了应用,从基于推理的模型转向基于知识的模型,是新一代计算机的重要理论基础。它的根本目的是在研究知识的基础上,开发人工智能系统,补充和扩大大脑的功能,开创人-机共同思考的时代。★知识工程与专家系统的关系专家系统是知识工程的核心。知识工程的发展首先决定于专家系统的发展,专家系统的发展必将推动人工智能的应用。专家系统的开发有三个基本的要素:领域专家、知识工程师、大量实例。在建立专家系统时,首先由知识工程师把领域专家的专门知识总结出来,以适当的形式存入计算机,建立起知识库(KB),根据这些专门知识,系统可以进行推理,做出判断和决策,能够解决一些只有人类专家才能解决的困难问题,专家系统主要是指软件系统。通常一个最基本的专家系统应由:知识库、数据库、推理机、解释机构、知识┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊5获取机构和用户界面6个部分组成。图1专家系统的基本结构其主要功能描述如下:(1)知识库(KnowledgeBase)知识库是指以某种存储结构存储领域专家的知识,包括事实和可行的操作与规则等。为了建立专家库,需对领域问题的专家知识,用相应的知识表示方法将其表示出来,然后再进行形式化,并经编码放入知识库中。所以,专家库的建立,首先要解决知识获取与知识表示的问题。知识获取是指知识工程师如何从领域专家那里获得将要纳入知识库的知识。知识表示要解决的问题是如何使用计算机能够理解的形式来表示和存储知识的问题。通常,知识库中的知识分为两大类型:一类是领域中的事实,称为事实性知识,这是一种广泛公用的知识,也即写在书本上的知识及常识;另一类是启发性知识,它是领域专家在长期工作实践中积累起来的经验总结。(2)数据库也称全局数据库或综合数据库。是用于存储与求解问题有关的初始数据(如,事实、数据、初始状态(证据))和推理过程中得到的中间数据。如,在医疗专家系统中,数据库中存放的仅是当前患者的情况,如姓名、年龄、症状等及推理过程中得到的一些中间结果、病情等;在气象专家系统中,数据库中存放的是当前气象要素,如云量、温度、气压以及推理得到的中间结果等。由此看出,专家系统数据库只是一个存储很少的用于暂存中间信息的工作存储器(也称内涵数据库),而不是通常概念上的用于存放大量信息的数据库(也称外延数据库)。(3)推理机┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊6推理机是一组用来控制、协调整个专家系统的程序。它根据全局数据库的当前内容,从知识库中选择可匹配的规则,并通过执行规则来修改数据库中的内容,再通过不断地推理导出问题的结论。推理机中包含如何从知识库中选择规则的策略和当有多个可用规则时如何消解规则冲突的策略。(4)解释机构用于向用户解释专家系统的行为,包括解释“系统是怎样得出这一结论的”、“系统为什么要提出这样的问题来询问用户”等用户需要解释的问题。(5)知识获取机构知识获取是专家系统的一种辅助功能,它可为修改知识库中的原有知识和扩充新知识提供相应手段。知识获取机构的基本任务是把知识加入到知识库中,并负责维持知识的一致性及完整性,建立起性能良好的知识库。通常,不同的专家系统,知识获取功能和实现方法差别较大。如,①有的系统首先由知识工程师向领域专家获取知识,然后通过相应的知识编辑软件把知识送到知识库中;②有的系统自身就具有部分学习功能,由系统直接与领域专家对话获取知识;③有的系统具有较强的学习功能,可在系统运行过程中通过归纳、总结,得出新的知识。总之,不管采用方式,知识获取都是目前专家系统研究中的一个重要问题。所以,知识工程的概念从1977年提出至今,现已成为一门新兴的边缘学科。它是人工智能,数据库技术,数理逻辑,认知科学,心理学等学科交叉发展的结果。1.3知识发现KDD(KnowledgeDiscoveryinDatabase)一词是于1989年8月在美国底特律市召开的第一届KDD国际学术会议上正式形成的。研究的问题主要有:①定性知识和定量知识的发现;②知识发现方法;③知识发现的应用等。KDD的含义,由Fayyad定义为:从数据集中识别出有效的、新颖的、潜在有用┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊7的,以及最终可理解的模式的非平凡过程。涉及几个概念:“数据集”、“模式”、“过程”、“有效性”、“新颖性”、“潜在有用性”和“最终可理解性”。数据集:数据库记录的集合F;模式:即知识,它给出了数据特性或数据之间的关系,是对数据所包含的信息更抽象的描述。按功能可以分为预测型模式和描述型模式。在实际应用中,可以细分为关联模式、分类模式、聚类模式和序列模式等。过程:通常在KDD中指多阶段的处理,涉及数据准备、模式搜索、知识评价以及反复的修改求精;该过程要求是非平凡的,意思是要有一定程度的智能性、自动性;有效性:是指发现的模式对于新的数据仍保持一定的可信度;新颖性:要求发现的模式应该是新的;潜在有用性:是指发现的知识将来有实际效用,如,用于决策支持系统里可提高经济效益;最终可理解性:要求发现的模式能被用户理解,目前它主要体现在简洁性上。其中,“有效性”、“新颖性”、“潜在有用性”和“最终可理解性”综合在一起称为兴趣性。KDD的研究内容是:如何自动地去处理数据库中大量的原始数据,从中挖掘搜索出具有规则、富有意义的模式。它的发现过程主要有三个步骤:①数据准备,又包括数据选取(Dataselection)、数据预处理(Datapreprocessing)和数据变换(Datatransformation)三个子步骤;②数据挖掘(DataMining)阶段;③结果解释和评价。即:KDD=数据准备+DM+解释评价。图1KDD过程┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊8由上图知,知识发现的过程可粗略的理解为三部曲:数据准备(Datapreparation)、数据挖掘(Datamining)以及结果的解释评估(interpreparationandevaluation)。①数据准备又可分为:数据选取、数据预处理和数据变换三个子步骤。数据选取的目的是确定发现任务的操作对象,即目标数据。它是根据用户的需求从原始数据库中