专家系统的基本结构如图1所示,其中箭头方向为数据流动的方向。专家系统通常由人机交互界面、知识库、推理机、解释器、综合数据库、知识获取等6个部分构成。
例如,在“动物识别”专家系统中有这样一条规则:
IF 能做单腿跳吗 = 否 AND
在苏格兰吗 = 是 AND
高度 = 大
THEN 动物 = 马
在这条规则当中,IF后面的前件中包含三个条件,只有三个条件都得到了满足,才能得出该动物是“马”。反之就得不出这个结论。产生式专家系统的知识库中包含了大量的规则,换言之,这里的知识库就是一个规则集。
推理机针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题求解结果。在这里,推理方式可以有正向和反向推理两种。正向推理是从前件匹配到结论,反向推理则先假设一个结论成立,看它的条件有没有得到满足。由此可见,推理机就如同专家解决问题的思维方式,知识库就是通过推理机来实现其价值的。
人机界面是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、回答系统提出的相关问题,并输出推理结果及相关的解释等。
综合数据库专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。解释器能够根据用户的提问,对结论、求解过程做出说明,因而使专家系统更具有人情味。
2.专家系统如何工作
(1)专家系统的工作过程
专家系统的基本工作流程是,用户通过人机界面回答系统的提问,推理机将用户输入的信息与知识库中各个规则的条件进行匹配,并把被匹配规则的结论存放到综合数据库中。最后,专家系统将得出最终结论呈现给用户。
在这里,专家系统还可以通过解释器向用户解释以下问题:系统为什么要向用户提出该问题(Why)?计算机是如何得出最终结论的(How)?
领域专家或知识工程师通过专门的软件工具,或编程实现专家系统中知识的获取,不断地充实和完善知识库中的知识。
(2)专家系统实例
这里,我们以一个简单的“动物识别专家系统”为例,初步熟悉专家系统的工作机制及系统特点。该系统的知识库是一个产生式规则的集合,图2显示了其中的2条规则。从原则上来讲,规则之间相互独立,任何两条规则的“前件”一般都不能重复,也不具有包含关系。小型专家系统的规则可以是几条几十条,大型专家系统的规则可达上千条,像这个动物专家系统知识库的规则就只有六条。该“动物识别专家系统”的6条规则也可以采用决策树方式来表示,如图3所示。
