专家系统是人工智能的主要研究领域之一,是基于行业规则进行业务处理的计算机程序。这些规则来源于行业知识,用于描述特定条件下所要执行的动作,并且定义了相关动作对于数据的影响。因此,专家系统可以利用其推理能力得出结论或者执行相关分析任务。在专家系统中,解决问题所需的知识,作为一个规则集合存储在知识库中,形成知识库系统。
医疗专家系统的代表产品之一是MYCIN,用于帮助医生进行诊断,以及细菌感染治疗。在其他行业中,专家系统也被广泛使用,在地质勘探行业中用于分析地球物理数据,并寻找石油和金属矿床。此外,专家系统还用于金融投资、银行和远程通讯行业。
1.基于规则专家系统的优势
基于规则专家系统中,知识库和规则执行组件是其核心模块,被称为专家系统内核。专家系统内核和其执行的规则是相对独立的。这就意味着专家系统内核能够用于不同行业的问题处理,而不需要做根本的改动。同时,在专家系统中增加或修改规则,也不会影响系统内核功能。
用于描述规则的语言与行业专家用于描述问题解决方案的语言紧密相关。行业专家利用语言构建一个规则时,也就是创建了一个业务知识的记录,该规则能够在行业人员之间共享。由专家系统对知识进行采集和管理确保了系统运行的连续性,即使在行业专家不在场的情况下,也能确保规则的使用。
此外,由系统管理规则,能够确保更易于更新知识库,而不需要编程人员参与,这就减少了软件运维的成本,还能确保规则的改变是基于行业人员的需求而来。
最后,专家系统存储和检索的知识要远远大于单个人所记忆的知识,并且不会出现错误,其所提供的规则也一定是行业专家精确建模所创建的。
2.基于规则专家系统架构
基于规则专家系统包括两个主要部分:知识库和专家系统内核。知识库是规则集合,可以是由元数据编码形式存在的文件系统,也可以是由关系数据库存储的规则库。专家系统内核是一个逻辑模块,用于创建、编辑和执行规则。专家系统的软件架构如图所示。
图1.专家系统架构
(1)用户接口
用户接口用于处理来自用户或者来自其他系统的服务请求。用户接口把这些服务请求转发到各自的内核处理模块。例如,行业专家请求创建或者编辑规则,用户接口就会把请求转发给知识库编辑器模块。
(2)知识库编辑器
知识库编辑器可以是一个纯文本编辑器,一个图形编辑器或者两者的混合体。该模块用于为知识库添加和修改规则。
(3)规则转换器
规则,不能够直接执行,必须从人可读的形式,转换为规则引擎能够解析的形式。这种规则形式的转换由规则转换器来实现。
规则从原始形式转换为机器可读的形式,就需要解析文本格式,以获取数据结构,形成抽象语法树(AST)。AST是一个抽象数据类型,目的是使规则引擎能够更简单、更有效地解析规则。这个抽象数据类型非常富有表现力,能够用于支持创建非常复杂和功能强大的规则。为了在知识库中进行存储,要把规则AST转换为等价的物理存储形式。知识库中信息描述方式依赖于知识库的存储技术。关系型数据库可以提供非常便捷、有效的方式来存储元数据。这里的元数据相当于实际案例中的AST,可以存储在表集合中。用于存储元数据的具体模型必须能够支持利用数据查询来快速构建AST。
(4)规则引擎
规则引擎(在AI技术中被称为推理引擎)负责执行知识库规则。规则引擎模块从知识库中检索规则,把规则转换为AST,之后把相关AST结果提交给规则解释器进行执行。规则引擎翻译器遍历AST,执行规则中指定的动作。规则引擎处理过程见图2。
图2.规则执行过程及数据传递
(5)规则对象类
规则对象类是内核组成模块之一,是规则所支持对象类的容器。这些类用于支持以下功能:
a.规则编辑;
b.AST构建;
c.AST转换为规则元数据;
d.规则元数据转换为AST;
e.知识库管理(查询、更新、插入、删除)。
3.系统实例:MYCIN
MYCIN是由美国斯坦福大学研制的用于细菌感染患者诊断和治疗的专家系统。MYCIN系统于1970年代初开始研制,作为专家咨询系统,解决了一系列专家系统应用技术问题,对于专家系统的发展有着重要的影响。现在的专家系统大多都是参考MYCIN而设计研发的基于规则的专家系统。MYCIN被认为是一个经典系统。
MYCIN系统一直没有实际应用,这并不是因为其性能问题,问题在于当时的系统集成技术无法支撑系统运行。MYCIN是一个单机运行系统,需要用户录入相关患者疾病相关的所有信息,这极大地限制了系统的应用和发展。
MYCIN系统巨大的影响力还在于其知识表达和推理方案所体现出的强大功能。但是,随着MYCIN的发展,也出现了难以克服的困难,就是从行业专家工作领域中抽取出所需的知识,并转化为规则库,这就形成了知识获取瓶颈。
MYCIN系统的临床咨询过程模拟人类的诊疗过程,其详细过程参见图3。医生用户(非专家)提交其患者数据,接收反馈的临床建议,以及经由内部说明机制反馈的信息。例如,经由普通问题解答器或推理状态检查器反馈的问题解答和咨询建议。所有决策的基础是行业专家所需的领域知识,也就是静态知识。一组计算机程序,即规则解析器,利用这些知识以及患者数据,经过逻辑分析,形成临床结论以及治疗建议。
图3.MYCIN系统构成及信息传递
MYCIN系统的设计目标有三个方面:①在临床上提出有用的建议;②在需要时针对决策进行说明解释;③从行业专家处直接获取行业知识。相对应的,MYCIN系统由三个相关联的部分构成:
(1)咨询系统 利用知识库和医生录入的患者数据,形成诊断建议。
(2)说明系统 包括普通问题解答器和推理状态检查器,在咨询过程中,用户问到得出结论的理由和原因时,说明介绍所用到的推理过程。
(3)知识获取系统 用于支持行业专家更新MYCIN系统的静态知识库,而不需要行业专家掌握计算机编程。
领取专属 10元无门槛券
私享最新 技术干货