《人工智能课件8之专家系统.ppt》由会员分享,可在线阅读,更多相关《人工智能课件8之专家系统.ppt(35页珍藏版)》请在三一办公上搜索。
1、1,7.5.1 专家系统的建造原则(1)恰当地划定求解问题的领域系统的设计目标领域专家的知识面及水平(2)获取完备的知识 完备的知识指其数量能满足问题求解的需要,质量上要保证知识的一致性以及完整性。(3)知识库与推理机分离:可实现正向、逆向、混合推理。,7.5 专家系统设计与实现,2,(4)选择、设计合适的知识表示模式: 充分考虑领域知识的特点,表示模型与推理模型统筹。(5)推理应能模拟领域专家求解问题的思维过程。(6)建立友好的交互环境。(7)渐增式的开发策略。,7.5 专家系统设计与实现,7.5 专家系统设计与实现,7.5.2 一般步骤与方法 由于专家系统也是一种计算机应用系统,所以,一般
2、说来,其开发过程也要遵循软件工程的步骤和原则,即也要进行系统分析、系统设计等几个阶段的工作。但又由于它是专家系统,而不是一般的软件系统,所以,又有其独特的地方。如果我们仅就“纯专家系统”而言,则其设计与实现的一般步骤可如图所示。,由图可以看出,专家系统的开发有如下特点: (1)知识获取与知识表示设计是一切工作的起点; (2)知识表示以及知识描述语言确定后,各项设计(图中并列的六个设计)可同时进行。 还需说明的是: (1)对于一个实际的专家系统,在系统分析阶段就应该首先弄清楚:系统中哪里需要专家知识,专家知识的作用是什么?以及系统中各专家模块的输入是什么?处理是什么?输出又是什么?,7.5 专家
3、系统设计与实现,(2)系统投入运行后,一般来说,其知识库还需不断扩充、更新、完善和优化。所以专家系统的开发更适合采用快速原型法。 (3)对系统的评价主要看它解决问题是否达到专家水平。 (4)上述的所谓“纯专家系统”就是一个实际专家系统中的专家模块部分。那么,对于系统其他部分的分析与设计,原则上讲,与一般计算机应用系统完全一样,即可按软件工程规范和程序进行。,7.5 专家系统设计与实现,7.5.3 知识获取,7.5 专家系统设计与实现,知识获取是建造专家系统的关键一步,也是较为困难的一步,被称为建造专家系统的“瓶颈”。,目前,专家系统的知识获取一般是由知识工程师与专家系统中的知识获取机构共同完成
4、的。至今仍无一种可以完全代替知识工程师的自动化方法。,7,知识获取的基本任务是为专家系统获取知识,建立起健全、完善、有效的知识库,以满足领域问题求解的需求。为此,需要做以下几项工作。抽取知识知识的转换知识的输入知识的检测,7.5 专家系统设计与实现,1、知识获取的基本任务,8,抽取知识是指把蕴含于知识源(领域专家、书本、相关论文、经验数据)中的知识经识别、理解、筛选、归纳等处理后抽取出来,以便用于知识库的建立。通常,知识并不是以某种现成的形式存在于知识源中的。例如,对领域专家往往缺少对自己经验的总结与归纳,甚至是只可意会不可言传的。另一方面,系统能够在自身的运行实践中通过机器学习功能从已有知识
5、或实例中演绎、归纳出新知识,系统自身必须具有一定的“学习”能力。,1). 抽取知识,7.5 专家系统设计与实现,9,通常,知识是以自然语言、图形、表格等形式表示的,而知识库中的知识则是用计算机能够识别的形式来表示的,二者之间有很大差别。把抽取的知识转换为某种知识表示形式(知识工程师)。把该模式的知识转换为系统内部形式(输入编译)。,2). 知识的转换,7.5 专家系统设计与实现,10,把用某种知识表示方法表示的知识经编辑、编译送入知识库的过程称为知识输入。知识的输入一般有两条途径:利用计算机系统提供的编辑软件。优点是简单、方便,无须编制专门程序即可直接使用。利用专门编制的知识编辑系统。优点是针
6、对性、实用性强,更符合知识输入的要求。,3). 知识的输入,7.5 专家系统设计与实现,11,在上述建立知识库的过程中,无论哪一步出现错误,都会直接影响到专家系统的性能。因此,必须对知识库进行检测,以便尽早发现和纠正可能出现的错误。检测的主要任务是知识库中知识的一致性和完整性。,4). 知识的检测,7.5 专家系统设计与实现,12,首先由知识工程师从领域专家或其他知识源获取知识然后再由知识工程师用某种知识编辑软件把它送到知识库中。,知识工程师,知识编辑器,阅读,知识库,对话,科技文献领域专家,2.人工获取 人工获取,即计算机人员(或知识工程师)与领域专家合作,对有关领域知识和专家知识,进行挖掘
7、、搜集、分析、综合、整理、归纳,然后以某种表示形式存入知识库。,7.5 专家系统设计与实现,13,3、自动知识获取所谓自动知识获取是指系统自身具有获取知识的能力,它不仅可以直接与领域专家对话,从专家提供的原始信息中“学习”专家系统所需要的知识,而且还能从系统运行实践中总结、归纳出新的知识,发现和改正自身存在的错误,并通过不断地自我完善,使知识库逐步趋于完整一致。,7.5 专家系统设计与实现,自动获取又可分为两种形式:一种是系统本身具有一种机制,使得系统在运行过程中能不断地总结经验,并修改和扩充自己的知识库;另一种是开发专门的机器学习系统,让机器自动从实际问题中获取知识,并填充知识库。,4.半自
8、动获取 半自动获取,即利用某种专门的知识获取系统,采取提示、指导或问答的方式,帮助专家提取、归纳有关知识,并自动记入知识库。,7.5.4 知识表示与知识描述语言设计 知识表示与知识描述语言设计是根据所获得知识的特点,选择或设计某种知识表示形式,并为这种表示形式设计相应的知识描述语言。所谓知识描述语言,就是知识的具体语法结构形式。所以,知识描述语言既要面向人、面向用户,又要面向知识表示、面向机器,还要面向推理、面向知识运用。这就要求知识描述语言既能为用户提供一种方便、易懂的外部知识表达形式,又能将这种外部表示转换成容易存储、管理、运用的内部形式。,7.5 专家系统设计与实现,7.5.5 知识库与
9、知识库管理系统设计 知识库是专家系统的核心。知识库的质量直接关系到整个系统的性能和效率。因此,知识库涉及知识的组织与管理。知识的组织决定了知识库的结构,知识的管理包括知识库的建立、删除、重组及维护和知识的录入、查询、更新、优化等,还有知识的完整性、一致性、冗余性检查和安全保护等方面的工作。知识管理由知识库管理系统负责。,7.5 专家系统设计与实现,1.知识库设计 知识库设计主要是设计知识库的结构,即知识的组织形式。专家系统(或知识工程)中所涉及的知识库,一般取层次结构或网状结构模式。这种结构模式是把知识按某种原则进行分类,然后分块分层组织存放,如按元知识、专家知识、领域知识等分层组织;而每一块
10、和每一层还可以再分块分层。这样,整个知识库就呈树型或网状结构。例如,图714所示的就是一个医疗诊断知识库的层次结构。,7.5 专家系统设计与实现,图714 医疗诊断知识库层次结构,7.5 专家系统设计与实现,2.知识库管理系统设计 知识库管理系统应包括知识一级和知识库一级的各种管理功能。 1)知识操作功能设计 知识操作功能包括知识的添加、删除、修改、查询和统计等。这些功能可采用两种方法来实现。一种方法就是利用屏幕窗口,通过人机对话方式实现知识的增、删、改、查等;另一种方法就是用全屏幕编辑方式,让用户直接用键盘按知识描述语言的语法格式编辑知识。,7.5 专家系统设计与实现,2)知识检查功能设计
11、知识检查包括知识的一致性、完整性、冗余性等检查。,7.5 专家系统设计与实现,导致知识库不健全的因素有领域专家提供的知识中存在某些不一致,不完整、甚至错误的知识。知识工程师未能准确、全面地理解领域专家的意图,影响到知识的一致性及完整性。采用的知识表示模式不适当,不能把领域知识准确地表示出来。对知识库进行增删改时未充分考虑到可能产生的影响,操作后导致数据库出现不完备情况。,21,指知识库中存在多余的知识或存在多余的约束条件。等价规则:r1:IF P AND Q THEN R r2:IF Q AND P THEN R r1与r2有一条是多余的,应从知识库中删去。冗余规则链:两条规则链中第一条规则的
12、条件相同,且最后一条规则的结论等价 例: r1:IF P THEN Q r2:IF Q THEN R r3:IF P THEN S r4:IF S THEN R,7.5 专家系统设计与实现,7.5 专家系统设计与实现,A. 知识冗余,22,冗余条件:如果两条规则有相同的结论,但一条规则中的某个子条件在另一条规则的前提条件中被否定,而其它子条件保持一致,则称这两条规则具有多余的条件 例 r1:IF P AND Q THEN R r2:IF P AND Q THEN R Q与Q都是多余的,规则库中删去r1、r2, 增加 IF P THEN R,7.5 专家系统设计与实现,23,2. 矛盾,矛盾:两
13、条产生式规则或规则链在相同条件下得到的结论互斥,或它们虽有相同的结论,但规则强度不同。例 1 r1:IF P THEN Q1 若Q1=Q2, r2:IF P THEN Q2 则r1与r2矛盾例 2 r1:IF P THEN Q r2:IF Q THEN R 规则链初始条件P, r3:IF R THEN S1 若S1=S2,则两条链矛盾 r4:IF P THEN T r5:IF T THEN S2,7.5 专家系统设计与实现,B、矛盾,24,例 3:r1:IF P THEN Q (CF1) r2:IF P THEN Q (CF2)前提与结论相同,但CF1CF2 规则强度所以r1与r2矛盾,7.5
14、 专家系统设计与实现,25,从属:规则r1与r2有相同的结论,但r1比r2要求更多的约束条件,则称r1是r2的从属规则。 r1:IF P AND Q THEN R r2:IF Q THEN R r1从属r2,留那条请专家裁定。,7.5 专家系统设计与实现,C. 从属,26,D. 环路,环路:一组规则形成一条循环连时,它们构成一个环路: r1:IF P THEN Q r2:IF Q THEN R r3:IF R THEN S r4:IF S THEN P环路可使推理陷入死循环。应征求专家意见修改或其中一条规则,破坏环路形成的条件。,7.5 专家系统设计与实现,例如,小王的身高x米,则必须满足:x
15、3米;又如,弟弟今年x岁,哥哥今年y岁,则必须满足xy。否则就破坏了知识的完整性。,7.5 专家系统设计与实现,不完整:指知识库中的知识不完全,不能满足预先定义的约束条件:推不出结论,或推出结论不对。,E、不完整,3) 知识库操作设计 知识库操作包括知识库(文件)的建立、删除、分解、合并等。这里着重要说明的是知识库的分解与合并。这两种功能类似于关系数据库的投影、选择和连接操作,它们实现的是知识库的重组。我们说,知识库的重组也是可能甚至是必要的。因为随着系统的运行,可能会发现原先的知识组合不合理,因此就需要重新组合,这时就需要使用知识库的分解与合并功能。,7.5 专家系统设计与实现,7.5.6
16、推理机与解释功能设计 1.从哪里着手 ; 推理机是与知识库对应的专家系统的另一重要部件。推理机的推理是基于知识库中的知识进行的。所以,推理机就必须与知识库及其知识相适应、相配套。具体来讲,就是推理机必须与知识库的结构、层次以及其中知识的具体表示形式等相协调、相匹配。否则,推理机与知识库将无法接轨。因此,设计推理机时,首先得对知识库有所了解。,7.5 专家系统设计与实现,2. 还应考虑些什么 对推理机本身而言,还要考虑推理的方式、方法和控制策略等。例如,对于推理方式,是正向推理,还是反向推理或双向推理?是精确推理,还是不精确推理?是串行推理,还是并行推理?是单调推理,还是非单调推理?又如,对于推
17、理方法,是用归结法,还是用自然演绎法?对于不精确推理采用什么样的推理模型?还有,对于搜索控制,是采用深度优先还是广度优先,对于冲突消解是依据优先数,还是可信度或程度(即隶属度)等等。,7.5 专家系统设计与实现,3. 算法设计与程序设计 做了上述的分析以后,就可着手设计推理机的算法了。对于一个基于规则的系统来说,其推理机也就相当于产生式系统中的执行控制部件,所以其运行过程也就是产生系统的运行过程,因此,前面产生式系统所采用的算法,或者图搜索中所用的算法也就是这里的推理机所用的算法。算法确定后,就可进行程序设计。至于推理机用何种程序语言实现,这个并无什么限制,如可以用传统的LISP或PROLOG
18、语言,也用当前流行的C或C+语言。,7.5 专家系统设计与实现,4. 解释机制如何实现 另外,在推理机的设计中还得考虑解释机制。因为专家系统一般要求要有解释功能。即在推理中要能回答用户“为什么”的问题,在推理结束后,要能回答“怎么样(得到结果)”的问题。从系统的结构上讲,一般是把解释作为一个独立的模块,但实际上解释功能也是与推理机密切相关的。因为要解释就必须对推理进行实时跟踪。,7.5 专家系统设计与实现,7.5.7 系统结构设计 系统构成技术被称为人工智能的三大技术之一。所以,对一个专家系统来说,其体系结构就显得非常重要。 虽然从原理来讲,专家系统由知识库、推理机等部分组成,但由于受问题领域
19、、系统规模、知识表示方法、知识库结构以及其他特殊性等诸多因素的影响,故专家系统的体系结构难以形成固定的模式。一般来讲,有诸如独立式(一个“纯”专家模块)、混合式(还有其他处理模块)、集中式、分布式、层次式以及“黑板模型”等。,7.5 专家系统设计与实现,7.5.7 人机界面设计 人机界面对于一个实用专家系统(特别是咨询型知识系统)来说至关重要。一个专家系统一般有两个人机界面:一个是面向系统开发和维护者的;一个是面向最终使用者的。前一个界面由开发工具提供;后一个则是专家系统自身的一部分。由于图形用户界面(GUI)的广泛使用,所以目前专家系统的开发界面已达到相当高的水平。而专家系统的使用界面相对还比较落后。这是因为,使用界面往往要涉及“人机对话”,如人对系统的询问、系统对人的回答,特别是系统对用户的解释。,7.5 专家系统设计与实现,7.5.8 专家系统的评价知识的完备性表示方法及组织方法的适当性求解问题的质量系统的效率人机交互的便利性系统的可维护性解释能力系统的研制时间与效益,7.5 专家系统设计与实现,
链接地址:https://www.31ppt.com/p-1622100.html