Where AI Is Heading Today

Expert System

An expert system is a computer program that solves complex problems in a particular domain, at the level of extra-ordinary human intelligence and expertise. That is, it is designed to provide decisions just like a human expert. Expert systems are the computer applications developed to solve complex problems.

 

Expert systems are designed for a specific domain, such as medicine, science, etc.

To perform its task, the expert system analyses user queries to extract knowledge from its knowledge base using the reasoning and inference rules.

The first expert system was developed in 1970. This system makes decisions for complex problems using both facts and heuristics like a human expert. The performance of an expert system depends on the knowledge stored in its knowledge base. More the amount of knowledge stored in the KB, better is the performance of the expert system. The suggestion of spelling errors while typing in the Google search box is a perfect example of expert systems used these days by all users.

 

An expert system is not used to replace the human experts; instead, it is used to assist the human in making a complex decision.

The working of an expert system can be understood through the block diagram given in Fig. 9.1. The main components of an expert system include user interface, knowledge base and inference engine.

images

FIGURE 9.1 Working of an expert system

9.1.1 Popular Examples of the Expert System

  1. DENDRAL: It is a chemical analysis expert system. DENDRAL was used in organic chemistry to detect unknown organic molecules with the help of their mass spectra and knowledge base of chemistry. The expert system studied a substance’s spectrographic data to predict its molecular structure.
  2. MYCIN: It is one of the earliest backward chaining expert systems that was designed to diagnose blood clotting diseases and find the bacteria causing infections like bacteraemia and meningitis. MYCIN could also recommend antibiotics and drugs based on the person’s physical conditions.
  3. PXDES: It is an expert system that determines the type and level of lung cancer by analysing picture(s) from the upper body.
  4. CaDeT: CaDeT is an expert system that works like a diagnostic support system to detect cancer at early stages.
  5. R1/XCON: The expert system could select specific software to generate a customized computer system based on user’s requirements.
  6. DXplain: It is a clinical support system that could suggest the presence of one or more diseases based on the findings of the doctor.

9.1.2 Characteristics of an Expert System

Expert systems are among the first truly successful forms of artificial intelligence (AI) software. Let us read about their distinguishing characteristics (refer Fig. 9.2).

images

FIGURE 9.2

  1. High performance: An expert system provides high performance for solving any type of complex problem of a specific domain with high efficiency and accuracy. The success of an expert system depends on its knowledge base. So, to get accurate knowledge continuously, the knowledge base is updated regularly.
  2. Understandable: The results of an expert system are easily understood by users. The system takes input in human language and provides the output in the same language.
  3. Reliable: An expert system generates efficient and accurate output. This makes it a reliable system.
  4. Highly responsive: An expert system generates results for any complex query within a very short period of time, making it highly responsive. The total time by an expert system should be less than that taken by a human expert.
  5. No memory limitations: An expert system can store and exploit huge amounts of data.
  6. Expertise in a domain: There are many human experts in a particular domain and each of them specialize in a different skill and has different experiences. When we put the knowledge gained from these human experts into the expert system, the results are provided by utilizing all the facts and knowledge
  7. Not affected by emotions: An expert system is not affected by human emotions such as fatigue, anger, depression, anxiety, etc. This helps them to give a consistent performance every time they are used.
  8. Not biased: To respond to any query, the expert systems check and consider all the available facts.
  9. Reduce cost: Human experts charge a heavy amount for examining, diagnosing and treating a patient. But with an expert system, multiple experts can be consulted at much cheaper rates.
  10. Non-perishable: Human experts are perishable as they have a limited life span but an expert system is permanent. Once developed, it can be used without any limitations of expiry.
  11. Intelligent: These systems use knowledge base and inference engine to solve complex problems. This is done by deducing new facts from existing facts that are represented as if-then rules.

9.1.3 Components of an Expert System

An expert system mainly consists of three components—user interface, inference engine and knowledge base (as shown in Fig. 9.3).

images

FIGURE 9.3 Components of an Expert System

