expert system architecture
TRANSCRIPT
-
7/27/2019 Expert System Architecture
1/5
Expert System Architecture
Figure 8.1 shows the most important modules that make up a rule-based expert
system. The user interacts with the system through a user interface which may usemenus, natural language or any other style of interaction). Then an inference
engine is used to reason with both the expert knowledge (extracted from ourfriendly expert) and data specific to the particular problem being solved. The
expert knowledge will typically be in the form of a set of IF-THEN rules. The case
specific data includes both data provided by the user and partial conclusions (alongwith certainty measures) based on this data. In a simple forward chaining rule-based system the case specific data will be the elements in working memory.
Almost all expert systems also have an explanation subsystem, which allows the
program to explain its reasoning to the user. Some systems also have a knowledgebase editorwhich help the expert or knowledge engineer to easily update andcheck the knowledge base.
One important feature of expert systems is the way they (usually) separate domainspecific knowledge from more general purpose reasoning and representation
techniques. The general purpose bit (in the dotted box in the figure) is referred toas an expert system shell. As we see in the figure, the shell will provide the
inference engine (and knowledge representation scheme), a user interface, an
explanation system and sometimes a knowledge base editor. Given a new kind of
problem to solve (say, car design), we can usually find a shell that provides theright sort of support for that problem, so all we need to do is provide the expert
knowledge. There are numerous commercial expert system shells, each one
-
7/27/2019 Expert System Architecture
2/5
appropriate for a slightly different range of problems. (Expert systems work in
industry includes both writing expert system shells and writing expert systemsusing shells.) Using shells to write expert systems generally greatly reduces the
cost and time of development (compared with writing the expert system fromscratch).
Planning
The methods which focus on ways of decomposing the original problem
into appropriate subparts and on ways of recording and handling
interactions among the subparts as they are detected during the problem-solving process are often called as planning.
Planning refers to the process of computing several steps of a problem-
solving procedure before executing any of them.
Components of a planning system
Choose the best rule to apply next based on the best available heuristic
information.
Apply the chosen rule to compute the new problem state that arises from
its application.
Detect when a solution has been found.
Detect dead ends so that they can be abandoned and the systems effort
directed in more fruitful directions.
Detect when an almost correct solution has been found and employ special
techniques to make it totally correct.
-
7/27/2019 Expert System Architecture
3/5
. A rule-based system is a way of encoding a human expert's knowledge in a fairly narrow area into an
automated system. There are a couple of advantages to doing so. One is that the human expert's
knowledge then becomes available to a very large range of people. Another advantage is that if you can
capture the expertise of an expert in a field, then any knowledge which they might have is not lost when
they retire or leave the firm.
Rule-based systems differ from standard procedural or object-oriented programs in that there is no clear
order in which code executes. Instead, the knowledge of the expert is captured in a set of rules, each of
which encodes a small piece of the expert's knowledge. Each rule has a left hand side and a ride hand
side. The left hand side contains information about certain facts and objects which must be true in order
for the rule to potentially fire (that is, execute). Any rules whose left hand sides match in this manner at a
given time are placed on an agenda. One of the rules on the agenda is picked (there is no way of
predicting which one), and its right hand side is executed, and then it is removed from the agenda. The
agenda is then updated (generally using a special algorithm called the Rete algorithm), and a new rules is
picked to execute. This continues until there are no more rules on the agenda.
rule-based systems are generally implemented as single-thread programs.
The advantage to this type of approach, as opposed to a procedural approach, is that if the system is
designed well, then the expert's knowledge can be maintained fairly easily, just by altering whichever
rules need to be altered. Indeed, many rule-based systems come along with a rules editorwhich allows
for rules to be easily maintained by non-technical people.
Natural Language ProcessingNatural Language Processing (NLP) is the process of computer analysis of input provided in a human
language (natural language), and conversion of this input into a useful form of representation.
The field of NLP is primarily concerned with getting computers to perform useful and interestingtasks with human languages. The field of NLP is secondarily concerned with helping us come to abetter understanding of human language.
The input/output of a NLP system can be:
written text
speech
We will mostly concerned with written text (not speech).
To process written text, we need:
lexical, syntactic, semantic knowledge about the language
discourse information, real world knowledge
To process spoken language, we need everything required to process written text, plus thechallenges of speech recognition and speech synthesis.
-
7/27/2019 Expert System Architecture
4/5
There are two components of NLP.
Natural Language Understanding
Mapping the given input in the natural language into a useful representation.
Different level of analysis required:
morphological analysis,
syntactic analysis,
semanti c analysis,
discourse analysis,
Natural Language Generation
Producing output in the natural language from some internal representation.
Different level of synthesis required:
deep planni ng(what to say),
syntactic generati on
NL Understanding is much harder than NL Generation. But, still both of them are hard.
The difficulty in NL understanding arises from the following facts:
Natural language is extremely rich in form and structure, and very ambiguous.
How to represent meaning,
Which structures map to which meaning structures.
One input can mean many different things. Ambiguity can be at different levels.
Lexical (word level) ambiguity -- different meanings of words
Syntactic ambiguity -- different ways to parse the sentence
Interpreting partial information -- how to interpret pronouns
Contextual information -- context of the sentence may affect the meaning of thatsentence.
Many input can mean the same thing.
Interaction among components of the input is not clear.
-
7/27/2019 Expert System Architecture
5/5