专家系统(Expert System)是一类具有专门知识和经验的
计算机智能程序系统。它利用存储在计算机内的某一特定领域内人类专家的知识,来解决通常需要人类专家才能解决的现实问题。可将其视作“知识库”和“推理机”的结合。专家系统的典型任务包括分类、诊断、监控、设计、调度和专业工作的规划。
第一代专家系统产生于20世纪60年代初,
人工智能学者
爱德华·费根鲍姆(Edward A.Feigenbaum)等教授于1968年研制出世界上第一个专家系统Dendral。20世纪70年代,专家系统开始成熟起来,扩展到了更广泛的领域,20世纪80年代,第二代专家系统诞生了,其引入了
概率模型来对原因及其可能影响进行推理。到20世纪80年代中期,各类专家系统已遍布各个专业领域。经过不断的迭代和深入研究,专家系统已经从单学科专业性应用型系统,到多学科综合性系统,再发展为具有多知识库、多主体的第四代专家系统。
专家系统开创了
人工智能从理论研究走向实际应用、从一般推理策略研究转向运用知识推理求解的先河。专家系统具有解释、预测、诊断和设计等功能,并且具有启发性、透明性和灵活性等特性,在医学、
化学、工业和农业等领域均得到了应用。
发展历程
专家系统的发展经历了四代,从第一代的以高度专业化、求解专门问题的能力强为主要特点,到第二代属于单学科专业性应用型系统,再到第三代属于多学科综合性系统。第四代专家系统则采用大型多专家协作系统、多种
知识表示、综合知识库、自组织求解、多学科协同求解与并行推理求解机制、专家系统工具与环境、
深度学习知识获取及学习机制等最新人工智能技术来设计与实现具有多知识库、多主体的专家系统。
20世纪60年代初,一种运用逻辑模拟心理活动的通用问题求解程序出现,但这些通用方法无法解决大型实际问题,于是
人工智能学者
爱德华·费根鲍姆(Edward Feigenbaum)等教授在总结通用问题求解系统的基础上结合
化学领域的专门知识,于1965年研制出世界上第一个专家系统Dendral。
20世纪70年代,专家系统趋于成熟,专家系统的观点也开始广泛的被人们接受。70年代中期先后出现了一批卓有成效的专家系统,在医疗领域尤为突出,其中最具代表性的专家系统是MYCIN,它第一次使用了知识库的概念,并使用了似然推理技术,后来的许多专家系统都是在MYCIN的基础上研制的。20世纪70年代后期,专家系统开始出现其他的类型,包括设计型专家系统、规划型专家系统、教育型专家系统以及预测型专家系统等。
20世纪80年代,随着人们对专家系统的应用、项目和实验的兴趣成倍增加,专家系统开始引入了对原因和可能影响进行推理的
概率模型,到20世纪80年代中期,各种专家系统已遍布各个专业领域,开发了几千个的专家系统,其中不少在功能上已达到甚至超过同领域中人类专家的水平,并在实际应用中产生了巨大的经济效益。1984年,肖洛姆·韦斯(Sholom Weiss)和卡西米尔·库利科夫斯基(Casimir Kulikowski) 对专家系统的定义为:专家系统能够处理现实世界中需要专家做出解释的复杂问题,并使用专家推理的
计算机模型解决这些问题,得出与专家相同的结论。但这一阶段专家系统一直由基于规则的系统主宰,直到20世纪80年代后期,开始向面向对象的系统转变,基于框架的专家系统开始占据主要位置。
20世纪90年代,人们对专家系统的研究转向了与知识工程、模糊技术、实时操作技术、神经网络技术和数据库技术等相结合的专家系统。各学者也纷纷对专家系统进行定义。1994年,乔恩·杜尔金(John Dukin)定义其是一个设计用来建立人类专家问题求解能力模型的
计算机程序。1998年,罗纳德·布拉赫曼(Ronald·Brachman)和费根鲍姆等人使用7个相对独立的方面对专家系统进行了定义,同年,约瑟夫·贾拉塔诺(Joseph .Giarratano)和加里·莱利(Gary· Riley)提出专家系统的定义:专家系统是广泛应用专门知识以解决人类专家水平问题的
人工智能的一个分支。专家系统有时又称为基于知识的系统或基于知识的专家系统。
进入21世纪,专家系统成为了智能助手和进行智能管理与决策的工具,但其创新发展进入了缓慢阶段。
工作原理
专家系统的核心是知识库和推理机,知识库用来将问题知识化、知识概念化、概念形式化、形式规则化、规则合法化。它能够辨别所研究问题的实质,概括
知识表示所需要的的关键概念及其关系,然后应用人工智能中知识表示方法把与概念化过程有关的关键概念和信息流特性等变换为正式的表达,将形式化了的知识转换成由
编程语言表示的可供
计算机执行的语句和程序,最后确定规则化了知识的合理性,检验规则的有效性。
系统根据知识库中的知识和用户提供的事实进行推理,最常见的推理方式是产生式规则,形式为“如果...那么...”,不断地由已知的事实推出未知的结论,即中间结果,并将中间结果放到数据库中,作为已知的新事实进行推理,从而把求解的问题由未知状态转换为已知状态。在专家系统的运行过程中,会不断地通过人机接口与用户进行交互,向用户提问,并向用户做出解释。
系统结构
专家系统主要由知识库和推理机组成,在实际应用中,由于每个专家系统的任务和特点不同,系统结构也不尽相同,一个完整的专家系统结构一般由人机接口、推理机、知识库、综合数据库、知识获取机构和解释机构六个部分组成。
人机接口
人机接口是专家系统与领域专家知识工程师以及一般用户间的界面,由一组程序和响应的硬件组成,用于完成输入输出工作,领域专家知识工程师通过它输入知识,更新、完善知识库,一般用户则通过它输入求解的问题、已知事实以及向系统提出的询问;系统通过它输出运行结果、回答用户的询问或者向用户索取进一步的事实。接口的形式和功能因不同的系统差异较大,有的系统可用简单的自然语言与系统交互,而有的系统则用最基本的方式(如编辑软件)实现与系统的信息交流。
知识库
知识库用于存储某领域专家系统的专门知识,包括事实、可行性操作与规则等,是把应用领域的问题求解知识单独组成一个实体,其中知识大多以规则、网络和过程等形式表示。知识库包括两部分内容,一部分是已知的同当前问题有关的数据信息;另一部分是进行推理时要用到的一般知识和领域知识。
综合数据库
综合数据库又称全局数据库或总数据库,它用于存储领域或问题的初始数据和推理过程中得到的中间数据(信息),即被处理对象的一些当前事实。
推理机
推理机包括调度器、
执行器、协调器三部分,用于记忆所采用的规则和控制策略的程序,使整个专家系统能够以逻辑方式协调地工作。调度器按照系统建造者所给的控制知识(通常使用优先权办法),从议程中选择一个项作为系统下一步要执行的动作。执行器应用知识库中记录的信息,执行调度器所选定的动作。协调器的主要作用是当得到新数据或新假设时,对已得到的结果进行修正,以保持结果前后的一致性。
解释机构
解释器是专家系统区别于一般程序的重要特征之一,由一组程序组成,能够跟踪并记录推理过程,向用户解释专家系统的行为,包括解释推理结论的正确性以及系统输出其他候选解的原因,最后把解答用约定的形式通过人机接口输出给用户。它还可以通过对自身行为的解释帮助系统建造者发现知识库以及推理机中的错误,有助于对系统的调试和维护。
知识获取机构
知识获取是专家系统与专家的“界面”。知识库中的知识一般都是通过“人工移植”方法获得,“界面”就是知识工程师(专家系统的设计者),采用“专题面谈”,“口语记录分析”等方式获取知识,经过整理后,再输入知识库。通过借助“知识获取辅助工具”可以辅助专家整理知识或辅助扩充和修改数据库,提高知识工程师获得专家知识的效率。
系统分类
基于工作机理划分
根据专家系统的工作机理,可以将专家系统分为基于规则专家系统、基于框架专家系统和基于模型专家系统。
基于规则的专家系统
基于规则的专家系统是个
计算机程序,该程序使用一套包含在知识库内的规则对工作存储器内的具体问题信息(事实)进行处理,通过推理机推断出新的信息。该类专家系统通过知识库以一套规则建立人的长期存储器模型,用工作存储器建立人的短期存储器模型,存放问题事实和由规则激发而推断出的新事实,然后借助推理机把存放在工作存储器内的问题事实和存放在知识库内的规则结合起来,建立人的推理模型,推断出新的信息。
基于规则的专家系统不需要一个人类问题求解的精确匹配,而是能够通过
计算机提供一个复制问题求解的合理模型。其工作模型如下:
基于框架的专家系统
框架是一种结构化表示方法,它由若干个描述相关事务各方面及其概念的槽构成,每个槽拥有若干侧面,每个侧面还拥有若干个值。基于框架的专家系统将一般概念存放在框架内,而该概念的一些特例则表示在其他框架内并含有实际的特征值。基于框架的专家系统采用面向目标编程技术,它也是个
计算机程序,用一组包含在知识库内的框架对工作存储器内的具体问题信息进行处理,通过推理机推断出新的信息。相比于规则来表示知识,框架提供一种比规则更为丰富的获取问题知识的方法和规则专家系统所没有的特征,不仅提供某些目标的包描述,而且还规定该目标如何工作。
基于模型的专家系统
一个知识系统中的知识库是由各种模型综合而成的,由于模型的建立与知识密切相关,所以有关模型的获取、表达和使用自然地包括了知识获取、知识表达和知识使用,这种模型概括了定性的物理模型和心理模型等。由此可得,专家系统是由一些原理与运行方式不同的模型综合而成的。采用各种定性模型来设计专家系统,增加了系统的功能,提高了性能指标,还可独立地深入研究各种模型及其相关问题,把求得的结果用于改进系统设计。
基于任务类型划分
根据系统所执行的任务类型不同,可以将专家系统划分为12种类型。
知识获取
知识获取是把用于求解专门领域问题的知识从拥有这些知识的知识源中抽取出来,并转换为特定的
计算机表示。按照基于知识系统获取知识的工作方式分类,可分为非自动型知识获取和自动型知识获取。
自动知识获取
自动获取是指系统自身具有获取知识的能力,可以直接与领域专家对话,从专家提供的原始信息中获取到专家系统所需要的知识,而且还能从系统自身的运行实践中总结、归纳出新知识,发现知识中可能存在的错误,不断自我完善,建立性能优良、知识完善的知识库。它一般具备识别语音、文字和图像的能力,以及理解、分析和归纳的能力。
非自动知识获取
非自动知识获取分两步进行,首先由知识工程师从领域专家或有关的技术文献中获取知识,然后再由知识工程师用某种知识编辑软件输入到知识库中。知识工程师是领域专家和专家系统的建造者之间的中介专家,与领域专家进行交谈或阅读相关文献,对获取的原始知识进行分析、归纳、整理,形成用自然语言表述的知识条款,最后用
知识表示语言表示出来;知识编辑器是一种用于知识输入的软件,把某种模式或语言表示的知识转换成
计算机课表示的内部形式,并输入到知识库中。
系统功能
专家系统能够储存问题求解所需的知识、具体求解的初始数据和推理过程中涉及的各种信息。然后根据当前输入的数据、利用所储存的知识,按照推理策略解决需求解的问题,并且能够对推理过程、结论或系统自身行为给出解释,还提供知识获取、
机器学习以及知识库的修改、扩充和完善等维护手段来确保准确性和求解能力,并且提供一种用户友好的接口,方便用户使用的同时方便分析和理解用户的要求。
专家系统的功能具体有解释、预测、诊断、规划、监督和控制等。
基本特点
特性
优缺点
专家系统具有高度可重复性,能够用于对人类有安全威胁的危险场所,因其不受情绪、紧张或疲劳等的影响,能够保持系统性能的稳定,响应查询的速度快,且知识库确保正确的情况下出错的可能性较小。相较于人类专家,专家系统能够提高产量和生产力,并且减少决策时间,还能够汇集和集成多领域专家的知识与经验。它借助低成本仪器就能够进行检测和控制,大大减少了成本。
但也存在一些局限性,一是知识获取的瓶颈有限,它很难将专家的知识经验用准确的规则描述,获取知识的工作量比较大;二是自适应能力较差,大多数专家系统会局限在以某专业领域的知识经验为基础对用户问题进行求解,无法为不同的场景产生创造性的输出,甚至输出错误的结论;三是自我学习能力差,不能从求解问题成败中积累经验,不能自动修正原有知识库中的知识和经验;四是时效性较差,对于复杂的问题对象,搜索范围大,速度慢,难以满足快速实时输出结论的应用需要。
与传统程序系统的区别
专家系统与传统的程序系统不同,专家系统是一个启发交互式的符号系统,在结构上,其知识和控制分离,修改容易,信息类型可为不确定性信息、处理结果可以提供不确定性解。
开发工具
专家系统开发工具是一种程序设计系统,通常分为程序设计语言、知识工程语言、系统构造辅助工具和支撑设施四类。
性能评定
专家系统的性能基于专家知识库中存储的知识,知识库中存储的知识越多,系统性能就越高。对专家系统的评价原则包括:评价系统的性能、灵活性、功能、透明性、
可用性和可接受性、运行效率和效益以及设计周期和意义。对专家系统性能评价指标性能评价指标主要体现在正确性、实用性等方面。
应用领域
专家系统在
化学、医疗、农业、工业等领域都有着广泛的应用。
农业领域
农业专家系统应用
人工智能的专家系统技术,在整理一个或多个农业专家提供的特殊领域知识和技术经验的基础上。用
计算机模拟专家的智能,通过推理和判断,为农业生产中某一复杂的问题提供决策。早在20世纪70年代末,
美国就开始了农业专家系统的研究,当时仅用于作物病虫害诊断,后来越来越多国家也开发了农业专家系统,国际上已经开发了多种农业专家系统,而且被广泛应用在作物生产管理、灌溉、施肥、品种选择、
病虫害防治、温室管理、畜禽饲料配方、水土保持、
农业机械收获等方面。
工业领域
工业领域存在着许多高危工作,专家系统能够帮助人们在人类无法触及的高危环境下工作,比如
高炉进行
生铁冶炼的过程,使用高炉监控专家系统,预测高炉内炉料滑动和沟道的产生情况,判断高炉内熔炼过并指导操作员对高炉进行合理的操作。此外,还应用在一些工业程序如
过程控制、故障诊断、生产调度等。
医疗领域
专家系统可以模拟医学专家诊断、治疗疾病的思路过程编制的
计算机程序,帮助医生解决复杂的医学问题,可以作为医生诊断和治疗的辅助工具。医学专家系统可以解决的问题一般包括解释、预测、诊断、提供治疗方案等,世界上比较著名的医疗诊断系统还有
青光眼医疗诊断系统CASNET、内科病医疗诊断系统INTERNIST、肾病医疗诊断系统PIP、处理精神病的系统PARRY等。新一代专家系统有分布式专家系统和协同式专家系统等,其在医学领域的应用将更有利于临床疾病诊断与治疗水平的提高。
化学领域
专家系统可以推导
分子结构系统,进行化学实验等,化学专家系统可分为结构解析专家系统和
有机合成路线设计专家系统等,最早出现的化学分析专家系统DENDRAL,能根据
分子式和质谱分析数据,得出未知化合物的分子结构,后来专家系统还可以自动推导质谱学规则、确定
原子排列、重新识别分子结构的功能团、链、环、冗余性以及对称性并对之进行化学变化等。已经研发出的化学专家系统有Lawrence Livermore国家实验室研制的TQMSTUNE系统,用来调优大型的
质谱仪TQMS的各项控制指标;Beckman仪器公司在
IBM PC/XT机器上建立的一个用于超
离心机分离过程的专家系统Spinpro;用于进行
有机化合物构想分析的专家系统WIZARD等。
其他领域
经典实例
发展趋势
随着专家系统的应用日益广泛,专家系统解决问题的复杂度和难度也相应的不断增大,传统专家系统已经逐步被一些新型的专家系统取代,如基于
混合模型的专家系统、
机器学习和专家知识相结合的专家系统、实时诊断专家系统、分布式全系统诊断专家系统、混合推理、不确定性推理控制策略专家系统等。专家系统的发展在知识获取与
知识表示等部分的功能会更加的完善,在机器学习、推理机制和实时控制等方面都将会有