Quality Assurance Of An Expert System
Index • Introduction • What is AI? • Intelligent in Human & Machine? • What is Expert System? • How are Expert System used? • Elements of ES • Who are people involved in an Expert System project ? • Comparison of expert systems with (( conventional systems and human experts )) • Knowledge • Definition of Knowledge • Knowledge acquisition • Knowledge representation
What is AI (Artificial intelligent )? "Artificial intelligence is the study of how to make computers do things at which, at moment, people are better“ Elaine Rich (1983) Artificial intelligence is the branch of computer science that focuses on the development of computer systems. Artificial is also called machine intelligence
Branches of Artificial Intelligence Computer Science
What is an Expert System ? • Expert systems are artificial intelligence (AI) tools that capture the expertise of knowledge workers “Experts” and provide advice to (usually) non-experts in a given domain. • Expert systems are implemented with artificial intelligence technology, often called expert system shells. • Expert System Shell : is an expert system but without knowledge “with empty knowledge”
How are Expert Systems used? Many expert systems are built using a generic ‘shell’. An expert system shell consists of the programming components of an expert system but without a KB. Using a shell, a knowledge engineer can quickly enter a new KB and, without the need for any programming, create a complete working expert system. The expert system can be used many times with the same knowledge using that knowledge to solve different problems (just like a doctor uses their knowledge many times to diagnose and cure lots of patients).
What is Knowledge ? • Knowledgeisatheoreticalorpracticalunderstanding of a subject or a domain. • Who owns knowledge are called experts. • Domain expert is anyone has deep knowledge and strong practical experience in a particular domain. • An expert is a skilful person who can do things other people cannot.
Knowledge Engineering ‘Knowledge engineering is the process of developing knowledge based systems in any field, whether it be in the public or private sector, in commerce or in industry’ (Debenham, 1988). • Knowledge engineering normally involves five distinct steps (listed below) in transferring human knowledge into some form of knowledge based system(KBS). 1. Knowledge acquisition 2. Knowledge validation 3. Knowledge representation 4. Inferencing 5. Explanation “Interface”
What is Knowledge Acquisition ? Knowledge acquisition is the process of acquiring the knowledge from human experts or other sources (e.g. books, manuals) to solve the problem. the knowledge acquisition process primarily involves a discussion between the knowledge engineer and the human expert. A knowledge engineer can also use interviews as methodof obtaining knowledge from human experts however they must also consider other sources of knowledge. (( records of past case studies , standards documentation ,knowledge from other humans who are less knowledgeable but more available then experts. ))
Knowledge acquisition techniquesInterview (1) • An Interview is the easiest technique for Knowledge Acquisition. • To conduct a successful interview the knowledge engineer will need to: • plan • use appropriate stage management techniques • consider and use appropriate social skills • maintain appropriate self-control during the interview.
Knowledge acquisition techniquesInterview (2) The interview normally consists of three parts :
Knowledge acquisition techniquesInterview (3) Questions useful to begin the interview process include: Can you give me an overview of the subject? Can you describe the last case you dealt with? What facts or hypotheses do you try to establish when thinking about a problem? What kinds of things do you like to know about when you begin to think about a problem? Leading on to find a little more detail; tell me more about how this is achieved? What do you do next? How does that relate to . . . ? How, why, when, do you do that? Can you describe what you mean by that? Closing an interview by reviewing the information obtained, and perhaps by alerting the expert to the need for further interviews, is also important.
Other Knowledge Acquisition Techniques • By knowledge engineer • Tutorial interviews “presentation” • Twenty question interviews “Yes or No” • Teach back interviews “past interviews” • Observation studies • Observation of an expert doing his task • The cooperation with the expert can be difficult • The time consuming for the knowledge engineer • No knowledge engineer necessary • Machine induction “ automated Knowledge Acquisition “ • Rules are automatically induced from given examples • Database is instable & Rules are complex
Knowledge acquisition techniquesInterview (4) Dealing with Multiple Experts
Knowledge Representation Knowledge representation (KR) is an area of artificial intelligence whose fundamental goal is to represent knowledge in a manner that facilitates inferencing (i.e. drawing conclusions) from knowledge. Different knowledge representation schemes: Rules Semantic Networks Frames
Production Rules Rules is the most commonly used type of knowledge representation in AI. Format: IF .. THEN Any rule consists of two parts: IF part, called the premise (or condition) and THEN part, called the conclusion (or action). Basic syntax of a rule is: IF <condition> THEN <action>
Production Rules Other clauses such as OR, And and ELSE can also be used within this construct to show alternative conditions or different courses of action. For example, a simple rule could be: IF raining THEN you-should-carry-an-umbrella IF Christmas day falls on a Monday, OR Christmas day falls on a Tuesday THEN many factories will close for the whole of Christmas week.
Production Rules Advantages: Easy to understand Explanations and inference are easy to get. Rules are independent of all others. Modification and maintenance are relatively easy. Uncertainty is easily combined with rules.
Production Rules Disadvantages: Hard to follow hierarchies Inefficient for large systems. Not all knowledge can be expressed as rules.
Semantic Networks One of the oldest and easiest to understand knowledge representation schemes. It is a graphical representation of knowledge that shows objects and their relationships. They are often used as a communication tool between the knowledge engineer and the expert during the knowledge acquisition phase of a project. In these networks, objects are shown by nodes, and links between the nodes describe the hierarchical relationships between objects.
Semantic Networks For example: Mary is an instance of trainer, and trainer is a type of consultant. A trainer trains a programmer and a programmer is an employee. Joe is an instance of programmer. From this we can clearly see the relationship that may exist between Mary and Joe.
Semantic Networks Inheritance is concerned with how one object inherits the properties of another object.
Semantic Networks Advantages: Flexible to add new nodes and links The network is graphical and easy to understand. They tend to be a powerful and adaptable method of representing knowledge because many different types of object can be included in the network. Can be used as a common communication tool between the knowledge engineer and the human expert during the knowledge acquisition phase of designing an ES.
Semantic Networks Disadvantages: Meaning attached to nodes may be ambiguous. Difficult to program.
Frames Frames are a simplified version of a semantic network where only ‘is a’ relationships apply. Frames provide a method of storing knowledge, collecting specific information about one object in an ES. In essence they allow both data and procedures to be included within one structure.
Frames Each frame has its own name and a set of attributes, or slots, associated with it.
Frames An example frame for a coffee mug object can be drawn as follows:
Frames Three different types of slots are used: Named slots having a standard filler value of certain data items. For example, the slot for number of wheels in a car frame will have a default value of four. This can be overwritten where the specific type of car being described (such as a three-wheel car) does not meet this default value. Range values can also be specified, e.g. the size must be small, medium or large.
Frames 2. Slots showing relationships using the term IS A. For example, a car is a motor vehicle. The IS A motor vehicle slot will therefore link the frame for car with a frame describing the basic features of a motor vehicle. 3. Slots contain procedural code. For example, the number of miles that a car can travel, i.e., its range, is determined by the current petrol stored in its tank and by the engine size. The slot for range can therefore store procedural code to calculate the range (if needed) based on the slots for current petrol and engine size.
Frames Inheritance: One of the main advantages of using frames is the principle of inheritance. This means that frames can inherit the attributes of other frames, in a hierarchical structure. For example, a frame for a cup can provide some basic attributes in a number of slots about that object. These attributes can be given to other objects that share those attributes.
Frames Advantages: be represented in the form of a table, making the information easy to read. be structured hierarchically and thus allow easy classification of knowledge. reduce complexity by allowing a hierarchy of frames to be built up. clearly document information using common formats and syntax. combine procedural and declarative knowledge using one knowledge representation scheme. constrain allowed values, or allow values to be entered within a specific range.
Frames Disadvantages: Difficult to program. Difficult for inference. Lack of inexpensive software
Inference Engine • Use information and relations to derive new facts to solve problems or predict possible outcomes. • Main reasoning component • Find the right facts, apply the right relations, etc. • Ex: Facts: male(Ali), female(Mona) • Relations: father(X, Y) => male(X) • The engine can conclude that Mona cannot be a father.
Inference Engine • Inference engine compares each rule stored in the knowledge base with facts contained in the database. • When the IF (condition) part of the rule matches a fact: • The rule is fired and its THEN (action) part is executed. • Fired rule may change the set of facts by adding a new fact.
Inference Engine • General problem-solving knowledge or methods. • Interpreter analyzes and processes the rules. • Scheduler determines which rule to look at next. • The search portion of a rule-based system.
Chaining Inference Techniques • In a rule-based expert system: • Domain knowledge is represented by a set of IF-THEN production rules. • Data is represented by a set of facts about the current situation.
Matching of the rule IF parts to the facts produces inference chains The inference engine cycles via a match-fire procedure