User Interface

The user interacts with expert system through the user interface. It is through this interface that the user enters queries in a readable format. The interface then passes it to the inference engine. After getting response from the inference engine, it displays the output to the user. The user interface is designed to be very simple and intuitive so that even a non-expert user can communicate with the expert system to find solution to a complex problem.

The user interface also explains how the expert system derived a particular conclusion. This explanation may be text displayed on screen, verbal narrations in natural language or a listing of rules on the screen. Through this, the user interface makes it easy to trace the credibility of the conclusions. An effective user interface must have the following features:

  1. Help users to accomplish their goals in shortest possible way.
  2. Be easy to customize as per user’s requirements.
  3. Make efficient use of user input.

Inference Engine (Rules of Engine)

The inference engine is the main processing unit and hence known as brain of the expert system. The engine derives conclusion or deduces new information by applying inference rules to the knowledge base. There are two types of inference engine:

Deterministic Inference Engine

This engine uses facts and rules to draw conclusions. These conclusions are thus assumed to be true.

Probabilistic Inference Engine

This inference engine contains uncertainty in conclusions as it is based on the probability.

Efficient procedures and rules used by the inference engine helps to formulate correct, flawless solutions. In case there is a conflict when multiple rules are applicable to a particular case, the inference engine resolves the problem by selecting the best rule that is applicable in the current context. Inference engines can also include explanation and debugging abilities. The explanation module, if incorporated, can be used by the expert system to give the user an explanation about how it reached a particular conclusion.

The inference engine generally uses two strategies for acquiring knowledge from the knowledge base and deriving solutions. These are as follows:

  1. Forward Chaining: As discussed earlier, forward chaining starts from the known facts and rules (refer Fig. 9.4). After applying the inference rules, conclusions are drawn and then added to the known facts.Forward chaining strategy facilitates an expert system to answer the question, ‘What can happen next?’ For example, forward chaining can be used to predict stock prices after changes in interest rates.imagesFIGURE 9.4 Forward Chaining
  2. Backward Chaining: Backward reasoning, on the other hand, starts from the goal and works backward to prove the known facts (as shown in Fig. 9.5). This strategy enables an expert system to answer the question, ‘Why this happened?’If an event has already taken place, then the inference engine can be used to find out which conditions occurred in the past for this result. Thus, backward chaining strategy is used for discovering cause or reason. For example, diagnosis of blood cancer in humans.

images

FIGURE 9.5 Backward Chaining

Knowledge Base

Before going to knowledge base, let us first understand what knowledge is. From junior classes, we are taught that data is a collection of facts. Data, when processed, gives us information. Data, information and past experience combined together is known as knowledge.

We have read earlier that the knowledge base stores knowledge acquired from different experts of a particular domain. More the knowledge in the knowledge base, more precise is the result from the expert system.

The knowledge base contains information and rules of a particular domain or subject. The two main components of a knowledge base are factual knowledge and heuristic knowledge.

Factual knowledge is based on facts and accepted by knowledge engineers in that domain.

Heuristic knowledge is based on practice, probability, evaluation and experiences.

Knowledge in a knowledge base is usually represented using the If-else rules and is acquired by extracting, organizing and structuring the domain knowledge under the guidance of human experts. This knowledge is domain-specific and of high-quality.

images

FIGURE 9.6 Creation of Knowledge Base

CASE STUDY: Working of MYCIN as an expert system.

Step 1: Knowledge base is created with expert knowledge about bacterial infection—their causes, symptoms, treatment, etc. (refer Fig. 9.6).

Step 2: The knowledge base is regularly updated. In order to test it, the doctor gives the expert system a new problem of identifying the presence of the bacteria by inputting the details of a patient, including the symptoms, current condition, and medical history.

Step 3: The system prompts the patient to provide general information like gender, age, etc.

Step 4: The system applies if-then rules using the inference engine and the facts stored within the knowledge base.

Step 5: The output is displayed to the patient through the user interface.

