What is an Expert System?

An expert system is computer software that attempts to act like a human expert on a particular subject area.

Expert systems are often used to advise non-experts in situations where a human expert in unavailable (for example it may be too expensive to employ a human expert, or it might be a difficult to reach location).

How Do Expert Systems Work?

An expert system is made up of three parts:
  • A user interface - This is the system that allows a non-expert user to query (question) the expert system, and to receive advice. The user-interface is designed to be a simple to use as possible.
  • A knowledge base - This is a collection of facts and rules. The knowledge base is created from information provided by human experts
  • An inference engine - This acts rather like a search engine, examining the knowledge base for information that matches the user's query
stacks_image_F4BAF2FE-807F-403A-8D01-66031AB304FA
stacks_image_8B8F09A5-9164-4F62-BB23-D8DD94F7B305
The non-expert user queries the expert system. This is done by asking a question, or by answering questions asked by the expert system.

The inference engine uses the query to search the knowledge base and then provides an answer or some advice to the user.

Where Are Expert Systems Used?

Medical diagnosis (the knowledge base would contain medical information, the symptoms of the patient would be used as the query, and the advice would be a diagnose of the patient’s illness)

Playing strategy games like chess against a computer (the knowledge base would contain strategies and moves, the player's moves would be used as the query, and the output would be the computer's 'expert' moves)

Providing financial advice - whether to invest in a business, etc. (the knowledge base would contain data about the performance of financial markets and businesses in the past)

Helping to identify items such as plants / animals / rocks / etc. (the knowledge base would contain characteristics of every item, the details of an unknown item would be used as the query, and the advice would be a likely identification)

Helping to discover locations to drill for water / oil (the knowledge base would contain characteristics of likely rock formations where oil / water could be found, the details of a particular location would be used as the query, and the advice would be the likelihood of finding oil / water there)

Helping to diagnose car engine problems (like medical diagnosis, but for cars!)

Can Expert Systems Make Mistakes?

Human experts make mistakes all the time (people forget things, etc.) so you might imagine that a computer-based expert system would be much better to have around.

However expert systems can some problems:
  • Can't easily adapt to new circumstances (e.g. if they are presented with totally unexpected data, they are unable to process it)
  • Can be difficult to use (if the non-expert user makes mistakes when using the system, the resulting advice could be very wrong)
  • They have no 'common sense' (a human user tends to notice obvious errors, whereas a computer wouldn't)
stacks_image_0B8B4799-1197-41FF-814A-119916DD1F47
You can try a demonstration of a car fault diagnosis system on-line here.
stacks_image_26F0E7F6-FBB6-44EC-9439-87172CEA091B
The Scottish health service has a self-diagnosis expert system you can try on-line here.