What is an expert system?
An expert system is a computer program that uses artificial intelligence (AI) technologies to simulate the judgment and behavior of a human or an organization that has expertise and experience in a particular field.
Expert systems are usually intended to complement, not replace, human experts.
The concept of expert systems was developed in the 1970s by computer scientist Edward Feigenbaum, a computer science professor at Stanford University and founder of Stanford's Knowledge Systems Laboratory. The world was moving from data processing to "knowledge processing," Feigenbaum said in a 1988 manuscript. That meant computers had the potential to do more than basic calculations and were capable of solving complex problems thanks to new processor technology and computer architectures, he explained.
How does an expert system work?
Modern expert knowledge systems use machine learning and artificial intelligence to simulate the behavior or judgment of domain experts. These systems can improve their performance over time as they gain more experience, just as humans do.
Expert systems accumulate experience and facts in a knowledge base and integrate them with an inference or rules engine -- a set of rules for applying the knowledge base to situations provided to the program.
This article is part of
The inference engine uses one of two methods for acquiring information from the knowledge base:
- Forward chaining reads and processes a set of facts to make a logical prediction about what will happen next. An example of forward chaining would be making predictions about the movement of the stock market.
- Backward chaining reads and processes a set of facts to reach a logical conclusion about why something happened. An example of backward chaining would be examining a set of symptoms to reach a medical diagnosis.
An expert system relies on having a good knowledge base. Experts add information to the knowledge base, and nonexperts use the system to solve complex problems that would usually require a human expert.
The process of building and maintaining an expert system is called knowledge engineering. Knowledge engineers ensure that expert systems have all the necessary information to solve a problem. They use various knowledge representation methodologies, such as symbolic patterns, to do this. The system's capabilities can be enhanced by expanding the knowledge base or creating new sets of rules.
What are the components of an expert system?
There are three main components of an expert system:
- The knowledge base. This is where the information the expert system draws upon is stored. Human experts provide facts about the expert system's particular domain or subject area are provided that are organized in the knowledge base. The knowledge base often contains a knowledge acquisition module that enables the system to gather knowledge from external sources and store it in the knowledge base.
- The inference engine. This part of the system pulls relevant information from the knowledge base to solve a user's problem. It is a rules-based system that maps known information from the knowledge base to a set of rules and makes decisions based on those inputs. Inference engines often include an explanation module that shows users how the system came to its conclusion.
- The user interface. This is the part of the expert system that end users interact with to get an answer to their question or problem.
Applications and use cases of expert systems
Expert systems can be effective in specific domains or subject areas where experts are required to make diagnoses, judgments or predictions.
These systems have played a large role in many industries, including the following:
- Financial services, where they make decisions about asset management, act as robo-advisors and make predictions about the behavior of various markets and other financial indicators.
- Mechanical engineering, where they troubleshoot complex electromechanical machinery.
- Telecommunications, where they are used to make decisions about network technologies used and maintenance of existing networks.
- Healthcare, where they assist with medical diagnoses.
- Agriculture, where they forecast crop damage.
- Customer service, where they help schedule orders, route customer requests and solve problems.
- Transportation, where they contribute in a range of areas, including pavement conditions, traffic light control, highway design, bus and train scheduling and maintenance, and aviation flight patterns and air traffic control.
- Law, where automation is starting to be used to deliver legal services, and to make civil case evaluations and assess product liability.
What are some examples of expert systems?
Expert systems that are in use include the following examples:
- CaDet (Cancer Decision Support Tool) is used to identify cancer in its earliest stages.
- DENDRAL helps chemists identify unknown organic molecules.
- DXplain is a clinical support system that diagnoses various diseases.
- MYCIN identifies bacteria such as bacteremia and meningitis, and recommends antibiotics and dosages.
- PXDES determines the type and severity of lung cancer a person has.
- R1/XCON is an early manufacturing expert system that automatically selects and orders computer components based on customer specifications.
What are the advantages of expert systems?
Expert systems have several benefits over the use of human experts:
- Accuracy. Expert systems are not prone to human error or emotional influence. They make decisions based on defined rules and facts.
- Permanence. Human experts eventually leave their role, and a lot of specific knowledge may go with them. Knowledge-based systems provide a permanent repository for knowledge and information.
- Logical deduction. Expert systems draw conclusions from existing facts using various types of rules, such as if-then rules.
- Cost control. Expert systems are relatively inexpensive compared to the cost of employing human experts. They can help reach decisions more efficiently, which saves time and cuts costs.
- Multiple experts. Multiple experts contribute to an expert system's knowledge base. This provides more knowledge to draw from and prevents any one expert from skewing the decision-making.
What are the challenges of expert systems?
Among expert systems' shortcomings are the following:
- Linear thinking. Expert systems lack true problem-solving ability. One of the advantages of human intelligence is that it can reason in nonlinear ways and use ancillary information to draw conclusions.
- Lack of intuition. Human intuition enables people to use common sense and gut feelings to solve problems. Machines don't have intuition. And emulating gut-feeling decision-making using mechanical logic could take much longer than an expert using intrinsic heuristic knowledge to come to a quick conclusion.
- Lack of emotion. In some cases -- medical diagnoses, for example -- human emotion is useful and necessary. For example, the disclosure of sensitive medical information to a patient requires emotional intelligence that an expert system may not have.
- Points of failure. Expert systems are only as good as the quality of their knowledge base. If they are supplied with inaccurate information, it can compromise their decisions.