【论文】基于神经网络专家系统的研究与应用.doc
摘 要现代化的建设需要信息技术的支持,专家系统是一种智能化的信息技术,它的应用改变了过去社会各领域生产基层领导者决策的盲目性和主观性,缓解了我国各领域技术推广人员不足的矛盾,促进了社会的持续发展。但传统专家系统只能处理显性的表面的知识,存在推理能力弱,智能水平低等缺点,所以本文引入了神经网络技术来克服传统专家系统的不足,来试图解决专家系统中存在的关系复杂、边界模糊等难于用规则或数学模型严格描述的问题。本文采用神经网络进行大部分的知识获取及推理功能,将网络输出结果转换成专家系统推理机能接受的形式,由专家系统的推理机得到问题的最后结果。最后,根据论文中的理论建造了棉铃虫害预测的专家系统,能够准确预测棉铃虫的发病程度,并能给用户提出防治建议及措施。有力地说明了本论文中所建造的专家系统在一定程度上解决了传统专家系统在知识获取上的“瓶颈”问题,实现了神经网络的并行推理,神经网络在专家系统中的应用具有较好的发展前景。 关键词 神经网络 专家系统 推理机 面向对象 知识获取AbstractModern construction needs the support of IT, expert system is the IT of a kind of intelligence, its application has changed past social each field production subjectivity and the blindness of grass-roots leader decision-making, have alleviated the contradiction that each field technical popularization of our country has insufficient people, the continued development that has promoted society. But traditional expert system can only handle the surface of dominance knowledge, existence has weak inference ability, intelligent level is low, so this paper has led into artificial neural network technology to surmount the deficiency of traditional expert system, attempt the relation that solution has in expert system complex, boundary is fuzzy etc. are hard to describe strictly with regular or mathematics model. This paper carries out the most of knowledge with neural network to get and infer function , changes network output as a result into expert system, inference function the form of accepting , the inference machine from expert system gets the final result of problem. Finally, have built the expert system of the cotton bell forecast of insect pest according to the theory in this thesis, can accurate forecast cotton bell insect become sick degree, and can make prevention suggestion and measure to user. Have proved on certain degree the expert system built using this tool have solved traditional expert system in knowledge the problem of " bottleneck " that gotten , the parallel inference that has realized neural network, Neural network in expert system application has the better prospect for development. Key words Neural network Expert system Reasoning engine Object-orientation Knowledge acquisition目 录摘 要IAbstractII第1章 绪 论11.1 论文研究的背景11.1.1 国内外研究现状11.1.2 专家系统在开发使用中存在的缺点21.1.3 神经网络的局限性31.2 论文研究的主要内容31.3 论文研究的目标及意义41.4 论文的组织结构和安排4第2章 神经网络和专家系统的基本理论52.1 神经网络的基本理论52.1.1 神经网络的概述及工作原理52.1.2 神经网络的基本特征及优点62.1.3 BP神经网络模型82.1.4 BP网络结构设置102.2 专家系统的基本理论122.2.1 专家系统的功能122.2.2 专家系统的基本结构及组成13第3章 基于神经网络专家系统的研究163.1 神经网络专家系统整体设计163.1.1 神经网络专家系统总体结构163.1.2 神经网络专家系统的组成及功能163.2 知识表示173.2.1 传统知识表示方法183.2.2 面向对象知识表示方法193.2.3 本论文采用的知识表示方法203.3 知识获取213.3.1 知识获取的基本方法223.3.2 神经网络知识获取方法233.4 推理机253.4.1 专家系统推理机制253.4.2 神经网络专家系统的推理机制263.5 知识存储与维护更新263.5.1 神经网络知识存储263.5.2 神经网络知识维护更新273.6 用户界面27第4章 基于神经网络专家系统的应用294.1 例子的建造背景294.2 例子的建造过程304.2.1 特征因子选择304.2.2 网络参数配置304.2.3 样本数据处理314.2.4 训练网络314.2.5 网络训练结果分析344.2.6 专家建议344.3 例子的结果分析34结 论36致 谢37参考文献38附录1 外文资料中文翻译40附录2 外文资料原文4550第1章 绪 论1.1 论文研究的背景专家系统(Expert System,缩写ES)是人工智能领域应用研究最活跃的领域之一,日益得到广泛的应用。它是一个具有大量专门知识与经验的程序系统,应用人工智能技术,根据某个领域里一个或多个人类专家提供的经验和知识进行推理,模拟人类专家的决策过程,解决那些需要专家解决的复杂问题。1.1.1 国内外研究现状国内早在1988年,戴汝为院士便提出了综合智能系统模型的设想。综合主义思想的直接成果首先是人工神经网络专家系统的产生,其实质是用神经网络去构造传统专家系统的各个部件,这在实际中是可行的,并在解决许多实践问题中发挥了作用。北京科技大学与安阳钢铁集团公司共同开发研制的高炉冶炼神经网络专家系统成功地应用于鞍钢2号300立方米高炉。安徽省地震局研制的“基于模糊神经网络和符号推理的地震预报专家系统”以模糊神经网络作为专家系统前端,通过分析杂乱无章的数据,得到有关知识1。国外在八十年代末到九十年代初,将专家系统和人工神经网络结合起来的综合主义思想开始产生,国外有R.C.Lacher等人的Neural Network和Connectionist Expert Systems。同时S.L.Gallat推出的用于医疗诊断的连接主义专家系统,开创了神经网络与专家系统相结合的先例。1989年DIETZ等创建了喷气和火箭发动机故障诊断神经网络专家统,DAVID.A.HANDELMAN继承人工神经网络与专家系统用于智能机器人的研究。1.1.2 专家系统在开发使用中存在的缺点(1)知识获取的“瓶颈”。通常专家系统的知识获取主要靠人工移植,由知识工程师将领域专家的知识总结为规则加入到知识库中,这种知识获取是间接的,因而效率低;另外,领域专家的某些经验知识往往只能意会,不能言传,很难用一定的规则或者数学模型来严格描述,而这些经验知识在问题求解过程中是相当重要的,这就是专家系统设计开发中的“瓶颈”问题。(2)另一种知识获取的困难就是多个领域专家的知识之间相互矛盾的处理。是在这些知识之间作某种折中处理,还是只取其中的某一种,作为非领域专家的知识工程师在这种情况下也束手无策。(3)知识“窄台阶”。目前,一般的专家系统只能在相当窄的专业知识领域内求解专门性问题,对于那些可以用相应经验知识完整描述的问题能够得到正确结论,但是一旦问题超出系统所拥有的专业领域经验知识,出现系统未预计到的情况,即使问题所涉及到的知识只与现有专业领域知识有细微偏差,系统就得不出结论甚至还可能得到错误的结果。所以存在知识的“窄台阶”,即只有浅层的、表面的、经验性的知识,缺少深层的、本质的、理性的知识。(4)推理能力弱。由于推理方法简单,控制策略不灵活,所以容易出现“匹配冲突”、“组合爆炸”及“无穷递归”等问题,推理速度慢,效率低。(5)智能水平低。专家系统的知识存储是一一对应的,且限定没有冗余性,因而就失去了灵活性。一般的专家系统一般不具备自学习能力和联想记忆功能,不能在运行过程中自我完善、发展和创新,不能用联想记忆、识别和类比等方式进行推理。这样,系统就不能在实践中不断自我完善,就不能从环境变化中发展和创新知识。系统的功能取决于系统最初的知识和能力,它的本领只是输入知识的总和2。神经网络的优点主要是良好的自组织、自学习和自适应能力,去掉冗余的数据,掌握系统内部的规律,以自身结构表达的方式进行知识的推理。因此,在一定程度上,神经网络可以克服专家系统存在的缺点。但是,神经网络也存在自身的缺点。1.1.3 神经网络的局限性(1)对知识的表示和利用是通过把一切问题的特征都变为数字,把一切推理都变为数值计算来实现的,此推理机制过程变得简捷了,但用数字表示一切结果必然丢失信息。(2)神经网络是“黑箱推理”,它的全部知识都存在网络内部,难以对终端用户提供可信的解释功能。(3)单靠神经网络阵列来获取知识,系统将长期处于“智力低下”的阶段。综上所述,不管是传统的靠符号推理的专家系统,还是神经网络专家系统都有其局限性。专家系统的特色在于知识的逻辑推理,神经网络的长处在于知识获取,专家系统和神经网络在很多方面具有互补性。一般说,专家系统在宏观上模拟人的知识推理能力,而神经网络则是在微观上模拟人的认知能力,因此研究利用神经网络改造传统的专家系统,并在此基础上进行改进,将神经网络和专家系统技术有机结合,对集成系统的研究进行尝试具有重要意义3。1.2 论文研究的主要内容本论文主要对神经网络、专家系统技术、神经网络训练算法和神经网络与专家系统相结合的理论及方法进行了研究,具体内容有:神经网络的输出结果向专家系统推理机输入知识的转换方法;神经网络专家系统的知识表示方法、知识获取方法;在神经网络专家系统中BP神经网络模型的建造过程等。基于上述理论建造的神经网络专家系统主要应用于模式识别、智能诊断、预测等方面。 1.3 论文研究的目标及意义传统专家系统在很多方面的局限性,在本文中,作者根据神经网络所具有的良好自组织、自学习和自适应能力等优点,解决了传统专家系统存在的不足。文中对部分理论做了较详细的论述,并且在最后给出了神经网络专家系统在农业方面中的一个应用。神经网络技术在专家系统领域中的应用具有较好的发展前景。1.4 论文的组织结构和安排本论文在提出了传统专家系统的缺点与不足的基础上引入了神经网络的概念,并对国内外研究现状进行了认真地归纳总结,认真分析了基于神经网络专家系统的相关技术,解决了传统专家系统中存在的不足。全文分为四章。首先,探讨了课题的国内外研究现状。阐述了传统专家系统的不足,在此基础上引出神经网络的概念。其次,本文研究了专家系统和神经网络的基本概念、相关技术和理论。并且给出了BP神经网络模型的相关理论。再次,本文在研究分析了专家系统和神经网络的基本概念、相关技术和理论之后,分析了基于神经网络专家系统的基本模型,并且对模型的整体结构及其各组成部分的功能做了详细分析。最后,本文研究了基于神经网络专家系统在农业中的应用。第2章 神经网络和专家系统的基本理论2.1 神经网络的基本理论2.1.1 神经网络的概述及工作原理人工神经网络是抽象、简化与模拟大脑生物结构的计算模型,是一种大规模并行处理和自学习自组织非线性动力学系统。人工神经网络(Artificial Neural Network,简称ANN),简称神经网络。它通过采用物理可实现的器件或采用现有的计算机来模拟生物体中神经网络的某些特征与功能,并反过来应用于工程与其他领域4。就其本身性质来看,神经网络属于基于案例学习的模型,它模拟人类神经网络结构来构造人工神经元。人的智能来源于大脑,大脑是由大量的神经细胞或神经元组成的,每个神经元可以看作为一个小的处理单元,这些神经元按照某种方式互相连接起来,构成了大脑内部的生理的神经元网络,各神经元之间连接的强弱,按照外部的激励信号作自适应变化,而每个神经元又随着接收到的多个激励信号的综合大小呈现兴奋或抑制状态。如图2-1是简化的神经元数学模型:其中为输入信号,为神经元内部状态,为阈值,为到连接的权值,表示外部输入信号(在某些情况下,它可以控制神经元,使可以保持在某一状态),为激发函数,为输出,上述模型可以描述为: (2-1) (2-2) (2-3)其中。.图2-1 简化的神经元数学模型 每一个神经元的输入接受前一级神经元的输出,因此,对神经元的作用为所有输入的加权和减去阈值,若无阈值就不减了(见式(2-1),此作用引起神经元的状态变化(见式(2-2),而神经元的输出为其当前状态的函数(见式(2-3)5。2.1.2 神经网络的基本特征及优点1.神经网络的基本特征(1)结构特征神经网络的结构特征主要指并行处理,分布式存储与容错性。神经网络是由大量简单处理元件相互连接构成的高度并行的非线性系统,具有大规模并行性处理特征。结构上的并行性使神经网络的信息存储必然采用分布式方式,即信息不是存储在网络的某个局部,而是分布在网络所有的连接权中。一个神经网络可存储多种信息,其中每个神经元的连接权中存储的是多种信息的一部分。当需要获得已存储的知识时,神经网络在输入信息激励下采用“联想”的办法进行回忆,因而具有联想记忆功能。神经网络内在的并行性与分布性表现在其信息的存储与处理都是空间上分布的、时间上并行的。(2)能力特征神经网络的能力特征主要指自学习、自组织和自适应性。自适应性是指一个系统能改变自身的性能以适应环境变化的能力,包括自学习与自组织两层含义。神经网路的自学习是指当外界环境发生变化时,经过一段时间的训练或感知,神经网络能通过自动调整网络结构参数,使得对于给定输入能产生期望的输出,训练是神经网络学习的途径。神经网络能在外部刺激下按一定的规则调整神经元之间的突触连接,逐渐构建起神经网络,这一构建过程称为网络的自组织(或称重构)。神经网络的自组织能力与自适应性相关,自适应性是通过自组织实现的。2.神经网络的优点通过对以上特征的分析,可知神经网络具有以下优点:(1)实现了并行处理机制(网络内各个神经元或层内各个神经元之间都可以并行工作或调整),从而可以提供高速处理的能力;(2)信息是分布式存储的(存储在各个人工神经网元的权值上),从而提供了联想与全息记忆的能力;(3)由于它的联接强度可以改变,使得网络的拓扑结构具有非常大的可塑性,从而具有很高的自适应能力;(4)通常人工神经网络是包含巨量的处理单元和超巨量的联接关系,形成高度的冗余,因而具有高度的容错能力和坚韧性;(5)神经元的特性(输入输出关系)都是非线性的,因此,神经网络是一类大规模的非线性系统,这就提供了系统的自组织和协同的潜力;(6)神经网络可以用数字方式实现,也可用模拟的方式实现,而且,它通常是数模共存的,这更接近于人脑神经网络的工作方式6。迄今,神经网络的研究已经获得多方面的新进展和新成果。提出了大量的网络模型,发展了许多学习算法,对神经网络的系统理论(如非线性动力学理论、自组织理论、混沌理论等)和实现方法(如vr.s1方法、光学方法、分电子学方法等)进行了成功的探讨和实验。神经网络还在模式分类、机器视觉、机器听觉、智能计算、机器人控制、信号处理、组合优化问题求解、联想记忆、编程理论、医学诊断、金融决策等许多领域获得了卓有成效的应用。近年来,在图像、语言、文字识别、天气预报、经济预测、管理决策、自动控制等领域也有大量关于神经网络的应用报道。2.1.3 BP神经网络模型1.BP神经网络模型概述多层前馈式误差反向传播神经网络(Error Back-Propagation)通常简称为BP神经网络,通常由输入层、输出层和若干隐含层构成,每层由若干个结点组成,每一个结点表示一个神经元,上层结点与下层结点之间通过权连接,同一层结点之间没有联系。BP网络的学习,由四个过程组成:输入模式由输入层经中间层向输出层的“模式顺传播”过程;网络的希望输出与网络的实际输出之差的误差信号由输出层经中间层向输入层逐层修正连接权的“误差反向传播”过程;由“模式顺传播”与“误差反向传播”的反复交替进行的网络“记忆训练”过程;网络趋向收敛即网络的全局误差趋向极小值的“学习收敛”过程。归结起来为,“模式顺传播”“误差反向传播” “记忆训练” “学习收敛”过程。由于BP神经网络具有逼近任意连续函数和非线性映射的能力,因此在神经网络研究领域中得到了广泛的应用。其结构简单,可操作性强,能模拟任意的非线性输入输出关系。2.BP算法(Back Propagation)1986年Hinton和Williams完整而简明地提出一种神经网络的误差反向传播训练算法(简称BP算法),系统地解决了多层网络中隐含单元连接权的学习问题7。BP神经网络模型结构如图2-1所示:输入层输出层隐含层信息流图2-1 BP神经网络模型BP算法的主要思想是把学习过程分为两个阶段:第一阶段(正向传播过程),给出输入信息通过输入层经隐含层逐层处理并计算每个单元的实际输出值;第二阶段(反向过程),若在输出层未能得到期望的输出值,则逐层递归地计算实际输出与期望输出之差值(即误差),以便根据此差值调结权值,具体些说,就是可对每一个权值计算出接收单元的误差值与发送单元的激活值的积。因为这个积和误差对权重的(负)微商成正比(又称梯度下降算法),把它叫做权重误差微商。权重的实际改变可由权重误差微商逐个模式地计算出来,即它们可以在这组模式集上进行累加。BP算法适合于多层神经元网络的一种学习,它是建立在梯度下降法的基础上的。BP算法的步骤可概括如下:(1)选定权系数初值;(2)重复下述过程直到收敛: 到正向过程计算:计算每层各单元的,,反向过程计算:对各层(l=L-1到2),对每层各单元,计算 修正权值 为步长,其中 (k为1到n)但是传统的BP算法存在收敛速度慢、学习时间长、出现局部最小、易产生振荡,甚至达不到收敛精度等缺陷。经过研究和实验发现,网络的拓扑结构(隐含层数、隐含层结点数等)、学习率等选取影响网络训练时间、网络振荡等问题。目前出现了很多BP算法的改进算法,综合了网络参数设置、动态调整学习率、加入动量项等措施,来改进传统BP算法所存在的问题。2.1.4 BP网络结构设置主要包括网络隐含层数、隐含层结点数、输入输出结点数以及初始权值设定等。(1)输入输出结点数根据问题领域内影响所要求解问题的因素的重要程度来选取特征因子,所选择因子个数即为输入层结点个数。求解问题所要求得结果的个数,即为网络输出层结点个数。(2)初始权值确定过去J.Caillon等人曾强调限制连接权重的范围,避免学习过程中的振荡8。实验表明,网络的权重初始值如果均相等,那么它们将始终保持相等。因此本系统设计了一个随机数产生器,对权值赋予随机的初始值。但是,如果初始权值随机设定范围太窄,都在零值附近,则更容易引起网络的振荡或停止不前,本系统采取在-5,5区间内设定权值的初值,这样更有利于加速收敛。(3)隐含层及其结点数的选择1989年Robert Hecht-Nielson证明一个二层的BP网络可以完成任意的N维到M维的映射,因此本系统采用单层隐含层的神经网络作为网络的隐含层数的默认值9。要使得神经元网络的学习结果具有实际意义,必须对样本容量和隐含层结点数同时提出一定的约束条件。从大量的网络结果分析得出,如果隐含层结点数目过少,网络不能具有必要的学习能力和组织能力,网络的泛化能力会很差;而结点过多,不仅会增加网络结构的复杂性,使网络在学习过程中更容易陷入局部极小值,而且会使网络学习速度变慢,学习时间加长,甚至可能出现网络不收敛情况,因此应该选择合适的隐含层结点数。但是,对于某一个确定问题,在理论上没有确定的隐含层和隐含层结点数,只能利用经验公式来粗略确定。一般说来,三层以上的网络可以保证非线性映射关系,即只需要一个隐含层,并取足够多的结点就可以达到设定的识别精度。试验发现,隐含层结点输入结点数和输出结点数的中间值,并靠近输入结点数时,网络的收敛速度较快。因此本系统采用以下经验公式进行初步拟定隐含层结点数:其中,为输入结点数,为输出结点数,为隐含层结点数。经验公式给出的是系统对于专家建造的网络的隐含层数及隐含层结点数的默认值,为了提高网络的性能,系统提供专家手动修改隐含层数及结点数的机会,专家可以根据系统提示的默认值,在隐含层结点数的基础上加减其数量,进行对网络的训练,直到找到一个满意的网络推理结果,确认最后的网络结构参数。2.2 专家系统的基本理论 人工智能(Artificial Intelligence,简称AI ),是一门新兴的综合性强的边缘学科。它与原子能、空间技术一起被称为二十世纪的三大科学成就。人工智能是探求人类的思维过程,研究将人类的脑力劳动外延到某种物理装置的原理和实现的一门学科,它是计算机科学的一个重要分支。专家系统是人工智能走向实用化的一个最新研究领域,是一种以知识为基础智能化的计算机软件系统。它将领域专家的知识、经验加以总结,形成规则,存入计算机建立知识库,采用合适的控制策略,按输入的原始数据进行推理、演绎,做出判断和决策。专家系统的研制促进了人工智能理论和技术的发展,开辟了计算机求解非数值问题的有效途径。专家系统也称为基于知识的系统。对于专家系统,目前尚无严格定义,现在比较通用的定义为,所谓专家系统就是利用存储在计算机内的某一特定领域专家的知识,来解决过去需要人类专家才能解决的现实问题的计算机系统10。2.2.1 专家系统的功能 根据定义,专家系统具备以下几个功能: (1)存储问题求解所需的知识。 (2)存储具体问题求解的初始数据和推理过程中涉及到的各种信息,如中间结果、目标、子目标以及假设等。 (3)根据当前输入的数据,利用已有知识,按照一定的推理策略,去解决当前问题,并能控制和协调整个系统。 (4)能够对推理过程、结论或系统自身行为做出必要的解释,如解题步骤、处理策略、选择处理方法的理由、系统求解某种问题的能力、系统如何组织和管理其自身知识等。 (5)提供知识获取、机器学习以及知识库的修改、扩充和完善等维护手段。 (6)提供一种用户接口,便于用户使用,也便于分析和理解用户的各种要求和请求。2.2.2 专家系统的基本结构及组成1.专家系统的基本结构如图2-2所示:人 机 接 口推理机解释程序知识获取程序综合数据库知识库用户专家图2-2 专家系统的一般结构2.专家系统的组成根据其基本结构,专家系统主要包括以下几个重要组成部分:(1)知识库用以存放领域专家提供的专门知识,包括与领域相关的书本知识、常识性知识及专家凭经验得到的试探性知识。知识库中贮存的知识确定了一个专家系统能够发挥专家作用的能力,因此,知识库是专家系统的核心部分。(2)用户接口工具用户接口工具是专家系统和用户之间进行信息交换的媒介。专家系统的生命力在于它能同用户一起组成高性能的人机共存系统,友善的用户界面是这种人机共存系统的重要部分。目前,有些专家系统和专家系统工具开始利用声图文一体化的多媒体技术开发新一代的用户界面。(3)知识获取机制知识获取机制是专家系统中把问题求解的各种专门知识从人类专家的头脑中或其他知识源那里转换到知识库中来的一个重要机构。传统的知识获取方法是手工的,靠计算机专家与领域专家深入交流获得。第二种方法是半自动知识获取方法,利用具有一定知识编辑能力和知识库求精能力的知识库工程语言和知识获取工具。第三种方法是自动知识获取,也称机器学习,即系统能自动修改和完善知识库,并在问题求解过程中自动积累和形成各种有用的知识11。 (4)推理机制推理是指从已有事实推出新事实或结论的过程。知识的运用称为推理方式,知识的选择过程称为控制策略。基于知识的推理过程的计算机实现构成了推理机,推理机的设计是专家系统设计的核心内容。(5)解释机制解释机制是专家系统中回答用户询问、对自己的问题求解过程或对自己当前的求解状态提供说明的一个重要机构。一个专家系统的可信程度依赖于该专家系统解释其自身推理过程的能力。但许多系统中解释工具仅局限于列出执行过程中所使用的一些规则而已。(6)用户用户也可被视为专家系统的一个组成部分,这是为了强调专家系统的人机共存和共同思考的特征。第3章 基于神经网络专家系统的研究3.1 神经网络专家系统整体设计本系统根据BP神经网络模型的分布存储、并行处理、自学习、自组织以及映射等功能,设计了知识获取机制和并行推理机。基于神经网络专家系统是一种以人工神经网络为前提构建的专家系统。神经网络作为前端的知识获取器,其获取的知识存储在网络的权值和阈值当中,并由网络的并行计算而得到网络的输出结果,此结果根据专家的经验判断转换成可描述的知识规则,输入到专家系统的推理机里面。专家系统的推理机处理的是各个神经网络输出结果转换后的知识及以面向对象方式存储在知识库中的专家经验知识,最后,由专家系统的推理机得到领域问题的最后结果。3.1.1 神经网络专家系统总体结构神经网络专家系统主要由知识库、知识获取模块、并行推理机、解释模块及人机界面等部分组成,其结构图如图3-1所示12。3.1.2 神经网络专家系统的组成及功能系统由知识库、数据文件、并行推理机、知识获取模块、解释系统及人机接口界面等部分组成。系统分别提供两种界面给领域专家和领域用户。首先,系统将领域专家提供的存放实例知识的数据文件进行预处理,人工神经网络作为知识获取机制,从处理后的数据文件中学习专门的领域知识,并将其存储在网络权值和事例知识、专家知识经验人机接口(界面)知识获取数据文件知识库推理机解释系统图3-1 神经网络专家系统总体结构阈值中,以数据文件的形式保存。通过知识录入界面,领域专家可以总结领域内的经验知识,对神经网络输出结果进行分类判断处理,并给出专家建议或对不同结果的解决方案。对于应用的专家系统,专家可以为其创建个性化界面,使得不同的专家系统拥有不同界面。领域用户将问题数据输入建造成功的系统中,经过并行推理机的计算,得到问题的数值性结果。系统将此结果传输到对象推理机,对象推理机自动和知识库连接,得到与此问题相关的问题描述性回答及专家建议或解决措施。系统结构如图3-2所示。3.2 知识表示知识表示(Knowledge Representation)就是知识的符号化和形式化的过程。知识表示方法研究各种数据结构的设计,通过这种数据结构把问题领域的各种知识结合到计算机系统的程序设计过程中13。知识表示的目的在于通过知识的有效表示,使专家系统能够利用这些知识进行推理和做出决策。图3-2 系统结构图领域专家/领域知识领域用户/问题数据专家界面图形用户界面神经网络知识获取知识录入、修改、浏览界面数据文件知识库通用推理机解释机制对于同一种知识,可以采用不同的知识表示方法,但在解决某一问题时,不同的表示方法可能会产生不同的效果。因此,对于不同领域的求解问题,选择合适的知识表示方法是非常重要的。知识表示的任务是把欲在智能系统中使用的知识变换为一定形式的数据结构及其说明程序,组织成易于利用的形式或过程。3.2.1 传统知识表示方法专家系统对知识表示的形式是基于形式化的符号,通常采用显式的、描述性的表示方式。传统的表示方法主要有语义网络表示、产生式表示、逻辑表示、框架表示、过程表示方法等。其中,语义网络表示抓住了符号计算中符号和指针两个本质的东西,且具有联想的特性,所以在人工智能中是重要的知识表示方法,但这种用弧代表事物间的任何联系,其形式过于简单,表达受到限制,当增加联系时会增大网络的复杂度。框架适合于表示典型的概念、时间和行为,但其各知识表示单位间缺乏清晰的语义。而且上述这些表示方法存在着推理效率低、非透明性、与推理机不能独立存在、易于出现组合爆炸等缺点,并不适合于建造专家系统。3.2.2 面向对象知识表示方法面向对象的知识表示方法将多种单一的知识表示方法(规则、框架等)按照面向对象的程序设计原则组织成一种混合知识表达形式,即以对象为中心,将对象的属性、动态行为、领域知识和处理方法等有关知识“封装”在表达对象的结构中。这种方法将对象的概念和对象的性质结合在一起,符合专家对领域对象的认知模式14。因此,对于本专家系统工具的显性知识的表示,可以采用面向对象的知识表示方法。1.基本概念 Peter Coad和Edward Yourdon提出用下列等式识别面向对象方法:面向对象=对象+分类+继承+通过消息的通信(1)对象在计算机系统中,对象是一组属性以及这组属性上的专用操作的封装体。一个对象通常可由对象名、属性和操作三部分组成。属性可以是一些数据,也可以是另一个对象。操作规定了对象的行为,表示对象所能提供的服务。(2)类类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例。通常把一个类和这个类的所有对象称为类及对象或对象类。(3)继承继承是在某个类的层次关联中不同的类共享属性和操作的一种机制。一个父类可以有多个子类,一个子类也可以有多个父类。(4)消息在面向对象技术中,对象类的属性称为域,对象类的操作称为方法。面向对象方法的操作与对象类的内部结构和约束等封装在一起,当对象之间要进行通信、发生相互联系时,就需要通过发送“消息”来激活对象中相应的方法。(5)方法方法就是对对象实施各种操作的说明,也就是消息的具体实现。消息中只包含发送对象的操作要求,而不包含完成操作的具体方法。在面向对象的程序设计中,方法就是函数的定义。2.面向对象的知识表示方法的特征(1)它直接模拟人类思维,消除了问题领域概念与计算机概念之间的语义间隙;(2)面向对象的知识表示使得建造专家系统过程中知识获取、知识表示、知识运用三者在概念上、形式上统一起来;从系统开发的角度,面向对象的思想将程序分析、设计、编程统一起来,中间无需任何转换。因此,这种知识表示方法非常适合表示复杂的系统知识。3.2.3 本论文采用的知识表示方法在本文研究的领域问题中包括两大类知识,一类是领域专家能用自然语言描述的知识,这类为显性知识,主要包括专家的书面知识及实践中的经验知识;另一类是隐含在大量数据及关系中,难以用语言描述的知识,这类为隐性知识,主要是实验及调研得到的数值型数据。对于隐性知识,本文采用神经网络对数据进行学习,知识获取和知识表示同时进行,信息被存储在网络结构当中。对于显性的描述性知识,本文采用面向对象的知识表示方法。1.神经网络的知识表示方法神经网络的知识以网络的权值和阈值的形式表示的。神经网络对知识的表示是隐式的,当确定了网络的结构参数、神经元的激活函数及学习算法后,网络的知识获取和知识表示是同时进行、同时完成的。对网络的训练学习成功后,样本数据中存在的知识信息都以连接权值和阈值的形式分布存储在整个网络当中。2.面向对象的知识表示方法面向对象的知识表示直接模拟人类思维,消除了问题领域概念与计算机概念之间的语义间隙,并且,使得建造专家系统过程中知识获取、知识表示、知识运用三者在概念上、形式上达到了统一。3.3 知识获取知识获取就是把用于求解专门领域问题的知识从拥有这些知识源中抽取出来,并转换为一种特定的计算机表示。专家系统的核心是知识,因而在一个专家系统建造中,解决知识如何获取是一个十分重要的课题15。在专家系统开发过程中,知识获取是最难解决的一道工序,被认为是专家系统建造中的“瓶颈”问题。只有当知识获取的手段自动化、智能化后,才可以说专家系统有了真正的智能。3.3.1 知识获取的基本方法知识获取的方法可以分为三类:(1)手工知识获取就是通过计算机知识工程师和领域专家频繁而深入的交谈获得的。知识库中的知识便是由知识工程师把挖掘来的专家经验知识按规定的知识表示形式加工并输入到计算机的。如图3-3所示:图3-3 手工知识获取领域专家知识工程师知识库(领域知