(一)专家系统开发工具
为了加速专家系统的建造,缩短研制周期,提高开发效率,人们研制出一些比较通用的工具,作为设计和开发专家系统的辅助手段和环境,以求提高专家系统的开发效率、质量和自动化水平。现有的专家系统工具,主要分为语言型工具、骨架型工具、通用型工具。
1、语言型开发工具
程序设计语言是开发专家系统的最常用的基本工具,包括通用程序设计语言和人工智能语言。
用于专家系统开发的通用程序设计语言的主要代表有C/C++、Pascal等;人工智能语言的主要代表为Smalltalk、LISP等。
2、骨架型开发工具
使用以前开发好的专家系统,将描述领域知识的规则从原系统中“挖掉”,只保留其独立于问题领域知识的推理机部分,这样形成的工具称为骨架型工具,如EMYCIN、KAS等。
这类工具因其控制策略是预先给定的,使用起来很方便,用户只需将具体领域的知识明确地表示成为一些规则就可以了。
这样,可以把主要精力放在具体概念和规则的整理上,而不是像使用传统的程序设计语言建立专家系统那样,将大部分时间花费在开发系统的过程结构上,从而大大提高了专家系统的开发效率。
3、通用型开发工具
通用型专家系统开发工具,是专门用于构造和调试专家系统的通用程序设计语言。
它是完全重新设计的一类专家系统开发工具,不依赖于任何已有专家系统,不针对任何具体领域,能够处理不同领域和不同类型的问题。
它比骨架型系统提供了更多地数据存取和查找的控制,具有更大的灵活性和通用性,但比较难以使用。
(二)专家系统开发环境
随着专家系统技术的普及和发展,人们对开发工具的要求也越来越高。好的专家系统开发工具应向用户提供多方面的支持,包括从系统分析、知识获取、程序设计到系统调试与维护的一条龙服务。
于是,专家系统开发环境应运而生。专家系统开发环境就是集成化的专家系统开发工具包,主要提供以下功能:
(1)多种知识表示:至少提供不少于两种的知识表示方法,如逻辑、框架、对象、过程等。
(2)多种不精确推理模型:即提供多种不精确推理模型供用户选用,最后还留有用户自定义接口。
(3)多种知识获取手段:除了必须的知识编辑工具外,还应具备通过数据挖掘、机器学习等方法自动获取知识的能力,以及知识求精手段。
(4)友好用户界面:包括开发界面和专家系统产品的用户界面,应该是多媒体的并且有自然语言接口。
(5)多种辅助工具:包括数据库访问、电子表格、作图等工具。