7.16 Expert Systems

Expert systems are computer applications solving complicated problems that would otherwise require extensive human expertise. They sidestep instruction manuals that need to be extensively read and understood, and either apply human knowledge in an organized fashion, or induce general rules from specific instances.
There are many definitions. A few:

1. A system that uses human knowledge captured in a computer to solve problems that ordinarily require human expertise (Turban & Aronson, 2001).
2. A computer program designed to model the problem-solving ability of a human expert (Durkin, 1994).
3. An intelligent computer program that uses knowledge and inference procedures to solve problems that were difficult enough to require significant human expertise for their solutions (Feigenbaum, 1985).

Typically, expert systems have several components:

1. A knowledge base that contains the knowledge obtained from one or more experts, generally in the form of rules.
2. An inference engine that manipulates the knowledge found in the knowledge base to arrive at a solution.
3. A user interface that allows the user to query the system and obtain the solution.
4. An explanation facility that explains the working of the system: how the rules were derived, applied, and sometimes the confidence levels that can be attached to the results.

Expert systems are used in many industries, occupations and commercial sectors — particularly in the developing world where experts may be thin on the ground. Examples include agriculture, education, environment, law, manufacturing, medicine, power systems, tax assessments and loan applications. Today's increase in computing power and Internet technology have given expert systems a new lease of life, and many applications can be accessed by personal computer or even smartphones. Building, maintaining and developing expert systems is often called 'knowledge engineering'.

Knowledge Base

Knowledge bases are of several types:

1. Rough 'rules of thumb' followed by practitioners in some field.
2. A strict if-then sequence of rules (devised for a manufacturing process, for example).
3. Rules obtained by some statistical technique (e.g. cluster or regression analysis), fuzzy logic or neural network modeling.

Inference Engine

Rule-Based

Inference engines generally work with branching sets of if-then rules. For example.

(1) IF free assets exceed $100,000 THEN $5K loan application is favored. (Confidence Factor: +40%)
(2) IF free assets do not exceed $10,000 THEN $5K loan application is not favored. (Confidence Factor: +90%)
(3) IF (1) and credit rating is high THEN $5K loan application is favored. (Confidence Factor: +95%)
(4) IF (1) and credit rating is poor THEN $5K loan application is not favored. (Confidence Factor: +20%)

Chaining

Inference rules be may forward chaining and backward chaining. Forward chaining starts with the data available, and uses the inference rules to extract more data until a desired goal is reached. Backward chaining starts with a list of goals and works backwards to see if data exist which will allow it to conclude that any of these goals is true.

Confidence Factors

Some expert systems incorporate certainty factors (CF). 'Tomorrow it won't rain' might have a CF of 99.9% for the Atacama Desert, for example, but only 45% for the traditional English summer. In practice, CFs can be difficult to define objectively, are not catered for by all ES languages, and are unneeded in many applications (e.g. tax assessments).

Real-time Adaption

Realtime expert systems, designed to adapt over time to changing input data, are commonly necessary in process control, network management and other dynamic systems.

Learning Capabilities

Expert systems that learn from a stored history of successful and failed solutions are more reliable, but can be challenging to program.

User Interface

The user interface is a critical component, and needs to be intuitive and self-explanatory. Much depends on who or what the system serves. A loan application might spell out 'application rejected' to a bank official but 'suggest you improve your credit rating' to an applicant.

Expert System Pros and Cons

ES are often:

1. More reliable than humans, incorporating expertise from many sources.
2. Able to deduce rules that are not apparent, even to experts: (though these are often called problem-solving programs rather than ES.)
3. Capable of being extended, as the system is applied and knowledge grows.
4. Built in high-level computer languages requiring few IT skills.
5. Combined with other systems or database knowledge to cover complicated situations.

Unfortunately:

1. It is often difficult to know a priori if experts who devise the rules really do know all they claim to.
2. Experts may sabotage the system with false information, or withhold information, particularly if their jobs are threatened.
3. Areas of expertise tend to be narrow and specific.
4. Rule following is not the best approach for all situations.
5. Expert systems lack commonsense, and cannot tell when they are operating beyond their remit.

In Practice

Expert systems use many types of problem solving approaches, including neural networks and fuzzy logic, and are generally developed within a 'shell', a computing environment that comes with ready-built expressions and debugging devices. Examples of shells include Drools, CLIPS and JESS.

Questions

1. Define an expert system. Where are they typically used?
2. Describe the usual components.
3. What is a knowledge base, and how is it generated?
4. Describe an inference engine. What is meant by rule-based, backward chaining and confidence factors?
5. Weigh the pros and cons of expert systems.

Sources and Further Reading

Need the references and resources for further study? Consider our affordable (US $ 4.95)  pdf ebook. It includes extensive (3,000) references, plus text, tables and illustrations you can copy, and is formatted to provide comfortable sequential reading on screens as small as 7 inches.

   Get your eBook here.