1、第6章 ES设计Expert Systems Design1 由于专家系统由于专家系统 对人类、科学做出的贡献。使得专家系对人类、科学做出的贡献。使得专家系统越来越受到重视和接受。可以设计一个专家系统来解决统越来越受到重视和接受。可以设计一个专家系统来解决各种特定问题,可以在医疗诊断中做出令人信服的推论,各种特定问题,可以在医疗诊断中做出令人信服的推论,可以解释油井的波形,其应用遍及化学、医学、地质学、可以解释油井的波形,其应用遍及化学、医学、地质学、气象学、教育、军事领域。但是,如何设计、开发专家系气象学、教育、军事领域。但是,如何设计、开发专家系统尚无统一的标准模式和方法。统尚无统一的标准
2、模式和方法。8.1 专家系统的基本设计思想专家系统的基本设计思想 由于人类专家掌握了关于该领域的大量的专门知识,由于人类专家掌握了关于该领域的大量的专门知识,故它称为领域专家。要使计算机能和专家一样处理问题,故它称为领域专家。要使计算机能和专家一样处理问题,必须先获取大量的专门知识,然后才是有效地组织和存储必须先获取大量的专门知识,然后才是有效地组织和存储知识,以便推理使用。所以,知识,以便推理使用。所以,ES实际上通过在系统中存储实际上通过在系统中存储大量与应用领域有关的专门知识来实现高水平的问题求解大量与应用领域有关的专门知识来实现高水平的问题求解的。的。第6章 ES设计Expert Sy
3、stems Design2 1.专家系统是一种计算机程序专家系统是一种计算机程序,但专家系统程序区别于,但专家系统程序区别于一般应用程序。一般应用程序。l一般应用程序一般应用程序把问题求解的知识把问题求解的知识隐含地编写在程序隐含地编写在程序中中,即把知识组织成两级:,即把知识组织成两级:数据级数据级和和程序级程序级;l专家系统程序专家系统程序将应用领域问题求解的知识将应用领域问题求解的知识单独组成单独组成一个知识库实体一个知识库实体,知识库的处理是通过独立于知识库的,知识库的处理是通过独立于知识库的控制策略来进行的。即把知识组织成三级:控制策略来进行的。即把知识组织成三级:数据级数据级、知知
4、识库级识库级和和控制级控制级。第6章 ES设计Expert Systems Design3 2.专家系统的核心是知识专家系统的核心是知识 知识的数量与质量是一个专家系统性能的知识的数量与质量是一个专家系统性能的决定性因决定性因素素。因此,专家系统的主要特征是拥有一个巨大的知识库,。因此,专家系统的主要特征是拥有一个巨大的知识库,存储着某个专门领域的知识。存储着某个专门领域的知识。专家系统的控制级通常表达成某种推理规则。整个系专家系统的控制级通常表达成某种推理规则。整个系统的工作过程是从知识库出发,通过控制推理得到所需的统的工作过程是从知识库出发,通过控制推理得到所需的结论。因此,专家系统能结论
5、。因此,专家系统能“理解理解”自身行为的目的,自身行为的目的,“知知道道”采取某一个步骤的缘由,所以具有较高的智能水平。采取某一个步骤的缘由,所以具有较高的智能水平。第6章 ES设计Expert Systems Design4 综上所述,综上所述,ES的的基本设计思想基本设计思想就是将知识和控制推就是将知识和控制推理策略分开,形成知识库。在推理策略的控制下,利用理策略分开,形成知识库。在推理策略的控制下,利用存储的知识分析和处理问题。存储的知识分析和处理问题。在求解问题时,用户为在求解问题时,用户为ES提供一些已知数据,然后提供一些已知数据,然后从从ES中获得专家水平的结论。中获得专家水平的结
6、论。第6章 ES设计Expert Systems Design5 目前,还没有统一的目前,还没有统一的ES设计规范。设计规范。ES的基本设计思想的基本设计思想是使计算机的工作过程竭尽全力地描述领域专家解决实际是使计算机的工作过程竭尽全力地描述领域专家解决实际问题的工作过程。问题的工作过程。8.2.1 ES设计的关键问题设计的关键问题 1)设计)设计ES的两个关键问题的两个关键问题 (1)建造知识库)建造知识库 涉及知识库建造的两项主要技术是:涉及知识库建造的两项主要技术是:知识获取知识获取和和知识知识表示表示。(2)设计推理机制与控制策略)设计推理机制与控制策略 涉及推理机制设计的两项主要技术
7、是:基于知识规则涉及推理机制设计的两项主要技术是:基于知识规则的的推理推理和推理和推理解释机制解释机制。第6章 ES设计Expert Systems Design6 2)常用的知识获取方式)常用的知识获取方式 知识获取是从领域专家处获得知识、提取知识并将其知识获取是从领域专家处获得知识、提取知识并将其转换成转换成ES程序的艰巨而细致的工作过程,即将问题求解中程序的艰巨而细致的工作过程,即将问题求解中领域专家的经验和技术从某个知识源提取到领域专家的经验和技术从某个知识源提取到ES中。常用的中。常用的知识获取方式有三种:知识获取方式有三种:(1)知识工程师)知识工程师 领域专家通过与知识工程师反复
8、接触、交谈,把自己领域专家通过与知识工程师反复接触、交谈,把自己拥有的知识提供给知识工程师,由知识工程师和领域专家拥有的知识提供给知识工程师,由知识工程师和领域专家一起将这些专家知识归纳整理成一起将这些专家知识归纳整理成ES的知识库。的知识库。第6章 ES设计Expert Systems Design7 (2)智能编辑程序)智能编辑程序 熟悉计算机的领域专家可以通过智能编辑程序把自己熟悉计算机的领域专家可以通过智能编辑程序把自己的经验和知识输入到的经验和知识输入到ES的知识库中。智能编辑程序应该具的知识库中。智能编辑程序应该具备灵活的人机对话能力和有关知识库结构方面的知识。备灵活的人机对话能力
9、和有关知识库结构方面的知识。(3)归纳学习程序)归纳学习程序 对大量实验数据进行归纳和总结,将会得到一些新的对大量实验数据进行归纳和总结,将会得到一些新的规律和知识,利用归纳学习程序,可以模拟人的思维过程,规律和知识,利用归纳学习程序,可以模拟人的思维过程,从有关知识库中发现新知识,然后将这些新知识加入到知从有关知识库中发现新知识,然后将这些新知识加入到知识库中,供识库中,供ES使用。使用。第6章 ES设计Expert Systems Design8 由于真正做到能够发现知识的由于真正做到能够发现知识的ES还不多见,所以,归还不多见,所以,归纳学习程序这种知识获取方式是机器学习研究的一个长期纳
10、学习程序这种知识获取方式是机器学习研究的一个长期目标,已经引起有关专家的重视,并列为目标,已经引起有关专家的重视,并列为ES的研究课题。的研究课题。3)知识表示)知识表示 知识表示是关于各种存储知识的数据结构及其对这些知识表示是关于各种存储知识的数据结构及其对这些数据结构解释过程的结合。知识表示主要研究各种含有语数据结构解释过程的结合。知识表示主要研究各种含有语义信息的数据结构的设计,以便在这些数据结构中存储知义信息的数据结构的设计,以便在这些数据结构中存储知识,开发各种操作这些数据结构的推理过程,使知识表示识,开发各种操作这些数据结构的推理过程,使知识表示和知识运用的控制以及新知识的获取相结
11、合,把领域知识和知识运用的控制以及新知识的获取相结合,把领域知识有机地结合到程序设计中。有机地结合到程序设计中。第6章 ES设计Expert Systems Design9 一个一个ES的知识表示方法不仅关系到知识的有效存储,的知识表示方法不仅关系到知识的有效存储,也直接影响推理效率和新知识获取的能力。目前,有许也直接影响推理效率和新知识获取的能力。目前,有许多知识表示方法,如规则表示、框架表示、逻辑表示、多知识表示方法,如规则表示、框架表示、逻辑表示、语义网络表示等。各种知识表示方法都有其独特的优点语义网络表示等。各种知识表示方法都有其独特的优点和内在的不足,但都要遵循两个重要的准则:和内在
12、的不足,但都要遵循两个重要的准则:(1)知识表示方法能自然、有效地表示知识;)知识表示方法能自然、有效地表示知识;(2)知识表示结构易于检索、运用、修改和扩充。)知识表示结构易于检索、运用、修改和扩充。在实际应用中,易于人们接受并且使用最多的是基在实际应用中,易于人们接受并且使用最多的是基于规则的产生式表示法(又称为规则表示法)。其主要于规则的产生式表示法(又称为规则表示法)。其主要优点是:模块性,清晰性,自然性。优点是:模块性,清晰性,自然性。第6章 ES设计Expert Systems Design10 4)基于知识规则的推理)基于知识规则的推理 基于知识规则的推理是指针对用户的特定问题,
13、选基于知识规则的推理是指针对用户的特定问题,选择并运用知识库中的知识,以实现求解问题的控制过程。择并运用知识库中的知识,以实现求解问题的控制过程。推理涉及的两个基本问题是:推理涉及的两个基本问题是:l推理方向的选择推理方向的选择l冲突消解策略冲突消解策略第6章 ES设计Expert Systems Design11 (1)正向推理(前向推理)正向推理(前向推理)对于一个具体的对于一个具体的ES问题,可以从问题的已有信息出问题,可以从问题的已有信息出发,选择和运用知识库中的可用知识,以推导出一些有发,选择和运用知识库中的可用知识,以推导出一些有用的中间结论,将中间结论作为已有信息的扩充,进一用的
14、中间结论,将中间结论作为已有信息的扩充,进一步选择和运用知识库中的可用知识,继续推导,直至得步选择和运用知识库中的可用知识,继续推导,直至得到问题的求解结论。这种过程类似于从到问题的求解结论。这种过程类似于从“已知已知”到到“求求证证”的过程,故称为的过程,故称为数据驱动数据驱动的的正向推理正向推理方式。方式。第6章 ES设计Expert Systems Design12 (2)反向推理(后向推理)反向推理(后向推理)对于一个具体的对于一个具体的ES问题,还可以先猜测问题的结问题,还可以先猜测问题的结论,然后从结论开始以相反的方向推导支持结论需要论,然后从结论开始以相反的方向推导支持结论需要的
15、证据,再看问题的已有信息是否提供了或者否定了的证据,再看问题的已有信息是否提供了或者否定了这些需要的证据。这种过程类似于从这些需要的证据。这种过程类似于从“求证求证”到到“已已知知”的过程,故称为的过程,故称为目标驱动目标驱动的的反向推理反向推理方式。方式。第6章 ES设计Expert Systems Design13 (3)混合推理)混合推理 正向推理和反向推理是两种基本的推理方式,在此正向推理和反向推理是两种基本的推理方式,在此基础上,人们研究了交替使用正向推理和反向推理方向基础上,人们研究了交替使用正向推理和反向推理方向的的混合推理混合推理方式。方式。(4)元控制策略)元控制策略 结合启
16、发式方法的推理方法称为结合启发式方法的推理方法称为元控制策略元控制策略。第6章 ES设计Expert Systems Design14 5)冲突消解)冲突消解 一个一个ES推理方向的选择往往取决于问题领域的特点推理方向的选择往往取决于问题领域的特点和领域专家习惯使用的推理方式。在问题求解的某个步和领域专家习惯使用的推理方式。在问题求解的某个步骤,可用的知识可能不只一条,从中有效地选择出一条骤,可用的知识可能不只一条,从中有效地选择出一条进行运用的问题,称之为进行运用的问题,称之为冲突消解冲突消解。6)不精确推理)不精确推理 有时,领域专家的知识具有不精确特征,在推理过有时,领域专家的知识具有不
17、精确特征,在推理过程中涉及到的以模糊数学为基础的推理,成为程中涉及到的以模糊数学为基础的推理,成为不精确推不精确推理理。第6章 ES设计Expert Systems Design15 7)推理解释)推理解释 推理解释是解释机制的重要组成部分,其目的是推理解释是解释机制的重要组成部分,其目的是对系统的推理过程、推理位置以及推理的每个动作做对系统的推理过程、推理位置以及推理的每个动作做出解释,使用户相信问题求解结论的可信性和正确性。出解释,使用户相信问题求解结论的可信性和正确性。推理解释一般包括两部分:推理解释一般包括两部分:l咨询过程中使用的推理状态检查程序;咨询过程中使用的推理状态检查程序;l
18、咨询中或咨询后使用的通用回答程序。咨询中或咨询后使用的通用回答程序。推理解释系统实现的方法有:预制文本法、追踪推理解释系统实现的方法有:预制文本法、追踪解释法、策略解释法、自动程序员解释法等。解释法、策略解释法、自动程序员解释法等。第6章 ES设计Expert Systems Design16 8.2.2 ES的构造原则的构造原则 掌握了知识获取、知识表示、知识推理、推理解释等掌握了知识获取、知识表示、知识推理、推理解释等基本技术后,即可着手实际基本技术后,即可着手实际ES的设计。的设计。ES设计与基于算设计与基于算法的传统程序设计的区别是:法的传统程序设计的区别是:ES设计一般是渐增式,通过
19、设计一般是渐增式,通过知识库由小到大地逐步扩充和改进,要求系统不断地进行知识库由小到大地逐步扩充和改进,要求系统不断地进行验证、评价和专家认可,最终才能成为可交付使用的验证、评价和专家认可,最终才能成为可交付使用的ES。ES所处理、求解的领域专家的问题千差万别,因此建所处理、求解的领域专家的问题千差万别,因此建造造ES很难给出统一的规范化模式。但从很难给出统一的规范化模式。但从ES的发展看,大的发展看,大多数多数ES的构造都遵循如下三个原则:的构造都遵循如下三个原则:第6章 ES设计Expert Systems Design17 (1)知识与知识处理机构分开和相互独立的原则)知识与知识处理机构
20、分开和相互独立的原则 ES中有独立存放知识的知识库,有用作推理、搜索的中有独立存放知识的知识库,有用作推理、搜索的推理机和解释系统等,使得系统具有很好的模块性、可扩推理机和解释系统等,使得系统具有很好的模块性、可扩充性和可维护性。充性和可维护性。(2)按系统功能实现模块化构造的原则)按系统功能实现模块化构造的原则 为了使结构清晰和调试容易,绝大多数为了使结构清晰和调试容易,绝大多数ES都采用按系都采用按系统功能分割模块化的构造原则,把系统分成几个互相独立统功能分割模块化的构造原则,把系统分成几个互相独立的功能模块。的功能模块。第6章 ES设计Expert Systems Design18 为使
21、为使ES的各功能模块能互相通讯,共享中间信息,的各功能模块能互相通讯,共享中间信息,许多许多ES都采用在内存建立一个数据库的方法,存放各种都采用在内存建立一个数据库的方法,存放各种中间结果和通讯信息等。中间结果和通讯信息等。“黑板黑板”是对其形象的称谓,在是对其形象的称谓,在必要时记录信息,不需要时擦掉信息。黑板系统一般按照必要时记录信息,不需要时擦掉信息。黑板系统一般按照信息内容分类,分成若干个区,以便提高运行效率。实际信息内容分类,分成若干个区,以便提高运行效率。实际上,黑板就是中间数据库,用来存放上,黑板就是中间数据库,用来存放ES在执行与推理过在执行与推理过程中的中间结果或论据。程中的
22、中间结果或论据。第6章 ES设计Expert Systems Design19 在在ES开始工作时,先把开始工作时,先把ES从用户那里获得的关于问从用户那里获得的关于问题求解的事实和初始状态、初始数据等写入中间数据库。题求解的事实和初始状态、初始数据等写入中间数据库。然后根据中间数据库和知识库的内容,进行各种可能和需然后根据中间数据库和知识库的内容,进行各种可能和需要的搜索、匹配和推理等动作,不断以新的中间结果修改、要的搜索、匹配和推理等动作,不断以新的中间结果修改、替代或补充中间数据库的内容。在此期间,必要时还可以替代或补充中间数据库的内容。在此期间,必要时还可以向用户提出询问,以求获得解题
23、必要的补充知识。这些后向用户提出询问,以求获得解题必要的补充知识。这些后来从用户得到的信息也被记录在中间数据库中,以便与中来从用户得到的信息也被记录在中间数据库中,以便与中间数据库的其他内容一起参与后续的推理过程。间数据库的其他内容一起参与后续的推理过程。第6章 ES设计Expert Systems Design20 ES如此往复地不断改变中间数据库的内容,直至最如此往复地不断改变中间数据库的内容,直至最终获得问题的解答。由此可见,中间数据库的内容动态终获得问题的解答。由此可见,中间数据库的内容动态地控制着地控制着ES的工作过程。的工作过程。在推理过程中,中间数据库的内容是不断变化的,在推理过
24、程中,中间数据库的内容是不断变化的,故又称之为动态数据库。由于故又称之为动态数据库。由于ES知识库的内容在一次推知识库的内容在一次推理中是不变的,故又称知识库为静态数据库。知识库仅理中是不变的,故又称知识库为静态数据库。知识库仅由知识获取模块和学习模块来改变其内容。由知识获取模块和学习模块来改变其内容。第6章 ES设计Expert Systems Design21 (3)交互性原则)交互性原则 领域专家和用户与领域专家和用户与ES信息交换的人机接口、知识信息交换的人机接口、知识工程师维护知识库等,都需要与系统具有良好的交互性工程师维护知识库等,都需要与系统具有良好的交互性操作,使得领域专家和用
25、户都以尽可能自然、易于实现操作,使得领域专家和用户都以尽可能自然、易于实现的方式实现信息传输和结果输出,并使知识工程师对于的方式实现信息传输和结果输出,并使知识工程师对于知识矛盾、冗余检查、新知识加入对现有知识的影响进知识矛盾、冗余检查、新知识加入对现有知识的影响进行调节,以及知识的存储、共享等能进行交互处理。行调节,以及知识的存储、共享等能进行交互处理。第6章 ES设计Expert Systems Design22 8.2.3 ES的主要设计步骤的主要设计步骤 一个一个ES一般可以按照三个步骤进行设计。一般可以按照三个步骤进行设计。1)初步设计)初步设计 首先分析需要求解的领域问题,在领域专
26、家的协作下,首先分析需要求解的领域问题,在领域专家的协作下,明确期望明确期望ES实现的目标,确定参与系统研制的合作专家以实现的目标,确定参与系统研制的合作专家以及知识源,通过知识获取和领域专家的配合,对及知识源,通过知识获取和领域专家的配合,对ES求解目求解目标任务的主要概念、关系、假设、约束等进行图解形式的标任务的主要概念、关系、假设、约束等进行图解形式的描述(如推理网络),选择合适的知识表示方法,把图解描述(如推理网络),选择合适的知识表示方法,把图解形式的内容形式化地表达出来,并确定推理的控制方向等。形式的内容形式化地表达出来,并确定推理的控制方向等。第6章 ES设计Expert Sys
27、tems Design23 2)开发原型系统)开发原型系统 选择合适的选择合适的ES程序设计语言和开发工具设计推理机制,程序设计语言和开发工具设计推理机制,或借用工具语言已具备的推理机制,可将形式化表示的知或借用工具语言已具备的推理机制,可将形式化表示的知识以识以ES求解目标或图解形式的模块为单元,逐个单元地把求解目标或图解形式的模块为单元,逐个单元地把知识转换为适合程序设计语言或工具接受的内部编码形式,知识转换为适合程序设计语言或工具接受的内部编码形式,输入到知识库。输入到知识库。在不断供给知识库新知识的同时,系统不断对已有知在不断供给知识库新知识的同时,系统不断对已有知识和新加入知识的正确
28、性及协调性通过实例进行测试。通识和新加入知识的正确性及协调性通过实例进行测试。通过不断扩充知识库和不断测试的过程,一般可以发现已形过不断扩充知识库和不断测试的过程,一般可以发现已形式化知识的不完善之处,然后在领域专家的配合下对系统式化知识的不完善之处,然后在领域专家的配合下对系统进行不断调整。进行不断调整。这一阶段将产生出可运行的这一阶段将产生出可运行的ES雏形,称为雏形,称为原型系统原型系统。第6章 ES设计Expert Systems Design24 3)知识库的维护)知识库的维护 当开发出原型当开发出原型ES后,让领域专家选择一些有代表性后,让领域专家选择一些有代表性的实验实例,在可能
29、的情况下,让领域专家用这些实验实的实验实例,在可能的情况下,让领域专家用这些实验实例进行实际问题求解。通过实例运行,可能出现新问题例进行实际问题求解。通过实例运行,可能出现新问题(如人机接口输入输出模块、知识库中知识的不完全或不(如人机接口输入输出模块、知识库中知识的不完全或不精确等),让领域专家或将要实际使用此精确等),让领域专家或将要实际使用此ES的用户直接的用户直接与知识库打交道,称此过程为知识库的维护。与知识库打交道,称此过程为知识库的维护。经过一定时间的维护,当领域专家和知识工程师都经过一定时间的维护,当领域专家和知识工程师都对系统比较满意时,此对系统比较满意时,此ES就可以交付用户
30、使用了。对于就可以交付用户使用了。对于用户使用中发现的新问题,经过再修改和调试,直至用户用户使用中发现的新问题,经过再修改和调试,直至用户满意,满意,ES就研制开发成功了。就研制开发成功了。第6章 ES设计Expert Systems Design25 目前,还没有开发目前,还没有开发ES时共同遵循的规范方法,仅有时共同遵循的规范方法,仅有一些可贵的经验性原则可以用来指导一些可贵的经验性原则可以用来指导ES的开发工作。的开发工作。8.3.1 ES选择的原则选择的原则 经过几十年的实践,人们总结出一些可以用于指导经过几十年的实践,人们总结出一些可以用于指导ES选择的一般性原则。一个适合应用于选择
31、的一般性原则。一个适合应用于ES的问题,必须的问题,必须满足三个先决条件:满足三个先决条件:(1)存在一个可以合作的领域专家。)存在一个可以合作的领域专家。对于不存在公认专家的领域,不适宜采用对于不存在公认专家的领域,不适宜采用ES来处理。来处理。如地震预报是特别复杂的问题,目前预报的准确率不高,如地震预报是特别复杂的问题,目前预报的准确率不高,所以研制开发这类所以研制开发这类ES也不会有很大效果。也不会有很大效果。第6章 ES设计Expert Systems Design26 (2)领域专家通过启发式方法解决问题。)领域专家通过启发式方法解决问题。对于人类还没有彻底掌握,并且不存在成熟解法的
32、领对于人类还没有彻底掌握,并且不存在成熟解法的领域问题,采用启发式推理的域问题,采用启发式推理的ES才充分显示其优越性。才充分显示其优越性。如暴雨预报如暴雨预报ES。(3)领域专家的知识能够表达清楚。)领域专家的知识能够表达清楚。能够表达清楚的领域专家知识,知识工程师才有可能能够表达清楚的领域专家知识,知识工程师才有可能将其整理出来,并加以形式化表示。依赖于感觉的工作领将其整理出来,并加以形式化表示。依赖于感觉的工作领域和依赖于技能的工作领域,都不适合于开发域和依赖于技能的工作领域,都不适合于开发ES,如热辐,如热辐射,外科手术等。射,外科手术等。目前,在医疗诊断领域中,目前,在医疗诊断领域中
33、,ES应用的比较广泛和比较应用的比较广泛和比较成功,主要就是缘于能够将知识表达清楚。成功,主要就是缘于能够将知识表达清楚。第6章 ES设计Expert Systems Design27 除了以上三个先决条件,在确定除了以上三个先决条件,在确定ES选题时还应注意:选题时还应注意:1)问题的范围)问题的范围 由于目前还没有知识获取、知识表达等方面的通用由于目前还没有知识获取、知识表达等方面的通用技术,因此,应将技术,因此,应将ES所处理的问题限制在比较小的范围。所处理的问题限制在比较小的范围。如单科疾病的诊断治疗、波形的解释等。如单科疾病的诊断治疗、波形的解释等。2)问题的难度)问题的难度 经验表
34、明,适合于经验表明,适合于ES所处理问题的难度应适度,过所处理问题的难度应适度,过于复杂的问题使得于复杂的问题使得ES难于构造或处理效率过低。难于构造或处理效率过低。3)问题的意义)问题的意义 从目前从目前ES的情况看,研制的情况看,研制ES应基于两种应用考虑:应基于两种应用考虑:第6章 ES设计Expert Systems Design28 (1)在缺乏高级专门人才的领域中研制)在缺乏高级专门人才的领域中研制ES,以便充,以便充分发挥领域专家的作用。如中医诊断治疗分发挥领域专家的作用。如中医诊断治疗ES,可替代,可替代屈指可数的著名老中医屈指可数的著名老中医,使之创造出更多的价值。,使之创造
35、出更多的价值。(2)利用)利用ES代替人的部分脑力劳动,把人从繁琐的代替人的部分脑力劳动,把人从繁琐的事务中解放出来。如暴雨预报事务中解放出来。如暴雨预报ES可代替专业人员进行可代替专业人员进行大量的重复性劳动,可夜以继日地作数据处理与解释工大量的重复性劳动,可夜以继日地作数据处理与解释工作。作。第6章 ES设计Expert Systems Design29 此外,数目极大的组合问题(如下棋问题、博弈问此外,数目极大的组合问题(如下棋问题、博弈问题等)、大量信号数据解释(如油井数据解释、波形解释题等)、大量信号数据解释(如油井数据解释、波形解释等)、实时监督处理问题(如核反应堆的故障诊断与处理
36、)等)、实时监督处理问题(如核反应堆的故障诊断与处理)等类问题,对于开发等类问题,对于开发ES是非常有意义的,是非常有意义的,ES可以不知疲可以不知疲倦地忘我工作,这就避免了人类专家由于外界环境、工作倦地忘我工作,这就避免了人类专家由于外界环境、工作压力、心理状态等不利因素的影响而产生错误的结论等实压力、心理状态等不利因素的影响而产生错误的结论等实际问题。际问题。第6章 ES设计Expert Systems Design30 8.3.2 ES开发的基本步骤开发的基本步骤 1)准备阶段)准备阶段 主要工作是知识工程师和领域专家一起探讨研究,主要工作是知识工程师和领域专家一起探讨研究,选择一种合适
37、的问题,并初步划定系统求解问题的范围。选择一种合适的问题,并初步划定系统求解问题的范围。第6章 ES设计Expert Systems Design31 2)研究问题)研究问题 (1)确定求解问题的范围。)确定求解问题的范围。知识工程师和领域专家共同研究,把求解问题的范知识工程师和领域专家共同研究,把求解问题的范围限制在一个合理的限度内,或把任务分解成若干子任围限制在一个合理的限度内,或把任务分解成若干子任务,每个子任务由各自的务,每个子任务由各自的ES进行处理。进行处理。(2)根据划定问题的范围,研究问题的难度,据此提)根据划定问题的范围,研究问题的难度,据此提出研制出研制ES所需的资源,包括
38、人力、物力财力等。所需的资源,包括人力、物力财力等。(3)确定开发)确定开发ES所需设备和资金。所需设备和资金。包括计算机及其接口设备,开发包括计算机及其接口设备,开发ES所需的软件资源,所需的软件资源,支持系统开发所需的资金等。支持系统开发所需的资金等。第6章 ES设计Expert Systems Design32 3)整理知识)整理知识 项目确定并签订合同后,知识工程师和领域专家一起整项目确定并签订合同后,知识工程师和领域专家一起整理领域专家解决问题所需的知识和概念。理领域专家解决问题所需的知识和概念。4)建立模型系统)建立模型系统 在抽取了应用领域中一些重要概念和知识,并仔细研究在抽取了
39、应用领域中一些重要概念和知识,并仔细研究了至少一个典型实例的求解过程之后,知识工程师可以开始了至少一个典型实例的求解过程之后,知识工程师可以开始设计和实现一个模型系统,而且模型系统的开发工作应该尽设计和实现一个模型系统,而且模型系统的开发工作应该尽早进行。主要原因有以下两点:早进行。主要原因有以下两点:第6章 ES设计Expert Systems Design33 (1)通过运行模型系统,可以验证研究问题和抽取知)通过运行模型系统,可以验证研究问题和抽取知识阶段所形成的系统设计方案。根据系统运行情况,知识识阶段所形成的系统设计方案。根据系统运行情况,知识工程师可以发现问题,从而使一些原则性错误
40、得到解决,工程师可以发现问题,从而使一些原则性错误得到解决,避免在后期对系统进行较大修改。避免在后期对系统进行较大修改。(2)通过模型系统的正确运行,可以提高领域专家参)通过模型系统的正确运行,可以提高领域专家参加加ES开发的兴趣。开发的兴趣。第6章 ES设计Expert Systems Design34 在实现在实现ES模型系统时,必须注意以下问题:模型系统时,必须注意以下问题:l不追求系统的尽善尽美,尤其是对知识库的期望;不追求系统的尽善尽美,尤其是对知识库的期望;l保持模型的简单化。如自然语言理解、与其他设备的接保持模型的简单化。如自然语言理解、与其他设备的接口等功能可以暂时不考虑,为的
41、是对模型修改修改时无口等功能可以暂时不考虑,为的是对模型修改修改时无需引起大量的附加修改工作。需引起大量的附加修改工作。l开发一些简单的辅助功能。如知识获取功能可帮助将整开发一些简单的辅助功能。如知识获取功能可帮助将整理好的只是加入到知识库;简单的解释功能可帮助追查理好的只是加入到知识库;简单的解释功能可帮助追查出错的原因,便于发现系统存在的问题。出错的原因,便于发现系统存在的问题。第6章 ES设计Expert Systems Design35 5)改进与扩充)改进与扩充 模型系统通过了测试,就说明采用的方案和技术是可模型系统通过了测试,就说明采用的方案和技术是可行的,就可以进行系统开发和扩充
42、工作。包括完善推理机行的,就可以进行系统开发和扩充工作。包括完善推理机制,扩充解释功能和知识获取功能,增强知识库的知识等,制,扩充解释功能和知识获取功能,增强知识库的知识等,不断修改和完善知识库。不断修改和完善知识库。6)测试与维护)测试与维护 测试的目的是对系统的性能进行评估,使系统经过修测试的目的是对系统的性能进行评估,使系统经过修改后达到符合领域专家定义的标准。领域专家对系统的评改后达到符合领域专家定义的标准。领域专家对系统的评价可以帮助指示工程师修改系统。维护是不断进行的。价可以帮助指示工程师修改系统。维护是不断进行的。7)评价与商品化评价与商品化 评价系统主要是检察系统程序的正确性和
43、实用性。商评价系统主要是检察系统程序的正确性和实用性。商品化对推广应用品化对推广应用ES具有重要意义。具有重要意义。第6章 ES设计Expert Systems Design36 ES的开发工具是生成的开发工具是生成ES的系统,包括:的系统,包括:l一种或多种固定的知识表示方法,并具有相应的内部一种或多种固定的知识表示方法,并具有相应的内部编码形式;编码形式;l具有知识编辑器,能获取领域专家移交互访是输入的具有知识编辑器,能获取领域专家移交互访是输入的知识,并自动建立知识库;知识,并自动建立知识库;l具有知识库维护和管理机制,处理知识库中的矛盾、具有知识库维护和管理机制,处理知识库中的矛盾、冗
44、余和不一致性,负责知识的存储、运筹和调度;冗余和不一致性,负责知识的存储、运筹和调度;l提供一套或多套推理机制,实现实际问题的求解;提供一套或多套推理机制,实现实际问题的求解;l可以设置跟踪解释机制,帮助用户理解可以设置跟踪解释机制,帮助用户理解ES求解的结论,求解的结论,并能定为知识库中的错误和不完善等问题。并能定为知识库中的错误和不完善等问题。第6章 ES设计Expert Systems Design37 8.4.1 ES的程序设计语言的程序设计语言 最常用的是最常用的是LISP、PROLOG、CLIPS等语言,也可等语言,也可以选用以选用C语言等高级语言。语言等高级语言。第6章 ES设计
45、Expert Systems Design388.4.2 ES的骨架结构的骨架结构l从一个研制成功的从一个研制成功的ES,抽去其知识库中的专门知识,留,抽去其知识库中的专门知识,留下一个固化的知识表示框架及相应的推理机制、知识获下一个固化的知识表示框架及相应的推理机制、知识获取机制及解释机制,成为一个骨架系统。取机制及解释机制,成为一个骨架系统。在其中填入另在其中填入另一个领域的专门知识,并经过调试和完善形成一个新的一个领域的专门知识,并经过调试和完善形成一个新的知识库时,就实现了一个新的知识库时,就实现了一个新的ES。l问题:用这样的骨架系统去求解新的领域问题时,可能问题:用这样的骨架系统去
46、求解新的领域问题时,可能控制结构不适合新的问题领域;有些领域的专门知识不控制结构不适合新的问题领域;有些领域的专门知识不可识别部分隐含在推理机制中,对新的领域问题根本不可识别部分隐含在推理机制中,对新的领域问题根本不使用或不能用。说明使用或不能用。说明骨架系统有很大程度的局限性骨架系统有很大程度的局限性。第6章 ES设计Expert Systems Design39 8.4.3 ES的通用开发工具的通用开发工具 通用开发工具又称为是通用只是表示语言,它把控制通用开发工具又称为是通用只是表示语言,它把控制知识也作为一种显式知识,与知识库级知识一样进行表示知识也作为一种显式知识,与知识库级知识一样
47、进行表示和推理的和推理的ES开发工具。如开发工具。如OPS5提供了提供了ES必需的基本控制必需的基本控制策略和知识表示方法,但不侧重具体的问题领域。策略和知识表示方法,但不侧重具体的问题领域。因此,通用开发工具比骨架系统受到的局限少,但其因此,通用开发工具比骨架系统受到的局限少,但其使用过程比骨架系统复杂。使用过程比骨架系统复杂。第6章 ES设计Expert Systems Design40 8.4.4 ES的组合型开发工具的组合型开发工具 组合型开发工具是通用性很强的组合型开发工具是通用性很强的ES开发工具。其主要开发工具。其主要任务是:从一类任务中分离出知识工程所使用的技术,构任务是:从一
48、类任务中分离出知识工程所使用的技术,构成描述这些技术的多种类型的推理机制和多种任务的知识成描述这些技术的多种类型的推理机制和多种任务的知识库预购件,建立使用这些预购件的辅助设施。库预购件,建立使用这些预购件的辅助设施。如如AGE系统能给知识工程师提供一些事先确定的成分系统能给知识工程师提供一些事先确定的成分(模块),这些成分是(模块),这些成分是LISP变量和函数的集合。变量和函数的集合。AGE成分成分通过选择、定义和模块化编程,可以形成各种组合。不同通过选择、定义和模块化编程,可以形成各种组合。不同的组合可以构造出各种不同问题求解系统。因此,组合型的组合可以构造出各种不同问题求解系统。因此,组合型开发工具是目前开发工具是目前ES研究的热点问题。研究的热点问题。第6章 ES设计Expert Systems Design411.说明开发说明开发ES与设计一般程序的区别。与设计一般程序的区别。2.简述简述ES的基本设计思想。的基本设计思想。3.简述简述ES有哪些开发工具?有哪些开发工具?4.你认为建造你认为建造ES的过程中,哪个阶段最为重要?的过程中,哪个阶段最为重要?5.进行进行ES评估的意义是什么?评估的意义是什么?