Did you come across any project requirements to implement an expert system? In another words, did you come across the need to implement rules engine? Lets try and define expert system.
Simply speaking, an expert system is a computer program which can advice actions to the users, based on the facts (data or inputs) that he shares with the system. The expert system maintains the knowledge heuristic which is updated by experts in the field, from time-to-time. An expert system can have two interfaces, one for general user and other for expert user (domain expert or knowledge engineer). Following diagram depicts what an expert system looks like:
Lets look at what are some of the key components of an expert system in general:
- Knowledge Base: Knowledge base consists of a set of rules and facts created by subject matter expert from time-to-time. These rules are modified by these experts as and when required. Following diagram represents the process used by subject matter experts to create a knowledge base.
- Inference Engine: Inference engines are used to infer the outcomes/solutions based on the problem statement provided to it. It refers the knowledge base to reach to a set of one or more conclusions.