An expert system is like having an expert in a given subject standing next to you, willing and happy to answer any questions you may have in his area of expertise. In short, an expert system is a computer program that simulates the judgment and behavior of a human who is an authority in a particular field. Expert systems can do more than simply store information. They can answer questions about a topic, including "Why?" and "How?". They can also ask questions, accepting one of at least two answers from a user (including "skip this question" and "I don't know") to navigate through the system's knowledge base.
Components of an expert system
An expert system essentially consists of three basic components: the knowledge base, an inference engine, and a user interface.
The knowledge base contains factual knowledge, like textbook facts that nearly everyone agrees on and heuristic knowledge, such as speculative or hypothesized judgment calls.
This information is organized in a systematic way using a process called knowledge representation. There are several different types of knowledge representations. Production rules and units are two ways in which this information can be represented.
Production rules consist of a series of if-then statements. The conditions for acquiring the information (for example, a specific query input by the user) is used as an argument in the ‘if’ section, while the corresponding answer, or requested information goes into the ‘then’ section.
Units, frames, schemas, or list representations, tend to group similar areas of knowledge by common traits and associated values.
The inference engine tries to draw answers from the knowledge base. It is often considered to be the “brain” of the system since without it, the expert system would not be able to analyze the user’s question nor infer answers nor draw conclusions from the knowledge base.
The user interface is the medium through which the user interacts with the expert system. Thus, a typical user interface allows a user to input questions and commands as well as respond to the expert system’s answers and queries for clarification.
Handling imprecise information
Expert systems can also use Fuzzy Logic to handle incomplete or irresolute information by assigning a confidence factor to pieces of information that are unclear and using Fuzzy Logic to deal with the results.
Ready to use shells
It is possible to buy commercial shells for businesses that want to store information in expert systems. A shell is pretty much an empty expert system into which we store information. Paradigms are already in place so once the knowledge is stored, a user can move forward and backward through it. Shells can be small enough to fit on a PC or far larger for mainframes handling large corporate accounts.
Expert systems have a great potential in medical diagnosis. A medical expert system would contain a vast amount of information about various medical illnesses, ailments and their respective symptoms and treatments. A doctor would simply feed in the symptoms and medical test results (e.g. blood and urine tests) into the expert system. The expert system would analyze the information and come up with a possible diagnosis. In addition to that, the expert system would also provide logical reasoning to back up its conclusions. Such an expert system could be used to train and assist new doctors and nurses in analyzing, diagnosing and treating new patients.