1
人工智能
1.8.4 4.专家系统:人工智能与专家系统的完美结合

4.专家系统:人工智能与专家系统的完美结合

专家系统指的是由人类专家编制出的一个具有大量知识和经验的智能计算机程序系统。通过这个系统,可以进行推理和判断。它的特点就是模拟人类专家来解决复杂问题。它是人工智能的一个重要分支,也是人工智能中最为活跃的一个应用领域,能让人工智能突破理论研究而得到实际应用。

20世纪60年代初,出现了通过计算机来证明定理和进行逻辑推理的求解程序。但这些方法无法解决大的实际问题,也很难把实际问题转化为适合计算机解决的程序。1965年,费根鲍姆等人结合化学领域的专门知识,于世界上第一个研制出了一个名为dendral的专家系统。通过这个系统,可以推断化学分子的结构。随着计算机技术的发展,专家系统的理论和技术得到了长足发展,在包括化学、数学、物理和生物等众多领域都有了广泛的应用,多达几千个专家系统被开发出来。这些系统在功能上,有些甚至超过了同领域人类专家的水平,在实际应用中也取得了良好的社会效益和经济效益。

经历过三个阶段的发展,目前专家系统正向第四代过渡和发展。第一代专家系统主要求解高度专业化的问题。虽说该系统在这方面的能力很强,但其求解面窄,在体系结构的完整性、可移植性等方面都存在缺陷。第二代专家系统如mycin、casnet和prospector等属单学科专业型、应用型系统。相比第一代来说,其在体系结构的完整性和移植性方面有了一定程度的改善,在系统的人机接口、解释机制和不确定推理技术等方面都有所改进。第三代专家系统向多学科和综合性方面转型,采用多种人工智能语言、各种知识表示方法以及开发工具来研制大型综合专家系统。在前三代的基础上,开始采用大型多专家协作系统、多种知识表示等新人工智能技术来实现多知识库、多主体的第四代专家系统。

专家系统通常由六部分构成,分别是人机交互界面、知识库、推理机、解释器、综合数据库和知识获取。其中以知识库和推理机相互分离最具特色。这些构成随专家系统的类型、功能和规模的不同而呈现出差异性。下面简单介绍一下知识库与推理机。

计算机要想将专家的知识进行运用,首先就得有一定的方式来表示知识。常用的表示方式有产生式规则、语义网络和框架等8个方面。其中,建立在规则之上的产生式系统是让知识运用得以实现的最基本方法。产生式系统主要由三个部分组成,分别是综合数据库、知识库和推理机。它们包含的内容分别是求解问题的事实和断言、用前提加结果形式表达的知识规则和运用控制策略达到可应用的规则。

顾名思义,知识库是用来存放知识的。在专家系统中,问题的求解就是运用知识库中的知识来模拟专家的思维方式。因而,知识库中知识的质量和数量决定着专家系统质量的优劣。在通常的设计中,知识库与专家系统程序是相互独立的。这也就表明,用户可以通过对知识库中的知识进行丰富和完善来提高专家系统的性能。

在专家系统中,运用得较为普遍的知识是产生式规则,其形式就如同BASIC里的条件语句一样,只要条件得到满足,就会得出相应的结论。

推理机就是针对现有条件或信息,反复匹配知识库中的规则来得到问题的求解结果。就方式上来说,有正向和反向推理两种。正向推理是找出相匹配的规则,改变原来数据库的内容。直到数据库的事实与目标一致或没有找到相匹配的规则时才停止。反向推理是从选定的结果出发,寻找可以达到目标的规则。如果有与数据库中相匹配的规则,问题就会得到解决。推理机解决问题的思维方式类同于专家解决问题的方式,知识库就是通过它来实现价值的。

在实际应用方面,美国斯坦福大学开发出的针对细菌感染疾病的MYCIN系统,就是针对诊断和治疗的计算机咨询专家系统。只要向系统输入病人信息,MYCIN就会做出诊断并提出处方。

疾病专家从诊断到提出处方,大致会采取四个步骤:确定病人是否是细菌引起了感染并需要治疗、引起疾病和菌种、抑制这种病菌该使用的可能有效的药物和选择最合适的药物。这种决策主要依赖于专家的临床经验。MYCIN系统就是想用产生式规则的形式,来让系统模仿专家的推理过程。系统通过和内科医生的对话方式来收集病人如症状、病历和实验室观测数据等情况。内科医生在被询问时,会输入相关信息。而就这样经过不断询问,所得到的信息就会用作MYCIN系统诊断的依据。一旦有合理的诊断,系统就会列出可能的处方,然后通过与医生问询对话,选择适合病人的处方。

MYCIN系统能够对不确定和不完全的信息进行推理。比如,在诊断细菌类别时,通常会将病人的血液等样品放在介质中培养。但这样的培养过程一般需要24或48小时甚至更长时间。而在很多情况下,病人的病情不允许等待的时间过长。这就要求医生在对病情掌握不准确的情况下做出判断,从而及时救治病人。在这方面,MYCIN系统的优越性就充分体现了出来。

MYCIN系统还有一个优点是,即使是未经过专门训练的医生,也能轻松使用它。系统通过英语和使用医生进行对话,就可解答医生提出的问题,帮助医生理解MYCIN是如何做出决策的。另外,MYCIN系统还可以识别同义字、处理输入时单词的拼法错误等。

MYCIN系统由咨询、解释和规则获取3个子系统组成。系统存放信息的数据库有静态数据库,用来存放咨询过程中用到的所有规则。可以说,它就是专家系统的知识库。还有动态数据库,用来存放病人的信息和咨询中系统所询问的问题。

咨询时,启动咨询系统就会进入人机对话状态。在这一过程中,系统会对用户提出必要的问题并进行推理。这些问题所针对的是用户以前所作的回答。如果系统从已有的信息中无法推论所需要的信息时,会继续询问,如果医生对咨询中的一些内容有疑问,他可以暂停咨询,改向系统提出问题。这时系统会给予解释。恢复咨询后,系统会重新返回咨询过程。

当咨询结束时,系统会自动地转入解释子系统来回答用户的问题,并解释如何得到某个结论。这样做,实质上就是说服医生接受系统的结论。

规则获取系统是帮助建立系统的知识工程师用来完善规则的。这个系统可以让知识工程师来修改或增加规则。

MYCIN系统由INTERLISP语言编写。初始的系统可以识别50种细菌,有200条关于细菌血症的规则。后来,该系统经过扩展和改进,可以对脑膜炎进行诊断和治疗。MYCIN系统自运作以来,充分表明在对细菌血症和脑膜炎病人的诊断并做出处方方面,比传染病方面的专家还高明。这进一步表明专家系统在应用方面的广阔前景。不过,同时还应该看到,MYCIN系统目前还不能用于临床。其主要原因是在数据方面的匮乏,即缺乏传染病方面的全面知识。

专家系统早期所采用的是如fortran、pascal和basic等通用的程序设计语言以及如lisp、prolog和smalltalk等人工智能语言。人工智能专家和领域专家通过合作来完成编程。这时的专家系统研制周期长、难度大,但灵活实用,因而一直为人工智能专家所使用。近年来,专家系统技术走向成熟,在工程、科学和商业等领域得到了广泛应用,在某些应用领域,其成果甚至超过了人类专家。