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 http://en.wikipedia.org/wiki/Knowledge_representation_and_reasoning An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
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> An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
THEN many factories will close for the whole of Christmas week. 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. An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
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. Decision Support Systems and Intelligent Systems, 7th edition, Turban, Aronson, and Liang
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. An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
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. An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
Semantic Networks An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
Semantic Networks Inheritance is concerned with how one object inherits the properties of another object. An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
Semantic Networks An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
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. An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
Semantic Networks Disadvantages: Meaning attached to nodes may be ambiguous. Difficult to program. Decision Support Systems and Intelligent Systems, 7th edition, Turban, Aronson, and Liang
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. An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
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: An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
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. An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
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. An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
Frames An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
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. An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
Frames An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
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. An Introduction to Knowledge Engineering, Simon Kendal, Malcolm Creen
Frames Disadvantages: Difficult to program. Difficult for inference. Lack of inexpensive software Decision Support Systems and Intelligent Systems, 7th edition, Turban, Aronson, and Liang
Inference Engine
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. ArtificialArtificial A Guide to Intelligent Systems, Second Edition. By MICHAEL NEGNEVITSKY. 24
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. Artificial Artificial A Guide to Intelligent Systems, Second Edition. By MICHAEL NEGNEVITSKY.
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. Artificial Intelligence and Expert Systems for Engineers. By C.S. Krishnamoorthy; S. Ra.
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. Artificial Artificial A Guide to Intelligent Systems, Second Edition. By MICHAEL NEGNEVITSKY.
Matching of the rule IF parts to the facts produces inference chains Artificial Artificial A Guide to Intelligent Systems, Second Edition. By MICHAEL NEGNEVITSKY. The inference engine cycles via a match-fire procedure
Chaining Inference Techniques 1- Forward Chaining Forward chaining is a data-driven inference process. Is a technique for gathering information and then inferring from it whatever can be inferred. You start with facts and try to reach conclusions. The user of the system has to give all the available data before the start of the inference. The inference mechanism tries to establish the facts as they appear in the knowledge base until the goal is established. Artificial Intelligence and Expert Systems for Engineers. By C.S. Krishnamoorthy; S. Ra. 29
Chaining Inference Techniques 1- Forward Chaining Advantage 1-The forward chaining process is suitable only when there are very few initial states and many goal states. 2-If the data are sufficient the goal may be reached. 3-Forward chaining is going to be adopted for reasoning. Artificial Intelligence and Expert Systems for Engineers. By C.S. Krishnamoorthy; S. Ra. 30
Chaining Inference Techniques 1- Forward Chaining Disadvantage 1-If the data are sufficient the goal may be reached; otherwise it may exit stating that the goal is unreachable with the available data. 2-Many initial and goal states can exist. Also the User may not be able to give all the necessary data a priori, as he/she may not be able to visualize the flow of the inference process. 3-Not efficient if our goal is to infer only one particular fact. Many rules may be executed that have nothing to do with the established goal. 4-Many rules may be executed that have nothing to do with the established goal. 5-More expensive since it can generate many conclusions. Chaining Inference Techniques 1- Forward Chaining Artificial Intelligence and Expert Systems for Engineers. By C.S. Krishnamoorthy; S. Ra. 31
Chaining Inference Techniques 2- Backward Chaining You start with conclusions. You want to find out if you can get to the conclusion from your facts. Is a goal-driven process and the most frequently used inference mechanism. It tries to establish goals in the order in which they appear in the knowledge base. The goal variable defined in the rule base for selection of a structural. Artificial Intelligence and Expert Systems for Engineers. By C.S. Krishnamoorthy; S. Ra. 32
Chaining Inference Techniques 2- Backward Chaining Advantage System is ‘floor system’, The inference process will stop once this variable gets a value. It tries to establish goals in the order in which they appear in the knowledge base. The inference process will stop once this variable gets a value. 33
Chaining Inference Techniques 2- Backward Chaining Disadvantage It will continue to follow a given line of reasoning even if it should drop it and switch to a different one. Artificial Intelligence and Expert Systems for Engineers. By C.S. Krishnamoorthy; S. Ra. 34
Comparative Summary of Backward and Forward Chaining Attribute Backward Chaining Forward Chaining Also known as Goal-driven Data-driven Starts from Possible conclusion New data Processing Efficient Somewhat wasteful Aims for Necessary data Any conclusion (s) Approach Conservative/cautious Opportunistic Practical if Number of possible final answers is reasonable or a set of known alternatives is available Combinatorial explosion creates an infinite number of possible right answers Appropriate for Diagnostic, prescription and debugging application Planning, monitoring, control and interpretation application Example of application Selecting a specific type of investment Making changes to corporate pension fund
Chaining Inference Techniques 3- Hybrid inference mechanism It is a combination of the backward and forward chaining process. The sequence in which the data are requested depends on the flow of the inference process. Backward chaining is suitable, if there are few goal states and many initial states. In forward chaining all the data that the user knows have to be given a priori and the system does not prompt for any data. It starts in the forward chaining mode with an empty context by trying to establish the facts as they appear in the rule base and then backward chains to prove or disprove them. Artificial Intelligence and Expert Systems for Engineers. By C.S. Krishnamoorthy; S. Ra. 36
Other Components Explanation Facility Knowledge Acquisition Facility Enables the expert system to explain its reasoning. Helps the user to judge the expert system. Knowledge Acquisition Facility Get and update knowledge. Provide a way to capture and store knowledge. Can be semi-automated. User Interface Help users interact with the system. Improve usability. Explanation in Expert Systems: A Survey By Johanna D. Moore and William R. Swartout
Explanation capabilities Explanation Facility Explanation capabilities A basic component of an expert system that enables the user to query the expert system about how it reached a particular conclusion and why it needs a specific fact to do so. They can show the sequence of the rules they applied to reach a solution, but cannot relate accumulated, heuristic knowledge to any deeper understanding of the problem domain. Enable the user to ask the expert system how a particular conclusion is reached and why a specific fact is needed. An expert system must be able to explain its reasoning and justify its advice, analysis or conclusion. Explanation in Expert Systems: A Survey By Johanna D. Moore and William R. Swartout
The explanation facilities of most current systems can be characterized as: Narrow: only a few types of questions can be answered. Inflexible: explanations can be presented in only one way. Insensitive: explanations cannot be tailored to meet the needs of different users or of different situations. Unresponsive: the system cannot answer follow-up questions or offer an alternative explanation ,if a user does not understand a given explanation. inextensible: new explanation strategies cannot be added easily. Explanation in Expert Systems: A Survey By Johanna D. Moore and William R. Swartout
Early Approaches to Explanation in Expert Systems Early attempts to provide programs with an ability to explain: 1-Those that produce explanations from text prepared a priori and associated with structures or procedures in the program, and 2-Those that produce explanations by translating directly from the program code and execution traces. Explanation in Expert Systems: A Survey By Johanna D. Moore and William R. Swartout
1-Explanation From Canned Text or Templates In the first approach, system builders anticipate what questions are likely to be asked and construct the natural language text of the responses to be given. This text is often referred to as canned text and explanations produced by displaying this text are canned explanations. The canned text may contain variables to be filled in with values from a specific execution of the program. Structures that mix canned text with slots to be filled in are called templates. Example: Error messages in programs are a common example of this approach. Explanation in Expert Systems: A Survey By Johanna D. Moore and William R. Swartout
2-Explanation By Translating the Code Researchers developed explanation systems which produce their programs are written in a language to which simple transformations can be applied to produce natural language explanations of the code’s behavior. Explanation in Expert Systems: A Survey By Johanna D. Moore and William R. Swartout
dialogue structure))User interface User interface is the means of communication between a user seeking a solution to the problem and an expert system. The communication should be as meaningful and friendly as possible. External interface allows an expert system to work with external data files and programs written in conventional programming languages such as C, Pascal, FORTRAN and Basic. Developer interface usually includes knowledge base editors, debugging aids and input/output facilities. ArtificialArtificial A Guide to Intelligent Systems, Second Edition. By MICHAEL NEGNEVITSKY.
Questions