Expert System Concept

Introduction of Expert System

Expert system is one of the areas of artificial intelligence. An expert system also known as knowledge based system is a computer program that contains the knowledge and analytical skills of one or more human experts in a specific problem domain.

The goal of the design of the expert system is to capture the knowledge of a human expert relative to some specific domain and code this in a computer in such a way that the knowledge of the expert is available to a less experienced user [Deniis Ritchi, 1996].

Expert System Concept

Expert System Concept

An expert system is a computer system that emulates the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as if–then rules rather than through conventional procedural code.

The first expert systems were created in the 1970s and then proliferated in the 1980s. Expert systems were among the first truly successful forms of artificial intelligence (AI) software.

An expert system is divided into two subsystems: the inference engine and the knowledge base. The knowledge base represents facts and rules. The inference engine applies the rules to the known facts to deduce new facts. Inference engines can also include explanation and debugging abilities.

Characteristics of an Expert System

  1. Expert system provides the high-quality performance which solves difficult programs in a domain as good as or better than human experts.
  2. Expert System possesses vast quantities of domain specific knowledge to the minute details.
  3. Expert systems apply heuristics to guide the reasoning and thus reduce the search area for a solution.
  4. A unique feature of an expert system is its explanation capability. It enables the expert system to review its own reasoning and explain its decisions.
  5. Expert systems employ symbolic reasoning when solving a problem. Symbols are used to represent different types of knowledge such as facts, concepts and rules.
  6. Expert system can advice, modifies, update, expand & deals with uncertain and irrelevant data.

Architecture of Expert System

An expert system tool, or shell, is a software development environment containing the basic components of expert systems. The core components of expert systems are the knowledge base and the reasoning engine.

Knowledge Base

Architecture of Expert System

Architecture of Expert System

The knowledge base contains the knowledge necessary for understanding, formulating and for solving problems. It is a warehouse of the domain specific knowledge captured from the human expert via the knowledge acquisition module. To represent the knowledge production rules, frames, logic, semantic net etc. is used.

The knowledge base of expert system contains both factual and heuristic knowledge. Factual knowledge is that knowledge of the task domain that is widely shared, typically found in textbooks or journals. Heuristic knowledge is the less rigorous, more experiential, more judgmental knowledge of performance, rarely discussed, and islargely individualistic. It is the knowledge of good practice,
good judgment, and plausible reasoning in the field.

Inference Engine

Inference Engine is a brain of expert system.It uses the control structure (rule interpreter) and provides methodology for reasoning. It acts as an interpreter which
analyzes and processes the rules. It is used to perform the task of matching antecedents from the responses given by the users and firing rules. The major task of inference engine is to trace its way through a forest of rules to arrive at a conclusion. Here two approaches are used i.e. forward chaining and backward chaining.

Knowledge Acquisition

Knowledge acquisition is the accumulation, transfer and transformation of problem-solving expertise from experts and/or documented knowledge sources to a computer program for constructing or expanding the knowledge base. It is a subsystem which helps experts to build knowledge bases. For knowledge acquisition, techniques used
are protocol analysis, interviews, and observation.

Explanation Facility

It is a subsystem that explains the system’s actions. The explanation can range from how the final or intermediate solutions were arrived at to justifying the need for additional data. Here user would like to ask the basic questions why and how and serves as a tutor in sharing the system’s knowledge with the user.

User interface

It is a means of communication with the user. It provides facilities such as menus, graphical interface etc. to make the dialog user friendly. Responsibility of user interface is to convert the rules from its internal representation (which user may not understand) to the user understandable form. To build the expert system is known as Knowledge Engineering.

Personnel involved in expert system development are domain expert, user, knowledge engineer and system maintenance personnel. Domain expert has special knowledge, judgment, experience and methods to give advice and solve problems. It provides knowledge about task performance. Knowledge engineer is involved in the development of the inference engine, structure of the knowledge base and user interface. The expert and knowledge engineer should anticipate user’s need while designing an expert system.

