由于专家系统的应用领域不同,求解问题的类型不同,专家系统的结构也略有差别。但总的来说,专家系统的核心部分基本相同,其一般结构如图3-14所示。
专家系统的结构与系统的适用性和有效性密切相关,选择什么样的系统结构,要根据系统的应用环境和所执行任务的特点而定。
1.知识库
专家系统的知识库用来存放系统求解实际问题的领域知识。一般来说,知识库中的知识可分成两类:一类为事实性知识;另一类是启发性知识。这些知识可以从书籍中或亲身实践中获得。事实通常指的是公共定义的或已经发生的具体事件。事实性知识尽管相对容易获得,但在求解问题时是不可或缺的。启发性知识是领域专家在长期的工作中获得的经验总结,一般条例性差,较难理解,且适用范围窄,但对求解问题却十分有效,它使专家系统的决策在领域中具有专家的水平。
知识库中的知识主要供推理机求解问题时使用。知识库要具有知识存储、检索、排序、增删改等管理功能。知识的表示方法和组织结构是设计知识库时必须考虑的问题。知识表示方法要尽量简洁、准确地表达领域专家的知识。知识的组织结构要增强知识的模块性和独立性,便于知识库的管理和维护。
2.综合数据库
综合数据库是专家系统在执行与推理过程中用以存放所需要和产生的各种信息的工作存储器,通常包括欲解决问题的初始状态描述、中间结果、求解过程的记录、用户对系统提问的回答等信息,因此,综合数据库又叫动态知识库,其内容在系统运行过程中是不断变化的。相应地把专家系统的知识库称为静态知识库,因为它在一次推理中其内容是保持不变的,只有领域专家或知识工程师通过知识获取模块或系统通过自学习功能才能改变它的内容。可以认为,综合数据库和知识库一起才构成专家系统的完整知识库。在设计专家系统时,一般使综合数据库的数据表示与组织和知识库的知识表示与组织相一致。这样可以方便推理机的推理。
3.推理机
推理机和知识库一起构成专家系统的核心。甚至有人认为专家系统等于知识库加推理机。
推理机也被称为控制结构或规则解释器,通常包括推理机制和控制策略,是一组用来控制系统的运行、执行各种任务、根据知识库进行各种搜索和推理的程序模块。
专家系统中常用的推理方式有3种:正向推理或前向推理、反向推理或逆向推理、双向推理或混合推理。正向推理又称数据驱动策略,即从条件出发推出结论。反向推理又称目标驱动策略,即先假设结论正确,再去验证条件是否满足,若诸条件都满足,则证明结论正确;否则,再由另一个假设去推断结论。正向推理适用于目标解空间很大的问题。反向推理适用于解空间较小的问题。双向推理是正向推理和反向推理同时进行,以期在某一时刻使正、反向推理过程达到某种一致状态而获得问题的解。在双向推理中,常常用正向推理来确定各种假设证实的先后次序,一旦确定后,又用反向推理验证假设是否成立。
推理机的构成与实现依赖于领域问题的性质和知识表示方法及组织结构。在设计专家系统时,一般使知识库和推理机相分离,即求解问题的知识与使用知识的程序相分离,以保证专家系统的模块性、灵活性和可维护性。
4.知识获取
知识获取模块主要有两方面功能:一是知识的编辑和求精;二是知识自学习。两者相辅相成,负责管理知识库中的知识,根据需要添加、修改或删除知识以及由此产生的一些必要的改动,维护知识库的一致性和完整性。知识的编辑与求精,可使领域专家的经验或书本上的知识转化为系统所需的内部形式,作为新知识移入知识库,同时也可以使领域专家方便地修改知识库。自学习功能可以根据系统运行过程中积累的经验自动地修改和补充知识库的知识,发现求解问题的规律,提高系统的性能和处理效率。
5.解释程序
解释程序是面向用户服务的,负责解答用户提出的各种问题。这些问题既可以是和系统运行过程有关的,也可以是关于系统性能和行为的。当用户得到一个问题的答案时,可以通过向专家系统提问的方式,验证推理结果的合理性或正确性,了解专家系统对问题求解过程的细节。这时,通过解释程序,专家系统可以针对性地以一种用户易于理解的形式对用户的问题进行解释,回答推导结论的步骤、每个步骤的根据、所用的各种数据和知识等。日前,解释程序的实现方法大多是在推理过程中,把每步推理所用的数据和知识按推理的顺序连接起来,一旦需要解释时,就把这个推理链一步一步地显示给用户,以此作为对用户提问的回答。
6.人一机接口
人一机接口通常包括两部分:一部分是专家系统与用户的接口;另一部分是专家系统与领域专家和知识工程师的接口。与用户的接口可直接处理用户的操作命令和提出的问题,通过对命令的解释和对问题的分析,将结果传送到推理机、综合数据库和知识库,以启动系统的问题求解过程,同时也将系统对用户的提问以及对问题求解过程的跟踪解释传递给用户,使用户对专家系统的执行动态有所了解。与领域专家和知识工程师的接口可接受领域专家或知识工程师的知识,使领域专家或知识工程师了解系统的性能,并进一步改善和提高系统求解问题的能力。不论是哪种接口,都要包括输入和输出,完成系统的内部表示形式和外部表示形式(用户、领域专家和知识工程师易于理解和接受的形式)的相互转换。随着自然语言理解、语音识别、图像处理、文字识别等技术的不断完善和逐步成熟,专家系统将会更多地采用包含图、文、声、像的多媒体接口。
一般的专家系统通过推理机与知识库和综合数据库的交互作用来求解领域问题。这种求解过程有如下几个步骤。
(1)根据用户的问题对知识库进行搜索,寻找有关的知识。
(2)根据有关的知识和系统的控制策略形成解决问题的途径,即知识操作算子序列,从而构成一个假设集合。
(3)对解决问题的一组可能假设方案进行排序,并挑选其中在某些准则下最优的假设方案。
(4)根据挑选的解决方案去求解具体问题。
(5)如果该方案不能真正解决问题,则追溯到假设方案序列中的下一个假设方案,重复求解问题。
(6)上述过程循环进行,直至问题已经解决或者所有的求解方案都不能解决问题而宣告“本系统该问题无解”为止。
领取专属 10元无门槛券
私享最新 技术干货