第 12 章 专 家系 统 第 12 章 专 家系 统 12.1 基本概念基本概念 12.2 系统结构系统结构 12.3 实例分析实例分析 12.4 系统设计与实现系统设计与实现 12.5 开发工具与环境开发工具与环境 12.6 专家系统的发展专家系统的发展 习题十二习题十二 第 12 章 专 家系 统 12.1 基基 本概本概 念念12.1.1 12.1.1 什么是专家系统什么是专家系统 自从1965年世界上第一个专家系统DENDRAL问世以来, 专家系统的技术和应用, 在短短的 40 余年间获得了长足的进步和发展特别是20世纪 80 年代中期以后, 随着知识工程技术的日渐丰富和成熟, 各种各样的实用专家系统如雨后春笋般地在世界各地不断涌现那么,究竟什么是专家系统呢? 顾名思义,专家系统(ES)就是能像人类专家一样解决困难、 复杂的实际问题的计算机(软件)系统 第 12 章 专 家系 统 我们知道“专家”就是专门家, 是某一专门领域的行家里手 专家之所以是专家, 是因为他(她)解决问题时具有超凡的能力和水平 专家之所以具有超凡的能力和水平,是因为: (1) 专家拥有丰富的专业知识和实践经验, 或者说他(她)拥有丰富的理论知识和经验知识,特别是经验知识。
(2) 专家具有独特的思维方式, 即独特的分析问题和解决问题的方法和策略 第 12 章 专 家系 统 所以, 这两点就是一个专家所具备的基本要素那么, 这两点自然也应该是专家系统所具备的基本要素另外,专家只能是某一专门领域的专家;从效果看,专家解决问题一定是高水平的因此,专家系统应该具备以下四个要素: (1) 应用于某专门领域 (2) 拥有专家级知识 (3) 能模拟专家的思维 (4) 能达到专家级水平 第 12 章 专 家系 统 所以,准确一点讲,专家系统就应该是:应用于某一专门领域, 拥有该领域相当数量的专家级知识, 能模拟专家的思维, 能达到专家级水平, 能像专家一样解决困难和复杂的实际问题的计算机(软件)系统例如, 能模拟名医进行辨症施治的诊断医疗系统就是一种专家系统, 能模拟地质学家进行地下资源评价和地质数据解释的计算机(软件)系统, 也是一种专家系统 第 12 章 专 家系 统 12.1.212.1.2 专家系统的特点 专家系统的特点 同一般的计算机应用系统(如数值计算、 数据处理系统等)相比,专家系统具有下列特点: ——从处理的问题性质看, 专家系统善于解决那些不确定性的、 非结构化的、没有算法解或虽有算法解但在现有的机器上无法实施的困难问题。
例如,医疗诊断、地质勘探、天气预报、市场预测、管理决策、军事指挥等领域的问题 ——从处理问题的方法看,专家系统则是靠知识和推理来解决问题(不像传统软件系统使用固定的算法来解决问题), 所以, 专家系统是基于知识的智能问题求解系统 第 12 章 专 家系 统 ——从系统的结构来看, 专家系统则强调知识与推理的分离, 因而系统具有很好的灵活性和可扩充性 ——专家系统一般还具有解释功能, 即在运行过程中一方面能回答用户提出的问题,另一方面还能对最后的输出(结论)或处理问题的过程作出解释 ——有些专家系统还具有“自学习”能力, 即不断对自己的知识进行扩充、完善和提炼这一点是传统系统所无法比拟的 ——专家系统不像人那样容易疲劳、遗忘,易受环境、情绪等的影响, 它可始终如一地以专家级的高水平求解问题因此, 从这种意义上讲,专家系统可以超过专家本人 第 12 章 专 家系 统 12.1.312.1.3 专家系统的类型 专家系统的类型 关于专家系统的分类,目前还无定论我们仅从几个不同的侧面对此进行讨论 —— 按用途分类,专家系统可分为:诊断型、解释型、预测型、决策型、设计型、规划型、控制型、调度型等几种类型。
这些专家系统的功能大部分都是显然的,无须做过多解释, 而其中“解释”和“规划”与我们通常理解的有点差别 第 12 章 专 家系 统 这里的解释是对仪器仪表的检测数据进行分析、 推测得出某种结论例如通过对一个地区的地质数据进行分析, 从而对地下矿藏的分布和储量等得出结论又如,通过对一个人的心电图波形数据进行分析, 从而对该人的心脏生理病理情况得出某种结论显然,以上两种事情都是经验丰富的专家才能胜任的而所谓“规划”, 就是为完成某任务而安排一个行动序列例如, 对地图上的两地间找一条最短的路径、为机器人做某件事安排一个动作序列等 第 12 章 专 家系 统 ——按输出结果分类, 专家系统可分为分析型和设计型 分析型就是其工作性质属于逻辑推理, 其输出结果一般是个“结论”, 如 1 中的前四种, 就都是分析型的, 它们都是通过一系列推理而完成任务的; 而设计型就是其工作性质属于某种操作, 其输出结果一般是一个“方案”,如1 中的后四种, 就都是设计型的, 它们都是通过一系列操作而完成任务的 当然, 也可兼有分析和设计的综合型专家系统例如, 医疗诊断专家系统就是一种综合型专家系统,诊断病症时要分析、推理, 而开处方即制定医疗方案时要设计、操作(如对药剂的取舍或增减等)。
第 12 章 专 家系 统 ——目前所用的知识表示形式有:产生式规则、一阶谓词逻辑、框架、语义网等所以, 按知识表示分类,可分为基于产生式规则的专家系统、基于一阶谓词的专家系统、基于框架的专家系统、基于语义网的专家系统等等 当然, 也存在综合型专家系统 ——知识可分为确定性知识和不确定性知识,所以,按知识分类, 专家系统又可分为精确推理型和不精确推理型(如模糊专家系统)两类 第 12 章 专 家系 统 ——按采用的技术分类, 专家系统可分为符号推理专家系统和神经网络专家系统符号推理专家系统就是把专家知识以某种逻辑网络(如:由产生式构成的显式或隐式的推理网络、 状态图、与或图,由框架构成的框架网络, 还有语义网络等)存储, 再依据形式逻辑的推理规则, 采用符号模式匹配的方法, 基于这种逻辑网络进行推理、搜索的专家系统神经网络专家系统就是把专家知识以神经网络形式存储,再基于这种神经网络, 依据神经元的特性函数, 采用神经计算的方法, 基于这种神经网络实现推理、搜索的专家系统第 12 章 专 家系 统 ——按规模分类, 可分为大型协同式专家系统和微专家系统 大型协同式专家系统就是由多学科、多领域的多个专家互相配合、 同力协作的大型专家系统。
这种专家系统也就是由多个子(分)专家系统构成的一个综合集成系统它所解决的是大型的、复杂的综合性问题, 如工程、社会、经济、生态、军事等方面的问题微专家系统则是可固化在一个芯片上的超小型专家系统,它一般用于仪器、仪表、设备或装置上, 以完成控制、监测等功能 ——按结构分类可分为集中式和分布式, 单机型和网络型(即网上专家系统)等 第 12 章 专 家系 统 12.1.412.1.4 专家系统与基于知识的系统 专家系统与基于知识的系统 我们知道,专家系统能有效地解决问题的主要原因在于它拥有知识,但专家系统拥有的知识是专家知识, 而且主要是经验性知识由专家系统的出现和发展而发展起来的基于知识的系统(KBS, 或者简单地称为知识系统), 其中的知识已不限于人类专家的经验知识, 而可以是领域知识或通过机器学习所获得的知识等这样,专家系统就是一种特殊的KBS, 或者说特殊的知识系统 “专家系统”这一名词有时也泛指各种知识系统一个知识系统, 不论其中的知识是否真的来自于某人类专家(如通过机器学习获得的知识就不是来自人类专家), 但是只要是其能达到“专家级”或本系统的能力能达到“专家级”水平, 则把这样的系统也称为专家系统。
第 12 章 专 家系 统 12.1.512.1.5 专家系统与知识工程 专家系统与知识工程 由于专家系统是基于知识的系统,那么, 建造专家系统就涉及到知识获取(即从人类专家那里或从实际问题那里搜集、 整理、归纳专家级知识)、知识表示(即以某种结构形式表达所获取的知识, 并将其存储于计算机之中)、知识的组织与管理(即知识库建立与维护等)和知识的运用(即使用知识进行推理)等一系列关于知识处理的技术和方法特别是基于领域知识的各种知识库系统的建立, 更加促进了这些技术的发展 所以,关于知识处理的技术和方法已形成一个称为“知识工程”的学科领域这就是说,专家系统促使了知识工程的诞生和发展,知识工程又为专家系统提供服务正是由于这二者的密切关系, 所以, 现在的“专家系统”与“知识工程”几乎已成为同义语 第 12 章 专 家系 统 专家系统是一种计算机应用系统由于应用领域和实际问题的多样性, 因此, 专家系统的结构也就多种多样但抽象地看, 它们还是具有许多共同之处 12.212.2 系统结构 系统结构第 12 章 专 家系 统 12.2.112.2.1 概念结构 概念结构 从概念来讲, 一个专家系统应具有如图 12-1所示的一般结构模式。
其中知识库和推理机是两个最基本的模块 1. 1. 知识库知识库 (Knowledge Base, KB)(Knowledge Base, KB) 所谓知识库, 就是以某种表示形式存储于计算机中的知识的集合知识库通常是以一个个文件的形式存放于外部介质上,专家系统运行时将被调入内存知识库中的知识一般包括专家知识、领域知识和元知识元知识是关于调度和管理知识的知识知识库中的知识通常就是按照知识的表示形式、 性质、层次、内容来组织的, 构成了知识库的结构 第 12 章 专 家系 统 图 12-1 专家系统的概念结构第 12 章 专 家系 统 2. 2. 推理机推理机 (Inference Engine,IE) 所谓推理机, 就是实现(机器)推理的程序这里的推理, 是一个广义的概念,它既包括通常的逻辑推理,也包括基于产生式的操作例如: A→BA B 这里的B若是个“结论”, 则上式就是我们通常的假言推理; 若表示某种动作, 则上式就是一种操作 第 12 章 专 家系 统 推理机是使用知识库中的知识进行推理而解决问题的, 所以推理机也就相当于专家的思维机制,即专家分析问题、 解决问题的方法的一种算法表示和程序实现。
总之,知识库和推理机构成了一个专家系统的基本框架 同时,这两部分又是相辅相成、密切相关的因为不同的知识表示有不同的推理方式, 所以,推理机的推理方式和工作效率不仅与推理机本身的算法有关, 还与知识库中的知识以及知识库的组织有关 第 12 章 专 家系 统 3. 3. 动态数据库动态数据库 动态数据库也称全局数据库、综合数据库、工作存储器、 黑板等,它是存放初始证据事实、推理结果和控制信息的场所, 或者说它是上述各种数据构成的集合动态数据库只在系统运行期间产生、变化和撤消, 所以称为“动态”数据库, 且在图中用虚线包围 需要说明的是, 动态数据库虽然也叫数据库, 但它并不是通常所说的数据库, 两者有本质差异 第 12 章 专 家系 统 4. 4. 人机界面人机界面 这里的人机界面指的是最终用户与专家系统的交互界面 一方面, 用户通过这个界面向系统提出或回答问题, 或向系统提供原始数据和事实等; 另一方面, 系统通过这个界面向用户提出或回答问题, 并输出结果以及对系统的行为和最终结果做出适当解释 5. 5. 解释模块解释模块 解释程序模块专门负责向用户解释专家系统的行为和结果。
推理过程中, 它可向用户解释系统的行为, 回答用户“why”之类的问题,推理结束后它可向用户解释推理的结果是怎样得来的, 回答“how”之类的问题 第 12 章 专 家系 统 6. 6. 知识库管理系统知识库管理系统 知识库管理系统是知识库的支撑软件知识库管理系统对知识库的作用, 类似于数据库管理系统对数据库的作用, 其功能包括知识库的建立、删除、重组;知识的获取(主要指录入和编辑)、维护、查询、更新;以及对知识的检查, 包括一致性、冗余性和完整性检查等等 第 12 章 专 家系 统 图 12-2 专家系统的理想结构 第 12 章 专 家系 统 12.2.212.2.2 实际结构 实际结构 另一方面, 实际问题中往往不仅需要推理, 而且还需要作一些其他处理如在推理前也可能还需要作一些预处理(如计算), 推理后也可能要作一些再处理(如绘图), 或者, 处理和推理要反复交替多次, 或经多路进行等等这样以来, 就使得专家系统的实际结构可能变得多式多样例如, 可以有图 12-3所示的实际结构可以看出, 在这种实际结构中, 专家系统只作为整个系统的一个模块(称为专家模块)嵌套在一个实际的应用系统中, 而整个应用系统可能包含一个或者多个专家模块。
第 12 章 专 家系 统 图 12-3 专家系统的实际结构示例 第 12 章 专 家系 统 当然, 对于这种系统仍可称为专家系统, 但对于含有多于一个专家模块的系统, 实际上已是多专家系统(可能是多层的、 多路的、 多重的等)另外,从图 12-3可以看出, 给通常的各种应用系统添上专家模块也就是专家系统了 这就是说, 专家系统实际与我们通常的计算机应用系统应该是融为一体的 下面我们再举一个实际例子 如图 12-4 所示这是一个用于地质图件绘制的智能辅助系统, 其中就至少包含了两个专家模块, 一个是方法选择模块, 一个是图形评价模块 第 12 章 专 家系 统 图 12-4 地质图件绘制智能辅助系统结构 第 12 章 专 家系 统 方法选择就是绘图方法选择,也就是绘图算法选择这是绘图的第一步绘图的算法很多,如距离加权平均法、三角剖分法、克里金法等这些方法还可以再进行细分,其中克里金方法最为丰富, 它已形成一个体系所以,绘图时选择合适的方法就是关键的一步而这里就需要专家知识 图形绘出后, 还要进行评价,以确定该图件的可用性评价的原因是, 并非是只要按以上过程进行, 绘出的图形就是可用的。
事实上,由于地质状况的复杂性和不确定性,就是专家所绘出的图形, 也不能绝对肯定符合地下的实际换句话说, 我们所说的地质图件, 一般说来也只是对地下地质情况的某种近似描述如果经评价,发现图形有明显的违反地质理论或常识的地方,或者其误差超过了某一限度, 则该图形就不能使用了 那么, 怎样评价呢?这里也需要专家知识 第 12 章 专 家系 统 12.2.312.2.3 黑板模型 黑板模型 “黑板模型”是一种典型而流行的专家系统结构模式 黑板模型首先于1973~1976年在美国Carnegie-Mellon大学开发的HEARSAY-Ⅱ系统中创立, 又在HEARSAY-Ⅲ中得到发展, 后来被许多系统所效仿和采用, 现在已是一种十分流行的知识系统结构模式黑板模型主要由“黑板”、知识源和控制机构三大部分组成, 结构如图 12-5 所示 第 12 章 专 家系 统 图 12-5 黑板结构 第 12 章 专 家系 统 1. 1. 黑板黑板(blackboard)(blackboard) 所谓“黑板”,就是一个分层的全局工作区(或称全局数据库) 它用来存储初始数据、中间结果和最终结果。
整个黑板被分为若干层, 每一层用于描述领域问题的某一类信息 高层信息可以看作是下层信息的抽象(或整体),反之,下层信息可以看作是上层信息的实例(或部分) 第 12 章 专 家系 统 2. 2. 知识源知识源 (knowledge source)(knowledge source) 所谓知识源, 就是一个知识模块 黑板结构中具有多个知识源, 每个知识源能用来完成某些特定的解题功能知识源可以表示成过程、 规则集或逻辑断言等形式一个知识源可以视为一个大规则, 其条件部分称为知识源先决条件, 动作部分称为知识源体知识源的先决条件一旦与黑板状态匹配, 该知识源便被激活, 这时知识源体执行, 其结果将导致黑板状态的变化知识源之间互相独立,它们只能通过黑板进行通信和互相调用 第 12 章 专 家系 统 3. 3. 控制机构控制机构 控制机构是求解问题的推理机构, 由监督程序和调度程序组成监督程序时刻注视着黑板状态,根据黑板状态采用某种策略选择合适的知识源,将其条件部分放入调度队列, 随后条件部分与黑板状态匹配,若匹配成功, 则将其动作部分放入调度队列动作部分的执行便又改变了黑板状态。
调度程序通过选择所谓“聚焦”来优先使用队列中最重要、最有希望的知识源来执行 黑板模型是一种适时推理模型,即系统能按“最适宜”的原则自行决定什么时候和怎样使用知识在黑板模型中,解空间被组织成层次性结构, 层次结构中每一层上的信息都表示局部解,相应层次上的知识模块对这种信息进行处理, 生成更高级的局部解,直到最后的解 第 12 章 专 家系 统 理想的黑板模型中没有控制机制, 知识源含有领域知识且是自驱动的这样, 每个知识源都“注视”着黑板上的状态信息,而且能“适时”地决定是否要对黑板进行操作所以, 在理想黑板模型中, 各知识源实际上是并行执行的(这非常类似于现在的股票交易), 但在现有的串行环境下这种并行却难以实现 因此, 才增设了控制机制等方法把黑板变成串行系统(这又类似于拍卖过程) 当然, 这样就限制了黑板模型的潜在功效 第 12 章 专 家系 统 需指出的是,为了能在现有的串行硬件上保持黑板的并行能力, 人们在这方面做了不少工作, 提出了许多基于黑板的改进模型例如,多黑板、分布式、将面向对象方法与黑板模型相结合等, 从而有效地解决了黑板模型的并行处理能力, 并推出了新一代黑板系统及其开发工具。
由上所述可看出, 黑板模型可以看作是产生式系统的特殊形式 第 12 章 专 家系 统 黑板模型适于求解那些大型、复杂且可分解为一系列层次化的子问题的问题例如,在HEARSAY-Ⅱ中, 黑板被分为六个信息层, 每个信息层对应着问题的一个中间表示层次六个信息层分别为: (1) 参数层, 用于从语音信号中提取有意义的参数有四种不同的参数, 统称为ZAPDASH 参数 (2) 片段层,用于描述系统对语音信号的分割与归类 此层主要包含音素与单音等信息 第 12 章 专 家系 统 (3) 音节层, 用于描述语音信号的音节划分此层主要为由片段层上信息构成的音节信息 (4) 单词层, 用于记录根据音节划分所识别出的孤立词信息 (5) 词组层, 用于记录根据单词层中的词汇所生成的词组信息 (6) 短语层, 用于记录多个词汇或词组构成的短语和句子信息 第 12 章 专 家系 统 12.2.412.2.4 网络与分布式结构 网络与分布式结构 在网络环境下, 专家系统也可以设计成网络结构, 如“客户机/服务器”(Client/Server)结构(如图12-6(a)所示), 或浏览器/服务器(Browser/Server)结构(如图 12-6(b)所示)。
我们称后一种结构的专家系统为网上专家系统当然, 图 12-6所示的结构仅是一种示意性的概念模型, 而且它也仅是为了适应网络环境而做成的一种模式 分布式结构则是一种适合于分布式计算环境的专家系统 例如那些多学科、多专家联合作业, 协同解题的大型专家系统, 就可以设计成分布式结构 这类专家系统也就称为分布式专家系统 第 12 章 专 家系 统 图 12-6 专家系统的客户(机)/服务器结构及浏览器/服务器结构 第 12 章 专 家系 统 12.3 实实 例分例分 析析 12.3.1 12.3.1 PROSPECTORPROSPECTOR的功能与结构的功能与结构 PROSPECTOR的研究目的是:勘探矿产资源,扩大技术培训及集中多个专家的知识来解决给定的资源问题 PROSPECTOR系统给地质勘探人员提供下列几种帮助: (1) 勘探评价当地质工作者在某一地区获得了一些有意义的信息后,可求助于PROSPECTOR系统系统对这些信息进行分析和评价, 预测成矿的可能性, 并可指导用户下一步应采集哪些对判别矿藏存在与否有价值的信息 第 12 章 专 家系 统 (2) 区域资源评价。
系统采用脱机方式处理某一大范围区域的地质数据,这些数据按小区域划分列成表格形式系统处理这些数据的结果是给出这一大区域中某些资源的分布情况地质普查都属于这一类工作 (3) 井位选择当已知某一区域含有某种矿藏后, PROSPECTOR可以帮助地质工作者选择最佳钻井位置, 以避免不必要的浪费这时PROSPECTOR接受的输入是一张地质图, 这个图经过一个特殊的数字化仪数字化后,由系统的井位选择模型处理最后输出的是一张标有井位的地质图 第 12 章 专 家系 统 图12-7是PROSPECTOR系统的总体结构图系统的勘探知识以某种外部格式存储在磁盘中同样, 一个具有1000多个单词的分类学词典也存储在磁盘上每一次咨询开始时, 由一个叫做PARSEFILE的程序把这些外部表示转换成系统的内部表示形式——推理网络推理网络就是系统赖以完成咨询的知识库 系统中其他部分的作用如下: ——执行程序:作为人机接口负责接受用户输入的命令, 然后解释这些命令的含义, 并根据需要调用其他子系统 第 12 章 专 家系 统 ——英语分析程序:负责理解用户用自然语言输入的信息, 并将其转换成匹配程序可以使用的语义网络形式。
——匹配程序:使用分类学词典来比较各个语义空间的关系, 把用户提供的信息加入推理网络中或检查推理网络的一致性 ——传播程序:负责在推理网络中进行概率传播, 它实现系统的似然推理 ——提问系统:负责向用户提问, 要求用户输入数据 第 12 章 专 家系 统 ——解释系统:用于解答用户的询问 ——网络编译系统:为在井位选择推理网络中传播图形信息, 生成高效代码 ——知识获取系统: 在PROSPECTOR运行时可生成、 修改或保存推理网络第 12 章 专 家系 统 图 12-7 PROSPECTOR总体结构 第 12 章 专 家系 统 12.3.212.3.2 知识表示 知识表示 1. 1. 分类学网络分类学网络 最低一级网络是分类学网络(见图 12-8), 它的作用有些类似于MYCIN中的词典, 给出了系统所知道的1000多个词汇的用途及相互关系 例如, 由“关系”的节点为根的子树中所有词汇在描述知识时作为表示关系的词汇使用 除此之外, 分类学网络还给出了概念之间的从属关系, 它们由四种弧表示: 第 12 章 专 家系 统 图 12-8 分类学网络第 12 章 专 家系 统 :表示N2是N1的子集。
例如,火成岩是岩石的一类表示N2是N1的元素例如,FROM―OF是一个具体的关系既表示N2是N1的子集,说明N2与N1的其他用ds链接的子集是不相交的概念例如,年代和形态是系统中的两类词汇,但这两类词汇中没有相同的词汇,即它们没有共同的后代而硫化物和浊变物是相交的概念,它们有共同的后代黄铁矿第 12 章 专 家系 统 元素是不相同的 如果节点N1 、N2在分类学网络的同一条链上, 则称N1、N2是相容的此时,若N2是N1的后代, 则称N2是N1的限制; 反之则称N1是N2的限制 : 表示N2是N1的元素,且N2与N1的其他de型第 12 章 专 家系 统 2. 2. 分块语义网络分块语义网络 在PROSPECTOR中,陈述由分块语义网络表示分块语义网络是把整个网络划分成若干个块,每一块(称为语义空间)表示一句完整的话(陈述) 例如, “角闪石部分地转化为黑云母”, 可由图 12-9表示语义网络中共有三种节点:代表实体、过程和位置的节点(用圆表示), 代表关系的节点(用椭圆表示)和表示概念的节点(用方框表示)其中表示概念的节点实际上是分类学网络中的节点, 它们也可被其他空间(陈述)使用,所以把它们放在空间外面, 称其为外部参数。
语义网络中的弧用来指明各个关系的参量一般来说, 一个关系的各参量之间的次序是有意义的, 关系的第一个参量通常是该关系所描述的对象, 关系的其他参量通常是该对象的属性值 第 12 章 专 家系 统 图 12-9 语义空间 第 12 章 专 家系 统 每一个陈述都可以分解为若干个简单断言所谓简单断言指仅包含一个关系及其各参量的断言图8―9可分解为七个简单断言的集合: a1:存在一个实体E1 a2:E1的成分是角闪石 a3:存在一个实体E2 a4:E2的成分是黑云母 a5:存在一个过程P1 a6:在P1过程中,E1转化为E2 a7:在P1过程中,转化的程度是部分转化 分块语义网络中的空间还可以用逻辑连接词AND、OR、NOT连接成更大的语义空间,表示更复杂的陈述第 12 章 专 家系 统 3.推理网络推理网络 在PROSPECTOR中,判断性知识用规则表示每条规则的形式如下: E→H(LS,LN)其中LS、LN的作用有些类似于MYCIN系统中规则的可信度,它们用来反映证据E对假设H的影响程度。
LS∈[0, +∞), 它表示证据E出现时, 对假设H成立的支持程度: 当LS>1时, 表示证据E出现支持假设H成立; 当LS<1时, 表示证据E的出现反对假设H成立; 当 LS=1时, 证据E的出现与否对假设H成立的可能性无影响, 即E与H是无关的这三种情况分别相当于MYCIN中规则的CF大于0、小于0和等于0三种情况 LN∈[0,+∞),它表示证据E不出现时, 对假设H成立的支持程度:LN>1、LN<1和LN=1分别表示E不出现时, 它支持、 反对或不影响H成立 第 12 章 专 家系 统 与MYCIN系统不同,PROSPECTOR 系统的决策规则被明显地链接在一起形成一个有向图, 称为推理网络(见图 12-10) 推 理 网 络 中 的 节 点 是 各 个 语 义 空 间 ——称 为 超 节 点(Supernode), 弧代表规则,与每一条弧相联系的两个数字分别是该规则的LS和LN推理网络中每个超节点H都有一个先验概率P(H)(即在没有任何信息的情况下,H所代表的命题成立的概率) 随着信息E的输入, H的先验概率改变为后验概率P(H| E)(即已知E时,H成立的概率),当P(H|E)>P(H)时, 说明H在某种程度上成立; 当P(H|E)
因此, P(H)有些相当于MYCIN中的CF[H, S]=0的情况 第 12 章 专 家系 统 图 12-10 推理网络 第 12 章 专 家系 统 推理网络中每条规则的LS、LN及每个语义空间H的P(H)均由领域专家在建造知识库时提供 除了表示规则的弧外,推理网络中还有代表先后顺序的弧(用虚线表示,见图12-10),其意义如下::只有当P(E 1|S)>P(E 1)时,才考虑E2;只有P(E 1 |S)
推理网络的叶节点是一些可问空间所谓可问空间就是直接与用户的观察有关的语义空间, 即它们的后验概率可通过向用户提问获得类似地,后验概率可由系统推出的空间(即作为某些规则结论部分的空间)被称为可推空间注意, 可问空间和可推空间并不互相排斥, 一个空间可同时既是可问的,又是可推的 分类学网络、语义网络和推理网络交织在一起构成了PROSPECTOR的知识库 这三种网络在知识库中的关系如图 12-11所示 第 12 章 专 家系 统 图 12-11 知识库中三种网络的关系 第 12 章 专 家系 统 12.3.3 推理模型推理模型 系统运行时,当用户输入一个证据E并且指出在它的观察S下E成立的后验概率是P(E|Se)时, PROSPECTOR首先在推理网络中找出以E为前提或前提中包含E的规则R; 若R的前提是若干命题的逻辑组合, 则首先利用公式(8-4)、(8-5)、(8-6)计算R的前提的总概率;然后用公式(8-11)、(8-12)、(8-13)计算在R的作用下规则的结论H的后验概率; 最后利用公式(8-20)计算出所有以H为结论的规则的后验概率P(H|S)=P(H|SH)。
计算出P(H|SH)后,PROSPECTOR系统再从推理网络中找出所有前提中包含H的规则前提R′并对R′重复以上过程PROSPECTOR就这样不断地将规则前提的后验概率沿推理网络中规则弧传到规则的结论部分, 修改该结论的后验概率, 直至将P(E|Se)的影响传到推理网络的顶层语义空间为止这一过程称为概率传播, 它由传播程序完成 第 12 章 专 家系 统 但由于用户不知道领域专家在建造知识库时为每个可询问空间E指定的先验概率是多少, 所以让用户以P(E|Se)的方式提供证据E的后验概率可能会导致系统错误地理解用户的意图 例如, 设P(E)=0.5,当系统向用户询问E时, 用户想告诉系统E 以某种程度为真, 但因为它不知道领域专家给出的先验概率P(E)是多少,他可能提供P(E|Se)=0.4,系统对这个信息的理解变成了E以某种程度为假[(P(E)>P(E| Se)], 这与用户本来的意图相左为了避免这种情况, 类似于解决主观概率不一致的方法, 引入分段线性插值函数C(E| Se): 第 12 章 专 家系 统 若P(E)
0 (12-2) 其中C(E|Se)∈[-5,5]。
第 12 章 专 家系 统 当 C(E|Se)> 0时 ,P(E|Se)> P(E);当 C(E|Se)≤0时 , P(E| Se)≤P(E) 因此,用户实际上用C(E| Se)≤0来指明对他所提供的信息的信任程度当他相信E以某种程度为真时, 指定一个大于0的C(E| Se);当他相信E以某种程度为假时, 指定一个小于0的C(E|Se)系统利用公式(12-1)将其自动转换成相应的P(E| Se),确保系统不会错误地理解用户的意图 同样,系统向用户显示结论H时,用公式(12-2)将后验概率P(H|S)转化为C(H|S)提供给用户 第 12 章 专 家系 统 12.3.412.3.4 控制策略 控制策略 1. 1. 正向推理正向推理 PROSPECTOR的正向推理实际上就是概率传播, 它由传播程序完成每当用户输入一个证据E及其后验概率P(E|S),传播程序就利用主观Bayesian方法,将P(E|S)的影响沿推理网络传播, 修改更高层次上语义空间的后验概率, 直至将P(E|S)的影响传至顶层空间传播程序传播后验概率的方法如前所述 第 12 章 专 家系 统 2. 主动式推理主动式推理 咨询开始时,用户可根据自己的观察为系统提供信息。
PROSPECTOR在这方面为用户提供了很大的灵活性, 用户不仅可以输入有关可问空间的信息,还可以输入关于推理网络任意层次上的假设空间的信息这种方法有利于充分发挥用户的作用, 加快推理速度例如,H是推理网络中的一个非可问空间,如果用户根据他的观察已经很明显地看出H是成立的, 那么他可直接告诉系统H成立, 这就可以减少系统关于H的推理, 而直接在已知H成立的基础上进行推理不仅在咨询开始时, 而且在咨询的任意时刻,用户都可以以这种方式为系统提供信息 这种方法称为主动式推理 第 12 章 专 家系 统 3. 3. 反向推理反向推理 当正向推理(概率传播)结束后, 如果系统已能确定存在某种矿藏, 则输出结果;否则进入反向推理过程反向推理由提问系统负责, 它为断定某种矿藏的成矿可能性寻求有关的数据 因此反向推理实际上要完成两个任务: (1) 应优先考虑哪个顶层假设, 这主要根据评判函数Jh来选择 (2) 应向用户询问哪个空间, 这主要根据评判函数J*来选择 第 12 章 专 家系 统 进入反向推理后, 提问系统首先用Jh函数为推理网络中的所有顶层空间打分, 并从中选出得分最高者作为反向推理的目标。
然后提问系统用J*函数为所有以这个空间为结论的规则打分, 并选择得分最高的规则的前提空间作为反向推理的下一级子目标若该子目标是一个可问空间, 则向用户提问; 当用户提供的可信度的绝对值大于1时, 将该空间标记为“不可用”的, 并转向正向推理, 传播概率; 否则继续用J*进行反向推理, 直至达到某一可问空间为止 第 12 章 专 家系 统 12.3.512.3.5 解释系统 解释系统 PROSPECTOR的解释系统可以为用户提供几种不同类型的解释最简单的一种是允许系统在咨询的任何时刻检查推理网络中某个语义空间的后验概率其次解释系统可以向用户显示推断某一结论所使用的规则用户还可以检查某一数据对推理网络中任一特定空间概率的影响这种解释可以为用户提供两种很有意义的信息首先,系统可以通过这种解释能力告诉用户,它所采集到的数据中哪些是最有意义的;其次, 系统可以提示用户需要进一步采集的有意义的数据是什么 第 12 章 专 家系 统 图 12-12 建立专家系统的一般步骤 第 12 章 专 家系 统 12.4 系统设计与实现系统设计与实现 12.4.112.4.1 一般步骤与方法 一般步骤与方法 由于专家系统也是一种计算机应用系统,所以,一般来说, 其开发过程也要遵循软件工程的步骤和原则, 即也要进行系统分析、 系统设计等几个阶段的工作。
但又由于它是专家系统, 而不是一般的软件系统, 所以,又有其独特的地方 如果我们仅就“纯专家系统”而言, 则其设计与实现的一般步骤可如图12-12所示 第 12 章 专 家系 统 由图12-12可以看出, 专家系统的开发有如下特点: (1) 知识获取与知识表示设计是一切工作的起点 (2) 知识表示以及知识描述语言确定后, 各项设计(图中并列的六个设计)可同时进行 第 12 章 专 家系 统 还需说明的是: (1) 对于一个实际的专家系统, 在系统分析阶段就应该首先弄清楚:系统中哪里需要专家知识, 专家知识的作用是什么? 以及系统中各专家模块的输入是什么? 处理是什么?输出又是什么? (2) 系统投入运行后, 一般来说, 其知识库还需不断扩充、更新、完善和优化, 所以专家系统的开发更适合采用快速原型法 (3) 对系统的评价主要看它解决问题是否达到专家水平 (4) 上述的所谓“纯专家系统”就是一个实际专家系统中的专家模块部分那么,对于系统其他部分的分析与设计,原则上讲, 与一般计算机应用系统完全一样, 即可按软件工程规范和程序进行。
第 12 章 专 家系 统 12.4.212.4.2 快速原型与增量式开发 快速原型与增量式开发 所谓快速原型与增量式开发, 就是在开发一个大型软件系统之前,先尽快地建立一个简单的小型的系统“模型”——称之为系统原型;然后,对原型进行扩充,即在原型的基础上进行的继续开发,即增量式开发,这样像滚雪球似地直至完成整个系统 快速原型法的优点是, 利用系统原型, 开发者可以更好地分析和理解系统;用户也能尽快看到系统的概貌,以便及早反馈有关信息, 使后面的工作少走弯路;同时,也方便了开发者和用户的相互交流 快速原型法特别适合专家系统的开发许多专家系统都开始于一个演示原型,然后经过不断地扩充和完善,最终达到实用阶段 第 12 章 专 家系 统 12.4.312.4.3 知识获取 知识获取 知识获取是建造专家系统的关键一步, 也是较为困难的一步, 被称为建造专家系统的“瓶颈”知识获取大体有三种途径 1. 1. 人工获取人工获取 人工获取, 即计算机人员(或知识工程师)与领域专家合作, 对有关领域知识和专家知识,进行挖掘、搜集、分析、综合、 整理、 归纳, 然后以某种表示形式存入知识库。
第 12 章 专 家系 统 2. 2. 半自动获取半自动获取 半自动获取, 即利用某种专门的知识获取系统, 采取提示、 指导或问答的方式, 帮助专家提取、归纳有关知识, 并自动记入知识库 3. 3. 自动获取自动获取 自动获取又可分为两种形式:一种是系统本身具有一种机制, 使得系统在运行过程中能不断地总结经验,并修改和扩充自己的知识库;另一种是开发专门的机器学习系统,让机器自动从实际问题中获取知识, 并填充知识库 第 12 章 专 家系 统 12.4.412.4.4 知识表示与知识描述语言设计 知识表示与知识描述语言设计 知识表示与知识描述语言设计是根据所获得知识的特点, 选择或设计某种知识表示形式,并为这种表示形式设计相应的知识描述语言所谓知识描述语言, 就是知识的具体语法结构形式所以,知识描述语言既要面向人、面向用户, 又要面向知识表示、面向机器, 还要面向推理、面向知识运用这就要求知识描述语言既能为用户提供一种方便、易懂的外部知识表达形式, 又能将这种外部表示转换成容易存储、 管理、 运用的内部形式 第 12 章 专 家系 统 知识描述语言可以利用现有的程序设计语言(如PROLOG、 LISP、C等)提供的数据结构或语句来实现, 也可以选用专用的知识描述语言(如产生式语言OPS、框架语言FRL等)或现成的专家系统工具(如M.1 S.1 EMYCIN等), 也可以自己动手进行设计。
例如,我们曾设计了一种基于框架的模糊知识描述语言, 它可以实现多种知识的描述 例如, 苹果(类属(水果),形状(圆(0.8)),颜色(红(0.9),黄(0.8)),味道(甜(0.9))) 就描述了一个“苹果”框架 第 12 章 专 家系 统 12.4.512.4.5 知识库与知识库管理系统设计 知识库与知识库管理系统设计 1. 1. 知识库设计知识库设计 知识库设计主要是设计知识库的结构, 即知识的组织形式 专家系统(或知识工程)中所涉及的知识库, 一般取层次结构或网状结构模式这种结构模式是把知识按某种原则进行分类, 然后分块分层组织存放, 如按元知识、专家知识、 领域知识等分层组织;而每一块和每一层还可以再分块分层 这样, 整个知识库就呈树型或网状结构例如, 图12-13所示的就是一个医疗诊断知识库的层次结构 第 12 章 专 家系 统 图 12-13 医疗诊断知识库层次结构 第 12 章 专 家系 统 知识库的这种层次结构,可方便知识的调度和搜索(因为可通过上层知识调度或搜索下层知识),从而使得推理时知识的调度灵活、 迅速, 故而可加快推理速度另外,知识的分块存放, 还可使知识库容量增大(仅受磁盘空间限制)。
我们这里所说的元知识,是指关于知识的知识, 即管理、 调度领域知识和专家知识的知识例如, “如果有肝病的症状, 则调肝病知识子库(进一步确诊)”就是一条元知识当然,元知识也是相对而言的例如,图 12-13中位于上层知识库中知识就是其下层知识库中知识的元知识 第 12 章 专 家系 统 2. 2. 知识库管理系统设计知识库管理系统设计 1) 知识操作功能设计 知识操作功能包括知识的添加、删除、修改、查询和统计等 这些功能可采用两种方法来实现一种方法就是利用屏幕窗口, 通过人机对话方式实现知识的增、删、改、查等; 另一种方法就是用全屏幕编辑方式, 让用户直接用键盘按知识描述语言的语法格式编辑知识 第 12 章 专 家系 统 2) 知识检查功能设计 知识检查包括知识的一致性、完整性、冗余性等检查 所谓知识的一致性,就是知识库中的知识必须是相容的, 即无矛盾例如,下面的两条规则 r1: if P then Qr2: if P then ﹁Q 就是矛盾的那么, 像这样的规则就不能同时存在于一个知识库中 第 12 章 专 家系 统 所谓完整性,是指知识中的约束条件, 称为完整性约束。
例如, 小王的身高为x米, 则必须满足:x<3米;又如,弟弟今年x岁,哥哥今年y岁, 则必须满足x
需要说明的是,上面关于知识库及其管理系统的叙述, 是从专家系统角度出发的事实上,关于知识库及其管理系统, 人们还从另一个方向——数据库出发,进行了研究 第 12 章 专 家系 统 从数据库出发来研究知识库,是把知识库作为数据库的发展看待的这样, 便可以从数据库和数据库管理系统中取得借鉴和启发,来设计知识库和知识库管理系统在这方面目前有两个重要的研究方向:一个是从面向对象的数据库系统出发来研究面向对象的知识库系统;另一个是由主动数据库得到启发来研究主动知识库 第 12 章 专 家系 统 一个主动知识库系统可定义为一个传统知识库系统之外再加一个事件驱动规则库, 及其相应的事件监视器其中事件库由系统和用户定义的各种事件驱动的规则组成这样,整个系统中的知识被分成了两部分一部分称为“被动知识”, 即传统知识库中的知识,它们是供知识引擎(或推理机)在解题过程中使用的; 另一部分称为“主动知识”, 它是由上述事件驱动规则组成的 这些主动知识受系统中一个“事件监视器”的监视控制,该事件监视器主动地时刻监视着知识库,一旦发觉某事件发生时, 就立即触发其后的规则,从而引发所需动作的执行。
这样, 用户可通过设置不同的事件驱动规则, 以一种统一的机制实现许多知识管理功能,例如, 对知识库的动态监视, 知识库的完整性、一致性检查,例外情况处理, 推理示踪, 知识库分块处理, 元知识或深层知识的自动切换,实现某些实时功能, 多知识库合作解题,分布知识库系统中的同步与通讯,乃至推理或搜索策略的自动切换和推理中“黑板”内容的自动切换等等, 应用将十分广泛 第 12 章 专 家系 统 12.4.612.4.6 推理机与解释机制设计 推理机与解释机制设计 1. 1. 从哪里着手从哪里着手 推理机是与知识库对应的专家系统的另一重要部件推理机的推理是基于知识库中的知识进行的所以,推理机就必须与知识库及其知识相适应、相配套 具体来讲, 就是推理机必须与知识库的结构、层次以及其中知识的具体表示形式等相协调、相匹配否则, 推理机与知识库将无法接轨因此, 设计推理机时, 首先得对知识库有所了解例如, 知识库中有无元知识? 所有知识是否分模块存放? 知识库的结构是集中式的, 还是分布式的? 是树型的,还是网状的?又如, 知识的表示是产生式、谓词, 还是框架、语义网?还有, 库中的知识是确定性的,还是不确定性的等等。
然后,再考虑推理机的设计 第 12 章 专 家系 统 2. 2. 还应考虑些什么还应考虑些什么 对推理机本身而言, 还要考虑推理的方式、方法和控制策略等 例如, 对于推理方式, 是正向推理, 还是反向推理或双向推理? 是精确推理, 还是不精确推理?是串行推理, 还是并行推理? 是单调推理, 还是非单调推理?又如, 对于推理方法, 是用归结法, 还是用自然演绎法?对于不精确推理采用什么样的推理模型? 还有,对于搜索控制, 是采用深度优先还是广度优先,对于冲突消解是依据优先数, 还是可信度或程度(即隶属度)等等 第 12 章 专 家系 统 3. 3. 算法设计与程序设计算法设计与程序设计 做了上述的分析以后,就可着手设计推理机的算法了 对于一个基于规则的系统来说,其推理机也就相当于产生式系统中的执行控制部件, 所以其运行过程也就是产生系统的运行过程, 因此,前面产生式系统所采用的算法, 或者图搜索中所用的算法也就是这里的推理机所用的算法 算法确定后, 就可进行程序设计至于推理机用何种程序语言实现, 这个并无什么限制, 如可以用传统的LISP或PROLOG语言, 也用当前流行的C或C++语言。
第 12 章 专 家系 统 4. 4. 解释机制如何实现解释机制如何实现 另外, 在推理机的设计中还得考虑解释机制 因为专家系统一般要求要有解释功能即在推理中要能回答用户“为什么”的问题, 在推理结束后, 要能回答“怎么样(得到结果)”的问题 从系统结构讲, 一般是把解释作为一个独立的模块, 但实际上解释功能也是与推理机密切相关的因为要解释就必须对推理进行实时跟踪所以我们说, 解释模块也可作为推理机的一部分 但需说明的是, 解释的方式还可以分为两种: 一种是直接输出推理跟踪的结果,另一种则是以跟踪结果为索引, 输出另外的预制文本 所谓预制文本, 就是事先将解释的内容(一般就是相关规则的内容)以自然语言或领域中的专业语言形式存储在一个文件上, 以供解释时调用 第 12 章 专 家系 统 12.4.712.4.7 系统结构设计 系统结构设计 对一个专家系统来说, 其体系结构非常重要虽然从原理来讲,专家系统由知识库、推理机等部分组成, 但由于受问题领域、系统规模、知识表示方法、知识库结构以及其他特殊性等诸多因素的影响,故专家系统的体系结构难以形成固定的模式。
一般来讲, 有诸如独立式(一个“纯”专家模块)、 混合式(还有其他处理模块)、集中式、分布式、层次式以及“黑板模型”等 第 12 章 专 家系 统 对一个具体的专家系统采用什么结构形式, 要视具体情况而定例如, 随着社会、生产、工程、科研、经济等的不断发展, 开发大型知识系统已日趋迫切对于大型知识系统, 人们提出了多级专家系统和多库协同系统的体系结构方案 多级专家系统是由总体专家系统和专业专家系统组成的一个树型结构多库协同系统的典型是四库协同系统四库是指: 知识库、数据库、模型库和方法库根据对这四个库的不同组织形式,四库系统又可分为“知识主导型”、“模型驱动型”和“数据基础型”等类型 可以看出,大型知识系统已超出了“纯”专家系统的范畴,而与传统的管理信息系统、决策支持系统等相融合了 第 12 章 专 家系 统 12.4.812.4.8 人机界面设计 人机界面设计 人机界面对于一个实用专家系统(特别是咨询型知识系统)来说至关重要一个专家系统一般有两个人机界面:一个是面向系统开发和维护者的;一个是面向最终使用者的前一个界面由开发工具提供;后一个则是专家系统自身的一部分。
由于图形用户界面(GUI)的广泛使用, 所以目前专家系统的开发界面已达到相当高的水平而专家系统的使用界面相对还比较落后这是因为,使用界面往往要涉及“人机对话”, 如人对系统的询问、系统对人的回答,特别是系统对用户的解释 显然, 最好的对话方式莫过于使用自然语言但这又要涉及到自然语言理解,而自然语言理解目前还是一个未攻克的课题 所以,当前的“人机对话”多以受限的自然语言形式进行, 即仅在本系统所涉及的那些有限的词汇和简单的语法及语义范围内进行人机对话例如, 下面就是某石油专家系统人机对话中的三个自然语言问句: 第 12 章 专 家系 统 (1) Please tell me the depth of well no.2? (2) What is the depth of well no.2? (3) May you tell me the depth of well no.2?对于这三个问句, 系统均能给出正确的回答, 且是同一个答案 这类自然语言接口, 常用的技术有关键词匹配法和模式匹配法这两种方法是最早发展起来的自然语言理解技术这类方法没有严格的语言文法, 系统通过把输入的句子同给定的关键词或句法模式进行匹配, 若匹配成功, 则句子就算被理解。
第 12 章 专 家系 统 12.5 开发工具与环境开发工具与环境 12.5.112.5.1 开发工具 开发工具 1. 1. 面向面向AIAI的程序设计语言的程序设计语言 面向AI的程序设计语言包括LISP、PROLOG等由于这些语言与领域无关, 因此它们的通用性强, 且使用灵活, 限制少, 用户能“随心所欲”地设计自己的系统但由于一切皆要“从头做起”, 故开发周期长、效率低 由于面向对象程序设计语言(如Smalltalk、C++)以其类、对象、继承等机制, 而与人工智能特别是知识表示与知识库产生了天然的联系因而,现在面向对象型语言也成为一种人工智能程序设计语言, 面向对象程序设计也被广泛引入人工智能程序设计, 特别是专家系统程序设计 第 12 章 专 家系 统 2. 2. 知识表示语言知识表示语言 这是针对知识工程发展起来的程序设计语言, 因此也称知识工程语言 这些语言并不与具体的体系和范例有紧密联系, 也不局限于实现任一特殊的控制策略, 因而便于实现较广泛的问题 针对不同知识类型和知识表示, 人们开发了若干种知识表示语言, 如产生式语言系统OPS5、 基于框架理论的知识表示语言FRL、UNITS等。
特别是多知识表示语言LOOPS,它集中了4种编程方式, 即面向对象、面向数据、 面向规则和它们的组合在面向过程的语言INTERLISP-D程序设计环境下, 它允许设计者选择最适合其目的的那种方式 第 12 章 专 家系 统 3. 3. 外壳系统外壳系统 外壳系统亦称为骨架(frame), 这种工具通常提供知识获取模块、推理机制、解释功能等, 只要加上领域专门知识, 即建立起知识库就可以构成一个专家系统 这类系统典型的代表有EMYCIN、KAS和EXPERT等国内也开发出了不少这类工具系统显然, 使用这种工具, 开发效率最高, 但限制也更多, 灵活性最差 第 12 章 专 家系 统 4. 4. 组合式构造工具组合式构造工具 这种工具向用户提供多种知识表示方法和多个推理控制机构, 使用户可以选择各种组成部件, 非常方便地进行组合, 来设计、建造自己所需的专家系统这类系统的典型代表有AGE等 第 12 章 专 家系 统 5. 5. 专家系统工具专家系统工具ESTEST ESL是融过程性和描述性于一体,把知识推理同其他数据处理相结合, 模块化的程序设计语言。
具体来讲,ESL 是将人工智能的自动推理和搜索等功能嵌套于过程性语言之中, 而ESL的语句和所处理的知识(事实和规则)本身又都是用一阶谓词描述的这样, 就把计算机的数值计算, 数据处理, 图形声音以及流程控制等功能同搜索、推理功能有机地结合在一起, 把传统程序同知识系统有机地结合在一起, 这就为设计实用专家系统提供了方便, 从而可使用户能非常灵活方便地设计自己的实际专家系统, 如定义系统的运行流程和工作方式, 设置屏幕布局和菜单, 实现多次推理、多层推理和多路推理, 设计各种各样的输入输出、运行外部程序, 进行必要的数值计算和数据处理, 设计必要的图形和声音等等第 12 章 专 家系 统 面就是一个用EST开发的一个小型专家系统示例:work(main): {主程序} make window(1,117,0,"d",3,10,4,30),nl,{定义主窗口} write("微机故障诊断专家系统"),nl,nl, make window(2,27,0,"a",9,40,1,16) read char(-), dialog(yes), {开人机对话} meta KB(kb0), {将元知识调入内存} goal trouble(Y), {推理目标} reasoning(backward), {启动反向推理机}第 12 章 专 家系 统 上面的各类工具, 是按其使用方式划分的。
但事实上, 工具系统还与应用领域有关, 现在的知识系统工具基本上都是针对某一专门领域的 所以, 如果按用途来分类, 知识系统工具又可分为:医疗诊断型、故障诊断型、图形专家系统工具、 金融专家系统工具、气象预报专家系统工具、 辅助设计专家系统工具等等 第 12 章 专 家系 统 “通用”是工具系统追求的目标, 但通用与专用又是一组矛盾, 如果只考虑通用性,势必会丢掉某些专用的特色,从而又影响了工具自身的应用价值 所以,知识系统开发工具目前的发展方向是, 在不影响专用性的前提下, 尽量提高通用性因此,组合式、开放式的工具系统是当前这一领域的重要课题这种组合式、开放式的工具系统应具有多知识表示, 多推理机制, 多控制策略, 多学习方法, 多解释形式, 多界面, 能灵活组装, 并具有用户接口(以便用户选择、取舍、 增添新的特殊功能), 最终形成一个完善的知识系统开发环境 第 12 章 专 家系 统 12.5.212.5.2 开发环境 开发环境 随着专家系统技术的普及与发展,人们对开发工具的要求也越来越高一个好的专家系统开发工具应向用户提供多方面的支持, 包括从系统分析、知识获取、程序设计到系统调试与维护的一条龙的服务。
于是, 专家系统开发环境便应运而生 专家系统开发环境就是集成化了的专家系统开发工具包 提供的功能主要有: (1) 多种知识表示:至少提供两、三种以上知识表示,如逻辑、框架、对象、过程等 (2) 多种不精确推理模型:即提供多种不精确推理模型, 可供用户选用最好还留有用户自定义接口 第 12 章 专 家系 统 (3) 多种知识获取手段:除了必需的知识编辑工具外, 还应有自动知识获取即机器学习功能,以及知识求精手段 (4) 多样的辅助工具: 包括数据库访问、 电子表格、 作图等工具 (5) 多样的友好用户界面:包括开发界面和专家系统产品的用户界面, 应该是多媒体的,并且有自然语言接口 (6) 广泛的适应性: 能满足多种应用领域的特殊需求, 具有很好的通用性 第 12 章 专 家系 统 12.6 专家系统的发展专家系统的发展 12.6.1 12.6.1 深层知识专家系统深层知识专家系统 深层知识专家系统, 即不仅具有专家经验性表层知识, 而且具有深层次的专业知识这样, 系统的智能就更强了, 也更接近于专家水平了例如一个故障诊断专家系统, 如果不仅有专家的经验知识, 而且也有设备本身的原理性知识, 那么, 对于故障判断的准确性将会进一步提高。
要做到这一点, 这里存在一个如何把专家知识与领域知识融合的问题 第 12 章 专 家系 统 12.6.2 12.6.2 模糊专家系统模糊专家系统 模糊专家系统主要特点是通过模糊推理解决问题的这种系统善于解决那些含有模糊性数据、信息或知识的复杂问题, 但也可以通过把精确数据或信息模糊化, 然后通过模糊推理进行处理的复杂问题 这里所说的模糊推理包括基于模糊规则的串行演绎推理和基于模糊集并行计算(即模糊关系合成)的推理对于后一种模糊推理, 其模糊关系矩阵也就相当于通常的知识库, 模糊矩阵的运算方法也就相当于通常的推理机 第 12 章 专 家系 统 图 12-14 模糊控制系统结构 第 12 章 专 家系 统 12.6.3 12.6.3 神经网络专家系统神经网络专家系统 利用神经网络的自学习、自适应、分布存储、联想记忆、 并行处理, 以及鲁棒性和容错性强等一系列特点, 用神经网络来实现专家系统的功能模块 神经网络专家系统的一般结构如图 12-15所示这种专家系统的建造过程是:先根据问题的规模, 构造一个神经网络, 再用专家提供的典型样本规则, 对网络进行训练, 然后利用学成的网络, 对输入数据进行处理, 便得到所期望的输出。
第 12 章 专 家系 统 图 12-15 神经网络专家系统概念结构 第 12 章 专 家系 统 可以看出, 这种系统把知识库融入网络之中, 而推理过程就是沿着网络的计算过程而基于神经网络的这种推理, 实际是一种并行推理 这种系统实际上是自学习的, 它将知识获取和知识利用融为一体, 而且它所获得的知识往往还高于专家知识, 因为它所获得的知识是从专家提供的特殊知识中归纳出的一般知识 第 12 章 专 家系 统 12.6.4 12.6.4 大型协同分布式专家系统大型协同分布式专家系统 这是一种多学科、多专家联合作业, 协同解题的大型专家系统,其体系结构又是分布式的,可适应分布和网络环境 具体来讲,分布式专家系统的构成可以把知识库分布在计算机网络上,或者把推理机制分布在网络上, 或者两者兼而有之 此外,分布式专家系统还涉及问题分解、问题分布和合作推理等技术 问题分解就是把所要处理的问题按某种原则分解为若干子问题问题分布是把分解好的子问题分配给各专家系统去解决合作推理就是分布在各节点的专家系统通过通信, 进行协调工作,当发生意见分歧时,甚至还要辩论和折衷。
第 12 章 专 家系 统 12.6.5 12.6.5 网上网上( (多媒体多媒体) )专家系统专家系统 网上专家系统就是建在Internet上的专家系统, 其结构可取浏览器/服务器模式,用浏览器作为人机接口, 而知识库、 推理机和解释模块等则安装在服务器上 多媒体专家系统就是把多媒体技术引入人机界面, 使其具有多媒体信息处理功能, 并改善人机交互方式, 进一步增强专家系统的拟人性效果 将网络与多媒体相结合,则是专家系统的一种理想应用模式, 这样的网上多媒体效果将使专家系统的实用性大大提高 第 12 章 专 家系 统 12.6.6 12.6.6 事务处理专家系统事务处理专家系统 事务处理专家系统是融入专家模块的各种计算机应用系统, 如财物处理系统、管理信息系统, 决策支持系统、 CAD系统、CAI系统等等这种思想和系统, 打破了将专家系统孤立于主流的数据处理应用之外的局面, 而将两者有机地融合在一起 事实上, 也应该如此, 因为专家系统并不是什么神秘的东西, 它只是一种高性能的计算机应用系统这种系统也就是要把基于知识的推理, 与通常的各种数据处理过程有机地结合在一起。
幸好, 当前迅速发展的面向对象方法, 将会给这种系统的建造提供强有力的支持 第 12 章 专 家系 统 习习 题十题十 二二 1. 何谓专家系统?它有哪些基本特征? 2. 专家系统的主要类型有哪些? 3. 专家系统包括哪些基本部分? 每一部分的主要功能是什么? 试画出专家系统的一般结构图 4. 试述专家系统的应用和发展情况 5. 试述开发专家系统的一般步骤与方法 6. 什么是知识获取? 知识获取有哪些途径与方法? 7. 非自动知识获取与自动知识获取的区别是什么?第 12 章 专 家系 统 8. 什么是知识的组织? 在确定知识的组织方式时应遵守哪些基本原则? 9. 知识的管理主要包括哪几方面的内容? 10. 试画出知识库管理系统的结构图 11. 什么是元知识? 它的作用是什么? 12. 何谓知识的一致性与完整性? “不一致”有哪些表现形式? 处理的方法是什么? 13. 推理机的设计知识表示与知识库有什么关系? 14. 专家系统有哪些典型的结构形式? 15. 专家系统开发工具有哪几类? 。