Expert System Development Life Cycle

Expert System Development Life Cycle

Expert System Development Life Cycle

Problem Identification 

Identifying the problem and opportunity where the organization can obtain benefits from expert system, and establishing the Expert system general goals.

Feasibility Study Phase

Assessing the feasibility of the expert system development in terms of its technical operational and economical feasibility

Project Planning Phase

Planning for the expert system project, including development team members, working environment, project schedule, and budget

Knowledge Acquisition Phase
Extracting domain knowledge from domain experts and determining the system’s requirements.

Knowledge Representation Phase

Representing key concepts from domain and inter relationships between these concepts using formal representation methods.

Knowledge Implementation Phase
Coding the formalized knowledge in to a working prototype.

Verification and Validation

Verifying and validating working prototype against the system requirements, and revising it necessary according to domain expert’s feedback.

Installation and Training:

Installing the final prototype in an operating environment, training the users and developing documentation and user manual.

Operation/ Evolution / Maintenance

Running the system in an operating environment, evaluating its performance and benefits and maintaining system.

Advanteges

The goal of knowledge-based systems is to make the critical information required for the system to work explicit rather than implicit. In a traditional computer program the logic is embedded in code that can typically only be reviewed by an IT specialist. With an expert system the goal was to specify the rules in a format that was intuitive and easily understood, reviewed, and even edited by domain experts rather than IT experts. The benefits of this explicit knowledge representation were rapid development and ease of maintenance.

Ease of maintenance is the most obvious benefit. This was achieved in two ways. First, by removing the need to write conventional code, many of the normal problems that can be caused by even small changes to a system could be avoided with expert systems.

Essentially, the logical flow of the program (at least at the highest level) was simply a given for the system, simply invoke the inference engine. This also was a reason for the second benefit: rapid prototyping. With an expert system shell it was possible to enter a few rules and have a prototype developed in days rather than the months or year typically associated with complex IT projects.

A claim for expert system shells that was often made was that they removed the need for trained programmers and that experts could develop systems themselves. In reality, this was seldom if ever true. While the rules for an expert system were more comprehensible than typical computer code, they still had a formal syntax where a misplaced comma or other character could cause havoc as with any other computer language. Also, as expert systems moved from prototypes in the lab to deployment in the business world, issues of integration and maintenance became far more critical. Inevitably demands to integrate with, and take advantage of, large legacy databases and systems arose. To accomplish this, integration required the same skills as any other type of system

Disadvantages

The most common disadvantage cited for expert systems in the academic literature is the knowledge acquisition problem. Obtaining the time of domain experts for any software application is always difficult, but for expert systems it was especially difficult because the experts were by definition highly valued and in constant demand by the organization.

As a result of this problem, a great deal of research in the later years of expert systems was focused on tools for knowledge acquisition, to help automate the process of designing, debugging, and maintaining rules defined by experts. However, when looking at the life-cycle of expert systems in actual use, other problems – essentially the same problems as those of any other large system – seem at least as critical as knowledge acquisition: integration, access to large databases, and performance.

Performance could be especially problematic because early expert systems were built using tools (such as earlier Lisp versions) that interpreted code expressions without first compiling them. This provided a powerful development environment, but with the drawback that it was virtually impossible to match the efficiency of the fastest compiled languages (such as C). System and database integration were difficult for early expert systems because the tools were mostly in languages and platforms that were neither familiar to nor welcome in most corporate IT environments – programming languages such as Lisp and Prolog, and hardware platforms such as Lisp machines and personal computers.

As a result, much effort in the later stages of expert system tool development was focused on integrating with legacy environments such as COBOL and large database systems, and on porting to more standard platforms. These issues were resolved mainly by the client-server paradigm shift, as PCs were gradually accepted in the IT environment as a legitimate platform for serious business system development and as affordable minicomputer servers provided the processing power needed for AI applications.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *