专家系统

 专家系统Expert System)是一个具有智能特点的计算机程序,它的智能化主要表现为能够在特定的领域内模仿人专家思维来求解复杂问题。因此,专家系统必须包含领域专家的大量知识,拥有类似人类专家思维的推理能力,并能用这些知识来解决实际问题。例如,一个医学专家系统就能够像真正的专家一样,诊断病人的疾病,判别出病情的严重性,并给出相应的处方和治疗建议等。

      专家系统应用(Expert System Application)是针对实际领域,建造专家系统,用来辅助或代替领域专家解决实际问题。专家系统是人工智能的重要分支,它是人工智能学者从探讨一般思维规律方法走向以专门知识信息处理为中心的转折点。目前,专家系统的应用几乎渗透到各行各业。

1.什么是专家系统

(1)专家系统的概念

      所谓“专家”,一般都拥有某一特定领域的大量知识,以及丰富的经验。在解决问题时,专家们通常拥有一套独特的思维方式,能较圆满地解决一类困难问题,或向用户提出一些建设性的建议等。

      那么,什么是专家系统呢?简单地讲,专家系统就是一个具有智能特点的计算机程序,它的智能化主要表现为能够在特定的领域内模仿人类专家思维来求解复杂问题。因此,专家系统必须包含领域专家的大量知识,拥有类似人类专家思维的推理能力,并能用这些知识来解决实际问题。例如,一个医学专家系统就能够像真正的专家一样,诊断病人的疾病,判别出病情的严重性,并给出相应的处方和治疗建议等。

      目前,专家系统在各个领域中已经得到广泛应用,并取得了可喜的成果,例如个人理财专家系统、寻找油田的专家系统、贷款损失评估专家系统、各类教学专家系统等。


(2)专家系统的构造

      专家系统的基本结构如图1所示,其中箭头方向为数据流动的方向。专家系统通常由人机交互界面、知识库推理机、解释器、综合数据库、知识获取等6个部分构成。


      知识库用来存放专家提供的知识。专家系统的问题求解过程是通过知识库中的知识来模拟专家的思维方式的,因此,知识库是专家系统质量是否优越的关键所在,即知识库中知识的质量和数量决定着专家系统的质量水平。一般来说,专家系统中的知识库与专家系统程序是相互独立的,用户可以通过改变、完善知识库中的知识内容来提高专家系统的性能。

      人工智能中的知识表示形式有产生式、框架、语义网络等,而在专家系统中运用得较为普遍的知识是产生式规则。产生式规则以IF…THEN…的形式出现,就像BASIC等编程语言里的条件语句一样,IF后面跟的是条件(前件),THEN后面的是结论(后件),条件与结论均可以通过逻辑运算AND、OR、NOT进行复合。在这里,产生式规则的理解非常简单:如果前提条件得到满足,就产生相应的动作或结论。

     例如,在“动物识别”专家系统中有这样一条规则:

IF 能做单腿跳吗 = 否 AND

         在苏格兰吗 = 是 AND

         高度 = 大

THEN 动物 = 马

      在这条规则当中,IF后面的前件中包含三个条件,只有三个条件都得到了满足,才能得出该动物是“马”。反之就得不出这个结论。产生式专家系统的知识库中包含了大量的规则,换言之,这里的知识库就是一个规则集。

      推理机针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题求解结果。在这里,推理方式可以有正向和反向推理两种。正向推理是从前件匹配到结论,反向推理则先假设一个结论成立,看它的条件有没有得到满足。由此可见,推理机就如同专家解决问题的思维方式,知识库就是通过推理机来实现其价值的。

      人机界面是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、回答系统提出的相关问题,并输出推理结果及相关的解释等。

      综合数据库专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。解释器能够根据用户的提问,对结论、求解过程做出说明,因而使专家系统更具有人情味。

      知识获取是专家系统知识库是否优越的关键,也是专家系统设计的“瓶颈”问题,通过知识获取,可以扩充和修改知识库中的内容,也可以实现自动学习功能。

2、专家系统的特点

      (1)为解决特定领域的具体问题,除需要一些公共的常识,还需要大量与所研究领域问题密切相关的知识;
      (2)一般采用启发式的解题方法;
      (3)在解题过程中除了用演绎方法外,有时还要求助于归纳方法和抽象方法;
      (4)需处理问题的模糊性、不确定性和不完全性;
      (5)能对自身的工作过程进行推理(自推理或解释);
      (6)采用基于知识的问题求解方法;
      (7)知识库与推理机分离。

3、专家系统应用的领域  

      最初的专家系统乃人工智能之一个应用,但由于其重要性及相关应用系统之迅速发展,它已是信息系统的一种特定类型。专家系统一词系由’’以知识为基础的专家系统(knowledge-based expert system)’’而来,此种系统应用计算机中储存的人类知识,解决一般需要用到专家才能处理的问题,它能模仿人类专家解决特定问题时的推理过程,因而可供非专家们用来增进问题解决的能力,同时专家们也可把它视为具备专业知识的助理。由于在人类社会中,专家资源实相当稀少,有了专家系统,则可使此珍贵的专家知识获得普遍的应用。 

      近年来专家系统技术逐渐成熟,广泛应用在工程、科学、医药、军事、商业等方面,而且成果相当丰硕,甚至在某些应用领域,还超过人类专家的智能与判断。其功能应用领域概括有:

      解释(Interpretation)-如测试肺部测试(如PUFF)。
      预测(Prediction)-如预测可能由黑蛾所造成的玉米损失(如PLAN)。
      诊断(Diagnosis)-如诊断血液中细菌的感染(MYCIN)。又如诊断汽车柴油引擎故障原因之CATS系统。
      故障排除(Fault Isolation)-如电话故障排除系统ACE。
      设计(Design)-如专门设计小型马达弹簧与碳刷之专家系统MOTOR  BRUSH  DESIGNER。
      规划(Planning)-就出名的有辅助规划IBM计算机主架构之布置,重安装与重安排之专家系统CSS,以及辅助财物管理之PlanPower专家系统。
      监督(Monitoring)-如监督IBM MVS操作系统之YES/MVS。
      除错(Debugging)-如侦查学生减法算术错误原因之BUGGY。
      修理(Repair)-如修理原油储油槽之专家系统SECOFOR。
      行程安排(Scheduling)-如制造与运输行称安排之专家系统ISA。又如      工作站(work shop)制造步骤安排系统。
      教学(Instruction)-如教导使用者学习操作系统之TVC专家系统。
      控制(Control)-帮助Digital Corporation计算机制造及分配之控制系统PTRANS。
      分析(Analysis)-如分析油井储存量之专家系统DIPMETER及分析有机分子可能结构之DENDRAL系统。它是最早的专家系统,也是最成功者之一。
      维护(Maintenance)-如分析电话交换机故障原因之后,及能建议人类该如何维修之专家系统COMPASS。
      架构设计(Configuration)-如设计VAX计算机架构之专家系统XCON以及设计新电梯架构之专家系统VT等。
      校准(Targeting)-例如校准武器准心之专家系统BATTLE。


4.专家系统如何工作

(1)专家系统的工作过程

      专家系统的基本工作流程是,用户通过人机界面回答系统的提问,推理机将用户输入的信息与知识库中各个规则的条件进行匹配,并把被匹配规则的结论存放到综合数据库中。最后,专家系统将得出最终结论呈现给用户。

      在这里,专家系统还可以通过解释器向用户解释以下问题:系统为什么要向用户提出该问题(Why)?计算机是如何得出最终结论的(How)?

      领域专家或知识工程师通过专门的软件工具,或编程实现专家系统中知识的获取,不断地充实和完善知识库中的知识。

(2)专家系统实例

      这里,我们以一个简单的“动物识别专家系统”为例,初步认识专家系统的工作机制及系统特点。该系统的知识库是一个产生式规则的集合,图2显示了其中的2条规则。从原则上来讲,规则之间相互独立,任何两条规则的“前件”一般都不能重复,也不具有包含关系。小型专家系统的规则可以是几条几十条,大型专家系统的规则可达上千条,像这个动物专家系统知识库的规则就只有六条。该“动物识别专家系统”的6条规则也可以采用决策树方式来表示,如图3所示。




      运行动物专家系统时,系统将通过人机界面向用户提问,人机对话的一个界面如图4所示。用户选择答案做出相应的回答,然后按“确定”键,再回答下一个问题。

      专家系统具备“Why(为什么)”和“How(怎样)”的解释功能。图5就是计算机对“为什么会问‘能做单腿跳吗’”这个问题的回答,其解答是:系统为了匹配第一条规则,因此向用户提出该问题。

      同理,最后得出结论之后,用户还可以通过“How”来查看该结论是如何得出来的。计算机的回答也是对该结论的推理过程的重现。

(3)专家系统外壳

      在上面的例子中,我们使用了专家系统外壳InterModeller,这是一个适合中学人工智能教学与应用的简易型专家系统外壳,学习者可以通过它来建造各种主题的专家系统,同时,它还提供了各种知识表示方法之间的转换。该软件的详情请参见网站:http://www.parlog.com/intermodeller.html。

5、未来的专家系统  

      目前的专家系统发展确实存在着一些限制,在未来的年代中,许多今日专家系统缺失将会被改善,相信未来专家系统应该继续研究的项目有: 

      具有处理常识的能力;
      发展深层的推论系统;
      不同层次解释的能力;
      使专家系统具有学习的能力;
      分布式专家系统
      轻易获取与更新知识的能力。

      未来发展的专家系统,能经由感应器直接由外界接受资料,也可由系统外的知识库获得资料,在推理机中除推理外,上能拟定规划,仿真问题状况等。知识库所存的不只是静态的推论规则与事实,更有规划、分类、结构模式及行为模式等动态知识。

posted on 2008-06-26 16:23  wqj1212  阅读(2545)  评论(0编辑  收藏  举报

导航