1、第8章 专家系统 第8章 专家系统 8.1 专家系统的概念 8.2 专家系统的结构 8.3 专家系统的应用与发展概况 8.4 专家系统实例 8.5 专家系统设计与实现 8.6 专家系统开发工具与环境 8.7 新一代专家系统研究 第8章 专家系统 8.1 专家系统的概念 8.1.1 什么是专家系统(Expert System)?1965年第一个专家系统DENDRAL问世;?20世纪 80年代中期以后,随着知识工程技术日渐成熟,各种各样的实用专家系统不断涌现。?什么是专家系统?专家系统(Expert System,亦称专家咨询系统)是一种智能计算机(软件)系统,具有特定领域专家解决困难、复杂的实际
2、问题能力。第8章 专家系统 专家:在某一专门领域,他(她)解决问题时具有超凡的能力和水平。专家之所以具有超凡的能力和水平,是因为:(1)专家拥有丰富的专业知识和经验,特别是经验知识;(2)专家具有独特的思维方式,即独特的分析问题和解决问题的方法和策略。专家系统应该具备以下四个要素:(1)应用于某专门领域;(2)拥有专家级知识;(3)能模拟专家的思维;(4)能达到专家级水平。所以,专家系统就应该是:应用于某一专门领域,拥有该领域相当数量的专家级知识,能模拟专家的思维,能达到专家级水平,能像专家一样解决困难和复杂的实际问题的计算机(软件)系统。第8章 专家系统 8.1.2 专家系统的特点 专家系统
3、具有下列特点:(1)处理问题的性质:善于解决不确定、非结构化、没有算法解或虽有算法解但在现有机器上无法实施的困难问题。(2)处理问题方法:靠知识和推理来解决问题(传统软件使用固定算法求解)基于知识的智能问题求解系统。(3)系统结构:强调知识与推理的分离,系统具有很好的灵活性和可扩充性。(4)具有解释功能:在运行中能回答用户提出的问题,同时还能对输出(结论)或处理问题的过程作出解释。(5)具有“自学习”能力:即不断对已有知识进行扩充、完善和提炼。这一点是传统系统所无法比拟的。(6)专家系统它始终如一地以专家级水平求解问题(人类专家可能疲劳、遗忘,易受环境、情绪等影响)第8章 专家系统 8.1.3
4、 专家系统的类型 专家系统分类目前无定论。通常可以从不同侧面分类:。1.按用途分类 诊断型、解释型、预测型、决策型、设计型、规划型、控制型、调度型等几种类型。2.按输出结果分类:分析型和设计型。3.按知识表示分类 知识表示形式:产生式规则、一阶谓词逻辑、框架、语义网等。4.按知识分类 知识可分为确定性知识和不确定性知识,所以,专家系统又可分为精确推理型和不精确推理型。5.按技术分类 符号推理专家系统和神经网络专家系统。6.按规模分类:大型协同式专家系统和微专家系统。7.按结构分类:集中式和分布式,单机型和网络型(即网上专家系统)第8章 专家系统 8.1.4 专家系统与知识系统 我们知道,专家系
5、统能有效地解决问题的主要原因在于它拥有知识,因为“知识就是力量”。但专家系统拥有的知识是专家知识,而且主要是经验性知识。近年来,由专家系统的出现和发展而发展起来的一种称为知识系统(Knowledge Based System)的智能系统,其中的知识已不限于人类专家的经验知识,而可以是领域知识或通过机器学习所获得的知识等。所以,对于这种广义的知识系统来说,专家系统就是一种特殊的知识系统。第8章 专家系统 8.1.5 专家系统与知识工程 专家系统是基于知识的系统,建造专家系统就涉及到:?知识获取(Knowledge Acquisition),即从人类专家那里或从实际问题那里搜集、整理、归纳专家级知
6、识。?知识表示(Knowledge Representation),即以某种结构形式表达所获取的知识,并将其存储于计算机之中?知识的组织与管理(即知识库,Knowledge Base):建立与维护等)?知识利用(即使用知识进行推理)?一系列关于知识处理的技术和方法。关于知识处理的技术和方法已形成一个称为“知识工程”(Knowledge Engineering)的学科领域。专家系统促使了知识工程的诞生和发展,知识工程又是为专家系统服务的。所以,现在的“专家系统”与“知识工程”几乎已成为同义语。第8章 专家系统 8.1.6 专家系统与人工智能;专家系统是智能计算机系统。从学科范畴讲,专家系统属人工
7、智能的一个分支,而且是应用性最强、应用范围最广的一个重要分支。所以,现在“专家系统”这一名词既是系统名称又是一个学科名称。专家系统已是当前计算机应用的一个热门研究方向。第8章 专家系统 8.2 专家系统的结构 专家系统是一种计算机应用系统。由于应用领域和实际问题的多样性,所以,专家系统的结构也就多种多样。但抽象地看,它们还是具有许多共同之处。概念结构 实际结构 网络与分布式结构 黑板模型 第8章 专家系统 8.2.1 概念结构 从概念来讲,知识库和推理机是两个最基本的模块。1.知识库(Knowledge Base)以某种表示形式存储于计算机中的知识集合。知识库通常是以一个个文件的形式存放于外部
8、介质上,专家系统运行时将被调入内存。知识库中的知识一般包括专家知识、领域知识和元知识。图81 专家系统的概念结构 人 机 界 面推 理 机解释模块动态数据库知识库知识库管理系统第8章 专家系统 2.推理机(Inference Engine)推理机就是实现机器推理的程序。这里的推理既包括通常的逻辑推理,也包括基于产生式的操作。3.动态数据库 动态数据库(也称全局数据库、综合数据库、工作存储器、黑板等),是存放初始证据事实、推理结果和控制信息的场所,或者说它是上述各种数据构成的集合。4.人机界面:最终用户与专家系统的交互界面。5.解释模块 专门负责向用户解释专家系统的行为和结果。人 机 界 面推
9、理 机解释模块动态数 据库知识库知识库管理系统6.知识库管理系统 知识库管理系统是知识库的支撑软件。其功能包括知识库的建立、删除、重组;知识的获取(如录入/编辑)、维护、查询、更新;以及对知识的检查,包括一致性、冗余性和完整性检查等等。第8章 专家系统 图82 专家系统的理想结构 人 机 界 面 推 理 机 解释模块 动态数据库 知识库 自学习模块 知识库管理系统 第8章 专家系统 第8章 专家系统 图84 地质图件绘制智能辅助系统结构 多 媒 体 人 机 界 面方 法知识库参 数知识库动态数据库评 价知 识库自学习模 块知 识 库 管 理 系统方法选择参数确定图 件绘制图形评价IO接口第8章
10、 专家系统 8.2.3 网络与分布式结构 在网络环境下,专家系统也可以设计成网络结构,如Client/Server结构 或者Browser/Server)结构。分布式结构则是一种适合于分布式计算环境的专家系统。例如那些多学科、多专家联合作业,协同解题的大型专家系统。这类专家系统也就称为分布式专家系统。知识库 推理机 推理机 知识库 人机界面 人机界面 客户(机)Browser 服务器 Web Server Internet 第8章 专家系统 8.2.4 黑板模型 “黑板模型”是一种典型而流行的专家系统结构模式。1.黑板 “黑板”,就是一个分层的全局工作区(或称全局数据库)。2.知识源 知识源:
11、一个知识模块。3.控制机构 控制机构是求解问题的推理机构,由监督程序和调度程序组成。第8章 专家系统 图86 黑板结构 监督程序 调度程序 层次 n.层次2 层次1 知识源1 知识源2.知识源m 第8章 专家系统 黑板模型适于求解那些大型复杂且可分解为一系列层次化的子问题的问题。例如,在HEARSAY中,黑板被分为六个信息层,每个信息层对应着问题的一个中间表示层次。六个信息层分别为:(1)参数层:从语音信号中提取有意义的参数。有四种不同的参数,统称为 ZAPDASH 参数。(2)片段层:用于描述系统对语音信号的分割与归类。此层主要包含音素与单音等信息。(3)音节层:用于描述语音信号的音节划分。
12、此层主要为由片段层上信息构成的音节信息。(4)单词层:用于记录根据音节划分所识别出的孤立词信息。(5)词组层:用于记录根据单词层中的词汇所生成的词组信息。(6)短语层:用于记录多个词汇或词组构成的短语和句子信息。第8章 专家系统 8.3 专家系统的应用与发展概况 8.3.1 专家系统的意义 专家系统是一种智能计算机系统,所以,专家系统将计算机的应用提高到了一个新的高度和水平。专家系统的建立,实现了人类专家的“分身”和“延年”使专家们丰富而宝贵的知识和经验能不受时间和空间的限制,而得到最大限度地传播和应用,从而产生最大的社会效益和经济效益。另一方面,建造专家系统可以使专家本人得到提高和发展。因为
13、,建造和使用专家系统的过程,本身就是专家知识的一个不断积累、总结、补充、完善、升华、提高、发展的过程。另外,还可将多个专家的知识和经验综合在一起,构成多专家系统 第8章 专家系统 8.3.2 专家系统的应用与发展 ES作为一种计算机应用系统,目前典型应用:医学诊断/地质勘探/物质结构分析/生物遗传研究/市场决策/生产管理.第一个专家系统叫DENDRAL,1965,斯坦福大学,费根鲍姆等 DENDRAL系统同时开 发的,还有数学专家系统MACSYMA。它是一个大型的人机交互式系统。进入20世纪 90年代,模糊技术、神经网络和面向对象等新技术迅速崛起,为专家系统注入了新的活力。第第8章章 专家系统
14、专家系统 8.4 专家系统实例专家系统实例 8.4.1 PROSPECTOR的功能与结构 PROSPECTOR的研究目的是:勘探矿产资源,扩大技术培训及集中多个专家的知识来解决给定的资源问题。PROSPECTOR系统给地质勘探人员提供下列几种帮助:(1)勘探评价。(2)区域资源评价。(3)井位选择。第8章 专家系统 图87是PROSPECTOR系统的总体结构图。系统的勘探知识以某种外部格式存储在磁盘中。同样,一个具有1000多个单词的分类学词典也存储在磁盘上。每一次咨询开始时,由一个叫做PARSEFILE的程序把这些外部表示转换成系统的内部表示形式推理网络。推理网络就是系统赖以完成咨询的知识库
15、。第8章 专家系统 图87 PROSPECTOR总体结构 第8章 专家系统 8.4.2 知识表示 PROSPECTOR系统的知识用语义网络和规则表示。知识库由三级网络组成,它们分别用来描述概念、陈述和推理规则。1.分类学网络 最低一级网络是分类学网络(见图88),它的作用有些类似于MYCIN中的词典,给出了系统所知道的1000多个词汇的用途及相互关系。第8章 专家系统 出了系统所知道的1000多个词汇的用途及相互关系。例如,由“关系”的节点为根的子树中所有词汇在描述知识时作为表示关系的词汇使用。除此之外,分类学网络还给出了概念之间的从属关系,它们由四种弧表示::表示N2是N1的子集。例如,火成
16、岩是岩石的一类。:表示N2是N1的元素。例如,FROMOF是一个具体的关系。12sNN?12eNN?第8章 专家系统 :既表示N2是N1的子集,说明 N2与N1的其他用ds链接的子集是不相交的概念。例如,年代和形态是系统中的两类词汇,但这两类词汇中没有相同的词汇,即它们没有共同的后代。而硫化物和浊变物是相交的概念,它们有共同的后代黄铁矿。12deNN?第8章 专家系统 图8-8 分类学网络 第8章 专家系统 2.分块语义网络 在PROSPECTOR中,陈述由分块语义网络表示。分块语义网络是把整个网络划分成若干个块,每一块(称为语义空间)表示一句完整的话(陈述)。例如,“角闪石部分地转化为黑云母
17、”,可由图89表示。第8章 专家系统 图89 语义空间 第8章 专家系统 每一个陈述都可以分解为若干个简单断言。所谓简单断言指仅包含一个关系及其各参量的断言。图89可分解为七个简单断言的集合:1:存在一个实体E1 2:E1的成分是角闪石 3:存在一个实体 E2 4:E2的成分是黑云母 5:存在一个过程P1 第8章 专家系统 6:在P1过程中,E1转化为E2 7:在P1过程中,转化的程度是部分转化 分块语义网络中的空间还可以用逻辑连接词AND、OR、NOT连接成更大的语义空间,表示更复杂的陈述。第8章 专家系统专家系统 3.推理网络 在PROSPECTOR 中,判断性知识用规则表示。每 EH(L
18、S,LN)推理网络中每条规则的LS、LN及每个语义空间H的P(H)均由领域专家在建造知识库时提供。除了表示规则的弧外,推理网络中还有代表先后顺序的弧(用虚线表示,见图8-10),其意义如下:第8章 专家系统 :只有当P(E 1|S)P(E 1)时,才考虑E2 ;只有P(E 1|S)P(E 1)时,才考虑E2 :只有P(E 1|S)P(E 1)时,才考虑E2 :E2:仅指明考虑E2之前先考虑 E 1 0,512EE?5,512EE?5,012EE?2,212EE?第8章 专家系统 其中P(E 1|S)、P(E1)分别是E1的后验概率和先验概率,称 E1是E2的上下文。关于虚线上方括号中数字的精确
19、含义,将在8.4.3中解释。设E1、E2分别是“存在硫化物”和“重晶石覆盖硫化物”,显然若已知E1为假,再去提问“是否重晶石覆盖硫化物”是不合适的。通过使用先后顺序弧把E1、E2连接起来:0,512EE?第8章 专家系统 图810 推理网络 第8章 专家系统 图811 知识库中三种网络的关系 第8章 专家系统 8.4.3 主观贝叶斯推理模型 PROSPECTOR的不确定性推理模型是建立在概率论的基础上的,称为主观贝叶斯(Bayesian)方法。与MYCIN系统的确定性理论不同,主观贝叶斯方法是在概率论基础上严格推导出来的。因为整个推导过程比较复杂,限于篇幅,这里就不详细介绍了,这里只介绍主观贝
20、叶斯方法所使用的一些公式。第8章 专家系统 1.贝叶斯公式 贝叶斯公式是概率论中的一个著名的条件概率公式,也称为贝叶斯定理。只有一个条件的贝叶斯公式为 ()(/)(/)()PH PEHPHEPE?(81)其中P(E)、P(H)分别是E、H为真的先验概率,P(E|H)是H为真时E真的条件概率,P(H|E)是E为真时 H真的条件概率。第8章 专家系统 2.充分性度量、必要性度量和可能性度量 由(81)式有 ()()()()()()()()()()PHPEHP H EPEPH EPHPHEPHEPHP EH?(82)(83)()()1()()()P xOxPxP EHLSPE H?称为可能性度量(或
21、几率函数)称为充分性度量 第8章 专家系统 则(83)式可变为 ()()OHEOHLS?(84)上面各式是E肯定存在时的情况。当 E肯定不存 在时,用同样的方法可得 ()()()()()()()()P HEPH PEHPHEPH PE HPEHLNPEH?称为充分性度量 (85)则(85)式可变为 ()()OH EOHLN?(86)第8章 专家系统 现在利用 O(x)的定义式,又消去(84)、(86)式中的O(x),则得 ()()1()(1)()()1()(1)LSPHPHEPHLSLNP HPHEPHLN?(87)(88)第8章 专家系统 3.后验概率计算 1)证据肯定的情况 利用(87)、
22、(88)两式就可以计算证据 E肯定存在或肯定不存在时,假设H为真的条件概率。例 8.1 设有规则 if E1 then(100,0.01)H1(P(H1)=0.6)证据E1肯定存在,那么,利用公式(87),可得 1111()1000.6()0.991()(1)10.699LSPHP HEPHLS?第8章 专家系统 2)证据不确定的情况 上面是根据已知信息集S(即与E有关的所有观察)可确切地判定 E成立(P(E|S)1)或不成立(P(E|S)0)时,利用公式(87)、(88)可计算出假设H成立的后验概率。但多数情况下,证据E成立的概率是不确定的,即0P(E|S)1。在这种情况下,就不能再用公式(
23、87)、(88)了。第8章 专家系统 Duda等人证明了在某种合理的假定下,P(H|S)是P(E|S)的线性函数,并且满足:P(H|E)当P(E|S)=1时 P(H|S)=P(H|)当P(E|S)=0时 P(H)当P(E|S)=P(E)时 E第8章 专家系统 但由于P(E)、P(H)都是专家给出的主观概率,它们常常是不一致的,所以当P(E|S)P(E)时,按线性函数计算出的理论值 P(H|S)Pc(H)通常并不是专家给出的先验概率 P(H)。当P(E)P(E|S)P(H),但按线性函数计算却是P(HS)P(E|Se),这与用户本来的意图相左。为了避免这种情况,类似于解决主观概率不一致的方法,引
24、入分段线性插值函数 第8章 专家系统 ()eCES?5()()1()5()()()eeP ESP EPEPESPEPE?若P(E)P(E|Se)1 若0P(E|Se)P(E3),可得 1212333()()()()()()1()eeeePHEPHPHSSPHP ESSP EP E?第8章 专家系统专家系统 其次计算在R2作用下H的后验概率P(H|Se4),过程如下:(1)用公式(810)计 算E4的后验概率 P(E4|Se4)得P(E4|Se4)0.84。(2)用公式(87)、(88)、(89)计算 P(H|Se4)得P(H|Se4)0.81最后用公式(813)计算P(H|S):O(H|Se1
25、Se2)P(H|Se1Se2)/1-P(H|Se1Se2)0.39 O(H)P(H)/1-P(H)0.11 第8章 专家系统 L1O(H|Se1Se2)/O(H)3.55 O(H|Se4)4.26 L238.73 O(H|Se1Se2Se4)O(H)*L1*L215.12从而 P(H|Se1Se2Se4)O(H|Se1Se2Se4)/1O(H|Se1Se2Se4)0.94 第8章 专家系统 图812 推理网络举例 H 0.1 E3 0.1 E4 0.2 E2 0.1 El 0.5 AND(500,1)(1000,0.01)第8章 专家系统 8.4.4 控制策略 PROSPECTOR系统的推理方
26、式称为混合主动式,即正反向混合推理与接纳用户自愿提供信息相结合的推理方式。与MYCIN系统不同,在PROSPECTOR中没有独立于知识库而存在的综合数据库,它的推理网络同时兼有知识库和数据库两种身份。因此,PROSPECTOR推理过程实际上就是不断修改各个语义空间的后验概率,直到顶层语义空间的后验概率超过其一阈值时为止。第8章 专家系统 1.正向推理 PROSPECTOR的正向推理实际上就是概率传播,它由传播程序完成。每当用户输入一个证据E及其后验概率P(E|S),传播程序就利用主观Bayesian方法,将P(E|S)的影响沿推理网络传播,修改更高层次上语义空间的后验概率,直至将P(E|S)的
27、影响传至顶层空间。传播程序传播后验概率的方法如前所述。第8章 专家系统 2.主动式推理 咨询开始时,用户可根据自己的观察为系统提供信息。PROSPECTOR在这方面为用户提供了很大的灵活性,用户不仅可以输入有关可问空间的信息,还可以输入关于推理网络任意层次上的假设空间的信息。这种方法有利于充分发挥用户的作用,加快推理速度。第8章 专家系统 3.反向推理 当正向推理(概率传播)结束后,如果系统已能确定存在某种矿藏,则输出结果;否则进入反向推理过程。反向推理由提问系统负责,它为断定某种矿藏的成矿可能性寻求有关的数据。因此反向推理实际上要完成两个任务:(1)应优先考虑哪个顶层假设,这主要根据评判函数
28、Jh来选择;(2)应向用户询问哪个空间,这主要根据评判函数J*来选择。第8章 专家系统 8.4.5 解释系统 PROSPECTOR的解释系统可以为用户提供几种不同类型的解释。最简单的一种是允许系统在咨询的任何时刻检查推理网络中某个语义空间的后验概率。其次解释系统可以向用户显示推断某一结论所使用的规则。用户还可以检查某一数据对推理网络中任一特定空间概率的影响。第8章 专家系统 8.5 专家系统设计与实现 8.5.1 一般步骤与方法 专家系统开发过程也要遵循软件工程的步骤和原则:要进行系统分析、系统设计等几个阶段的工作。但它又有其独特的地方。就“纯专家系统”而言,则其设计与实现的一般步骤可如图 第
29、8章 专家系统 专家系统的开发有如下特点:(1)知识获取与知识表示设计是一切工作的起点;(2)知识表示以及知识描述语言确定后,各项设计可并行。需说明的是:(1)对于一个实际的专家系统,在系统分析阶段就应该首先弄清楚:系统中哪里需要专家知识,专家知识的作用是什么?以及系统中各专家模块的输入是什么?处理是什么?输出又是什么?(2)系统投入运行后,其知识库还需不断扩充、更新、完善和优化。所以专家系统的开发更适合采用快速原型法。(3)对系统的评价主要看它解决问题是否达到专家水平。(4)上述的所谓“纯专家系统”是一个实际专家系统中的专家模块部分。对于系统其他部分的分析与设计,原则上与一般计算机应用系统完
30、全一样,即可按软件工程规范和程序进行。第8章 专家系统 8.5.3 知识获取 知识获取是建造专家系统的关键一步,也是较为困难的一步,被称为建造专家系统的“瓶颈”。知识获取大体有三种途径。1.人工获取 人工获取,即计算机人员(或知识工程师)与领域专家合作,对有关领域知识和专家知识,进行挖掘、搜集、分析、综合、整理、归纳,然后以某种表示形式存入知识库。2.半自动获取 半自动获取,即利用某种专门的知识获取系统,采取提示、指导或问答的方式,帮助专家提取、归纳有关知识,并自动记入知识库。3.自动获取 自动获取又可分为两种形式:一种是系统本身具有一种机制,使得系统在运行过程中能不断地总结经验,并修改和扩充
31、自己的知识库;另一种是开发专门的机器学习系统,让机器自动从实际问题中获取知识,并填充知识库。第8章 专家系统 8.5.4 知识表示与知识描述语言设计 知识表示与知识描述语言设计是根据所获得知识的特点,选择或设计某种知识表示形式,并为这种表示形式设计相应的知识描述语言。所谓知识描述语言,是知识的具体语法结构形式。所以,知识描述语言既要面向人、面向用户,又要面向知识表示、面向机器,还要面向推理、面向知识运用。这要求知识描述语言既能为用户提供一种方便、易懂的外部知识表达形式,又能将这种外部表示转换成容易存储、管理、运用的内部形式。第8章 专家系统 8.5.5 知识库与知识库管理系统设计 知识库是专家
32、系统的核心。知识库的质量直接关系到整个系统的性能和效率。因此,知识库涉及知识的组织与管理。知识的组织决定了知识库的结构,知识的管理包括知识库的建立、删除、重组及维护和知识的录入、查询、更新、优化等,还有知识的完整性、一致性、冗余性检查和安全保护等方面的工作。知识管理由知识库管理系统负责。第8章 专家系统 1.知识库设计 知识库设计主要是设计知识库的结构,即知识的组织形式。专家系统(或知识工程)中所涉及的知识库,一般取层次结构或网状结构模式。这种结构模式是把知识按某种原则进行分类,然后分块分层组织存放,如按元知识、专家知识、领域知识等分层组织;而每一块和每一层还可以再分块分层。这样,整个知识库就
33、呈树型或网状结构。如图所示是一个医疗诊断知识库的层次结构。医疗诊断知识库 消化 系统 知识 库 呼吸 系统 知识 库 肝病 知识 库 胃病 知识 库 第8章 专家系统 2.知识库管理系统设计 知识库管理系统应包括知识一级和知识库一级的各种管理功能。1)知识操作功能设计 知识操作功能包括知识的添加、删除、修改、查询和统计等。这些功能可采用两种方法来实现:通过 人机 对 话方式实现知 识的增、删、改、查等;全屏幕编辑方式,要求用户直接用键盘按知识描述语言的语法格式编辑知识。第8章 专家系统 2)知识检查功能设计 知识检查包括知识的一致性、完整性、冗余性等检查。所谓知识的一致性:知识库中的知识必须是
34、相容的,即无矛盾。例如,下面的两条规则 r1:if P thenQ r2:if P thenQ 不能同时存在于一个知识库中。知识的完整性约束:例如,小王的身高 x米,则必须满足:x3米;弟弟今年x岁,哥哥今年y岁,则必须满足xy。冗余性检查:检查知识库中的知识是否存在冗余。.冗余的表现有重复、包含、环路等现象。例如,下面的三条规则:r1:if P then Q r2:if Q then R r3:if R then P?第8章 专家系统 3)知识库操作设计 知识库操作包括知识库(文件)的建立、删除、分解、合并等。知识库的分解与合并类似于关系数据库的投影、选择和连接操作,它们实现知识库的重组。知
35、识库的重组是必要的。因为随着系统的运行,可能会发现原先的知识组合不合理,因此就需要重新组合,这时就需要使用知识库的分解与合并功能。第8章 专家系统 8.5.6 推理机与解释功能设计 1.从哪里着手;推理机是与知识库对应的专家系统的另一重要部件。推理机的推理是基于知识库中的知识进行的。所以,推理机就必须与知识库及其知识相适应、相配套。具体来讲,就是推理机必须与知识库的结构、层次以及其中知识的具体表示形式等相协调、相匹配。否则,推理机与知识库将无法接轨。因此,设计推理机时,首先得对知识库有所了解。第8章 专家系统 2.还应考虑些什么 对推理机要考虑推理的方式、方法和控制策略等。?推理方式:正向推理
36、/反向推理/双向推理?精确推理/不精确推理?串行推理/并行推理?单调推理/非单调推理??推理方法:归结法/自然演绎法?不精确推理的推理模型??搜索控制,深度优先/广度优先?冲突消解是依据优先数/可信度或隶属度 第8章 专家系统 3.算法设计与程序设计 经过上述分析,就可着手设计推理机算法。对于一个基于规则的系统来说,其推理机也就相当于产生式系统中的执行控制部件,所以其运行过程也就是产生系统的运行过程,因此,前面产生式系统所采用的算法,或者图搜索中所用的算法也就是这里的推理机所用的算法。算法确定后,就可进行程序设计。推理机用何种程序语言实现,没 有限制,如可以用传统的LISP或PROLOG语言,
37、也用当前流行的C或C+语言。第8章 专家系统 4.解释机制如何实现 在推理机的设计中还得考虑解释机制。专家系统要求的解释功能:推理中要能回答用户“为什么”的问题;在推理结束后,要能回答“怎么样(得到结果)”从系统的结构上,通常把解释作为一个独立的模块,但实际上解释功能也是与推理机密切相关的。因为要解释就必须对推理进行实时跟踪。第8章 专家系统 8.5.7 系统结构设计 系统构成技术被称为人工智能的三大技术之一。所以,对一个专家系统来说,其体系结构就显得非常重要。从原理来讲,专家系统由知识库、推理机等部分组成,但由于受问题领域、系统规模、知识表示方法、知识库结构以及其他特殊性等诸多因素的影响,故
38、专家系统的体系结构难以形成固定的模式。一般来讲,有诸如独立式(一个“纯”专家模块)、混合式(还有其他处理模块)、集中式、分布式、层次式以及“黑板模型”等。第8章 专家系统 8.5.8 人机界面设计 人机界面对于一个实用专家系统(特别是咨询型知识系统)来说至关重要。一个专家系统一般有两个人机界面:一个是面向系统开发和维护者的;一个是面向最终使用者的。前一个界面由开发工具提供;后一个则是专家系统自身的一部分。由于图形用户界面(GUI)的广泛使用,所以目前专家系统的开发界面已达到相当高的水平。而专家系统的使用界面相对还比较落后。这是因为,使用界面往往要涉及“人机对话”,如人对系统的询问、系统对人的回
39、答,特别是系统对用户的解释。第第8章章 专家系统专家系统 8.6 专家系统开发工具与环境专家系统开发工具与环境 8.6.1 专家系统开发工具 迄今已有数以百计的各种各样的专家系统开发工具投入使用。它们大致可分为以下几类。1.面向AI的程序设计语言 面向AI的程序设计语言包括LISP、PROLOG等。由于这些语言与领域无关,所以它们的通用性强,且使用灵活,限制少,用户能“随心所欲”地设计自己的系统。但由于一切皆要“从头做起”,故开发周期长、效率低。第8章 专家系统 2.知识表示语言 这是针对知识工程发展起来的程序设计语言,因此也称知识工程语言。这些语言并不与具体的体系和范例有紧密联系,也不局限于
40、实现任一特殊的控制策略,因而便于实现较广泛的问题。3.外壳系统 外壳系统亦称为骨架(frame),这种工具通常提供知识获取模块、推理机制、解释功能等,只要加上领域专门知识,即建立起知识库就 可以构成一个 专家系统。这类系统典型的代表 有EMYCIN、KAS和EXPERT等。国内也开发出了不少这类工具系统。显然,使用这种工具,开发效率最高,但限制也更多,灵活性最差。第8章 专家系统 4.组合式构造工具 这种工具向用户提供多种知识表示方法和多个推理控制机构,使用户可以选择各种组成部件,非常方便地进行组合,来设计、建造自己所需的专家系统。这类系统的典型代表有AGE等。5.专家系统工具EST 一个通用
41、专家系统开发工具,称为EST。EST的核心是专家系统设计语言ESL。ESL是融过程性和描述性于一体,把知识推理同其他数据处理相结合,模块化的程序设计语言。ESL是将人工智能的自动推理和搜索等功能嵌套于过程性语言之中,而 ESL的语句和所处理的知识(事实和规则)本身又用一阶谓词描述。第8章 专家系统 一个用EST开发的一个小型专家系统示例:work(main):主程序 make window(1,117,0,d,3,10,4,30),nl,定义主窗口?牷瑩?微机故障诊断专家系统),nl,nl,make window(2,27,0,a,9,40,1,16)read char(-),dialog(y
42、es),开人机对话 meta KB(kb0),将元知识调入内存 goal trouble(Y),推理目标 reasoning(backward),启动反向推理机 第8章 专家系统 Show conclusion,显示结论 汃慥?楷摮睯眬楲整尨解释否(y/n)?),read char(C),If C=ythen explain 给出解释 Else write(),Clear memory,Clear window.运行结束,清屏 第8章 专家系统 8.6.2 专家系统开发环境 随着专家系统技术的普及与发展,人们对开发工具的要求也越来越高。一个好的专家系统开发工具应向用户提供多方面的支持,包括从系
43、统分析、知识获取、程序设计到系统调试与维护。第8章 专家系统 专家系统开发环境:集成的专家系统开发工具包。主要功能:(1)多种知识表示:至少提供两、三种以上知识表示,如逻辑、框架、对象、过程等。(2)多种不精确推理模型:即提供多种不精确推理模型,可供用户选用。最好还留有用户自定义接口。(3)多种知识获取手段:除了必需的知识编辑工具外,还应有自动知识获取即机器学习功能,以及知识求精手段。(4)多样的辅助工具:包括数据库访问、电子表格、作图等工具。(5)多样的友好用户界面:包括开发界面和专家系统产品的用户界面,应该是多媒体的,并且有自然语言接口。(6)广泛的适应性:能满足多种应用领域的特殊需求,具
44、有很好的通用性。第8章 专家系统 8.7 新一代专家系统研究 8.7.1 深层知识专家系统 深层知识专家系统,即不仅具有专家经验性表层知识,而且具有深层次的专业知识。这样,系统的智能就更强了,也更接近于专家水平了。例如一个故障诊断专家系统,如果不仅有专家的经验知识,而且也有设备本身的原理性知识,那么,对于故障判断的准确性将会进一步提高。做到这一点,存在一个如何把专家知识与领域知识融合的问题。第8章 专家系统 8.7.2 模糊专家系统 模糊专家系统主要特点是通过模糊推理解决问题的。这种系统善于解决那些含有模糊性数据、信息或知识的复杂问题,但也可以通过把精确数据或信息模糊化,然后通过模糊推理进行处
45、理的复杂问题。这里所说的模糊推理包括基于模糊规则的串行演绎推理和基于模糊集并行计算(即模糊关系合成)的推理。对于后一种模糊推理,其模糊关系矩阵也就相当于通常的知识库,模糊矩阵的运算方法也就相当于通常的推理机。第8章 专家系统 模糊专家系统在控制领域非常有用,它现已发展成为智能控制的一个分支领域。模糊控制系统的一般结构如图所示。这里的模糊控制器就相当于一个模糊专家系统。第8章 专家系统 8.7.3 神经网络专家系统 利用神经网络的自学习、自适应、分布存储、联想记忆、并行处理,以及鲁棒性和容错性强等一系列特点,用神经网络来实现专家系统的功能模块。神经网络专家系统的一般结构如图。这种专家系统的建造过
46、程是:先根据问题的规模,构造一个神经网络,再用专家提供的典型样本规则,对网络进行训练,然后利用学成的网络,对输入数据进行处理,便得到所期望的输出。图816 神经网络专家系统概念结构 输入输出接口 神经计算模块 神经网络模块 第8章 专家系统 8.7.4 大型协同分布式专家系统 这是一种多学科、多专家联合作业,协同解题的大型专家系统,其体系结构又是分布式的,可适应分布和网络环境。具体来讲,分布式专家系统的构成可以把知识库分布在计算机网络上,或者把推理机制分布在网络上,或者两者兼而有之。此外,分布式专家系统还涉及问题分解、问题分布和合作推理等技术。第8章 专家系统 8.7.5 网上(多媒体)专家系
47、统 网上专家系统就是建在Internet上的专家系统,其结构可取浏览器/服务器模式,用浏览器(如Web的浏览器)作为人机接口,而知识库、推理机和解释模块等则安装在服务器上。多媒体专家系统就是把多媒体技术引入人机界面,使其具有多媒体信息处理功能,并改善人机交互方式,进一步增强专家系统的拟人性效果。第8章 专家系统 8.7.6 事务处理专家系统 事务处理专家系统是融入专家模块的各种计算机应用系统,如财物处理系统、管理信息系统,决策支持系统、CAD系统、CAI系统等等。这种思想和系统,打破了将专家系统孤立于主流的数据处理应用之外的局面,而将两者有机地融合在一起。事实上,也应该如此,因为专家系统并不是什么神秘的东西,它只是一种高性能的计算机应用系统。