Chapter 8 Knowledge Representation Xiu-jun GONG (Ph. D) School of Computer Science and Technology, Tianjin University gongxj@tju.edu.cn http://cs.tju.edu.cn/faculties/gongxj/course/ai/
Outline Knowledge & Knowledge representation Methodology for KR Logic Production System Semantic Net Frame Script Object-Oriented Summary
Knowledge = Facts+Rules+Control Strategy What is Knowledge ? Knowledge Knowledge Information Data Signal Knowledge = Facts+Rules+Control Strategy +(sometimes ) Faiths
Taxonomy of Knowledge Facts: declarative knowledge thief(john), likes(john, wine) Rules: procedural knowledge may_steal(X, Y) if thief(X) and likes(X, Y) Control Strategy: meta, super knowledge reasoning strategy note form search strategy knowledge about knowledge.
Attributes of Knowledge Range :Special ←→ General Intend :Expository ←→ Instructional Certainty :Certain ←→ Uncertain Contain/Conflict :←→Contain Conflict(in faith)
Knowledge Representation Knowledge representation is an issue that arises in both cognitive science and AI. In cognitive science it is concerned with how people store and process information. In AI, the primary aim is to store knowledge so that programs can process it and achieve the verisimilitude of human intelligence. AI researchers have borrowed representation theories from cognitive science. Verisimilitude:貌似真实; 逼真; 逼真的事物
Some issues in KR How do people represent knowledge? What is the nature of knowledge and how do we represent it? Should a representation scheme deal with a particular domain or should it be general purpose? How expressive is a representation scheme? Should the scheme be declarative or procedural?
Methodology of KR Logic Production System Semantic Net Frame Script
Propositional Logic Propositional logic uses true statements to form or prove other true statements. Representation (syntax): How to represent a proposition. Reasoning (algorithm): How to create or prove new propositions. Representation of propositional logic A propositional symbol and connectives (!, *, +, =>, <=> ) Example: C = “It’s cold outside” ; C is a proposition O = “It’s October” ; O is a proposition If O then C ;if it’s October then it’s cold outside
Predicate Logic Same connectives as propositional logic Propositions have structure: Predicate/Function + arguments. R, 2 ; Terms. Terms are not individuals, not propositions Red(R), (Red R) ; A proposition, written in two ways (southOf UnicornCafe UniHall) ;a proposition (+ 2 2) ; Term, since the function + ranges over numbers Quantifiers enable general axioms to be written (forall ?x (iff (Triangle ?x) (and (polygon ?x) (numberOfSides ?x 3))) Easy to inference
Logic as a KR language advantages Disadvantages With a semantics Expressiveness Disadvantages Inefficient Undecidability Unable to express procedural knowledge Unable to do default reasoning No abduction Abduction: 【逻】不明推论式(大前提完全正确, 但小前提仍有问题的三段论法):溯因推理
Production System (1) Production rules are one of the most popular and widely used knowledge representation languages Production rule system consists of three components working memory contains the information that the system has gained about the problem thus far. rule base contains information that applies to all the problems that the system may be asked to solve. interpreter solves the control problem, i.e., decide which rule to execute on each selection-execute cycle. Used both for KR and Problem solving system
Production System (2) Advantages: Disadvantages Naturalness of expression Modularity Restricted syntax Ability to Represent Uncertain Knowledge Disadvantages Inefficient Less expressive
Semantic Nets Intuition base: An important feature of human memory is the high number of connections or associations between the different pieces of information contained in it. There are two types of primitive Nodes correspond to objects, or classes of objects, in the world Links are unidirectional connections between nodes and correspond to relationships between these objects
Semantic Nets Major problem with semantic nets is that although the name of this knowledge representation language is semantic nets, there is not, ironically, clear semantics of the various network representations. For the above example, it can be interpreted as the representation of a specific bird named Tweety, or it can be interpreted as a representation of some relationship between Tweety, birds and animals.
Common used links IS-A PART-OF MODIFILES: on, down, up, bottom, moveto,… Link types are set up for specific domain knowledge
Examples of Semantic Net (1) Represent a table leg4 leg1 leg3 table leg2 top Support is-a
Analysis of Semantic Net For a particular Domain, you make up a set of link-types create a set of nodes connect them together ascribe meaning Write Programs to manipulate the knowledge Lisp CL the AS/400 Control Language (CL) is a scripting language for the IBM AS/400 midrange platform bearing a resemblance to the IBM Job Control Language and consisting of an ever expanding set of command objects (*CMD) used to invoke traditional AS/400 programs and/or get help on what those programs do. CL can also be used to create CL programs (congruent to shell scripts) where there are additional commands that provide program-like functionality (GOTO, IF/ELSE, variable declaration, file input, etc.)
Examples of Semantic Net (2) My car is tan and John’s car is green car car1 tan car2 green I john owner color is-a Color Tan:黄褐色, 棕黄色
Inference in a Semantic Net (1) Inheritance the is-a and instance-of representation provide a mechanism to implement this. Inheritance also provides a means of dealing with default reasoning IS-A IS-A IS-A A B C A C can can IS-A clyde bird bird fly clyde fly
Inference in a Semantic Net (2) Intersection search The notion that spreading activation out of two nodes and finding their intersection finds relationships among objects. Many advantages including entity-based organization and fast parallel implementation. However very structured questions need highly structured networks
Inference in a Semantic Net (3) owner owner color color car1 what? car1 tan is-a is-a car car tan is-a color car2 green What color is the car1? owner john
Frame representation Frame: a knowledge representation technique which attempts to organize concepts into a form which exploits interrelatioships and common beliefs frame-based KR is analogous to object-oriented programming; the difference is the entities encoded A frame is similar to a record data structure or database record: Frame has slot names and slot fillers, and usually arranged in a hierarchy
Structure of frame (1) Frame name slot: value , value, …… . slot: facet: value, value, …… Facet includes value-type, cardinality, inverse relationship of a slot Frame: printer superset: office-machine subset: {laser-printer, ink-jet-printer} energy-source: wall-outlet maker: Epson date: 1-April-2003
Structure of frame (2) Frames often allowed slots to contain procedures. “if-needed” procedures, run when value needed if-added” procedures, run when a value is added (to update rest of data, or inform user).
Class and instance frames (frame) instance: representing” lowest-level” object; a single object or entity (frame) class: describes different frames (either instances or classes) every instance has an “is-a” link, pointing to its class possibly more than one “is-a”
Example of frames (1) Bird Class frame Colour Unknown Wings 2 Flies Frame Name: Bird Class frame Properties: Colour Unknown Wings 2 Flies True Frame Name: Tweety Bird Class: Instance frame Properties: Colour Yellow Wings 1 Flies False
Example of frames (2) Jenny Panda Name: Jenny Height: 1.6 Type: Animal Colour: Black and white Food: EatFunc: …….. Name: Height: Age: 0 Sibling Bamboo Type: Plant GrowFunc: …….. Location: Height: 2 Jenny Name: Jenny Height: 1.6 Age: 5 Sibling: Vicky Name: Vicky Height: 0.7 Age: 1
Capability of frame representation Advantages Domain knowledge model reflected directly Support default reasoning Efficient Support procedural knowledge Disadvantages Lack of semantics Expressive limitations
Scripts for KR Rather similar to frames: uses inheritance and slots; describes stereotypical knowledge, (i.e. if the system isn't told some detail of what's going on, it assumes the "default" information is true), but concerned with events. Somewhat out of the mainstream of expert systems work. More a development of natural-language-processing research. Stereotypical: 模板式的
Definition of scripts A script is a remembered precedent, consisting of tightly coupled, expectation-suggesting primitive-action and state-change frames [Winston, 1992] A script is a structured representation describing a stereotyped sequence of events in a particular context [Luger, Stubblefield,1998]
Why scripts? (1) Because real-world events do follow stereotyped patterns. Human beings use previous experiences to understand verbal accounts; computers can use scripts instead. Because people, when relating events, do leave large amounts of assumed detail out of their accounts. People don't find it easy to converse with a system that can't fill in missing conversational detail
Why scripts? (2) Scripts predict unobserved events. Scripts can build a coherent account from disjointed observations. Applications This sort of knowledge representation has been used in intelligent front-ends, for systems whose users are not computer specialists. It has been employed in story-understanding and news-report-understanding systems.
Components of Scripts Script name Entry conditions: Roles Props Scene 1 Scene 2 … Results
Script: restaurant example (1) Scene 1:Entering 顾客进入餐厅 注意桌子 看往哪里坐 朝桌子走去 在座位坐下 Script: RESTAURANT Track: Coffee Shop Props: Tables Menu Food Check Money Roles: Customer Waiter Cook Cashier Owner (Customer ask for Menu) 顾客招呼服务员 服务员走向顾客 顾客向服务员要菜单 服务员去拿菜单 服务员走向桌子 服务员把菜单交给顾客 Scene 2:Ordering (Menu on table) 顾客拿起菜单 顾客招呼服务员 服务员走向顾客 * 顾客从菜单中选择菜肴 服务员记下 服务员通知厨师 厨师制作菜肴 服务员说“没有” 进入Scene 4 不付款离开餐厅 进入Scene 3
Script: restaurant example (2) Entry conditions: Customer is hungry Customer has money Results: Customer has less money Owner has more money Customer is not hungry Customer is pleased(optional) Scene 3:Eating 厨师把菜肴交给服务员 服务员把菜肴交给 顾客吃下菜肴 返回Scene 2 * Scene 4:Leaving 服务员写帐单 顾客把钱交给服务员 顾客把小费交给服务员 服务员走向出纳员 服务员把钱交给出纳员 不付款离开餐厅 顾客离开餐厅
Summary: KR as Logic (Declarative) Procedural Structure Associations Propositional Predicate Procedural Rules Productions systems Structure Frames Scripts Associations Semantic net