An expert system (ES) is a knowledge-based system that employs knowledge about its application domain and uses an inferencing (reason) procedure to solve problems that would otherwise require human competence or expertise. The power of expert systems stems primarily from the specific knowledge about a narrow domain stored in the expert system’s knowledge base.
The performance of an expert system is based on the expert’s knowledge stored in its knowledge base. The more knowledge stored in the KB, the more that system improves its performance. One of the common examples of an ES is a suggestion of spelling errors while typing in the Google search box.
Expert systems do not have human capabilities. They use a knowledge base of a particular domain and bring that knowledge to bear on the facts of the particular situation at hand. The knowledge base of an ES also contains heuristic knowledge – rules of thumb used by human experts who work in the domain.
Below is the block diagram that represents the working of an expert system:
Generic Categories of Expert System Applications
Application areas include classification, diagnosis, monitoring, process control, design, scheduling and planning, and generation of options.
- Classification – identify an object based on stated characteristics
- Diagnosis Systems – infer malfunction or disease from observable data
- Monitoring – compare data from a continually observed system to prescribe behaviour
- Process Control – control a physical process based on monitoring
- Design – configure a system according to specifications
- Scheduling & Planning – develop or modify a plan of action
- Generation of Options – generate alternative solutions to a problem
Below are some popular examples of the Expert System:
- DENDRAL: It was an artificial intelligence project that was made as a chemical analysis expert system. It was used in organic chemistry to detect unknown organic molecules with the help of their mass spectra and knowledge base of chemistry.
- MYCIN: It was one of the earliest backward chaining expert systems that was designed to find the bacteria causing infections like bacteraemia and meningitis. It was also used for the recommendation of antibiotics and the diagnosis of blood clotting diseases.
- PXDES: It is an expert system that is used to determine the type and level of lung cancer. To determine the disease, it takes a picture from the upper body, which looks like the shadow. This shadow identifies the type and degree of harm.
- CaDeT: The CaDet expert system is a diagnostic support system that can detect cancer at early stages.
Characteristics of Expert System
- High Performance: The expert system provides high performance for solving any type of complex problem of a specific domain with high efficiency and accuracy.
- Understandable: It responds in a way that can be easily understandable by the user. It can take input in human language and provides the output in the same way.
- Reliable: It is much reliable for generating an efficient and accurate output.
- Highly responsive: ES provides the result for any complex query within a very short period of time.
Components of Expert System
An expert system mainly consists of three components:
- User Interface
- Inference Engine
- Knowledge Base
1. User Interface: With the help of a user interface, the expert system interacts with the user, takes queries as an input in a readable format, and passes it to the inference engine. After getting the response from the inference engine, it displays the output to the user. In other words, it is an interface that helps a non-expert user to communicate with the expert system to find a solution.
2. Inference Engine(Rules of Engine): The inference engine is known as the brain of the expert system as it is the main processing unit of the system. It applies inference rules to the knowledge base to derive a conclusion or deduce new information. It helps in deriving an error-free solution of queries asked by the user. With the help of an inference engine, the system extracts the knowledge from the knowledge base.
There are two types of inference engine:
- Deterministic Inference engine: The conclusions drawn from this type of inference engine are assumed to be true. It is based on facts and rules.
- Probabilistic Inference engine: This type of inference engine contains uncertainty in conclusions, and based on the probability.
One of several strategies can be employed by an inference engine to reach a conclusion. Inferencing engines for rule-based systems generally work by either forward or backward chaining of rules. Two strategies are:
A. Forward chaining: It is a data-driven strategy. The inferencing process moves from the facts of the case to a goal (conclusion). The strategy is thus driven by the facts available in the working memory and by the premises that can be satisfied. The inference engine attempts to match the condition (IF) part of each rule in the knowledge base with the facts currently available in the working memory. If several rules match, a conflict resolution procedure is invoked; for example, the lowest-numbered rule that adds new information to the working memory is fired. The conclusion of the firing rule is added to the working memory. Forward-chaining systems are commonly used to solve more open-ended problems of a design or planning nature, such as, for example, establishing the configuration of a complex product.
B. Backward chaining: In this strategy the inference engine attempts to match the assumed (hypothesized) conclusion – the goal or subgoal state – with the conclusion (THEN) part of the rule. If such a rule is found, its premise becomes the new subgoal. In an ES with few possible goal states, this is a good strategy to pursue. If a hypothesized goal state cannot be supported by the premises, the system will attempt to prove another goal state. Thus, possible conclusions are review until a goal state that can be supported by the premises is encountered. Backward chaining is best suited for applications in which the possible conclusions are limited in number and well defined. Classification or diagnosis type systems, in which each of several possible conclusions can be checked to see if it is supported by the data, are typical applications.
3. Knowledge Base: The knowledgebase is a type of storage that stores knowledge acquired from the different experts of the particular domain. It is considered as big storage of knowledge. The more the knowledge base, the more precise will be the Expert System. It is similar to a database that contains information and rules of a particular domain or subject.
How Expert Systems Work?
The strength of an ES derives from its knowledge base – an organized collection of facts and heuristics about the system’s domain. An ES is built in a process known as knowledge engineering, during which knowledge about the domain is acquired from human experts and other sources by knowledge engineers.
The accumulation of knowledge in knowledge bases, from which conclusions are to be drawn by the inference engine, is the hallmark of an expert system.
Knowledge Representation and the Knowledge Base
The knowledge base of an ES contains both factual and heuristic knowledge. Knowledge representation is the method used to organize the knowledge in the knowledge base. Knowledge bases must represent notions as actions to be taken under circumstances, causality, time, dependencies, goals, and other higher-level concepts.
Several methods of knowledge representation can be drawn upon. Two of these methods include:
1. Frame-based systems: These are employed for building very powerful ESs. A frame specifies the attributes of a complex object and frames for various object types have specified relationships.
2. Production rules: These are the most common method of knowledge representation used in business. Rule-based expert systems are expert systems in which the knowledge is represented by production rules. A production rule, or simply a rule, consists of an IF part (a condition or premise) and a THEN part (an action or conclusion). IF condition THEN action (conclusion).
The explanation facility explains how the system arrived at the recommendation. Depending on the tool used to implement the expert system, the explanation may be either in a natural language or simply a listing of rule numbers.
Knowledge Acquisitions: It is the process of extracting, organizing, and structuring the domain knowledge, specifying the rules to acquire the knowledge from various experts, and store that knowledge into the knowledge base.
Expert System Shells
An Expert system shell is a software development environment. It contains the basic components of expert systems. A shell is associated with a prescribed method for building applications by configuring and instantiating these components.
Shell components and description
The generic components of a shell : the knowledge acquisition, the knowledge Base, the reasoning, the explanation and the user interface are shown below. The knowledge base and reasoning engine are the core components.
Knowledge Base: A store of factual and heuristic knowledge. Expert system tool provides one or more knowledge representation schemes for expressing knowledge about the application domain. Some tools use both Frames (objects) and IF-THEN rules. In PROLOG the knowledge is represented as logical statements.
Reasoning Engine: Inference mechanisms for manipulating the symbolic information and knowledge in the knowledge base form a line of reasoning in solving a problem. The inference mechanism can range from simple modus ponens backward chaining of IF-THEN rules to Case-Based reasoning.
Knowledge Acquisition subsystem: A subsystem to help experts in build knowledge bases. However, collecting knowledge, needed to solve problems and build the knowledge base, is the biggest bottleneck in building expert systems.
Explanation subsystem: A subsystem that explains the system’s actions. The explanation can range from how the final or intermediate solutions were arrived at justifying the need for additional data.
User Interface: A means of communication with the user. The user interface is generally not a part of the expert system technology. It was not given much attention in the past. However, the user interface can make a critical difference in the perceived utility of an Expert system.
Benefits of Expert Systems
An ES is no substitute for a knowledge worker’s overall performance of the problem-solving task. But these systems can dramatically reduce the amount of work the individual must do to solve a problem, and they do leave people with the creative and innovative aspects of problem solving.
Some of the possible organizational benefits of expert systems are:
- An ES can complete its part of the tasks much faster than a human expert.
- The error rate of successful systems is low, sometimes much lower than the human error rate for the same task.
- ESs make consistent recommendations
- ESs are a convenient vehicle for bringing to the point of application difficult-to-use sources of knowledge.
- ESs can capture the scarce expertise of a uniquely qualified expert.
- ESs can become a vehicle for building up organizational knowledge, as opposed to the knowledge of individuals in the organization.
- When use as training vehicles, ESs result in a faster learning curve for novices.
- The company can operate an ES in environments hazardous for humans.
Limitations of Expert Systems
No technology offers an easy and total solution. Large systems are costly and require significant development time and computer resources. ESs also have their limitations which include:
- Limitations of the technology
- Problems with knowledge acquisition
- Operational domains as the principal area of ES application
- Maintaining human expertise in organizations