9.1.4 Participants in the Development of Expert System

In Fig. 9,7, we see that there are three primary participants in an expert system:

images

FIGURE 9.7 Participants in an expert system

Expert

The performance of any expert system depends on the knowledge fed in its knowledge base. This knowledge is provided by human experts who are specialized in that specific domain.

Knowledge Engineer

The term ‘knowledge engineering’ refers to the process of building an expert system and its practitioners are called knowledge engineers. The main task of a knowledge engineer is to ensure that the computer possesses all the knowledge required to solve a problem. For this, he/she gathers the knowledge from the domain experts and then represent that knowledge in the format accepted by the knowledge base.

End User

The end user who uses the expert system may or may not be well versed in that domain.

He/she just uses the expert system to find solution or advice for his queries, which are usually complex.

9.1.5 Capabilities of the Expert System

An expert system can do the following things:

  1. Advise: The system can give its advice to users for any query—simple or complex— that fits its domain.
  2. Provide decision-making capabilities: An expert system can be designed to make complex decisions in any field, be it finance, medical science or any other.
  3. Demonstrate a device: It is can be used to demonstrate features, specifications, usage of any new product.
  4. Problem-solving: It can be used to solve complex problems.
  5. Explaining a problem: An expert system can be used to provide a detailed description of an input problem.
  6. Interpreting the input: It can interpret the input given by the user.
  7. Predicting results: An expert system can predict results using past data.
  8. Instructing and assisting human in decision-making
  9. Diagnosing: Expert systems, especially in the field of medical science, are used to diagnose any disease.
  10. Justifying the conclusion: Expert systems not only find solutions to complex real-world problems by drawing conclusions from known facts but also justify those conclusions.
  11. Suggesting: The best part is that an expert system also suggests alternative options to a problem.

However, expert systems cannot do the following:

  1. Substitute human decision-makers
  2. Possess human capabilities
  3. Produce accurate output for inadequate knowledge base
  4. Refining knowledge base
  5. Use emotions to make decisions

9.1.6 Advantages of Expert Systems

  1. Results obtained by an expert system are highly reproducible.
  2. They can be used in risky places where it is not safe for humans to work.
  3. They give accurate results, especially when the knowledge base is updated regularly.
  4. They give consistent performance at a fast speed as these systems are not affected by emotions, tension or fatigue.
  5. They are easily available due to mass production of software.
  6. They are affordable as the production cost is reasonable.
  7. They work at great speed and reduce human effort.
  8. They are capable of explaining how the solution was obtained.
  9. They improve the quality of decisions.
  10. They gather scarce expertise knowledge in good amount and use it efficiently.

9.1.7 Limitations of Expert Systems

  1. Results obtained from an expert system may get wrong if the knowledge base contains wrong/obsolete information.
  2. Each problem is different; therefore, the solution from a human expert may be strikingly different from that of an expert system.
  3. They lack creativity for different scenarios, especially in extraordinary situations.
  4. They have high development and maintenance costs.
  5. Knowledge acquisition is a challenging task.
  6. Success depends on knowledge acquired from human experts.
  7. These systems cannot learn from themselves and hence require manual updates.
  8. They cannot produce correct results from less amount of knowledge.
  9. They need excessive training.
  10. They do not have any emotions.
  11. They do not possess any common sense.
  12. They are developed only for a particular domain.
  13. They are not capable of making decisions in extraordinary situations.
  14. They work on Garbage-in Garbage-out (GIGO) principle. This means that if there is an error in the knowledge base, the expert system will give incorrect results.
  15. They have high maintenance cost.

9.1.8 Applications of Expert Systems

