专家系统

来自中文百科,文化平台
跳转至: 导航搜索

专家系统英语:Expert System),是早期人工智能的一个重要分支,它可以看作是一类具有专门知识和经验的计算机智能程序系统,一般采用人工智能中的知识表示知识推理技术来模拟通常由领域专家才能解决的复杂问题。

概述

专家系统适合于完成那些没有公认的理论和方法、数据不精确或信息不完整、人类专家短缺或专门知识十分昂贵的诊断、解释、监控、预测、规划和设计等任务。一般专家系统执行的求解任务是知识密集型的。

专家系统能为它的用户带来明显的经济效益。用比较经济的方法执行任务而不需要有经验的专家,可以极大地减少劳务开支和培养费用。由于软件易于复制,所以专家系统能够广泛传播专家知识和经验,推广应用数量有限的和昂贵的专业人员及其知识。

专家系统在给它的用户带来经济利益的同时,也造成失业。

专家系统的应用技术不仅代替了人的一些体力劳动,也代替了人的某些脑力劳动,有时甚至行使着本应由人担任的职能,免不了引起法律纠纷。比如医疗诊断专家系统万一出现失误,导致医疗事故,怎么样来处理,开发专家系统者是否要负责任,使用专家系统者应负什么责任,等等。

专家系统是人工智能中最重要的也是最活跃的一个应用领域,它实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。20世纪60年代初,出现了运用逻辑学和模拟心理活动的一些通用问题求解程序,它们可以证明定理和进行逻辑推理。但是这些通用方法无法解决大的实际问题,很难把实际问题改造成适合于计算机解决的形式,并且对于解题所需的巨大的搜索空间也难于处理。1965年,F.A.费根鲍姆等人在总结通用问题求解系统的成功与失败经验的基础上,结合化学领域的专门知识,研制了世界上第一个专家系统DENDRAL ,可以推断化学分子结构。20多年来,知识工程的研究,专家系统的理论和技术不断发展,应用渗透到几乎各个领域,包括化学、数学、物理、生物、医学、农业、气象、地质勘探、军事、工程技术、法律、商业、空间技术、自动控制、计算机设计和制造等众多领域,开发了几千个的专家系统,其中不少在功能上已达到,甚至超过同领域中人类专家的水平,并在实际应用中产生了巨大的经济效益。

专家系统的发展已经历了3个阶段,正向第四代过渡和发展。第一代专家系统(DENDRAL、MACSYMA等)以高度专业化、求解专门问题的能力强为特点。但在体系结构的完整性、可移植性等方面存在缺陷,求解问题的能力弱。第二代专家系统(MYCIN、CASNET、PROSPECTOR、HEARSAY等)属单学科专业型、应用型系统,其体系结构较完整,移植性方面也有所改善,而且在系统的人机接口、解释机制、知识获取技术、不确定推理技术、增强专家系统的知识表示和推理方法的启发性、通用性等方面都有所改进。第三代专家系统属多学科综合型系统,采用多种人工智能语言,综合采用各种知识表示方法和多种推理机制及控制策略,并开始运用各种知识工程语言、骨架系统及专家系统开发工具和环境来研制大型综合专家系统。在总结前三代专家系统的设计方法和实现技术的基础上,已开始采用大型多专家协作系统、多种知识表示、综合知识库、自组织解题机制、多学科协同解题与并行推理、专家系统工具与环境、人工神经网络知识获取及学习机制等最新人工智能技术来实现具有多知识库、多主体的第四代专家系统。

对专家系统可以按不同的方法分类。通常,可以按应用领域、知识表示方法、控制策略、任务类型等分类。如按任务类型来划分,常见的有解释型、预测型、诊断型、调试型、维护型、规划型、设计型、监督型、控制型、教育型等。

专家系统与传统的计算机程序系统有着完全不同的体系结构,通常它由知识库、推理机、综合数据库、知识获取机制、解释机制和人机接口等几个基本的、独立的部分所组成,其中尤以知识库与推理机相互分离而别具特色。专家系统的体系结构随专家系统的类型、功能和规模的不同,而有所差异。

为了使计算机能运用专家的领域知识,必须要采用一定的方式表示知识 。目前常用的知识表示方式有产生式规则、语义网络、框架、状态空间、逻辑模式、脚本、过程、面向对象等。基于规则的产生式系统是目前实现知识运用最基本的方法。产生式系统由综合数据库、知识库和推理机3个主要部分组成,综合数据库包含求解问题的世界范围内的事实和断言。知识库包含所有用“如果:〈前提〉,于是:〈结果〉”形式表达的知识规则。推理机(又称规则解释器)的任务是运用控制策略找到可以应用的规则。正向链的策略是寻找出前提可以同数据库中的事实或断言相匹配的那些规则,并运用冲突的消除策略,从这些都可满足的规则中挑选出一个执行,从而改变原来数据库的内容。这样反复地进行寻找,直到数据库的事实与目标一致即找到解答,或者到没有规则可以与之匹配时才停止。逆向链的策略是从选定的目标出发,寻找执行后果可以达到目标的规则;如果这条规则的前提与数据库中的事实相匹配,问题就得到解决;否则把这条规则的前提作为新的子目标,并对新的子目标寻找可以运用的规则,执行逆向序列的前提,直到最后运用的规则的前提可以与数据库中的事实相匹配,或者直到没有规则再可以应用时,系统便以对话形式请求用户回答并输入必需的事实。

早期的专家系统采用通用的程序设计语言(如FORTRAN、PASCAL、BASIC等)和人工智能语言(如LISP、PROLOG、Smalltalk等),通过人工智能专家与领域专家的合作,直接编程来实现的。其研制周期长,难度大,但灵活实用,至今尚为人工智能专家所使用。大部分专家系统研制工作已采用专家系统开发环境或专家系统开发工具来实现,领域专家可以选用合适的工具开发自己的专家系统,大大缩短了专家系统的研制周期,从而为专家系统在各领域的广泛应用提供条件。

一般来说,专家系统=知识库+推理机,因此专家系统也被称为基于知识的系统。一个专家系统必须具备三要素:

  1. 领域专家级知识
  2. 模拟专家思维
  3. 达到专家级的水平

有效性

专家系统的有效性包括和一个理想系统或专家的性能进行比较,根据结果对知识库和推理过程进行改进。

  • 性能评价的定性方法
    1. 图灵测试法:测试一台机器是否具有智慧的方法
    2. 敏感度分析法:对系数的变化做出反应
  • 性能评价的定量方法
    1. Paired T测试
    2. T2测试
  • 具有多个专家的性能评价的定量方法:讨论多个专家的一致性问题,一般用关联系数来评测专家系统能为它的用户带来明显的经济效益。用比较经济的方法执行任务而不需要有经验的专家,可以极大地减少劳务开支和培养费用。由于软件易于复制,所以专家系统能够广泛传播专家知识和经验,推广应用数量有限的和昂贵的专业人员及其知识。

开发工具

著名的专家系统

  • ExSys:第一个商用专家系统。
  • Mycin:一个诊断系统,其表现出人意料的好,误诊率达到专家级水平,超出一些诊所的医生。
  • Siri:一个通过辨识语音作业的专家系统,由苹果公司收购并且推广到自家产品内作为一个人秘书功能。

参见