第8章专家系统第8章专家系统8.1专家系统的概念8.2专家系统的结构8.3专家系统的应用与发展概况8.4专家系统实例8.5专家系统设计与实现8.6专家系统开发工具与环境8.7新一代专家系统研究第8章专家系统8.1专家系统的概念8.1.1什么是专家系统自从1965年世界上第一个专家系统DENDRAL问世以来,专家系统的技术和应用,在短短的30年间获得了长足的进步和发展。特别是20世纪80年代中期以后,随着知识工程技术的日渐丰富和成熟,各种各样的实用专家系统如雨后春笋般地在世界各地不断涌现。那么,究竟什么是专家系统呢?第8章专家系统专家系统(ExpertSystem)亦称专家咨询系统,它是一种智能计算机(软件)系统。顾名思义,专家系统就是能像人类专家一样解决困难、复杂的实际问题的计算机(软件)系统。我们知道“专家”就是专门家,是某一专门领域的行家里手。专家之所以是专家,是因为他(她)解决问题时具有超凡的能力和水平。专家之所以具有超凡的能力和水平,是因为第8章专家系统(1)专家拥有丰富的专业知识和实践经验,或者说他(她)拥有丰富的理论知识和经验知识,特别是经验知识;(2)专家具有独特的思维方式,即独特的分析问题和解决问题的方法和策略。专家系统应该具备以下四个要素:(1)应用于某专门领域;(2)拥有专家级知识;(3)能模拟专家的思维;(4)能达到专家级水平。第8章专家系统所以,准确一点讲,专家系统就应该是:应用于某一专门领域,拥有该领域相当数量的专家级知识,能模拟专家的思维,能达到专家级水平,能像专家一样解决困难和复杂的实际问题的计算机(软件)系统。第8章专家系统8.1.2专家系统的特点同一般的计算机应用系统(如数值计算、数据处理系统等)相比,专家系统具有下列特点:(1)从处理的问题性质看,专家系统善于解决那些不确定性的、非结构化的、没有算法解或虽有算法解但在现有的机器上无法实施的困难问题。(2)从处理问题的方法看,专家系统则是靠知识和推理来解决问题(不像传统软件系统使用固定的算法来解决问题),所以,专家系统是基于知识的智能问题求解系统。第8章专家系统(3)从系统的结构来看,专家系统则强调知识与推理的分离,因而系统具有很好的灵活性和可扩充性。(4)专家系统一般还具有解释功能,即在运行过程中一方面能回答用户提出的问题,另一方面还能对最后的输出(结论)或处理问题的过程作出解释。(5)有些专家系统还具有“自学习”能力,即不断对自己的知识进行扩充、完善和提炼。这一点是传统系统所无法比拟的。(6)专家系统不像人那样容易疲劳、遗忘,易受环境、情绪等的影响,它可始终如一地以专家级的高水平求解问题。第8章专家系统8.1.3专家系统的类型关于专家系统的分类,目前还无定论。我们仅从几个不同的侧面对此进行讨论。1.按用途分类按用途分类,专家系统可分为:诊断型、解释型、预测型、决策型、设计型、规划型、控制型、调度型等几种类型。2.按输出结果分类按输出结果分类,专家系统可分为分析型和设计型。第8章专家系统3.按知识表示分类目前所用的知识表示形式有:产生式规则、一阶谓词逻辑、框架、语义网等。4.按知识分类知识可分为确定性知识和不确定性知识,所以,按知识分类,专家系统又可分为精确推理型和不精确推理型(如,模糊专家系统)。5.按技术分类按采用的技术分类,专家系统可分为符号推理专家系统和神经网络专家系统。第8章专家系统6.按规模分类按规模分类,可分为大型协同式专家系统和微专家系统。7.按结构分类按结构分类可分为集中式和分布式,单机型和网络型(即网上专家系统)。第8章专家系统8.1.4专家系统与知识系统我们知道,专家系统能有效地解决问题的主要原因在于它拥有知识,因为“知识就是力量”。但专家系统拥有的知识是专家知识,而且主要是经验性知识。近年来,由专家系统的出现和发展而发展起来的一种称为知识系统(KnowledgeBasedSystem)的智能系统,其中的知识已不限于人类专家的经验知识,而可以是领域知识或通过机器学习所获得的知识等。所以,对于这种广义的知识系统来说,专家系统就是一种特殊的知识系统。第8章专家系统8.1.5专家系统与知识工程由于专家系统是基于知识的系统,那么,建造专家系统就涉及到知识获取(KnowledgeAcquisition,即从人类专家那里或从实际问题那里搜集、整理、归纳专家级知识)、知识表示(KnowledgeRepresentation,即以某种结构形式表达所获取的知识,并将其存储于计算机之中)、知识的组织与管理(即知识库(KnowledgeBase)建立与维护等)和知识的利用(即使用知识进行推理)等一系列关于知识处理的技术和方法。第8章专家系统特别是一般知识库系统的建立,更加促进了这些技术的发展。所以,现在关于知识处理的技术和方法已形成一个称为“知识工程”(KnowledgeEngineering)的学科领域。这就是说,专家系统促使了知识工程的诞生和发展,知识工程又是为专家系统服务的。正是由于这二者的密切关系,所以,现在的“专家系统”与“知识工程”几乎已成为同义语。第8章专家系统8.1.6专家系统与人工智能;专家系统是智能计算机系统。从学科范畴讲,专家系统属人工智能的一个分支,而且是应用性最强、应用范围最广的一个重要分支。所以,现在“专家系统”这一名词既是系统名称又是一个学科名称。专家系统已是当前计算机应用的一个热门研究方向。第8章专家系统8.2专家系统的结构专家系统是一种计算机应用系统。由于应用领域和实际问题的多样性,所以,专家系统的结构也就多种多样。但抽象地看,它们还是具有许多共同之处。第8章专家系统8.2.1概念结构从概念来讲,一个专家系统应具有如图8-1所示的一般结构模式。其中知识库和推理机是两个最基本的模块。1.知识库(KnowledgeBase)所谓知识库,就是以某种表示形式存储于计算机中的知识的集合。知识库通常是以一个个文件的形式存放于外部介质上,专家系统运行时将被调入内存。知识库中的知识一般包括专家知识、领域知识和元知识。第8章专家系统图8―1专家系统的概念结构人机界面推理机解释模块动态数据库知识库知识库管理系统第8章专家系统2.推理机(InferenseEngine)所谓推理机,就是实现(机器)推理的程序。这里的推理,是一个广义的概念,它既包括通常的逻辑推理,也包括基于产生式的操作。例如:A→BAB第8章专家系统3.动态数据库动态数据库也称全局数据库、综合数据库、工作存储器、黑板等,它是存放初始证据事实、推理结果和控制信息的场所,或者说它是上述各种数据构成的集合。4.人机界面这里的人机界面指的是最终用户与专家系统的交互界面。5.解释模块解释程序模块专门负责向用户解释专家系统的行为和结果。第8章专家系统6.知识库管理系统知识库管理系统是知识库的支撑软件。知识库管理系统对知识库的作用,类似于数据库管理系统对数据库的作用,其功能包括知识库的建立、删除、重组;知识的获取(主要指录入和编辑)、维护、查询、更新;以及对知识的检查,包括一致性、冗余性和完整性检查等等。第8章专家系统图8―2专家系统的理想结构人机界面推理机解释模块动态数据库知识库自学习模块知识库管理系统第8章专家系统8.2.2实际结构上面介绍的专家系统结构,是专家系统的概念模型,或者说是只强调知识和推理这一主要特征的专家系统结构。但专家系统终究仍是一种计算机应用系统。所以,它与其它应用系统一样是解决实际问题的。而实际问题往往是错综复杂的,比如,可能需要多次推理或多路推理或多层推理才能解决,而知识库也可能是多块或多层的。第8章专家系统图8―3专家系统的实际结构示例总控处理模块1处理模块n专家模块1专家模块m…………第8章专家系统图8―4地质图件绘制智能辅助系统结构多媒体人机界面方法知识库参数知识库动态数据库评价知识库自学习模块知识库管理系统方法选择参数确定图件绘制图形评价IO接口第8章专家系统8.2.3网络与分布式结构在网络环境下,专家系统也可以设计成网络结构,如“客户机/服务器”(Client/Server)结构(如图8―5(a)所示),或浏览器/服务器(Browser/Server)结构(如图8-5(b)所示)。我们称后一种结构的专家系统为网上专家系统。分布式结构则是一种适合于分布式计算环境的专家系统。例如那些多学科、多专家联合作业,协同解题的大型专家系统,就可以设计成分布式结构。这类专家系统也就称为分布式专家系统。第8章专家系统图8―5专家系统的客户(机)/服务器结构及浏览器/服务器结构知识库推理机推理机知识库人—机界面人—机界面客户(机)Browser服务器WebServerInternet第8章专家系统8.2.4黑板模型“黑板模型”是一种典型而流行的专家系统结构模式。1.黑板所谓“黑板”,就是一个分层的全局工作区(或称全局数据库)。2.知识源所谓知识源,就是一个知识模块。3.控制机构控制机构是求解问题的推理机构,由监督程序和调度程序组成。第8章专家系统图8―6黑板结构监督程序调度程序层次n..层次2层次1知识源1知识源2..知识源m第8章专家系统黑板模型适于求解那些大型复杂且可分解为一系列层次化的子问题的问题。例如,在HEARSAY―Ⅱ中,黑板被分为六个信息层,每个信息层对应着问题的一个中间表示层次。六个信息层分别为:(1)参数层:从语音信号中提取有意义的参数。有四种不同的参数,统称为ZAPDASH参数。(2)片段层:用于描述系统对语音信号的分割与归类。此层主要包含音素与单音等信息。第8章专家系统(3)音节层:用于描述语音信号的音节划分。此层主要为由片段层上信息构成的音节信息。(4)单词层:用于记录根据音节划分所识别出的孤立词信息。(5)词组层:用于记录根据单词层中的词汇所生成的词组信息。(6)短语层:用于记录多个词汇或词组构成的短语和句子信息。第8章专家系统8.3专家系统的应用与发展概况8.3.1专家系统的意义专家系统是一种智能计算机系统,所以,专家系统将计算机的应用提高到了一个新的高度和水平。专家系统的建立,实现了人类专家的“分身”和“延年”——使专家们丰富而宝贵的知识和经验能不受时间和空间的限制,而得到最大限度地传播和应用,从而产生最大的社会效益和经济效益。第8章专家系统另一方面,建造专家系统可以使专家本人得到提高和发展。因为,建造和使用专家系统的过程,本身就是专家知识的一个不断积累、总结、补充、完善、升华、提高、发展的过程。另外,还可将多个专家的知识和经验综合在一起,构成多专家系统。第8章专家系统8.3.2专家系统的应用由于专家系统就是一种计算机应用系统,所以,其应用范围没有什么限制。如它可以代替高级医生看病、开处方,可以协助地质学家估计矿藏量、确定打井位置,可以代替育种专家提出各种杂交亲本的选配方案,可以根据市场以及生产中提出的数据和信息,依据一定的数学方法科学地安排生产流程,等等。第8章专家系统8.3.3专家系统的发展概况1.产生世界第一个专家系统叫DENDRAL,它是由美国斯坦福大学的费根鲍姆教授于1965年开发的。2.发展与DENDRAL系统同时开发的,还有数学专家系统MACSYMA。它是一个大型的人机交互式系统。3.趋势进入20世纪90年代,模糊技术、神经网络和面向对象等新技术迅速崛起,为专家系统注入了新的活力。第8章专家系统8.4专家系统实例8.4.1PROSPECTOR的功能与结构PROSPECTOR的研究目的是:勘探矿产资源,扩大技术培训及集中多个专家的知识来解决给定的资源问题。PROSPECTOR系统给地质勘探人员提供下列几种帮助:(1)勘探评价。(2)区域资源评价。(3)井位选择。第8章专家系统图8―7是PROSPECTOR系统的总体结构图。系统的勘探知识以某种外部格式存储在磁盘中。同样,一个具有1000多个单词的分类学词典也存储在磁盘上。每一次咨询开始时,由一个叫做PARSEFILE的程序把这些外部表示转换成系统的内部表示形式——推理网络。推理网络就是系统赖以完成咨询的知识库。第8章专家系统图8―7PROSPECTOR总体