What is an expert system shell and its components
An expert system shell can be considered as a expert system with the knowledge removed. Therefore, all the user has to do is to add the knowledge in the form of rules and provide relevant data to solve a problem.
The Expert System Shell is essentially a special purpose tool that is built in line with the requirements and standards of particular domain or expert-knowledge area applications. It may be defined as a software package expert systems by providing a knowledge representation scheme an an inference engine.
The Shell refers to the software module containing an interface, an inference engine, and a structured selection of a knowledge base with the appropriate knowledge representation facilities.
In layman terms, it can be viewed as an empty bowl that is yet to be filled with the expert knowledge elements that along with the interface engine may be used to process user requests to generate solution to user problems.
In essence, any Computer Program which when supplied with a particular knowledge base yields an expert system is termed an expert system Shell.
The expert System Shell is responsible for:
1. Managing and processing input and service requests from users and generating outputs.
2. Supporting the creation and modification of inference by knowledge engineers.
3. translating the inference rules created into machine-readable forms.
4. Processing the information given by the user and the application layer modules, and relating such information to the concepts contained in the knowledge base through the inference rules.
5. Providing solutions for particular problems within the scope of its integrated knowledge base.
6. Providing facilities for knowledge representation and editing the content of the knowledge base.
7. Providing facilities for uncertain reasoning.
8. Providing low level support to expert system components.
Components of an Expert System Shell
Some generic components of an expert system shell are given below:
1. Knowledge engineer’s development aids.
2. Knowledge acquisition aids.
3. User-system interfaces
5. Explanation facilities
6. language interfaces
1.Knowledge engineer’s development aids:
The knowledge engineer’s development aids assist the knowledge engineer in the development of expert systems. These aids provide the capabilities necessary to
build effective systems that are not provided by the other components. They include screen formatters, graphic development aids, and multipurpose editors.
2. Knowledge acquisition aids
The knowledge acquisition subsystem controls the flow of new knowledge from the human experts to the knowledge base. It determines what new knowledge is
needed or whether the received knowledge is indeed new, i.e. whether or not it is included in the knowledge base and if necessary, transmits them to the knowledge base.
3. Reasoning or Inference engines
This refers to the Inference mechanisms that are used for manipulating the symbolic information and knowledge contained in the knowledge base in order to form a reasoning path towards the solution of a problem. The inference engine component of the expert system shell is the foundation of the inference engine of the expert system under development. The control logic for the expert system is based on the inference engine component. Normally, this component contains all the control logic required by the expert system.
4. User-system interfaces
The most important component is the user-system interface. This represents the means of communication with the user. Many components involved in expert
system shells are designed to make the user-system interaction more flexible and friendly. Common features include graphic interfaces, menus, windows, explanation
features and natural language dialogue. It is important to ensure that the expert system shell provides complete user-system interface functionality for two reasons. First, without a comprehensive user-system interface, the developed system will be more difficult for a user to learn and use. Second, the knowledge engineer will have to develop the requisite user-system interface functionality, and this can take up a great deal of time and effort.
5. Explanation facilities
This is a subsystem that explains the system’s actions by
trying to give reasons why a certain cause of action or a certain conclusion was chosen by an Expert System. The explanation can range from how the final or intermediate solutions were arrived at to justifying the need for
additional data.
6. Language interfaces
Language interfaces are important when the expert system design calls for the system to perform data manipulation, which is not included in the exne system
technology. The language interface functions provided with most expert system shells allow the expert system builder to interface the expert system with programs
external to it.