Expert systems are one of the prominent research domains of AI. Some common applications of expert system are as follows:

  1. Designing and manufacturing devices such as VLSI systems, camera lenses and automobiles.
  2. Publishing relevant knowledge content to users. An advisor and a tax advisor are two popularly used expert systems in this domain.
  3. Finance industries use expert systems to detect any type of possible fraud, suspicious activity, stock market trading and advise bankers on whether they should approve the loans or not.
  4. Expert systems are extensively used for medical diagnosis and treatment. In fact, it was the first area where these systems were used.
  5. Expert systems are used for planning and scheduling tasks for achieving the project’s goal. Companies also use expert systems for scheduling airlines, cargo customer order, computer resources and various manufacturing task.
  6. Tracking the progress of a software development project.
  7. Monitoring applications compare data continuously with observed system or with prescribed behaviour to detect leakage in long petroleum pipeline using expert systems.
  8. Process control systems use expert systems to control a physical process based by continuously monitoring it.
  9. The automobile and electronics industries use expert systems to identify faults in vehicles and computers manufactured.
  10. Diagnosing complex electronic, electromechanical and diesel-electric locomotive system.
  11. Forecasting crop damage or in general predicting results of any experiment/activity.
  12. Identifying the structure of a chemical compound.
  13. Assessing geologic structure from dip meter logs and space structure through satellite and robot.
  14. Evaluating civil cases, product liability, employee performance, etc. using logs.
  15. Detecting virus attack in a computer system.
  16. Repair and maintenance projects.
  17. Optimizing warehouses.
  18. Configurating manufactured objects.

9.1.9 Expert System Technology

Expert systems technologies include the following.

  1. Expert System Development Environment: The development environment of an expert system includes hardware and tools like
    1. Workstations, minicomputers, mainframes.
    2. High level symbolic programming languages (like LISProgramming (LISP) and PROgrammation en LOGique (PROLOG)).
    3. Large databases.
  2. Tools: The cost of developing an expert system gets reduced to a large extent with the help of tools that help developers by providing,
    1. Powerful editors
    2. Debugging capabilities with multi-windows
    3. Rapid prototyping
    4. Having in-built definitions of model, knowledge representation and inference design.
  3. Shells: A shell is an expert system without knowledge base. It facilitates developers by providing modules for knowledge acquisition, inference engine, user interface and explanation facility. Two popularly used shells are JESS and Vidwan. While Java Expert System Shell (JESS) provides Java API for creating an expert system, Vidwan, enables knowledge encoding in the form of IF-THEN rules.

9.1.10 Development of Expert Systems

The process of developing an expert system is iterative. The steps to develop such a system are described below.

Identify Problem Domain

The first step to develop any system is to identify the problem that it intends to solve. Ensure that this problem is solvable by an expert system. If the problem can be solved, identify the human experts in the task domain and analyse the cost-effectiveness of the system. Knowledge engineer(s) and domain experts work in coherence to define the problem and list the characteristics of the system.

Design the System

To design the expert system, first identify the technology (hardware, tools and shells) that will be used. Understand how well the system will be integrated with the other systems and databases. Prepare a framework for representing concepts in domain knowledge.

Develop the Prototype

In this step, the knowledge engineer acquires domain knowledge from the human experts and represent it in the form of If-THEN-ELSE rules. The knowledge expert also determines how heuristic knowledge could be integrated in the reasoning process and what type of explanation would be useful.

Test and Refine the Prototype

The knowledge engineer tests the prototype to identify any deficiencies in performance or results by using sample cases. Testing is also done along with end-users to unleash additional errors or discrepancies. The results of testing are then used to refine the system.

Develop and Complete the System

Once the expert system is developed and tested, it is then tested along with other elements of its environment, including end users, databases and other information systems to ensure that it interacts in the prescribed manner and smoothly integrates with them to render the desired functionality. At this step, the expert system is clearly documented and users are trained for its usage.

 

An expert system is also used for information management and help desks management.

Maintain the System

Maintenance is an ongoing process. In this phase, the knowledge base is regularly reviewed and updated. New requirements from the users or blending with new interfaces of other information systems as those systems evolve are steps that need to be done time to time.

 

TABLE 9.1 Traditional System vs Expert Systemimages

 

TABLE 9.2 Human expert vs Expert Systemimages


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *