万方数据分类专家咨询系统开发工具EFCTOOL的设计与实现 苏畅陈怡孤蔡经球厦门大学计算机系(厦门361005)E-mail:cyj(iPxmu.edu.cn摘要文章在对实际专家系统和现有的专家系统开发工具进行分析的基拙上,探讨了提高专家系统开发工具的适应性的途径;实现了弱逻样关系吸其组合算法ot.探讨了提高专家系统开发工具运行效率的途径。同时采用VISUAL PRO-LOG 4.Om实现了一个分类专家咨询系统开发工具EFCTOOL,利用EFCTOOL,可根据索要生成确定或不确定的专家咨询系统。关健词专家咨询系统开发工具弱逐样关系VISUAL PROLOG不确定推理The Design and Implementation of Classified Expert ConsultationSys tem Development Tool EFCTOOL Su Chang Chen Yijiang Cal Iinggiu( Computer Science department, Xiamen University, Xiamen 361005)Abstract; In this paper,the ExpertS ystem development tools in existence are analyzed.It does some research :n threeaspects that improving the lfexibility of the Expetr Consultative System development tool,implememing the algorithm ofthe feeble logic and improving the efifciency of running the Expetr System. This paper implements a classified ExpertConsultative System Development Tool一一-EFCTOOL. The ̄can create a ecrtain or an uncertain Expetr ConsultativeSystem场using EFCTOOL.Keywords; Expetr Consultative System development tool,feeble Iogic,VISUAL PROLOG, uncertain erasoning1引宫识的逻辑性强的专家咨询系统的开发工具,针对上述提及的现自80年代以来, 专家系统已经取得了飞速的发展,出现了有的专家系统开发工具的不足之处,作一些改进,这将具有广众多的实用系统,这些系统以其所具有的潜在的巨大的经济效泛的应用前景和实际意义。益和社会效益,已为世人所注目。但是,由于专家系统是一类复分类问题较广,预侧、决策、诊断(包括医疗诊断或其 杂的智能化程序系统,要开发一个专家系统,特别是开发他故障诊断)和人文社会科学领域的许多问题都可归为此类间一个I拥的确定知识与不确定知识相结合的专家咨询系统,绝题阎。基于此,笔者研制出了确定知识与不确定知识相结合的非易事。人们从大量的开发专家系统的实践中深深体会到工具分类专家咨询系统开发工具EFCTOOL (Exact and Fuzzy和环境的重要性。Classiifed ExpetrS ystem. Development Tool),它能按照用户的现有的已投人市场的专家系统开发工具有如下几个不足 要求,生成确定或不确定的专家咨询系统。用EFCTOOL建造之处:专家咨询系统,方法简单,只要附上一个具体领域的知识库, (I)在不确定推理方面的功能较弱,例如:役有显式地让用EFCTOOL就成为一个相应的专家咨询系统。系统采用visual户选择推理模型,用户不了解系统采用的不确定推理方法;复prolog 4刀编写,图形化窗口界面使得工具对用户十分友好,可合模糊命题的子命题间的逻辑关系只有合取和析取两种。在windows 95或window. NT上运行。现已利用该工具实现了 (2)推理能力较弱,如某些农业专家系统开发工具,主要利动物分类专家系统、木材选择专家系统、糖尿病诊疗系统、营养用数据库查询来模拟逻辑推理,若用其来开发多层次的推理系分析专家系统、酒品顾问专家系统、故障诊断专家系统等。统,则难度较大,且效率较低。(3) 许多系统提出的间题是固定的,不能根据逻辑关系减2 EFCTOOL的主要特点少问题数,效率较低。 (1)提高了专家系统开发工具的适应性。( 4)领域专家建造知识库时,系统提供的生成工具不够直该系统同时支持确定知识和不确定知识的处理,从而能用 观方便。此开发工具开发出确定和不确定的专家咨询系统( 5)系统的可移植性不够好。除了可处理合取和析取关系之外, 还可处理弱逻辑关系。因此, 笔者决定研制既能处理确定知识又能处理不确定知利用EFCTOOL开发领域专家系统, 方法简单,无需编程,作者简介:苏杨,女,计算机应用专业硕士,主要研究方向为专家系统、机器翻译及智能检素等。陈怡班,男,计算机应用专业硕士,主要研究方向为机器翻译、 智能检索及多媒体网络等。蔡经球,男,教授,主要研究方向为人工智能、软件工程等。102 2001. 5计笠机丁祝与偷用从而提高领域专家开发专家系统的效率,便于推广。行增加、删除和更新。对于规则,用户可以修改其结论、前提和若用户需开发不确定专家咨询系统, 则EFCTOOL可提供可信度。两种不确定推理模型;MYCIN不确定推理模型to和[10,11区间的 (5)不确定推理模型选择模块:可以选择适当的不确定推不确定推理模型气理模型。由于时间,该系统目前提供两种模型:MYCIN不系统提供两种提问模式: 系统自动生成提问清单或由领域确定推理模型,10,1]区间的不确定推理模型。今后可进一步扩专家给出提问清单。充,加入其他的不确定推理模型。系统还提供设定阀值的功能。推理能力强, 能处理任意层的推理。 EFCTOOI的可移植性能好。( 6)不确定推理模块:根据选定的不确定推理模型进行不确定推理。( 2)提高专家系统开发工具的运行效率。 (7)询问模块:系统自动生成提间库,在提问过程中根据用采用Vi sual Pmlog作为编程平台,由于它具有一个可以户输人的信息逐步修剪网络,减少问题数,提高运行效率。和pascal和C编译器相媲美的高级优化的编译器,因此,用( 8)解释模块:该模块根据用户需要,利用当前证明树对每Visual Prolog开发出的专家系统开发工具的运行效率比用Vi-sual Basic,Visual Foxp、开发来得高。个询问进行解释。(9)帮助模块: 提供联机帮助,方便用户使用〔 系统自动生成提问库,在提问过程中根据用户输人的信息3.3 EFCTOOL的知识处理逐步修剪网络,减少问题数,这种处理方式优于采用数据库查3.3.1规.M,获取询技术来生成提问清单的方法。 EFCTOOL的知识的输人方法十分简单,领域专家只需在窗口中填人<》内的部分,则可自动生成知识库内部表示-3开发环境概迷<命题i >3.1开发平台条件: <条件I> EFCTOOL的开发平台采用了近年来丹麦Prolog Develop-ment Center推出了可视化的Prolog— Visual Prolog,它既具<条件i>有传统Prolog的推理能力,又具备友好的图形用户界面。还有诸如很好的可移植性、方便的编程环境、强大的编程能力等特<条件n> 点。现在许多公司的倾向是用数据库技术解决任何问题,但是 <条件之间的逻辑关系>用这种方法常常会导致开发周期长且开发出的最终系统性能<规则可信度> 差。而用Visual Prolog开发的应用可以具有更好的性能、更友约定: 设某命题为Ai,好的用户界面、较短的开发周期。因为现在的应用需求比计算 (1)not Ai也可作为前提。提问时询问“Ai是否成立?”,若机硬件速度的提高要快,所以速度问题总是存在并且始终是一Ai不成立,则not Ai成立。个评价标准,Visual Pmlog具有高级优化的编译器,所以用它(2)条件之间的逻辑关系可以是逻辑“与”、逻辑“或”、或 编写的程序运行速度很快,几乎和基于C++的应用程序一样。“弱逻辑关系”中的一种。由于Visual Prolog具有以上所述的优点,该系统采用Visual(3) 可信度要么在[-1,11内取值,要么在[[0,11内取值Prolog 4.0开发,保证系统的运行效率,并且便于系统的升级和如: 推荐采用低度洒移植。条件: 主菜口味浓度淡 EFCTOOL的工作过程分为专家咨询系统生成和运行两个没放调味汁 阶段。只要建立具体领域的知识阵,EFCTOOL就成为该领域的<and> 专家咨询系统。知识库可由EFCTOOL的规则获取模块自动产<0. 9>生,也可由知识库编辑程序人工建立,用户可根据需要选择。 则语义为:如果主菜口味浓度淡并且没放调味汁,则很可3.2主要功能模块能推荐采用低度酒。 (1)专家咨询系统类型选择模块:可以选择生成确定推3.3.2事实获取理的专家咨询系统,也可以选择生成不确定推理的专家咨询提问库的生成 系统。 (1)由EFCTOOL的推理机根据知识库自动生成模糊推理 (2)规则获取模块二领域专家只需将领域知识分类,建立树树,系统采用深度优先的方法搜索出需要由用户回答的间题,状知识体系,无需编程,就可建立知识库。如果一个规则的前提是复合命题时,则根据一些启发性的原则( 3)知识库加载与卸载模块:加载或卸载具体领域的知来决定间题个数,运用剪枝技术来减少问题数。识库。例如: 对逻辑“与”命题:若一个命题被完全否定,则其余间 (4)知识库维护模块:包括知识库浏览、知识库编辑、知识题不必再间,放弃向这一方向继续推理,结论一定推不出,库fw存、知识库删除等。( 2)由领域专家给出需要用户回答的间题,并给出可供用知识库浏览:当领域专家已建立好知识库后, 用户就可以户选择的模糊答案,包括空答案(用户无法回答)。对知识库进行浏览,为增强可读性,该浏览工具用自然语言来事实获取 表示知识)钊的树状知识。这样,用户就能对知识库目前的状提问对话框的形式为: 况一目了然,有助于理解专家咨询系统的运行机制,也便于发问题i是否成立? 现知识库中的不完善之处。<事实可信度》 知识库编辑: 提供方便的文本编辑工具,便于对知识库进[ 成立][不成立]!无法回答了【请解释}计算机工程与应用2001.5 103-一一一一一,尸---一一----劝E..-- ̄- }. .:-一一一一一一-一 ̄ 万方数据万方数据 用户根据实际情况填人<》内的部分,选择曰内的内容。 (3)若采用MYCIN不确定推理模型,则用MYCIN的并行其中事实可信度的取值区间必须和规则可信度的取值区 组合算法算出结论的最终可信度。间一致。( 4)若采用[[0,11不确定推理模型.则用[0,11模型的并行组3.3.3 EFCTOOL中的知识库生成算法合算法算出结论的最终可信度。(帅启动用户接口, 用户从交互式模式输人待分类的对象( 5)更新该结论的可信度。的属性。( 6)检查并行规则集处理完否,处理完则结束,否则转(2)0 (2)对输人信息进行完整性检查。( 3)产生新条件的序号。4结束语( 4)产生新规则的序号,生成新一条规则。该系统可处理复合模糊命题中的子命题之间所具有的多 ( 5)用户输入完成否,若完成,结束;否则转(2)0种逻辑关系,诸如合取关系、析取关系、均值关系和弱逻辑关3.4 EFCTOOL的推理机制系,其中弱逻辑关系是笔者开发模糊专家系统时根据实际情况EFCTOOL采用向前推理和向后推理交替混合使用机制。 提出的一种新的逻辑关系。首先,EFCTOOL对工作空间初始化,一般分类问题的知识可构笔者开发的分类专家咨询系统开发工具EFCTOOI,规则 成类树状的层次结构,通常是一个森林。EFCTOOL采用一个无的前件若是复合命题,则考虑子命题之间的逻辑关系,逻辑关条件满足的更抽象的概念,作为森林中每裸树根节点的父节系可以是“合取”、“析取”、“均值关系”以及“弱逻辑关系”。它可点,把森林转化成树。EFCTOOL从决策树的任意节点开始处用于建造一般分类问题的确定或不确定的专家咨询系统,用理,看此节点是否仍然是一裸子树的很,若是,则去处理该子EFCTOOL建造专家咨询系统,方法简单。系统采用visas树,否则处理下一个节点。在提问过程中根据用户输人的信息pmlog东0编写,图形化窗口界面使得工具对用户十分友好,可逐步修剪网络,缩小搜索空间,提高系统的时空效率。获取用户在windows 95或windows NT上运行。信息后,确定出最后可推出的网络节点,若是不确定专家咨询同时笔者也在提高开发工具的适用性、 运行效率和可移植系统则还必须推出其可信度。性等方面作了一些探讨。现已利用该工具实现了动物分类专家3.5可信度的计算系统、木材选择专家系统、糖尿病诊疗系统、营养分析专家系 提供基于不同取值区间的不确定推理机制,以供用户选统、酒品顾问专家系统、故障诊晰专家系统等。用。这些不确定推理模型包括:〔收稿日期:2000年2月)(1 )在区间[-1,l1上的MYCIN不确定推理模型。( 2)在区间[[0,11上的不确定推理模型,这个模型实际上是参考文献将MYCIN OM作适当的线性变换y=(x+l)/2,形成的取值范1.苏肠,蔡经球,陈怕班.复合棋栩命题的弱逻辑关系及其运算方法.计围在[0,11上的不确定推理的点估计模型,进而可推广到区间估算机学报,2000.3计和语言值估计。2.苏畅,菜经球新一代智能语言Visual Porlog.计算机应用研究,1999.3.5.1 EFCTOOL中不确定推理的主要算法8:1 7-19可信度顺序传播算法 3.陆汝竹等.专家系统开发环境.科学出版社1994(1)对知识库中的规则进行处理 4.Shortlife E H,et &LA Model of Inexaet Reasoning in Medicine.( 2)调用可信度并行组合算法Mathematical Biosciences,1975;23;351-379( 3)取出每个规则的条件集合,按照条件之间的逻辑关系5.蔡经球在区间价,1让的不梢确推理棋醚.厦门大学学报,1995.1:131-133 (合取、析取或弱逻辑关系)进行逻辑组合。6浏有才,刘增良.棋栩专家系统原理与设计北京航空航天大学出版( 4)取出组合后的可信度和规则的可信度,按照选定的不社,1 995确定推理模型的顺序传播算法进行申行组合,算出该规则的结7.f纪文,张成奇.专家系统中的不精确推理研究,计算机研究与发展,论的可信度。1989. 12 (5)更新该规则的结论的可信度。8.01,sayr D E.Soliciting Wei沙.m Probabiilties fmm Experts for( 6)检查规则集处理完否,处理完则结束,否则转(1)。Ru le-Based Expetrs yatema.InQ.Man-Machine Studies,199002: 可信度并行组合算法293-301 (1) 检查知识库中是否存在并行规则,若无,则结束,否则9.Ling X,RuddW GCombining Opinions Prom Sevearl Experts.Ap-继续。plide人rtificielImeligence,1989.3:439-452( 2)对并行规则集中的结论的可信度集合进行处理(上接64页)3.Cundlia Borgefors.Analyeing No- 2D and 3D Pa1fems.CVIU, 这个方法还可以推广到对多波段图像的处理。・具体地,可1 996注:145-157以把聚类过程的对象变为以每个像素对应的多波段强度构成4.S Ilromwitz,T Pavlida.Pictum aegmentation by a tree tarversal algo-的向盘。而合并时区域灰度的相似性使用向量距离和向量范数rithm工A-Cemput., Mach.23,1976:368-388卡计算。(收稿日期二2000年2月)5.Rolf Adama,Icanne BiechefSeed Region Gruwing.IEEE Trans-PAM1 ,191,M6:61闭曰M,参考文献6.Shiuh-yang Chan, Wei-Chung Lin,Chin-tu Chen.Split}d-MergeImage Segmentation Based on L-Aised Featrue Ana妙.is and Staits-1.图像理解国防科技大学出版杜,1995t ical Teats.CVGIP.GMIP,l991.9;53:457-4752.蔡元龙棋式识别一西安电子科技大学出版社,1990104 2001.5计算机工程与应用一一丁尸一一----一一一一1跪