Architecture of an Expert System
Typical expert system architecture is shown in
The knowledge base contains the specific domain
knowledge that is used by an expert to derive conclusions from facts.
In the case of a rule-based expert system, this
domain knowledge is expressed in the form of a series of rules.
explanation system provides information to the user about how the inference
engine arrived at its conclusions. This can often be essential, particularly if
the advice being given is of a critical nature, such as with a medical
system has used faulty reasoning to arrive at its conclusions,
then the user may be able to see this by
examining the data given by the explanation system.
The fact database contains the case-specific data that are to be
used in a particular case to derive a conclusion.
In the case of a medical expert system, this would contain
information that had been obtained about the patientâ€™s condition.
The user of the expert system interfaces with it through a user
interface, which provides access to the inference engine, the explanation
system, and the knowledge-base editor.
The inference engine is the part of the system that uses the
rules and facts to derive conclusions. The inference engine will use forward
chaining, backward chaining, or a combination of the two to make inferences
from the data that are available to it.
The knowledge-base editor allows the user to edit the
information that is contained in the knowledge base.
The knowledge-base editor is not
usually made available to the end user of the system but is used by the
knowledge engineer or the expert to provide and update the knowledge that is
contained within the system.
The Expert System
Note that in Figure 11.1, the parts
of the expert system that do not contain domain-specific or case-specific
information are contained within the expert
This shell is a general toolkit that
can be used to build a number of different expert systems, depending on which
knowledge base is added to the shell.
An example of such a shell is CLIPS
(C Language Integrated Production System). Other examples in common use include
OPS5, ART, JESS, and Eclipse.