教材简介:名称:人工智能原理与应用专家系统是人工智能应用研究的一个重要分支。自20世纪60年代末,费根鲍姆等人研制成功第一个专家系统DENDRAL以来,专家系统已被成功地运用到工业、农业、地质矿产业、科学技术、医疗、教育、军事等众多领域,并已产生了巨大的社会效益和经济效益。它实现了人工智能从理论研究走向实际应用,从一般思维方法探讨转入专门知识运用的重大突破。成为人工智能应用研究中最活跃、也最有成效的一个重要领域。8.1专家系统概述1.产生与发展过程1968年世界上的第一个专家系统DENDRAL在美国的斯坦福大学研发成功。DENDRAL是世界上第一例成功的专家系统,它的出现标志着人工智能的一个新领域——专家系统的诞生。20世纪60年代末,美国麻省理工学院开始研究用于解决复杂微积分运算和数学推导的专家系统MACSYMA。卡内基—梅隆大学在同一时期也开发了一个用于语音识别的专家系统HEARSAY,并相继研发成功HEARSAY—II和HEARSAY—III。1974年,匹兹堡大学研制成功内科病诊断咨询系统INTERNIST,并在以后对其不断完善,使之发展成专家系统CADUCEUS。8.1.1专家系统的产生与发展1976年,专家系统MYCIN由美国斯坦福大学的E.H.Shortliffe开发成功,其主要设计目的是为细菌感染疾病提供抗菌剂治疗建议。MYCIN还首次使用了目前专家系统中常用的知识库的概念,并在不确定性的表示和处理中采用了可信度的方法。1976年,美国斯坦福大学国际研究所人工智能研究中心的R.O.Duda等人研制成功一个探矿专家系统ROSPECTOR,该系统把矿床模型按计算机能解释的形式编码,随后利用这些模型进行推理,达到勘探评价、区域资源估值、钻井井位选择的目的。进入20世纪80年代以后,专家系统的研发开始趋于商品化。8.1专家系统概述8.1.1专家系统的产生与发展2.专家系统的成就由数字设备公司(DEC)和卡内基—梅隆大学合作研发的专家系统XCON,是一个用于为VAX计算机系统制定硬件配置方案的商用系统,创造了巨大的经济效益。ACE是由贝尔实验室于80年代初开发的一个用于设备错误诊断的专家系统,用于定位和识别在电话网络中的故障点。DELTA则是由通用电气公司在80年代中期开发的错误诊断系统,以帮助维修人员发现在柴油发电机中的故障。3.中国的情况我国专家系统的研发起步于20世纪80年代,开发成功了许多具有实用价值的应用型专家系统。8.1专家系统概述8.1.1专家系统的产生与发展4.需要进一步研究并加以解决的问题知识的自动获取方法、深层知识的表示和利用方法、分布式知识的处理方法以及知识的完备性等问题都是要继续探讨和研究的。8.1专家系统概述8.1.1专家系统的产生与发展到目前为止,有关专家系统还没有一个严格公认的形式化定义。但人们普遍认为,专家系统是一种具有大量专门知识与经验的智能程序系统,它能运用某个领域一个或多个专家多年积累的经验和专门知识,模拟领域专家求解问题时的思维过程,以解决该领域中的各种复杂问题。也就是说,专家系统具有三个方面的含义:它是一种具有智能的程序系统。能运用专家知识和经验进行推理的启发式程序系统。它必须包含有大量专家水平的领域知识,并能在运行过程中不断地对这些知识进行更新。它能应用人工智能技术模拟人类专家求解问题的推理过程,解决那些本来应该由领域专家才能解决的复杂问题。8.1专家系统概述8.1.2专家系统的定义对专家系统的类型划分可以有多种不同的方法。不同的分类方法所得到的分类结果也不同。1.按专家系统特性和处理问题的类型分类海叶斯—罗斯(F.Heyes-Roth)等人按照专家系统的特性及处理问题的类型,将专家系统分为以下10种类型。(1)解释型:通过对已知信息和数据进行分析和推理,从而确定它们的含义,给出相应解释的一类专家系统。(2)诊断型:根据输入系统的有关被诊断对象的信息,来推断出相应对象存在的故障和产生故障的原因,并进一步给出排除故障方法的一类专家系统。8.1专家系统概述8.1.3专家系统的种类(3)设计型:根据用户输入的设计要求数据,求解出满足设计要求的目标配置方案的一种专家系统。(4)预测型:通过对过去知识以及当前的事实与数据进行分析,推断未来情况的一类专家系统。(5)规划型:根据给定的规划目标数据,制定出某个能够达到目的的动作规划或行动步骤的一类专家系统。(6)监视型:这是一类用于对被检控对象进行实时地、不断地观察,并能观察到情况及时做出适当反应的专家系统。(7)控制型:用来对一个受控对象或客体的行为进行适当的调节与管理,以使其满足预期要求的一类专家系统。(8)调试型:对失灵的对象制定出排除故障的规划并实施排除的一类专家系统。8.1专家系统概述8.1.3专家系统的种类(9)教学型:是一类可根据学生学习的特点,制定适当的教学计划和教学方法,以对学生进行教学和辅导的专家系统。(10)修理型:对发生故障的系统或设备进行处理,使其恢复正常工作的一类专家系统。除了以上这10种类型的专家系统外,决策型和管理型的专家系统也是近年来颇受人们重视的两类专家系统。8.1专家系统概述8.1.3专家系统的种类2、按系统的体系结构分类(1)集中式专家系统这是一类对知识及推理进行集中管理的专家系统。对于这类专家系统,又可根据系统知识库与推理机构的组织方式,细分为层次式结构、深-浅双层结构、多层聚焦结构及黑板结构等专家系统。层次式结构专家系统是指其推理机构为多层机制,推理方式采用逐层推理的专家系统。深—浅双层结构专家系统是指系统的知识库由两个子知识库构成,其中一个称为深层知识库,用于存放问题领域内的原理性知识,另一个称为浅层知识库,用于存放领域专家的经验知识。多层聚焦结构专家系统是指知识库中的知识按动态分层组织的形式进行管理。黑板结构类型的专家系统一般用于求解比较复杂的问题,通常具有多个知识库和多个推理机。8.1专家系统概述8.1.3专家系统的种类(2)分布式专家系统分布式专家系统是指将知识库或/和推理机分布在一个计算机网络上的一类专家系统。主要特点是,系统中的知识库及推理机在逻辑上和物理上都采用一种分布结构,其各机构间通过计算机网络实现互连,并在求解问题的过程中,相互通信、相互协作。(3)神经网络专家系统采用人工神经网络技术进行建造,以神经网络为体系结构实现知识表示和求解推理。这种类型的专家系统目前尚处于研究阶段。(4)符号系统与神经网络相结合的专家系统将神经网络与符号处理系统有机结合起来就用于专家系统的知识表示与推理求解。8.1专家系统概述8.1.3专家系统的种类在总体上,专家系统还具有以下一些共同特点:(1)启发性(2)透明性(3)灵活性(4)交互性(5)推理有效性(6)复杂性(7)实用性(8)知识的专门性(9)易推广8.1专家系统概述8.1.4专家系统的一般特点8.2专家系统的基本结构8.2.1数据库及其管理系统数据库又称综合数据库,用来存储有关领域问题的初始事实、问题描述以及系统推理过程中得到的种种中间状态或结果等,系统的目标结果也存于其中。8.2.2知识库及其管理系统知识库是专家系统的知识存储器,用来存放被求解问题的相关领域内的原理性知识或一些相关的事实以及专家的经验性知识。原理性或事实性知识是一种广泛公认的知识,即书本知识和常识,而专家的经验知识则是长期的实践结晶。8.2.3知识获取机构知识获取机构是专家系统中的一个重要部分,它负责系统的知识获取,由一组程序组成。其基本任务是从知识工程师那里获得知识或人训练数据8.2专家系统的基本结构中自动获取知识,并把得到的知识送入知识库中,并确保知识的一致性及完整性。8.2.4推理机推理机是专家系统在解决问题时的思维推理核心,它是一组程序,用以模拟领域专家思维过程,以使整个专家系统能够以逻辑方式进行问题求解。8.2.5解释器解释器是人与机接口相连的部件,它负责对专家系统的行为进行解释,并通过人机接口界面提供给用户。8.2.6人—机接口人-机接口是专家系统的另一个关键组成部分,它是专家系统与外界进行通讯与交互的桥梁,由一组程序与相应的硬件组成。8.2专家系统的基本结构利用某种手段从知识源中获取专家系统实现问题求解所需的专门知识,并以某种形式在计算机中存储,满足领域问题求解的需求。一般包括知识抽取、表示、输入和检测等几项工作。1、知识抽取知识抽取是指把蕴含于多个知识源中的知识经过分析、识别、理解、遴选、归纳等处理后抽取出来,以便用于知识库的建立。知识源是指专家系统知识的来源,包括领域专家、技术报告、课本教材、相关论文、实例研究、经验数据及系统本身的运行实践等。8.3知识获取8.3.1知识获取的任务2、知识的表示将知识源中以自然语言、图形、表格等形式表示的知识转换为计算机能够识别或运用的形式。这种转换通常先由知识工程师对知识源中的知识进行分析和抽样,并用适当的知识表示形式表示出来,然后再把这种知识表示形式通过某种编译程序翻译成计算机可直接识别或应用的内部编码。3、知识的输入知识输入就是要把从知识源获取的、以某种表示形式表示的知识经过在计算机上编辑、编译送入知识库的过程。4、知识的检测知识检测的主要任务是保证知识库的一致性和完整性。8.3知识获取8.3.1知识获取的任务按照知识获取所使用的手段,可分为人工获取、半自动化获取和自动化获取三种。1、人工知识获取是一种通过知识工程师对知识源中的数据进行分析处理,以获取知识的一种途径。知识工程师首先从领域专家那里了解他们解决问题的方法,阅读有关文献,初步获取专家系统所需要的原始知识;然后,再对所获得的原始知识进行分析、归纳、整理、总结,将每一条知识用自然语言的形式表达出来,并交由领域专家审查。经反复交流,最后把所总结的每条知识确定下来,再将每条知识用适当的知识表示方法表示出来,应用知识编辑器输入计算机。8.3.2知识获取主要途径8.3知识获取在从领域专家那里获取知识时一般采用如下的技术步骤:(1)现场观察(2)问题讨论(3)问题描述(4)问题分析(5)建造原型系统(6)系统检查(7)系统验证8.3.2知识获取主要途径8.3知识获取8.3.2知识获取主要途径8.3知识获取2、半自动化知识获取半自动知识获取是指在人工知识获取的基础上增加了部分机器学习功能,使专家系统本身能够从大量的实例中归纳出某些知识。由于它不是纯粹的人工知识获取,又不是完全的机器自动知识获取,因而称作半自动和知识获取。以下的一些方法属于半自动化获取方法。(1)智能知识编辑这是一个通过建立智能知识编辑器来实现知识获取的方法。智能知识编辑器是一种类似于数据库编辑器的软件,它可实现对知识库的结构和内容进行修改,是目前建造专家系统时常用的一种工具。(2)知识发现系统这是一种利用计算机辅助以获取知识的系统,是目前机器学习领域研究的主要内容。这种系统能够利用计算机通过内建的各种数据分析模型与算法,对训练数据或实际问题进行分析处理,归纳、总结或发现一些尚未为专家系统掌握或认识的新知识,并将其送入系统知识库,使其知识不断完善丰富。3、自动知识获取自动知识获取是指通过专家系统本身来获取知识。为此,系统应具备如下的功能:(1)具有语音、文字、图像的识别功能(2)具有理解、分析、归纳的能力(3)具有从自身运行过程中学习的能力8.3.2知识获取主要途径8.3知识获取1、选择合适的应用领域及问题哪些领域适合开发专家系统,哪些领域不适于开发专家系统,是开发专家系统首先要考虑的一个问题。下面是选择专家系统应用领域时应遵循的一些原则。(1)该应用领域是否有使用专家系统的需求例如:中医诊疗方面,由于病因的复杂性,将多名老中医、老专家的诊病经验合在一起,开发一个中医诊断专家系统就很有必要。8.4专家系统的设计与建造8.4.1开发专家系统的基本要求8.4专家系统的设计与建造8.4.1开发专家系统的基本要求(2)所涉及的领域问题是否适合专家系统来解决计算机专家系统适合解决那些迄今为止人类还没有彻底掌握的、不存在成熟算法且主要靠专家经验来解决的、带有点模糊性的领域问题。(3)领域专家的经验