人工智能实战热门应用集合总成:专家系统
专家系统在实际应用中可以是任何AI模型的实际落地形式,例如:闲聊机器人就可以看成是情感安抚专家系统。
基础知识:专家系统是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,能够利用人类专家的知识和解决问题的方法来处理该领域问题。也就是说,专家系统是一个具有大量的专门知识与经验的程序系统,它应用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题,简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。
中文名
专家系统
外文名
Expertsystem
实 质
智能计算机程序系统
特 点
模拟人类专家解决领域问题
目录
1 基本信息
▪ 简介
▪ 起源与发展
2 构造
▪ 构造
▪ 知识库
▪ 推理机
▪ 其他部分
▪ 实现方式
3 工作过程
4 性能
▪ 功能
▪ 特点
5 分类
6 应用
▪ 专家系统应用的领域
▪ 实例
▪ 趋势预测
基本信息
简介
专家系统是人工智能中最重要的也是最活跃的一个应用领域,它实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。专家系统是早期人工智能的一个重要分支,它可以看作是一类具有专门知识和经验的计算机智能程序系统,一般采用人工智能中的知识表示和知识推理技术来模拟通常由领域专家才能解决的复杂问题。
起源与发展
20世纪60年代初,出现了运用逻辑学和模拟心理活动的一些通用
专家系统
问题求解程序,它们可以证明定理和进行逻辑推理。但是这些通用方法无法解决大的实际问题,很难把实际问题改造成适合于计算机解决的形式,并且对于解题所需的巨大的搜索空间也难于处理。1965年,E.A.费根鲍姆等人在总结通用问题求解系统的成功与失败经验的基础上,结合化学领域的专门知识,研制了世界上第一个专家系统dendral,可以推断化学分子结构。20多年来,知识工程的研究,专家系统的理论和技术不断发展,应用渗透到几乎各个领域,包括化学、数学、物理、生物、医学、农业、气象、地质勘探、军事、工程技术、法律、商业、空间技术、自动控制、计算机设计和制造等众多领域,开发了几千个的专家系统,其中不少在功能上已达到,甚至超过同领域中人类专家的水平,并在实际应用中产生了巨大的经济效益。
专家系统的发展已经历了3个阶段,正向第四代过渡和发展。第一代专家系统(dendral、macsyma等)以高度专业化、求解专门问题的能力强为特点。但在体系结构的完整性、可移植性、系统的透明性和灵活性等方面存在缺陷,求解问题的能力弱。第二代专家系统(mycin、casnet、prospector、hearsay等)属单学科专业型、应用型系统,其体系结构较完整,移植性方面也有所改善,而且在系统的人机接口、解释机制、知识获取技术、不确定推理技术、增强专家系统的知识表示和推理方法的启发性、通用性等方面都有所改进。第三代专家系统属多学科综合型系统,采用多种人工智能语言,综合采用各种知识表示方法和多种推理机制及控制策略,并开始运用各种知识工程语言、骨架系统及专家系统开发工具和环境来研制大型综合专家系统。在总结前三代专家系统的设计方法和实现技术的基础上,已开始采用大型多专家协作系统、多种知识表示、综合知识库、自组织解题机制、多学科协同解题与并行推理、专家系统工具与环境、人工神经网络知识获取及学习机制等最新人工智能技术来实现具有多知识库、多主体的第四代专家系统。
构造
构造
专家系统通常由人机交互界面、知识库、推理机、解释器、综合数据库、知识获取等6个部分构成。其中尤以知识库与推理机相互分离而别具特色。专家系统的体系结构随专家系统的类型、功能和规模的不同,而有所差异。
为了使计算机能运用专家的领域知识,必须要采用一定的方式表示知识。目前常用的知识表示方式有产生式规则、语义网络、框架、状态空间、逻辑模式、脚本、过程、面向对象等。基于规则的产生式系统是目前实现知识运用最基本的方法。产生式系统由综合数据库、知识库和推理机3个主要部分组成,综合数据库包含求解问题的世界范围内的事实和断言。知识库包含所有用“如果:〈前提〉,于是:〈结果〉”形式表达的知识规则。推理机(又称规则解释器)的任务是运用控制策略找到可以应用的规则。
知识库
知识库用来存放专家提供的知识。专家系统的问题求解过程是通过知识库中的知识来模拟专家的思维方式的,因此,知识库是专家系统质量是否优越的关键所在,即知识库中知识的质量和数量决定着专家系统的质量水平。一般来说,专家系统中的知识库与专家系统程序是相互独立的,用户可以通过改变、完善知识库中的知识内容来提高专家系统的性能。
人工智能中的知识表示形式有产生式、框架、语义网络等,而在专家系统中运用得较为普遍的知识是产生式规则。产生式规则以IF…THEN…的形式出现,就像BASIC等编程语言里的条件语句一样,IF后面跟的是条件(前件),THEN后面的是结论(后件),条件与结论均可以通过逻辑运算AND、OR、NOT进行复合。在这里,产生式规则的理解非常简单:如果前提条件得到满足,就产生相应的动作或结论。
推理机
推理机针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题求解结果。在这里,推理方式可以有正向和反向推理两种。
正向链的策略是寻找出前提可以同数据库中的事实或断言相匹配的那些规则,并运用冲突的消除策略,从这些都可满足的规则中挑选出一个执行,从而改变原来数据库的内容。这样反复地进行寻找,直到数据库的事实与目标一致即找到解答,或者到没有规则可以与之匹配时才停止。
逆向链的策略是从选定的目标出发,寻找执行后果可以达到目标的规则;如果这条规则的前提与数据库中的事实相匹配,问题就得到解决;否则把这条规则的前提作为新的子目标,并对新的子目标寻找可以运用的规则,执行逆向序列的前提,直到最后运用的规则的前提可以与数据库中的事实相匹配,或者直到没有规则再可以应用时,系统便以对话形式请求用户回答并输入必需的事实。
由此可见,推理机就如同专家解决问题的思维方式,知识库就是通过推理机来实现其价值的。
其他部分
人机界面是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、回答系统提出的相关问题,并输出推理结果及相关的解释等。
综合数据库专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。解释器能够根据用户的提问,对结论、求解过程做出说明,因而使专家系统更具有人情味。
知识获取是专家系统知识库是否优越的关键,也是专家系统设计的“瓶颈”问题,通过知识获取,可以扩充和修改知识库中的内容,也可以实现自动学习功能。
实现方式
早期的专家系统采用通用的程序设计语言(如fortran、pascal、basic等)和人工智能语言(如lisp、prolog、smalltalk等),通过人工智能专家与领域专家的合作,直接编程来实现的。其研制周期长,难度大,但灵活实用,至今尚为人工智能专家所使用。大部分专家系统研制工作已采用专家系统开发环境或专家系统开发工具来实现,领域专家可以选用合适的工具开发自己的专家系统,大大缩短了专家系统的研制周期,从而为专家系统在各领域的广泛应用提供条件。
工作过程
专家系统的基本结构如图所示,其中箭头方向为数据流动的方向。
专家系统结构图
专家系统的基本工作流程是,用户通过人机界面回答系统的提问,推理机将用户输入的信息与知识库中各个规则的条件进行匹配,并把被匹配规则的结论存放到综合数据库中。最后,专家系统将得出最终结论呈现给用户。
在这里,专家系统还可以通过解释器向用户解释以下问题:系统为什么要向用户提出该问题(Why)?计算机是如何得出最终结论的(How)?
领域专家或知识工程师通过专门的软件工具,或编程实现专家系统中知识的获取,不断地充实和完善知识库中的知识。
主要开发工具:GensymG2,CLIPS,Prolog,Jess,MQL4。
性能
功能
根据定义,专家系统应具备以下几个功能:
⑴存储问题求解所需的知识。
⑵存储具体问题求解的初始数据和推理过程中涉及的各种信息,如中间结果、目标、字母表以及假设等。
⑶根据当前输入的数据,利用已有的知识,按照一定的推理策略,去解决当前问题,并能控制和协调整个系统。
⑷能够对推理过程、结论或系统自身行为作出必要的解释,如解题步骤、处理策略、选择处理方法的理由、系统求解某种问题的能力、系统如何组织和管理其自身知识等。这样既便于用户的理解和接受,同时也便于系统的维护。
⑸提供知识获取,机器学习以及知识库的修改、扩充和完善等维护手段。只有这样才能更有效地提高系统的问题求解能力及准确性。
⑹提供一种用户接口,既便于用户使用,又便于分析和理解用户的各种要求和请求。
这里强调指出,存放知识和运用知识进行问题求解是专家系统的两个最基本的功能。
特点
专家系统是一个基于知识的系统,它利用人类专家提供的专门知识,模拟人类专家的思维过程,解决对人类专家都相当困难的问题。一般来说,一个高性能的专家系统应具备如下特征:
⑴启发性。不仅能使用逻辑知识,也能使用启发性知识,它运用规范的专门知识和直觉的评判知识进行判断、推理和联想,实现问题求解。
⑵透明性。它使用户在对专家系统结构不了解的情况下,可以进行相互交往,并了解知识的内容和推理思路,系统还能回答用户的一些有关系统自身行为的问题。
⑶灵活性。专家系统的知识与推理机构的分离,使系统不断接纳新的知识,从而确保系统内知识不断增长以满足商业和研究的需要。
分类
⑴按知识表示技术可分为:基于逻辑的专家系统、基于规则的专家系统、基于语义网络的专家系统和基于框架的专家系统。
⑵按任务类型可分为:
解释型:可用于分析符号数据,进行阐述这些数据的实际意义。
预测型:根据对象的过去和现在情况来推断对象的未来演变结果。
诊断型:根据输入信息来找到对象的故障和缺陷。
调试型:给出自己确定的故障的排除方案。
维修型:指定并实施纠正某类故障的规划。
规划型:根据给定目标拟定行动计划。
设计型:根据给定要求形成所需方案和图样。
监护型:完成实时监测任务。
控制型:完成实施控制任务。
教育型:诊断型和调试型的组合,用于教学和培训。
应用
专家系统应用的领域
最初的专家系统乃人工智能之一个应用,但由于其重要性及相关应用系统之迅速发展,它已是信息系统的一种特定类型。专家系统一词系由“以知识为基础的专家系统(knowledge-basedexpertsystem)”而来,此种系统应用计算机中储存的人类知识,解决一般需要用到专家才能处理的问题,它能模仿人类专家解决特定问题时的推理过程,因而可供非专家们用来增进问题解决的能力,同时专家们也可把它视为具备专业知识的助理。由于在人类社会中,专家资源实相当稀少,有了专家系统,则可使此珍贵的专家知识获得普遍的应用。
近年来专家系统技术逐渐成熟,广泛应用在工程、科学、医药、军事、商业等方面,而且成果相当丰硕,甚至在某些应用领域,还超过人类专家的智能与判断。其功能应用领域概括有:
解释(Interpretation)-如测试肺部测试(如PUFF)。
预测(Prediction)-如预测可能由黑蛾所造成的玉米损失(如PLAN)。
诊断(Diagnosis)-如诊断血液中细菌的感染(MYCIN)。又如诊断汽车柴油引擎故障原因之CATS系统。
故障排除(FaultIsolation)-如电话故障排除系统ACE。
设计(Design)-如专门设计小型马达弹簧与碳刷之专家系统MOTORBRUSHDESIGNER。
规划(Planning)-就出名的有辅助规划IBM计算机主架构之布置,重安装与重安排之专家系统CSS,以及辅助财物管理之PlanPower专家系统。
监督(Monitoring)-如监督IBMMVS操作系统之YES/MVS。
除错(Debugging)-如侦查学生减法算术错误原因之BUGGY。
修理(Repair)-如修理原油储油槽之专家系统SECOFOR。
行程安排(Scheduling)-如制造与运输行称安排之专家系统ISA。又如工作站(workshop)制造步骤安排系统。
教学(Instruction)-如教导使用者学习操作系统之TVC专家系统。
控制(Control)-帮助DigitalCorporation计算机制造及分配之控制系统PTRANS。
分析(Analysis)-如分析油井储存量之专家系统DIPMETER及分析有机分子可能结构之DENDRAL系统。它是最早的专家系统,也是最成功者之一。
维护(Maintenance)-如分析电话交换机故障原因之后,及能建议人类该如何维修之专家系统COMPASS。
架构设计(Configuration)-如设计VAX计算机架构之专家系统XCON以及设计新电梯架构之专家系统VT等。
校准(Targeting)-例如校准武器如何工作
实例
这里,我们以一个简单的“动物识别专家系统”为例,初步认识专家系统的工作机制及系统特点。该系统的知识库是一个产生式规则的集合,图2显示了其中的2条规则。从原则上来讲,规则之间相互独立,任何两条规则的“前件”一般都不能重复,也不具有包含关系。小型专家系统的规则可以是几条几十条,大型专家系统的规则可达上千条,像这个动物专家系统知识库的规则就只有六条。
趋势预测
现阶段国内外专家系统应用停留在相对狭义的以规则推理为基础的阶段,应用也更多针对的是实验室研究以及一些轻量级应用,远不能满足大型商业应用的需求,实现对实时智能推理以及大数据处理的需求。
专家系统的发展下一步的将以模型推理为主,以规则推理为辅,并切合商业应用需求,满足对实时以及大数据量处理的需求。
同时专家系统将朝更为专业化方向发展,针对具体方向性的需求提供针对性模型与产品,如基于因果有向图CDG的故障诊断模型,流程处理模型等。
《人工智能导论》 第7章 专家系统
专家系统专家系统的产生与发展第一阶段:初创期(20世纪60年代中期-20世纪70年代初)DENDRAL系统(1968年,斯坦福大学费根鲍姆等人)——推断化学分子结构的专家系统MYCSYMA系统(1971年,麻省理工学院)——用于数学运算的数学专家系统特点高度的专业化。专门问题求解能力强。结构、功能不完整。移植性差。缺乏解释功能。第二阶段:成熟期(20世纪70年代中期-20世纪80年代初)MYCIN系统(斯坦福大学)——血液感染病诊断专家系统PROSPECTOR系统(斯坦福研究所)——探矿专家系统CASNET系统(拉特格尔大学):用于青光眼诊断与治疗。AM系统(1981年,斯坦福大学):模拟人类进行概括、抽象和归纳推理,发现某些数论的概念和定理。HEARSAY系统(卡内基-梅隆大学)——语音识别专家系统特点单学科专业型专家系统。系统结构完整,功能较全面,移植性好。具有推理解释功能,透明性好。采用启发式推理、不精确推理。用产生式规则、框架、语义网络表达知识。用限定性英语进行人-机交互。第三阶段:发展期(20世纪80年代至今)专家系统XCON(DEC公司、卡内基-梅隆大学):为VAX计算机系统制订硬件配置方案。专家系统开发工具:骨架系统:EMYCIN、KAS、EXPERT等。通用型知识表达语言:OPS5等。专家系统开发环境:AGE等。我国研制开发的专家系统:施肥专家系统(中国科学院合肥智能机械研究所)新构造找水专家系统(南京大学)勘探专家系统及油气资源评价专家系统(吉林大学)服装剪裁专家系统及花布图案设计专家系统(浙江大学)关幼波肝病诊断专家系统(北京中医学院)专家系统的概念专家系统的定义专家系统是一种智能的计算机程序,它运用知识和推理来解决只有专家才能解决的复杂问题。是一类包含知识和推理的智能计算机程序。
专家系统的特点具有专家水平的专业知识。能进行有效的推理。启发性。灵活性。透明性。交互性。专家系统与传统程序的比较:
编程思想:传统程序=数据结构+算法;专家系统=知识+推理。
传统程序:关于问题求解的知识隐含于程序中。
专家系统:知识单独组成知识库,与推理机分离。
处理对象:传统程序:数值计算和数据处理;专家系统:符号处理。
传统程序:不具有解释功能。
专家系统:具有解释功能。
传统程序:产生正确的答案。
专家系统:通常产生正确的答案,有时产生错误的答案。
系统的体系结构不同。
专家系统的类型解释:根据感知数据推理情况描述诊断:根据观察结果推理系统是否有保障预测:指导给定情况可能产生的后果设计:根据给定的要求进行相应的设计规划:设计动作控制:控制整个系统的行为监督:比较观察结果和期望结果修理:执行计划来实现规定的补救措施教学:诊断、调整、修改学生行为调试:建议故障的补救措施专家系统的工作原理专家系统的一般结构知识库知识库(KnowledgeBase)主要用来存放领域专家提供的有关问题求解的专门知识。知识库中的知识来源于知识获取机构,同时它又为推理机提供求解问题所需的知识。
知识表示方法的选择:要建立知识库,首先要选择合适的知识表达方法。常用一阶谓词逻辑、产生式、框架、模糊逻辑、状态空间、遗传编码、神经网络等知识表示方法。选择需要考虑四方面:能充分表示领域知识能充分有效地进行推理便于对知识的组织维护和管理便于理解与实现知识库的管理:知识库管理系统负责对知识库中的知识进行组织、检索、维护等。专家系统中任何其他部分要与知识库发生联系,都必须通过该管理系统来完成。这样可实现对知识库的统一管理和使用。推理机推理机(ReasoningMachine)的功能是模拟领域专家的思维过程,控制并执行对问题的求解。它能根据当前已知的事实,利用知识库中的知识,按一定的推理方法和控制策略进行推理,直到得出相应的结论为止。推理机包括:
推理方法:确定性推理和不确定性推理控制策略:主要指推理方法的控制及推理规则的选择策略,推理包括正向推理、反向推理和正反向混合推理。推理策略一般还与搜索策略有关。推理机的性能与构造一般与知识的表示方法有关,但与知识的内容无关,这有利于保证推理机与知识库的独立性,提高专家系统的灵活性。
综合数据库综合数据库(GlobalDatabase)又称动态数据库或黑板,主要用于存放初始事实、问题描述及系统运行过程中得到的中间结果、最终结果等信息。
记录了推理过程中的各种有关信息为解释机构提供了回答用户咨询的依据。综合数据库中还必须具有相应的数据库管理系统,负责对数据库中的知识进行检索、维护等。从计算机技术角度,知识库和综合数据库都是数据库。它们所不同的是:
知识库的内容在专家系统运行过程中是不改变的,只有知识工程师通过人机接口进行管理。综合数据库在专家系统运行过程中是动态变化的,不仅可以由用户输入数据,推理的中间结果的存入也会改变其内容。数据获取机构知识获取(KnowledgeAcquisition)是建造和设计专家系统的关键,也是目前建造专家系统的“瓶颈”。知识获取的基本任务是为专家系统获取知识,建立起健全、完善、有效的知识库,以满足求解领域问题的需要。
知识工程师负责从领域专家那里抽取知识,并用适合的方法把知识表达出来。知识获取机构把知识转换为计算机可存储的内部形式,然后把它们存入知识库。在存储过程中,要对知识进行一致性、完整性的检测。人机接口人机接口(Interface)是专家系统与领域专家、知识工程师、一般用户之间进行交互的界面,由一组程序及相应的硬件组成,用于完成输入输出工作。
知识获取机构通过人机接口与领域专家及知识工程师进行交互,更新、完善、扩充知识库。推理机通过人机接口与用户交互。在推理过程中,专家系统根据需要不断向用户提问,以得到相应的事实数据。在推理结束时会通过人机接口向用户显示结果。解释机构通过人机接口与用户交互,向用户解释推理过程,回答用户问题。解释机构解释机构(Explanator)回答用户提出的问题,解释系统的推理过程。它跟踪并记录推理过程,当用户提出的询问需要给出解释时,它将根据问题的要求分别作相应的处理,最后把解答用约定的形式通过人机接口输出给用户。
知识获取的主要过程与模式知识获取的过程抽取知识:把蕴涵于知识源中的知识经识别、理解、筛选、归纳等抽取出来,以便用于建立知识库。知识的转换:把知识由一种形式变换为另一种表示形式。知识的输入:把某模式表示的知识经编辑、编译送入知识库知识的检测:纠错知识获取的模式非自动知识获取:
自动知识获取:
半自动知识获取:自动知识获取是一种理想的知识获取方式,涉及人工智能的多个领域,尚处在研究阶段。例如模式识别、自然语言理解、机器学习等,对硬件亦有较高的要求。
知识发现与数据挖掘知识发现与数据挖掘的概念知识发现的全称是从数据库中发现知识(KnowledgeDiscoveringfromDatabase,KDD)。数据挖掘(DataMining,DM)是从数据库中挖掘知识。KDD和DM的本质含义是一样的,只是知识发现的概念主要流行于人工智能和机器学习领域,而数据挖掘的概念则主要流行于统计、数据分析、数据库和管理信息系统领域。所以,现在有关文献中一般都把二者同时列出。知识发现和数据挖掘的目的就是从数据集中抽取和精化一般规律或模式。其涉及的数据形态包括数值、文字、符号、图形、图像、声音,甚至视频和Web网页等等。
知识发现的一般过程数据准备数据选取:确定目标数据,即操作对象,它是根据用户的需要从原始数据库中抽取的一组数据。数据预处理:一般可能包括消除噪声、推导计算缺值数据、消除重复记录、完成数据类型转换等。数据变换:消减数据维数,即从初始特征中找出真正有用的特征以减少数据开采时要考虑的特征或变量个数。数据挖掘确定挖掘的任务或目的是什么,如数据总结、分类、聚类、关联规则或序列模式等。决定使用什么样的挖掘算法。同样的任务可以用不同的算法来实现,选择实现算法有两个考虑因素:一是不同的数据有不同的特点,因此需要用与之相关的算法来挖掘;二是用户或实际运行系统的要求,有的用户可能希望获取描述型的、容易理解的知识,而有的用户系统的目的是获取预测准确度尽可能高的预测型知识。结果的解释评估数据挖掘阶段发现的知识模式中可能存在冗余或无关的模式,所以还要经过用户或机器的评价。若发现所得模式不满足用户要求,则需要退回到发现阶段之前,如重新选取数据,采用新的数据变换方法,设定新的数据挖掘参数值,甚至换一种挖掘算法。由于KDD最终是面向人的,因此可能要对发现的模式进行可视化,或者把结果转换为用户易懂的另一种表示,如把分类决策树转换为“if—then”规则。知识发现的任务数据总结:对数据进行浓缩,给出它的紧凑描述。概念描述:从学习任务相关的数据中提取总体特征。分类:提出一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中的一个。聚类:根据数据的不同特征,将其划分为不同的类。包括统计方法、机器学习方法、神经网络方法和面向数据库的聚类方法等。相关性分析:发现特征之间或数据之间的相互依赖关系。偏差分析:寻找观察结果与参照量之间的有意义的差别。建模:通过数据挖掘,构造出能描述一种活动、状态或现象的数学模型。知识发现的方法统计方法:从事物的外在数量上的表现去推断事物可能的规律性。常见的有回归分析、判别分析、聚类分析以及探索分析等。粗糙集:粗糙集是具有三值隶属函数的模糊集,即是、不是、也许。常与规则归纳、分类和聚类方法结合起来使用。可视化:把数据、信息和知识转化为图形等,使抽象的数据信息形象化。信息可视化也是知识发现的一个有用的手段。传统机器学习方法:包括符号学习和连接学习。知识发现的对象数据库:当前研究比较多的是关系数据库的知识发现。
数据仓库:数据挖掘为数据仓库提供深层次数据分析的手段,数据仓库为数据挖掘提供经过良好预处理的数据源。数据仓库有四个基本特征:
数据仓库的数据是面向主题的。数据仓库的数据是集成的。数据仓库的数据是稳定的。数据仓库的数据是随时间不断变化的。Web信息:Web知识发现主要分内容发现和结构发现。内容发现是指从Web文档的内容中提取知识;结构发现是指从Web文档的结构信息中推导知识。
图像和视频数据:图像和视频数据中也存在有用的信息。比如,地球资源卫星每天都要拍摄大量的图像或录像。
专家系统的建立问题识别阶段
在问题识别阶段,知识工程师和专家将确定问题的主要特点:
确定人员和任务,选定包括领域专家和知识工程师在内的参加人员,并明确各自的任务。问题识别,描述问题的特征及相应的知识结构,明确问题的类型和范围。确定资源,确定知识源、时间、计算设备以及经费等资源。确定目标,确定问题求解的目标。概念化阶段
概念化阶段的主要任务是揭示描述问题所需要的关键概念、关系和控制机制,子任务、策略和有关问题求解的约束。这个阶段需要考虑的问题有:
什么类型的数据有用,数据之间的关系如何?问题求解时包括哪些过程,这些过程有哪些约束?③如何将问题划分为子问题?信息流是什么?哪些信息是由用户提供的,哪些信息是需要导出的?问题求解的策略是什么?形式化阶段
在形式化过程中,三个主要的因素是假设空间、基本的过程模型和数据的特征。需要考虑以下问题:
把概念描述成结构化的对象,还是处理成基本的实体?
概念之间的因果关系或时空关系是否重要,是否应当显式地表示出来?
假设空间是否有限?
假设空间是由预先确定的类型组成的,还是由某种过程生成的?
是否应考虑假设的层次性?
是否有与最终假设相关的不确定性或其他的判定性因素?
是否考虑不同的抽象级别?
找到可以用于产生解答的基本过程模型是形式化知识的重要一步。过程模型包括行为和数学的模型。如果专家使用一个简单的行为模型,对它进行分析就能产生很多重要的概念和关系。数学模型可以提供附加的问题求解信息,或用于检查知识库中因果关系的一致性。在形式化知识中应当考虑下述问题:
数据是不足的、充足的还是冗余的?数据是否有不定性?对数据的解释是否依赖于出现的次序?获取数据的代价是多少?数据是如何得到的?数据的可靠性和精确性如何?数据是一致的和完整的吗?实现阶段
在形式化阶段,已经确定了知识表示形式和问题的求解策略,也选定了构造工具或系统框架。在实现阶段,要把前一阶段的形式化知识变成计算机软件,即要实现知识库、推理机、人机接口和解释系统。
在建立专家系统的过程中,原型系统的开发是极其重要的步骤之一。对于选定的表达方式,任何有用的知识工程辅助手段(如编辑、智能编辑或获取程序)都可以用来完成原型系统知识库。另外,推理机应能模拟领域专家求解问题的思维过程和控制策略。
测试阶段
这一阶段的主要任务是通过运行实例评价原型系统以及用于实现它的表达形式,从而发现知识库和推理机的缺陷。通常导致性能不佳的因素有如下三种:
输入输出特性,即数据获取与结论表示方法存在缺陷。
推理规则有错误、不一致或不完备。
控制策略有问题,不是按专家采用的“自然顺序”解决问题。
专家系统必须先在实验室环境下进行精化和测试,然后才能够进行实地领域测试。在测试过程中,实例的选择应照顾到各个方面,要有较宽的覆盖面,即要涉及典型的情况,也要涉及边缘的情况。测试的主要内容有:
可靠性。知识的一致性。运行效率。解释能力。对解释能力的检测主要从两个方面进行:一是检测它能回答哪些问题,是否达到了要求;二是检测回答问题的质量,即是否有说服力。人机交互的便利性。对人机接口的测试主要由最终用户来进行。根据测试的结果,应对原型系统进行修改。测试和修改过程应反复进行,直到系统达到满意的性能为止。
人工智能——专家系统从诞生到发展
文/陈根
自从1965 年世界上第一个专家系统 DENDRAL问世以来,专家系统的技术和应用,就在短短的30 年间获得了长足的进步和发展。尤其是在80年代中期以后,随着知识工程技术的日渐丰富和成熟,各种各样的实用专家系统推动着人工智能日益精进。
专家是指在学术、技艺等方面有专门技能或专业知识全面的人;特别精通某一学科或某项技艺的有较高造诣的专业人士。通常来说,专家拥有丰富的专业知识和实践经验,或者说专家们拥有丰富的理论知识和经验知识。专家还应该具有独特的思维方式,即独特的分析问题和解决问题的方法和策略。
专家系统,就是从“专家”而来,专家系统(ExpertSystem)也称专家咨询系统,是一种智能计算机(软件)系统。顾名思义,专家系统就是能像人类专家一样解决困难、复杂的实际问题的计算机(软件)系统。可以说,专家系统是一类特殊的知识系统。
作为基于知识的系统,建造专家系统就需要知识获取,即从人类专家那里或从实际问题那里搜集、整理、归纳专家级知识;知识表示,即以某种结构形式表达所获取的知识,并将其存储于计算机之中;知识的组织与管理,即知识库;建立与维护等和知识的利用,即使用知识进行推理等一系列关于知识处理的技术和方法。
DENDRAL作为世界第一个专家系统,由美国斯坦福大学的费根鲍姆教授于 1965年开发的。DENDRAL是一个化学专家系统,能根据化合物的分子式和质谱数据推断化合物的分子结构。
20世纪 70 年代,专家系统趋于成熟,专家系统的观点也开始广泛的被人们接受。70年代中期先后出现了一批卓有成效的专家系统,在医疗领域尤为突出。MYCIN就是其中最具代表性的专家系统。
MYCIN 系统是由EdwardH.Shortliffe等人于1972 年开始研制的用于诊断和治疗感染性疾病的医疗专家系统,其不仅能对传染性疾病作出专家水平的诊断和治疗选择,而且便于使用、理解、修改和扩充。此外,它可以使用自然语言同用户对话,并回答用户提出的问题,还可以在专家的指导下学习新的医疗知识。
MYCIN 第一次使用了知识库的概念,并使用了似然推理技术。可以说,MYCIN 是一个对专家系统的理论和实践都有较大贡献的专家系统,后来的许多专家系统都是在 MYCIN 的基础上研制的。
进入20世纪80年代,随着专家系统技术的逐渐成熟,其应用领域迅速扩大。20世纪70年代中期以前,专家系统多属于数据解释型(DENDRAL、PROSPECTOR、 HEARSAY 等)和故障诊断型( MYCIN、CASNET、INTERNIST 等)。它们所处理的问题基本上是可分解的问题。
20世纪70年代后期,专家系统开始出现其他的类型,包括超大规模集成电路设计系统KBVLSI、自动程序设计系统 PSI 等设计型专家系统;遗传学实验设计系统MOLGEN、安排机器人行动步骤的NOAH等规划型专家系统;感染病诊断治疗教学系统 GUIDON、蒸气动力设备操作教学系统 STEAMER 等教育型专家系统;军事冲突预测系统 IW 和暴雨预报系统 STEAMER 等预测型专家系统。
与此同时,这一时期专家系统在理论和方法上也进行了较深入的探讨。适于专家系统开发的程序语言和高级工具也相继问世。尤其是专家系统工具的出现又大大加快了专家系统的开发速度,进一步普及了专家系统的应用。
20世纪80年代,专家系统在生产制造领域中的应用已非常广泛,比如CAD/CAM和工程设计、机器故障诊断及维护、生产过程控制、调度和生产管理等。这些应用在提高产品质量和产生巨大经济效益方面带来了巨大成效,从而极大地推动了生产力的发展。
人工智能 7专家系统
7.1 专家系统的产生和发展 7.2 专家系统的概念 7.3 专家系统的工作原理7.4 知识获取的主要过程与模式7.5 机器学习7.6 知识发现与数据挖掘7.7 专家系统的建立7.8 专家系统实例7.9 专家系统的开发工具
特点:高度的专业化。 专门问题求解能力强。 结构、功能不完整。 移植性差。 缺乏解释功能。
专家系统的定义:
1、具有专家水平的专业知识。2、能进行有效的推理。 3、启发性。4、灵活性。5、透明性。6、交互性。
专家系统与传统程序的比较:
1、编程思想
传统程序=数据结构+算法
专家系统=知识+推理
2、传统程序关于问题求解的知识隐含于程序中。
专家系统知识单独组成知识库,与推理机分离。
3、处理对象
传统程序数值计算和数据处理。
专家系统符号处理。
4、传统程序不具有解释功能。
专家系统具有解释功能。
5、传统程序产生正确的答案。
专家系统通常产生正确的答案,有时产生错误的答案。
6、系统的体系结构不同。
工作原理抽取知识、知识的转换、知识的输入、知识的检测。
知识获取的模式:非自动知识获取、自动知识获取、半自动知识获取。
机器学习机器学习Machinelearning、使计算机能模拟人的学习行为,自动地通过学习来获取知识和技能,不断改善性能,实现自我完善。
一个学习系统一般应该有环境、学习、知识库、执行与评价(à学习)等四个基本部分组成。
“示例空间”是所有可对系统进行训练的示例集合。
“搜索”的作用是从示例空间中查找所需的示例。
“解释”是从搜索到的示例中抽象出所需的有关信息形成知识。
“形成知识”是把解释得到的信息综合、归纳形成一般性的知识。
“验证”的作用是检验所形成的知识的正确性。
知识发现与数据挖掘31 知识发现和数据挖掘的目的:从数据集中抽取和精化一般规律或模式。
知识发现过程分为数据准备、数据挖掘以及结果的解释评估等三步。
数据准备数据选、数据预处理和数据变换。数据选取就是根据用户的需要从原始数据库中抽取的一组数据。
数据预处理一般可能包括消除噪声、推导计算缺值数据、消除重复记录、完成数据类型转换等。
数据变换是从初始特征中找出真正有用的特征以减少数据开采时要考虑的特征或变量个数
数据挖掘数据挖掘阶段首先要确定挖掘的任务或目的是什么,如数据总结、分类、聚类、关联规则或序列模式等。
确定了挖掘任务后,就要决定使用什么样的挖掘算法。同样的任务可以用不同的算法来实现。
选择实现算法有两个考虑因素:
一是不同的数据有不同的特点,因此需要用与之相关的算法来挖掘
二是用户或实际运行系统的要求,有的用户可能希望获取描述型的、容易理解的知识,而有的用户系统的目的是获取预测准确度尽可能高的预测型知识。
结果解释和评价数据挖掘阶段发现的知识模式中可能存在冗余或无关的模式,所以还要经过用户或机器的评价。
若发现所得模式不满足用户要求,则需要退回到发现阶段之前,如重新选取数据,采用新的数据变换方法,设定新的数据挖掘参数值,甚至换一种挖掘算法。
由于KDD最终是面向人的,因此可能要对发现的模式进行可视化,或者把结果转换为用户易懂的另一种表示,如把分类决策树转换为“if-then…”规则。
知识发现的任务:
数据总结:对数据进行浓缩,给出它的紧凑描述。
概念描述:从学习任务相关的数据中提取总体特征。
分类:提出一个分类函数或分类模型也常常称作分类器,该模型能把数据库中的数据项映射到给定类别中的一个。
聚类:根据数据的不同特征,将其划分为不同的类。包括统计方法、机器学习方法、神经网络方法和面向数据库的聚类方法等。(聚类-无监督学习)
相关性分析:发现特征之间或数据之间的相互依赖关系。
偏差分析:寻找观察结果与参照量之间的有意义的差别。
建模:通过数据挖掘,构造出能描述一种活动、状态或现象的数学模型。
知识发现的主要方法:1.统计方法:从事物的外在数量上的表现去推断事物可能的规律性。常见的有回归分析、判别分析、聚类分析以及探索分析等。2.粗糙集:粗糙集是具有三值隶属函数的模糊集,即是、不是、也许。常与规则归纳、分类和聚类方法结合起来使用。3.可视化:把数据、信息和知识转化为图形等,使抽象的数据信息形象化。信息可视化也是知识发现的一个有用的手段。4.传统机器学习方法:包括符号学习和连接学习。
知识发现的对象1.数据库当前研究比较多的是关系数据库的知识发现。2.数据仓库数据挖掘为数据仓库提供深层次数据分析的手段,数据仓库为数据挖掘提供经过良好预处理的数据源。3.Web信息Web知识发现主要分内容发现和结构发现。内容发现是指从Web文档的内容中提取知识;结构发现是指从Web文档的结构信息中推导知识。4.图像和视频数据图像和视频数据中也存在有用的信息。比如,地球资源卫星每天都要拍摄大量的图像或录像。
专家系统的建立什么情况下开发专家系统是可能的
1,主要依靠经验性知识,不需运用大量常识性知识就可解决的任务。2,存在真正的领域专家。3,有明确的开发目标且任务不太难实现。
什么情况下开发专家系统是合理的
1,具有较高的经济效益。 2,人类专家奇缺但在许多地方又十分需要。3,人类专家经验不断丢失。 4,危险场合需要专业知识。
什么情况下开发专家系统是合适的
1,本质问题能通过符号操作和符号结构进行求解且需使用启发式知识、经验规则才能得到答案。 2,复杂性。 3,范围所选任务的大小可驾驭、任务有实用价值。
专家系统的设计原则与开发步骤
专家系统的评价
1. 正确性 1,系统设计的正确性: 系统设计思想的正确性。 系统设计方法的正确性。 设计开发工具的正确性。 2,系统测试的正确性: 测试目的、方法、条件的正确性。 测试结果、数据、记录的正确性。3系统运行的正确性 推理结论、求解结果、咨询建议的正确性。 推理解释及可信度估算的正确性。 知识库知识的正确性。
2. 有用性
专家系统实例
专家系统的开发工具骨架型工具
骨架型工具是从被实践证明了有实用价值的专家系统中,抽出了实际领域的知识背景,并保留了系统中推理机的结构所形成的一类工具。EMYCIN、EXPERT和PC等均属于此类型。EMYCIN疾病诊断专家系统MYCIN的基础上,抽去了医疗专业知识,修改了不精确推理,增强了知识获取和推理解释功能之后构造而成的世上最早的专家系统工具之一。EXPERT是从石油勘探和计算机故障诊断专家系统中抽象并构造出来的,适用于开发诊断解释型专家系统。
通用型知识表达语言OPS5
专家系统开发环境:AGEattempttogeneralize)一种典型的模块组合式开发工具。
专家系统程序设计语言
符号处理语言(面向AI的语言或AI语言PROLOG语言LISP语言
2. 面向问题的语言C语言、C++语言。
专家系统
专家系统(ES)是人工智能最活跃和最广泛的领域之一。专家系统定义为:使用人类专家推理的计算机模型来处理现实世界中需要专家作出解释的复杂问题,并得出与专家相同的结论。简言之,如图1所示,专家系统可视作“知识库(knowledgebase)”和“推理机(inferencemachine)”的结合。
图1专家系统结构
知识库系统的主要工作是搜集人类的知识,将之有系统地表达或模块化,使计算机可以进行推论、解决问题。知识库中包含两种型态:一是知识本身,即对物质及概念作实体的分析,并确认彼此之间的关系;二是人类专家所特有的经验法则、判断力与直觉。知识库与传统数据库在信息的组织、并入、执行等步骤与方法均有所不同,概括来说,知识库所包含的是可做决策的知识,而传统数据库的内容则是未经处理过的数据,必须经由检索、解释等过程才能实际被应用。
推理机的是由算法或决策策略来进行与知识库内各项专门知识的推论,依据使用者的问题来推得正确的答案。推理机的问题解决算法可以区分为3个层次:①一般途径:利用任意检索(BlindSearch)随意寻找可能的答案,或利用启发式检索(HeuristicSearch)尝试寻找最有可能的答案;②控制策略:有前推式(ForwardChaining)、回溯式(BackwardChaining)及双向式(Bi-directional)三种。前推式是从已知的条件中寻找答案,利用数据逐步推出结论;回溯式则先设定目标,再证目标成立;③额外的思考技巧:用来处理知识库内数个概念间的不确定性,一般使用模糊逻辑(FuzzyLogic)来进行演算。推理机会根据知识库、使用者的问题及问题的复杂度来决定适用推论层次。
常用的专家系统一般可以分为5类,分别是:①基于规则的专家系统:利用一系列规则来表示专家知识;②基于框架的专家系统:这是对基于规则专家系统的自然推广,利用面向对象的编程思想来描述数据结构;③基于案例的专家系统:采用以前的案例求解当前问题的技术;④基于模型的专家系统:通过模型清晰定义、设计原理概念和标准化知识库;⑤基于网络的专家系统:将人机交互定位在网络(Internet)层次。
[描述来源:ZhangYudong,WuLenan,&WangShuihua.(2010).Surveyondevelopmentofexpertsystem.ComputerEngineeringandApplications,46(19),43-47.
URL:http://oversea.cnki.net/kcms/detail/detail.aspx?recid=&FileName=JSGG201019013&DbName=CJFD2010&DbCode=CJFD]
发展历史作为人工智能的一个重要分支,专家系统按其发展过程大致可分为三个阶段:即初创期(1971年前)、成熟期(1972-1977年)和发展期(1978年至今)。
①初创期:1965年在美国国家航空航天局要求下,斯坦福大学成功研制了DENRAL专家系统,该系统具有非常丰富的化学知识,可根据质谱数据帮助化学家推断分子结构。这个系统的完成标志着专家系统的诞生。在此之后,麻省理工学院开始研制MACSYMA系统,现经过不断扩充,它能求解600多种数学问题。
②成熟期:到20世纪70年代中期,专家系统已逐步成熟起来,其观点逐渐被人们接受,并先后出现了一批卓有成效的专家系统。其中,最具代表性的是肖特立夫等人的MYCIN系统,该系统用于诊断和治疗血液感染及脑炎感染,可给出处方建议。另一个非常成功的专家系统是PROSPCTOR系统,它用于辅助地质学家探测矿藏,是第一个取得明显经济效益的专家系统。
③发展期:20世纪80年代中期以后,专家系统发展在应用上最明显的特点是出现了大量的投入商业化运行的系统,并为各行业产生了显著的经济效益。其中一个著名的例子是DEC公司与卡内基梅隆大学合作开发的XCON-R1专家系统,它每年为DEC公司节省数百万美元。从20世纪80年代后期开始,一方面随着面向对象、神经网络和模糊技术等新技术的迅速崛起,为专家系统注入了新的活力;另一方面计算机的运用也越来越普及,而且对智能化的要求也越来越高。由于这些技术发展的成,并成功运用到专家系统之中,使得专家系统得到更广泛的运用。
自从1965年第一个专家系统Dendral在美国斯坦福大学问世以来,经过50年的开发,各种专家系统已遍布各个专业领域,涉及到工业、农业、军事以及国民经济的各个部门乃至社会生活的许多方面。
主要事件年份事件相关论文19651965年斯坦福大学成功研制了DENRAL专家系统。这个系统的完成标志着专家系统的诞生。BuchananB.G.HeuristicDENDRAL.(1969).Aprogramforgeneratingexpiatorhypothesesinorganicchemistry:MachineIntelligence[C].Edinburgh:EdinburghUniversityPress,209-254.1971麻省理工学院开始研制MACSYMA系统,现经过不断扩充,它能求解600多种数学问题。Martin,W.A.,&Fateman,R.J.(1971,March).TheMACSYMAsystem.InProceedingsofthesecondACMsymposiumonSymbolicandalgebraicmanipulation(pp.59-75).ACM.1975肖特立夫等人的MYCIN系统,该系统用于诊断和治疗血液感染及脑炎感染,可给出处方建议Shortliffe,E.H.,Davis,R.,Axline,S.G.,Buchanan,B.G.,Green,C.C.,&Cohen,S.N.(1975).Computer-basedconsultationsinclinicaltherapeutics:explanationandruleacquisitioncapabilitiesoftheMYCINsystem.Computersandbiomedicalresearch,8(4),303-320.1979PROSPCTOR专家系统用于辅助地质学家探测矿藏,是第一个取得明显经济效益的专家系统Duda,R.,Gaschnig,J.,&Hart,P.(1979).ModeldesigninthePROSPECTORconsultantsystemformineralexploration.Expertsystemsinthemicroelectronicage,1234,153-167.1993DEC公司与卡内基梅隆大学合作开发的XCON-R1专家系统,它每年为DEC公司节省数百万美元。Moynihan,G.P.(1993).Applicationofexpertsystemstoengineeringdesign.Concurrentengineering:contemporaryissuesandmoderndesigntools,375-385.发展分析瓶颈尽管专家系统已经在各个领域得到了广泛地应用,并收到良好的效果,但它们解决问题的范围常常受到限制,主要是因为:①知识不足;②解决问题的方法不妥。目前,大部分的专家系统都是针对某一特定领域建立的,一旦越出这一特定领域,系统就有可能无法再有效地运行
未来发展方向发展分布式和协同式多专家系统就是一个解决上述一般专家系统局限性的重要途径:①分布式专家系统把一个专家系统的功能分解到多个处理器上并行工作,从而在总体上提高系统的处理效率;②协同式专家系统综合若干个子专家系统,互相协作共同解决一个问题。尽管分布式专家系统与协同式专家系统存在共性,例如都涉及到多个子系统,但是前者强调处理和知识的分布,后者强调子系统间的协同合作。分布式和协同式是未来专家系统的主流发展趋势,相信我们能在这一领域看到更多令人惊喜的应用。
Contributor:KeyuQi