370 likes | 558 Views
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
E N D
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
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
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.
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
PropositionalLogic • 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 • With a semantics • Expressiveness • Disadvantages • Inefficient • Undecidability • Unable to express procedural knowledge • Unable to do default reasoning • No 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: • 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
top leg1 leg2 leg3 leg4 Support is-a table Examples of Semantic Net (1) • Represent a table
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
I car1 tan owner color is-a car car2 green color is-a john owner Examples of Semantic Net (2) • My car is tan and John’s car is green
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 B A 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) I I owner owner color color car1 what? car1 tan is-a is-a tan car car 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: value, value, …… • 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 Frame Name: Class frame Colour Unknown Properties: Wings 2 Flies True Tweety Frame Name: Bird Class: Instance frame Yellow Colour Properties: Wings 1 False Flies
Panda Jenny Vicky Bamboo Type: Animal Colour: Black and white Food: EatFunc: …….. Name: Jenny Height: 1.6 Age: 5 Sibling: Name: Vicky Height: 0.7 Age: 1 Sibling: Type: Plant GrowFunc: …….. Location: Height: 2 Name: Height: Age: 0 Sibling Example of frames (2)
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.
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) • Propositional • Predicate • Procedural • Rules • Productions systems • Structure • Frames • Scripts • Associations • Semantic net