
|
What Is An Expert System? ERIC Digest.
Expert systems
(ES), also known as knowledge-based systems (KBS), are computer
programs designed to simulate the problem-solving behavior of human experts within very
narrow domains or scientific disciplines (entomology, plant pathology, etc.)This discipline is a
sub- set of artificial intelligence.
Essentially, an
expert system is a computer program that uses knowledge, facts, and reasoning
techniques to solve problems and make decisions (Biondo, 1990) and has evolved from
research in the field of Artificial Intelligence. These knowledge-based system applications of
Artificial Intelligence has made our lives more productive in many areas. While artificial
intelligence is concerned lately with intelligence and building programs that reason as if entirely
“human,” expert systems deal with expertise in a particular area. That is, expert systems
are
solely programs that have human “expert” knowledge within a certain domain—such as
diagnosis of a problem, scheduling, design, etc. Expert systems are given in-depth knowledge
on a specific subject and thus can provide humans with the knowledge and skill to solve a
specific problem. These applications have enhanced productivity in the world of business,
science, education, engineering, and the military by yielding valuable data for a particular
subject or context. Evidence for options or the outcomes are considered by the expert system
and there is no knowledge-based theory of decision- making. The following readings introduce
expert systems and demonstrate not only their relationship to artificial intelligence but also their
impact upon society.
Expert systems
are computerized tools designed to enhance the quality and availability of
knowledge required by decision makers in a wide range of industries. They augment
conventional programs such as databases, word processors, and spreadsheet analysis. Expert
systems differ from conventional applications software in the following ways:
o The expert system
shell, or interpreter.
o The existence
of a "knowledge base," or system of related concepts that enable the computer
to approximate human judgment.
o The sophistication
of the user interface.
THE EXPERT SYSTEM SHELL
While any conventional
programming language can be used to build a knowledge base, the
expert system shell simplifies the process of creating a knowledge base. It is the shell that
actually processes the information entered by a user; relates it to the concepts contained in the
knowledge base; and provides an assessment or solution for a particular problem. Thus, an
expert system shell provides a layer between the user interface and computer operating system
to manage the input and output of data. It also manipulates the information provided by the user
in conjunction with the knowledge base to arrive at a particular conclusion. The structure of the
shell is very similar to that of an interpreter or a front-end to a database program. The shell also
manages the user interface, performing functions that range from the validation of numeric
values entered on the screen to management of the mouse and the representation of graphical
objects.
The shell is often
sold as an end- product, allowing the purchaser to encode a knowledge base
from scratch the same way a user would purchase a database management system. On the
other hand, knowledge bases can be sold as products--where a shell or interpreter may be an
incidental part of the package--in the same way a user might buy data.
THE KNOWLEDGE BASE
The main purpose
of the knowledge base is to provide the guts of the expert system--the
connections between ideas, concepts, and statistical probabilities that allow the reasoning part
of the system to perform an accurate evaluation of a potential problem. Knowledge bases are
traditionally described as large systems of "if then" statements, but this description is
misleading
because knowledge bases may not contain definitive rules at all, but may contain only
associative relationships among different concepts, statistical information about the probability
of certain solutions, or simply large databases of facts that can be compared to one another
based on simple conventions intrinsic to the expert system.
THE USER INTERFACE
For the last several
years, interface designs for expert systems have hinged on graphical
capabilities and unconventional methods of entering data into the system. For example, many
expert systems used a mouse for data entry well before the Macintosh became popular.
Graphical interfaces can supply information in any number of forms: simple text "dressed up"
in
windows, pop-up menus, or actual graphical objects. Recently, many of those formats have
been integrated into conventional applications, but they are of particular use in expert systems.
An expert system may express an idea, solution, or explanation using more complex
conventions than rows of numbers, pie charts, or brief messages.
THE OPERATING SYSTEM
The computer's
operating system plays an important role in the implementation of an expert
system. The operating system provides the basic capabilities of the machine to the expert
system, including file management, some user interface support, memory management, and
interfaces to other products that might be wanted to share information that is contained in the
expert system. The operating system's resources and utilities may intrinsically provide needed
capabilities (for example, graphic or mouse support and database management) that, therefore,
ease the need for additional programming. In some cases, the operating system may even
provide conventions for interfacing the expert system to other programs. The disadvantage of
using the operating system's facilities is the limited control the developer has over the facilities
and likely performance degradation. For example, in the PC environment, OS/2 and
Presentation Manager provide much better interface support than DOS.
The purpose of
the expert system is to enhance judgment on the part of the user, not to replace
human judgment altogether. Expert systems can provide a relatively inexperienced user with a
lucid assessment of a problem where an expert is unavailable.
|
|
Overview
Many types of training can be delivered
most efficiently and cost- effectively by
using advanced distributed learning (ADL) technologies. ADL technologies include
intelligent tutoring systems, patterned after human tutors. Human tutoring can be
much more effective than other modes of instruction; several studies have found
that tutored students outperform students taught in classrooms by up to two
standard deviations. Intelligent tutoring systems aim to be as effective as human
tutors, but more cost effective.
Intelligent tutoring systems provide adaptive
instruction using specialized
capabilities for analyzing learner performance. These systems compare the
learner's performance to a model of expert problem solving, and then use one of
several instructional strategies to select the next learning activity to try to improve
the learner's behavior to match that of the expert. An intelligent tutoring system
typically consists of a cognitive model of the learning task, a system for tracking
data to model the learner's understanding of the task, a tutoring engine to process
the data and select learning activities, and a user interface for the learner to interact
with the system.
Most tutors have been developed to serve
only a single learner per tutor instance,
and are deployed under the assumption that the learner will be using a dedicated
computer running the tutor software. Tutor systems are monolithic with content,
strategies and models intertwined. The process of developing tutors is also
traditionally one of craft, with few repeatable and reusable components between
implementations, i.e., you cannot simply plug a new set of learning content or a new
remediation strategy into a tutor engine. Interoperability standards for learning
technology systems, such as SCORM, have not been applied in developing tutoring
systems.
The project aims to develop a tutor that
can be deployed and accessed anywhere
with only a web browser, to develop a component-based tutor architecture, and to
develop a repeatable process and model for the creation of tutoring content. This
requires a modular tutoring system that is built from a set of clearly identified
components, each of which operates on a formally defined data model that
provides interoperability of the tutoring information, models and content across
implementations. Tutor elements include models of learner behavior, tracking
models, models of expert behavior, and tutoring or remediation strategies. Different
tutor implementations based on such formal data models and behavior
descriptions provide interoperability and reuse of content, components and
models.
The tutoring system is being created by
from an existing tutoring architecture,
altering the tracking model and tutoring engine to handle multiple users
simultaneously, and to uncouple the user interface from the tutor engine and replace
it with a web interface. The design relies on using or extending standard data
models for content structure and learner characteristics to maximize interoperability
of content and data. There has been little effort in developing general approaches
and models for interoperability and reuse of content and strategies between
tutoring systems. This work aims to lay the groundwork for extending models such
as SCORM to encompass intelligent tutoring.
|
|
Expert Systems
and ITS
As could be seen
from the descriptions of the various prototypes, there are a number of
transitions between authoring systems and ITS, ITS and constructivist learning situations, and
ITS and simulations:
Elsom-Cook and O'Malley (1990)
try to establish a bridge between CAL and Intelligent Tutoring
Systems with ECAL. ECAL (extended computer-assisted learning) was developed especially for
integrating ideas of artificial intelligence into a traditional CAL environment.
With BIOMEC, Giardina (1992)
describes a coach that is supposed to allow discovery learning
and apprenticeship. The coach is a dynamic component which establishes relations between the
expert knowledge in a particular field and the knowledge of the student.
Jonassen and Wang (1994) try to establish a combination of
an ITS with an expert system and
a hypertext with Physics Tutor. Physics Tutor is a prototype ITS which is meant to explore the
practicability and generalizability of the ITS concept.
An expert system
is an »intelligent« program which has a certain knowledge and can make
decisions with the help of inference rules and procedures, and which is thus able to solve
problems or formulate hypotheses for problem- solving [
Woodhead (1991)
, 35ff.]. Expert
systems consist of a knowledge base (with facts, rules and strategies), and an inference machine.
The rule knowledge which an expert system needs can be divided into propositional, analogous,
and procedural knowledge. Occasionally, one format can be transported into another, but this is
not always the case. Therefore most expert systems can make do with one type of knowledge.
The objective of expert systems is to collect the knowledge of experts in the knowledge base in
order to use it to solve concrete cases like diagnosing a machine (car, aeroplane, computer), a
patient, a law case. In teaching, expert systems are therefore most easily combined with methods
of case analysis, the so-called »case based teaching«.
Most expert systems
are logical systems that transform a knowledge base into hierarchically
structured if-then rules. The experts are partly not conscious of these rules, they act without
being able to express their own experience in the form of rules, or rather »experts do not need
to have formalized representations« [
Winograd/Flores (1987)
]. The experts’ performance is
therefore analysed beforehand with sophisticated methods, although »it is fruitless to search for
a
full formalization of the pre-understanding that underlies all thought and action« (99). Because
the
analysis of expert knowledge is difficult, Winograd’s and Flores’ objection that transmitting
experience to the knowledge base must remain an unreachable aim (98) applies. Expert systems
differ in that they either follow the tree structure of rules backwards from a given aim (backward
chaining), or apply them to problems from given conditions (forward chaining or inferencing).
Through asking the user for further information, expert systems get the required knowledge in
order to decide which premises apply, and at what point which rules can be used.
Expert systems
are used as »Tools, Tutors and Tutees« [
Lippert (1989)
]. Intelligent tutorial
systems can attach an interpreter and an explanatory component to the knowledge base which
are organized in the form of an expert system; they could also organize the tutorial decision about
didactic strategies in the form of an expert system. Expert systems which were constructed with
tutorial intent are e.g. ZEERA [
Marcoulides (1988)
] and STAT-EXPERT [
Karake (1990)
],
both are types of programs meant to support students in understanding static analyses, and the
expert system for foreign language learning by
Nyns (1990)
.
Two features seriously
distinguish expert systems from IT systems [
Clancey (1987)
]:
For that reason,
Clancey had to restructure the expert system MYCIN for diagnosing
infections [ Shortliffe (1976)
] when he wanted to develop the tutorial component GUIDON [
Clancey (1987)
]: »There are two important kinds of explanations that MYCIN cannot give: it
cannot explain why a particular rule is correct, and it cannot explain the strategy behind the
design of its goal structure […] At a certain level, MYCIN is aphasic – able to perform,
but
unable to talk about what it knows« (198).
|
|
THE APPLICATIONS OF EXPERT SYSTEMS
The spectrum of
applications of expert systems technology to industrial and commercial
problems is so wide as to defy easy characterization. The applications find their way into most
areas of knowledge work. They are as varied as helping salespersons sell modular factory-built
homes to helping NASA plan the maintenance of a space shuttle in preparation for its next flight.
Applications tend
to cluster into seven major classes.
Diagnosis and Troubleshooting of Devices and Systems of All Kinds
This class comprises
systems that deduce faults and suggest corrective actions for a
malfunctioning device or process. Medical diagnosis was one of the first knowledge areas to
which ES technology was applied (for example, see Shortliffe 1976), but diagnosis of
engineered systems quickly surpassed medical diagnosis. There are probably more diagnostic
applications of ES than any other type. The diagnostic problem can be stated in the abstract as:
given the evidence presenting itself, what is the underlying problem/reason/cause?
Planning and Scheduling
Systems that fall
into this class analyze a set of one or more potentially complex and interacting
goals in order to determine a set of actions to achieve those goals, and/or provide a detailed
temporal ordering of those actions, taking into account personnel, materiel, and other
constraints. This class has great commercial potential, which has been recognized. Examples
involve airline scheduling of flights, personnel, and gates; manufacturing job-shop scheduling;
and manufacturing process planning.
Configuration of Manufactured Objects from Subassemblies
Configuration,
whereby a solution to a problem is synthesized from a given set of elements
related by a set of constraints, is historically one of the most important of expert system
applications. Configuration applications were pioneered by computer companies as a means of
facilitating the manufacture of semi-custom minicomputers (McDermott 1981). The technique
has found its way into use in many different industries, for example, modular home building,
manufacturing, and other problems involving complex engineering design and manufacturing.
Financial Decision Making
The financial services
industry has been a vigorous user of expert system techniques. Advisory
programs have been created to assist bankers in determining whether to make loans to
businesses and individuals. Insurance companies have used expert systems to assess the risk
presented by the customer and to determine a price for the insurance. A typical application in
the financial markets is in foreign exchange trading.
Knowledge Publishing
This is a relatively
new, but also potentially explosive area. The primary function of the expert
system is to deliver knowledge that is relevant to the user's problem, in the context of the user's
problem. The two most widely distributed expert systems in the world are in this category. The
first is an advisor which counsels a user on appropriate grammatical usage in a text. The second
is a tax advisor that accompanies a tax preparation program and advises the user on tax
strategy, tactics, and individual tax policy.
Process Monitoring and Control
Systems falling
in this class analyze real- time data from physical devices with the goal of
noticing anomalies, predicting trends, and controlling for both optimality and failure correction.
Examples of real-time systems that actively monitor processes can be found in the steel making
and oil refining industries.
Design and Manufacturing
These systems assist
in the design of physical devices and processes, ranging from high-level
conceptual design of abstract entities all the way to factory floor configuration of manufacturing
processes.
|
|
BENEFITS TO END USERS
Primarily, the
benefits of ESs to end users include:
|
|
THE EXPERT SYSTEMS BUSINESS
The industry, particularly
in the United States, consists of many small companies, or divisions of
larger companies, which are selling both expert system development software and support
services for assisting with the usage of that software or development of expert systems. Typical
annual revenues for a small company or division of a larger company range from $5 million to
$20 million annually. The aggregate total of such sales world-wide is in the range of several
hundred million dollars per year.
Selling consulting
services is a vigorous part of the expert system business. In the United States,
consulting is done by major consulting firms, such as Anderson Consulting or SRI International.
These major firms compete with many small firms. In Japan, the consulting is done primarily by
the computer manufacturers themselves. There is no longer a specialized expert systems
hardware business. Expert systems are built for mainframes and for workstations (often UNIX-
based).
It's fair to say
that the technology of expert systems has had a far greater impact than the expert
systems business. Expert system technology is widespread and deeply imbedded.
Current Business Trends
As expert system
techniques matured into a standard information technology in the 1980s, the
increasing integration of expert system technology with conventional information technology --
data processing or management information systems -- grew in importance. Conventional
technology is mostly the world of IBM mainframes and IBM operating systems. More recently,
this world has grown to include distributed networks of engineering workstations. However, it's
also the world of a wide variety of personal computers, particularly those running the MS DOS
operating system.
Early in its history,
commercial expert systems tools were written primarily in LISP and
PROLOG, but more recently the trend has been to conventional languages such as C.
Commercial companies dedicated to one language or the other (e.g., Symbolics, Lisp
Machines Inc., Quintus Prolog) have gone into bankruptcy or have been bought out by other
companies.1
Finally, the connection
of expert systems to the databases that are managed by conventional
information technology methods and groups is essential and is now a standard feature of
virtually all expert systems.
|
|
Chris. Bowerman
School of Computing & Information SystemsUniversity of Sunderland, SR2
7EE, UK
Tel +44 91 515
2838Fax +44 91 515 2781 Email c.bowerman@orac.sund.ac.uk Abstract
This paper examines the nature of cognitive tools and discuss in what sense expert systems
constitute cognitivetools. After a brief historical perspective on the development of expert
systems we look at their nature. We then move on to discuss the building of expert systems as
a cognitive exercise for students.
1.0 Introduction
Cognitive theories of education regard the learner as being a "home-brewer"
(Maley, 1983). That is, rather thanbeing simply filled with knowledge like a "pint pot", they
are
encouraged by their teacher to explore their environment, in order to attempt to try and make
sense of it.
In such a discovery-based
scenario the learner freely explores their environment (Laurillard,
1987), carries outexperiments (e.g., touching things), uses feedback from the experiments (e.g.,
temperature, movability) to build a model which he then tests. As the user carries out
experiments he gains knowledge about his environment. Thisnew knowledge is integrated with
the old knowledge (this may even mean rejecting old knowledge or modifying it in the light of
new evidence) in order to build ever more complete models and gain a deeper understanding.
In essence, the
discovery-centred learner is engaged in problem solving (Wilcox, 1987):
defining experiments todetermine the nature of his environment and test his descriptive model.
Learning is thus seen to be a process of hypothesis testing which leads to the construction of
ever more sophisticated models. Indeed, cognitive tools arecommonly seen as a environments
in which to build such models.
Such cognitive
environments range from tutorial systems (in which the computer acts as a
coach, helping thestudent, where necessary, to solve a problem), through to tutee systems (in
which the computer acts as a student who is taught and then attempts to function with the
model it has been given) to tool systems (in which thecomputer plays no active part but
mediates the learning process, e.g., hypertext programs).
Let us examine
how these systems foster model building. Tutorial systems encourage the
student to build explicit,externalised computer models under system guidance. Tutee systems
enable students to externalise knowledge and test it out by experimentation (with no guidance).
Tool systems enable models to be represented, stored,retrieved and discussed with others but
not tested.
All three types
of system can be seen, to some extent, to be cognitive tools, since they
encourage model building.The tutee and tool systems are probably of more immediate interest
to us here since they foster explicit model building, are subject neutral (can be used for many
subject areas and exercises) and are readily available. It is,indeed in this, latter, category that
Expert Systems Technology falls.
Expert systems
are designed to model specific types of human reasoning, e.g., a doctor's
diagnostic skills, theskills of a meteorologist. The system is designed to have the same
input/output behaviour as its human expert. In order to produce such systems students must
capture the expert's (e.g., a doctor's) knowledge, formalise it andtest it out in a computer
model. It is in the sense of modelling human reasoning that expert systems can be used
- 2 -
as cognitive tools.
Students constructing such expert systems learn, not only, the knowledge
gleaned from anexpert but also, in formalising this knowledge and testing it out, in order to see
if it performs as does the human expert from whom it originated. Models of expertise that do
not perform as anticipated are progressivelyaugmented until they perform as intended. During
this discovery-based debugging process general, problemsolving and interpersonal skills are
acquired and real, deep learning takes place (Hiatt, 1985).
Having outlined
the nature of cognitive tools and their relationship to expert systems we now
move on to examinethe nature of expert systems in more depth.
2.0 Expert Systems
Technology 2.1 A Historical Perspective The notion of building computers
that mimic human intelligence can be traced back to a seminal paper by AlanTuring (1950),
shortly after the end of the second world war. It was at this time that scientists were working to
develop the first, modern, electronic computers capable of performing complex operations
under the guidance ofa series of instructions.
Turing argued that
the instructions given to such machines ought to be based on logical
operators, akin to humanreasoning, such as "AND", "OR" and "NOT". These
operators could
then be combined to handle any type of symbolic material that one might wish to work with -
from mathematics to natural language.
Building such a
machine would have been extremely expensive. Indeed logic programming has
only recentlybecome a reality with the advent of languages such as Prolog (Kowalski, 1979).
Instead, the scientists concentrated on the more restricted and more practical goal of building a
machine that would only be able toperform mathematical calculations (with operators such as
"+", "-" and ">"). Such ideas have been the dominant force behind most
computers to date.
Some researchers
did continue to investigate how the broader aspects of human behaviour.
Most notable of thesewere psychologists, concerned with producing a general model of human
behaviour and computer scientists, concerned with producing general problem solving
programs. The common interests of these groups of peoplelead to the formation of a new
discipline: artificial intelligence (AI), whose goal is to enable computers to become more useful
tools by having a greater degree of human-like intelligence.
One of the first
models of human behaviour produced by the fledgling AI researchers was
production systems(Post, 1943). Production systems model human behaviour in two ways.
Firstly, they have a set of rules which encode human behaviour and a memory into which
information is placed.
The simplified
example of a production system, below, emulates the behaviour of a driver who
notices a parkedcar in the road ahead and swerves to avoid it. The rules that the production
system might contain are:
1: IF car blocking
route THEN check mirrors2: IF mirrors clear THEN overtake The driver's
memory would contain:car blocking route The production system works by matching its rules
(from IF to THEN) to the memory. If a rule matches then thedriver must carry out the action
after the THEN. In this case rule 1 will match the memory "car blocking route" and the driver
will "check mirrors". Having looked at the traffic behind the driver will note whether or
not the
roadis clear. If it is he will note "mirrors clear" in his memory. This new piece of information
in
the memory matches rule 2. The driver then performs the action indicated after the then
"overtake".
The above example
outlines how matching memory to rules and carrying out the actions
described by the rules
- 3 -
enables complex
behaviour to be simulated. Such models (Newell & Simon, 1972; Bruning,
1983) constitute theinformation processing model of human behaviour. This information
processing model draws a parallel between computer and human processing. Both computers
and humans receive information (e.g., via keyboard or eyes),process it (in the processor and
memory or brain) and then act (e.g., turn a heater on or move an arm). The argument that
humans are nothing more than sophisticated information systems which can be emulated
byproduction- system-like programs constitutes the basis for research in expert systems.
2.2 Early Problem
Solvers Initial attempts by computer scientists to mimic human behaviour
centered around trying to find the set ofinstructions (or algorithm) that humans use in order to
function. Research concentrated on building programs to mimic all of human behaviour in every
situation.
One of the first
of such programs was General Problem Solver (GPS) (Newell & Simon,
1972). This system wasbased on logic. It was given a description of the current situation (e.g.,
a large stack of chairs in a large hall) and a set of actions that it could perform (e.g.,
unstack_chair, place_on_floor, align_in_rows) and proceeded toestablish a sequence of such
instructions that would lead to the desired situation (all chairs unstacked, in neat rows).
Like several other
programs GPS did not fill its inventors' dreams. Part of the problem was the
system'signorance, e.g., what is the correct way up for a chair?, in what alignment should the
chairs be placed? (so that the speaker can be seen?), should gaps be left between the rows of
chairs? Because of such problems research begunto move away from general systems to task
specific, knowledge-based systems.
In knowledge-based
(or expert) systems it is argued that the real power in problem solving
comes not from thealgorithm used but from the knowledge that the system has and the extent to
which it can understand that knowledge. Research has thus moved into acquiring and recording
human knowledge (see e.g., Hayes-Roth,1983) in a form suitable for incorporation into expert
problem solving systems. These systems were based on the marriage of formally encoded
human knowledge (e.g., as rules) and production systems (outlined in 2.1).
Having now traced
the history of expert systems we look in more detail at how they work and
how they can beused to foster cognitive development.
3.0 Expert Systems
Expert systems are a product of the discipline of Artificial Intelligence. As
such they are one type of system thatseeks to emulate human behaviour. The goal of expert
systems is to emulate the behaviour of an expert, e.g., a doctor, a weather forecaster, a
property evaluator. Solving the problems that confront such experts requiresacademic
knowledge, experience and rules of thumb (heuristics). It is not a simple matter of following a
well established procedure.
As alluded to in
2.0 in order to emulate expert human behaviour we need to simulate two main
things: the expert'sknowledge and the expert's reasoning process. Expert systems have two
main components (see e.g., Giarratano, 1994) that perform these functions: a knowledge base
(a store of the system's knowledge) and an inference engine(a program which makes use of the
knowledge in a similar way to the expert - it also contains a working memory to store results
and incoming information). There is also a third component, the interface, which accepts
inputfrom the user and passes output back to the user in a friendly manner. The architecture of
an expert system is shown below:
- 4 -
This system architecture
is based heavily on that of the production system, above, which
inspired it. Like theproduction system knowledge acquired from the human expert is encoded
in the form of rules. For example:
1: IF hungry THEN
shop_for_food2: IF shop_for_food THEN prepare_meal 3: IF
prepare_meal THEN eat
The above rules
constitute a knowledge base about what to do when you are hungry. Alone the
rules areinsufficient to solve the problem of someone being hungry. This task is performed by
the inference engine. The inference engine is a simple program that knows how to interpret the
knowledge base.
The inference engine
reads the rules from left to right, starting with the top rule, it looks for one
whose left handside (before the THEN) matches the working memory. If a rule matches then it
adds the right hand side of the rule (after THEN) to the working memory. This process
continues until no more rules fire at which point the answerwill be in the working memory.
In the above example
the system would start with the simple facthungry in its working memory.
What happens is that rule 1 matches, adding "shop_for_food" to the working memory.This then
allows rule 2 to match, adding "prepare_meal" to the working memory, which matches rule 3
(prepare_meal) and adds "eat" to the working memory. We have then used all rules once, no
new rules can firehence the system stops with the answer "eat" in the working memory.
The reasoning process
described above is known as "forward chaining" because the rules are
read forwards (leftto right) and link up into chains (rule 1 linked to rule 2 which linked to rule
3). Such forward chaining of rules is said to constitute a model of certain types of human expert
reasoning. That model is made up of a representationof the human expert's knowledge (rules)
and an inference mechanism which makes use of the knowledge as does the expert.
There are several
types of knowledge representation (e.g., frames and nets) which have
different strengths andweaknesses and are most suited to certain types of task. Similarly,
forward chaining is just one of many possible inference engines which mimic the reasoning
behaviour of an expert. Sometimes backward chaining (readingrules right to left) or case-based
reasoning (solving problems by modifying solutions to similar, well known problems) is more
appropriate. What we have at our disosal is a whole gamut of techniques which can be used to
Expert Systems
Architecture
Knowledge Base
InferenceEngine
WorkingMemory
User Interface
- 5 -
model the reasoning
behaviour of a expert. The decision as to which of the many types of
inference engine andknowledge representation technique is required is made during the process
of interviewing the human expert in order to determine what knowledge they use and how. This
process is known as knowledge acquisition.
There are three
key stages to the process of knowledge acquisition (Hayes-Roth, 1983).
Firstly, the domain ofexpertise itself needs to be considered. Expert systems involve building
models for domains of expertise that are fuzzy, involving complex processes (the nature of
which are not readily written down as a series of logical steps),non- mathematical and narrow
in scope. Where a problem does not have these characteristics it is best handled by traditional
information systems programming.
Presuming we have
a suitable domain, we may begin our second stage of acquiring knowledge
from an expert. Itis generally best to get acquainted with the basic terminology, key concepts
and factors that come into play in the domain under consideration. This will ensure that the
expert and the person acquiring the knowledge (knowledgeengineer), speak the same language
and can communicate with each other.
The knowledge acquisition
sessions themselves generally take on the format of an interview.
These are often,initially, unstructured and serve to enable the knowledge engineer to familiarise
himself with the domain and the key factors involved.
Later interviews
are generally more structured and center around the expert working through
various case studies.As the expert works through the case studies the knowledge engineer asks
questions to determine what knowledge is required, why the expert is solving the problem as he
is and thus the nature of the inference mechanism used.
At this point the
knowledge engineer can formalise a first cut set of rules and a potential
inference engine (it isoften useful to be able to refer to video or audio taped recordings of the
interviews for this). Having formalised the rules gaps are often uncovered which need plugging
at later sessions. Once such gaps are filled the knowledgeengineer should have a sufficiently
detailed picture of the expert's knowledge and inference mechanisms to be able to implement
them.
There are a wide
variety of commercial packages (see Harmon & King, 1985) (called shells)
available on whichexpert systems can be implemented. These require no low-level
programming and are often very easy to use. It is merely a question of matching the types of
knowledge representation and inference mechanisms required to a shelland then entering the
information into the shell. This will create the first prototype and constitutes the end of the third
major stage of knowledge acquisition.
Next the first
prototype system is run and any weaknesses identified. If weaknesses exist they
are remedied bycarrying out further knowledge acquisition and building a second prototype. It
is quite common to build three prototypes before a good model has been built. This model is
then tested on some case studies, in order to ascertainwhether or not it behaves like the expert.
If it does then the process has finished otherwise we may need to refine our knowledge
acquisition even further - in extreme cases it may even be necessary to adopt a different
inferenceengine.
What is important
during knowledge acquisition and expert system building is, not so much the
final system, butthe process as a whole. Building what constitutes a model of a small, well
defined, manageable aspect of human cognition offers not only insights into the process of
cognition itself but encourages the student to build models,test hypotheses and acquire a
general set of transferrable problem solving, notational and interpersonal skills of use in a whole
variety of situations.
Such exercises
have been tried out and are generally well received by students. For example,
after an initialdiscussion of expert system concepts and tools the students are prepared for
knowledge acquisition by means of a set of exercises in which the students act as experts in the
domains of their hobbies. In groups one student actsas an expert and other students interview
them in order to gain their knowledge. This is then codified and implemented in order to give an
overall view of the problems likely to be encountered in a follow-up exerciseinvolving real
world problem domains.
- 6 -
4.0 Summary Cognitive
theories of learning emphasise the importance for students seeking to
engage in deep learning andacquire general, transferrable of skills, of forming hypotheses and
testing them by building models.
Expert systems
- a product of research into artificial intelligence - are systems that attempt to
model humanintelligence. They concentrate on capturing our intuitions about the reasoning of an
expert in a given subject domain. This they do by storing the knowledge of an expert (gleaned
by a process of knowledge acquisition) andemulating the reasoning mechanisms that the expert
uses.
Whilst such systems
are commonly used in industry to preserve rare expertise and make it
more widely availablethey also enable students to build models of human reasoning and test
their adequacy. By encouraging students to build and test models they not only gain an in-depth
understanding of a given subject area but also acquire problemsolving skills of general
applicability.
|
|
EXPERT SYSTEMS AND ARTIFICIAL INTELLIGENCE
Expert Systems
are computer programs
that are derived from a branch of computer science research called
Artificial Intelligence (AI). AI's scientific goal is to understand intelligence by building
computer programs that exhibit intelligent behavior. It is concerned with the concepts and
methods of symbolic inference, or reasoning, by a computer, and how the knowledge used to
make those inferences will be represented inside the machine.
Of course, the
term intelligence covers many cognitive skills, including the ability to solve
problems, learn, and understand language; AI addresses all of those. But most progress to date
in AI has been made in the area of problem solving -- concepts and methods for building
programs that reason about problems rather than calculate a solution.
AI programs that
achieve expert-level competence in solving problems in task areas by bringing
to bear a body of knowledge about specific tasks are called knowledge-based or expert
systems. Often, the term expert systems is reserved for programs whose knowledge base
contains the knowledge used by human experts, in contrast to knowledge gathered from
textbooks or non-experts. More often than not, the two terms, expert systems (ES) and
knowledge-based systems (KBS), are used synonymously. Taken together, they represent the
most widespread type of AI application. The area of human intellectual endeavor to be
captured in an expert system is called the task domain. Task refers to some goal- oriented,
problem-solving activity. Domain refers to the area within which the task is being performed.
Typical tasks are diagnosis, planning, scheduling, configuration and design. An example of a
task domain is aircraft crew scheduling, discussed in Chapter 2
.
Building an expert
system is known as knowledge engineering and its practitioners are called
knowledge engineers. The knowledge engineer must make sure that the computer has all the
knowledge needed to solve a problem. The knowledge engineer must choose one or more
forms in which to represent the required knowledge as symbol patterns in the memory of the
computer -- that is, he (or she) must choose a knowledge representation. He must also
ensure that the computer can use the knowledge efficiently by selecting from a handful of
reasoning methods. The practice of knowledge engineering is described later. We first
describe the components of expert systems.
The Building Blocks of Expert Systems
Every expert system
consists of two principal parts: the knowledge base; and the reasoning, or
inference, engine.
The knowledge
base of expert systems contains both factual and heuristic knowledge. Factual
knowledge is that knowledge of the task domain that is widely shared, typically found in
textbooks or journals, and commonly agreed upon by those knowledgeable in the particular
field.
Heuristic knowledge
is the less rigorous, more experiential, more judgmental knowledge of
performance. In contrast to factual knowledge, heuristic knowledge is rarely discussed, and is
largely individualistic. It is the knowledge of good practice, good judgment, and plausible
reasoning in the field. It is the knowledge that underlies the "art of good guessing."
Knowledge representation
formalizes and organizes the knowledge. One widely used
representation is the production rule, or simply rule. A rule consists of an IF part and
a
THEN part (also called a condition and an action). The IF part lists a set of conditions
in
some logical combination. The piece of knowledge represented by the production rule is
relevant to the line of reasoning being developed if the IF part of the rule is satisfied;
consequently, the THEN part can be concluded, or its problem-solving action taken. Expert
systems whose knowledge is represented in rule form are called rule- based systems.
Another widely
used representation, called the unit (also known as frame, schema, or list
structure) is based upon a more passive view of knowledge. The unit is an assemblage of
associated symbolic knowledge about an entity to be represented. Typically, a unit consists of a
list of properties of the entity and associated values for those properties.
Since every task
domain consists of many entities that stand in various relations, the properties
can also be used to specify relations, and the values of these properties are the names of other
units that are linked according to the relations. One unit can also represent knowledge that is a
"special case" of another unit, or some units can be "parts of" another unit.
The problem-solving
model, or paradigm, organizes and controls the steps taken to solve the
problem. One common but powerful paradigm involves chaining of IF-THEN rules to form a
line of reasoning. If the chaining starts from a set of conditions and moves toward some
conclusion, the method is called forward chaining. If the conclusion is known (for example, a
goal to be achieved) but the path to that conclusion is not known, then reasoning backwards is
called for, and the method is backward chaining. These problem- solving methods are built
into program modules called inference engines or inference procedures that manipulate
and
use knowledge in the knowledge base to form a line of reasoning.
The knowledge
base an expert uses is what he learned at school, from colleagues, and from
years of experience. Presumably the more experience he has, the larger his store of knowledge.
Knowledge allows him to interpret the information in his databases to advantage in diagnosis,
design, and analysis.
Though an expert
system consists primarily of a knowledge base and an inference engine, a
couple of other features are worth mentioning: reasoning with uncertainty, and explanation of
the line of reasoning.
Knowledge is almost
always incomplete and uncertain. To deal with uncertain knowledge, a
rule may have associated with it a confidence factor or a weight. The set of methods for using
uncertain knowledge in combination with uncertain data in the reasoning process is called
reasoning with uncertainty. An important subclass of methods for reasoning with uncertainty
is called "fuzzy logic," and the systems that use them are known as "fuzzy systems."
Because an expert
system uses uncertain or heuristic knowledge (as we humans do) its
credibility is often in question (as is the case with humans). When an answer to a problem is
questionable, we tend to want to know the rationale. If the rationale seems plausible, we tend
to believe the answer. So it is with expert systems. Most expert systems have the ability to
answer questions of the form: "Why is the answer X?" Explanations can be generated by
tracing the line of reasoning used by the inference engine (Feigenbaum, McCorduck et al.
1988).
The most important
ingredient in any expert system is knowledge. The power of expert systems
resides in the specific, high-quality knowledge they contain about task domains. AI researchers
will continue to explore and add to the current repertoire of knowledge representation and
reasoning methods. But in knowledge resides the power. Because of the importance of
knowledge in expert systems and because the current knowledge acquisition method is slow
and tedious, much of the future of expert systems depends on breaking the knowledge
acquisition bottleneck and in codifying and representing a large knowledge infrastructure.
Knowledge engineering
is the art of designing
and building expert systems, and knowledge engineers are its
practitioners. Gerald M. Weinberg said of programming in The Psychology of Programming:
"'Programming,' -- like 'loving,' -- is a single word that encompasses an infinitude of activities"
(Weinberg 1971). Knowledge engineering is the same, perhaps more so. We stated earlier that
knowledge engineering is an applied part of the science of artificial intelligence which, in turn, is
a part of computer science. Theoretically, then, a knowledge engineer is a computer scientist
who knows how to design and implement programs that incorporate artificial intelligence
techniques. The nature of knowledge engineering is changing, however, and a new breed of
knowledge engineers is emerging. We'll discuss the evolving nature of knowledge engineering
later.
Today there are
two ways to build an expert system. They can be built from scratch, or built
using a piece of development software known as a "tool" or a "shell." Before we
discuss these
tools, let's briefly discuss what knowledge engineers do. Though different styles and methods of
knowledge engineering exist, the basic approach is the same: a knowledge engineer interviews
and observes a human expert or a group of experts and learns what the experts know, and
how they reason with their knowledge. The engineer then translates the knowledge into a
computer-usable language, and designs an inference engine, a reasoning structure, that uses the
knowledge appropriately. He also determines how to integrate the use of uncertain knowledge
in the reasoning process, and what kinds of explanation would be useful to the end user.
Next, the inference
engine and facilities for representing knowledge and for explaining are
programmed, and the domain knowledge is entered into the program piece by piece. It may be
that the inference engine is not just right; the form of knowledge representation is awkward for
the kind of knowledge needed for the task; and the expert might decide the pieces of
knowledge are wrong. All these are discovered and modified as the expert system gradually
gains competence.
The discovery and
cumulation of techniques of machine reasoning and knowledge
representation is generally the work of artificial intelligence research. The discovery and
cumulation of knowledge of a task domain is the province of domain experts. Domain
knowledge consists of both formal, textbook knowledge, and experiential knowledge -- the
expertise of the experts.
Tools, Shells, and Skeletons
Compared to the
wide variation in domain knowledge, only a small number of AI methods are
known that are useful in expert systems. That is, currently there are only a handful of ways in
which to represent knowledge, or to make inferences, or to generate explanations. Thus,
systems can be built that contain these useful methods without any domain-specific knowledge.
Such systems are known as skeletal systems, shells, or simply AI tools.
Building expert
systems by using shells offers significant advantages. A system can be built to
perform a unique task by entering into a shell all the necessary knowledge about a task domain.
The inference engine that applies the knowledge to the task at hand is built into the shell. If the
program is not very complicated and if an expert has had some training in the use of a shell, the
expert can enter the knowledge himself.
Many commercial
shells are available today, ranging in size from shells on PCs, to shells on
workstations, to shells on large mainframe computers. They range in price from hundreds to
tens of thousands of dollars, and range in complexity from simple, forward- chained, rule-based
systems requiring two days of training to those so complex that only highly trained knowledge
engineers can use them to advantage. They range from general-purpose shells to shells custom-
tailored to a class of tasks, such as financial planning or real- time process control.
Although shells
simplify programming, in general they don't help with knowledge acquisition.
Knowledge acquisition refers to the task of endowing expert systems with knowledge, a task
currently performed by knowledge engineers. The choice of reasoning method, or a shell, is
important, but it isn't as important as the accumulation of high-quality knowledge. The power of
an expert system lies in its store of knowledge about the task domain -- the more knowledge a
system is given, the more competent it becomes.
Bricks and Mortar
The fundamental
working hypothesis of AI is that intelligent behavior can be precisely
described as symbol manipulation and can be modeled with the symbol processing capabilities
of the computer.
In the late 1950s,
special programming languages were invented that facilitate symbol
manipulation. The most prominent is called LISP (LISt Processing). Because of its simple
elegance and flexibility, most AI research programs are written in LISP, but commercial
applications have moved away from LISP.
In the early 1970s
another AI programming language was invented in France. It is called
PROLOG (PROgramming in LOGic). LISP has its roots in one area of mathematics (lambda
calculus), PROLOG in another (first-order predicate calculus).
PROLOG consists
of English-like statements which are facts (assertions), rules (of inference),
and questions. Here is an inference rule: "If object-x is part- of object-y then a component-of
object- y is object-x."
Programs written
in PROLOG have behavior similar to rule-based systems written in LISP.
PROLOG, however, did not immediately become a language of choice for AI programmers. In
the early 1980s it was given impetus with the announcement by the Japanese that they would
use a logic programming language for the Fifth Generation Computing Systems (FGCS)
Project. A variety of logic-based programming languages have since arisen, and the term
prolog has become generic.
|
|
ADVANCED RESEARCH IN KNOWLEDGE-BASED SYSTEMS: INVENTING THE NEXT
GENERATION
The basic categories
of research in knowledge-based systems include: knowledge
representation, knowledge use (or problem-solving), and knowledge acquisition (i.e., machine
learning and discovery).
Knowledge Representation
In knowledge representation,
the key topics are concepts, languages, and standards for
knowledge representation. There are many issues involved in scaling up expert systems:
defining the problems encountered in the pursuit of large knowledge bases; developing the
infrastructure for building and sharing large knowledge bases; and actually accumulating a large
body of knowledge, for example, common sense knowledge or engineering and technical
knowledge.
Knowledge Use
Knowledge use,
or problem-solving, research efforts involve the development of new methods
for different kinds of reasoning, such as analogical reasoning, reasoning based on probability
theory and decision theory, and reasoning from case examples.
The first generation
of expert systems was characterized by knowledge bases that were narrow
and, hence, performance that was brittle. When the boundary of a system's knowledge was
traversed, the system's behavior went from extremely competent to incompetent very quickly.
To overcome such brittleness, researchers are now focusing on reasoning from models,
principles and causes. Thus, the knowledge-based system will not have to know everything
about an area, as it were, but can reason with a broader base of knowledge by using the
models, the principles, and the causation.
Knowledge Acquisition
The quest for a
large knowledge base boils down to the problem of access to distributed
knowledge bases involving multiple expert systems and developers. The effort to develop the
infrastructure needed to obtain access is a research area called knowledge sharing. The goal of
the knowledge sharing research is to overcome the isolation of first-generation expert systems,
which rarely interchanged any knowledge. Hence, the knowledge bases that were built for
expert systems in the 1980s did not accumulate.
Other Areas of Investigation
A major issue of
expert systems research involves methods for reasoning with uncertain data
and uncertain knowledge. One of the most widely adopted methods is called "fuzzy logic" or
"fuzzy reasoning," especially in Japan, where fuzzy reasoning is the object of much research
attention and much scrutiny on the part of American researchers.
Very lately, there
has come on the scene the research topic of neural networks -- networks of
distributed components operating in parallel to make classification decisions. The links between
neural networks technology and expert system technology are being explored.
Finally, research
is underway to explore the use of new parallel computing methods in the
implementation of expert systems and advanced knowledge- based systems. The new wave of
computing is multi-processor technology. The question is, what will be the impact of such high-
performance parallel computing activities on expert system techniques?
|
|
In this chapter
we focus on tools for building expert systems, and on the associated R&D
infrastructure. The types of tools currently on the market are indicative of the current
technology available to the end user community, while tools under development can provide
clues about the kinds of applications one can expect in the future. The level of activity of tool
development also indicates the value being placed on the future of this technology. We get at
this, in part, by profiling some key ES development tools and leading-edge players in the
market.
|
|
|
Today's expert systems deal with domains
of narrow specialization. For expert systems to
perform competently over a broad range of tasks, they will have to be given very much more
knowledge. ... The next generation of expert systems ... will require large knowledge bases.
How will we get them?
-Edward Feigenbaum,
Pamela McCorduck, H. Penny Nii, from The Rise of the Expert Company
|
The primary goal of expert systems research
is to make expertise available to
decision makers and technicians who need answers quickly. There is never enough
expertise to go around -- certainly it is not always available at the right place and
the right time. Portable with computers loaded with in- depth knowledge of specific
subjects can bring decades worth of knowledge to a problem. The same systems
can assist supervisors and managers with situation assessment and long- range
planning. Many small systems now exist that bring a narrow slice of in- depth
knowledge to a specific problem, and these provide evidence that the broader goal
is achievable.
These knowledge-based applications of
artificial intelligence have enhanced
productivity in business, science, engineering, and the military. With advances in
the last decade, today's expert systems clients can choose from dozens of
commercial software packages with easy-to-use interfaces.
Each new deployment of an expert system
yields valuable data for what works in
what context, thus fueling the AI research that provides even better applications.
|
|
|
|
|
|
|
|
|