270 likes | 386 Views
Kurt Hungerford CSCI 8110. The Knowledge Machine. Bottom Line, Up Front. The Knowledge Machine is a knowledge representation and reasoning system that allows users to store concepts and relationships and then perform inferences on the knowledge base. Overview.
E N D
Kurt Hungerford CSCI 8110 The Knowledge Machine
Bottom Line, Up Front • The Knowledge Machine is a knowledge representation and reasoning system that allows users to store concepts and relationships and then perform inferences on the knowledge base.
Overview • KR&R – Knowledge Representation and Reasoning • Description of the KM • KM Applications
References • KM website: • http://www.cs.utexas.edu/~mfkb/km/ • Knowledge Systems Research Group website: • http://www.cs.utexas.edu/users/mfkb/index.html • KM Manual • [Barker K., et. al.] “A Question-Answering System for AP Chemistry: Assessing KR&R Technologies” • The KM Algorithm (powerpoint) • KM Tutorial (powerpoint)
KR&R • Knowledge Representation • Reasoning • More organized way for computers to represent how people think • “Computers are ignorant… Our goal is to build knowledgeable computers – capable of conversing intelligently on many topics.” - Knowledge Systems Research Group
Knowledge Representation • Symbols • Represent objects and concepts • Example: chess • Represent the board • Represent the pieces • Represent positioning • Knowledge Base – statements about what we know and believe
Reasoning • Inference – using current knowledge to deduce new knowledge • Example: chess • What will the board look like if I make a particular move? • What will be the best response from my opponent? • Given that, what is my best response?
The Knowledge Machine • Developed by the Knowledge Systems Research Group at University of Texas Austin • Knowledge Representation Language • Implemented in LISP • Represents Knowledge in Frames • Inference-Capable
KM Description • Object-Oriented • Frames and Slots • Similar to Classes and Fields • Queries • Retrieve stored knowledge • Perform inferences on knowledge
Frames • Object • Information about the object • Syntax: • (every <class> has (slot1 (expr1 expr2 …)) (slot2 (expr1 expr2 …)) …)
Frames • Frames have slots • Slots are how relations between concepts are represented • Predicates about the frame • Slots assert what is known about the frame
Frame Example • (every Building has (doors (front back)) (windows (w1 w2 w3 w4)) (roof (r1))) • (myHousehas (instance-of (Building))) • (myHousehas (doors (side1 side2))) • (myHouse2 has (instance-of (Building)))
Anonymous Instances • Instances that get automatically, created by the KM • (a <class>) returns an anonymous instance • Example: • (a Building) • (_Building15)
Queries • Knowledge Look-Up • Inference • Syntax • (the <slot> of <instance>)
Query Example • (the doors of *myHouse) • (side1 side2 front back) • (the doors of *myHouse2) • (front back)
KM’s Algorithm • An atomic value returns itself • (4) -> 4 • Otherwise, decompose the expression • Decomposition results in smaller expressions, which are then recursively evaluated • Ultimately, this will return a value, which is then propagated back up the recursion chain
KM’s algorithm • Different kinds of expressions decompose slightly differently • Example: • (if <expr1> then <expr2>) => (expr1) returns bool1 if bool1 = true then (expr2) • (the <slot> of <expr>) => (expr) returns frame; (the <slot> of frame)
Quirks • Working with lists (it is LISP, after all) • KM only computes slots on demand • Unification • == for unification; /== for doesn’t unify • = for testing equality; /= for testing inequality • (t) used for true; NIL used for false • Any non-NIL value also evaluates to true • Output precision works in scientific notation • Delete – doesn’t undo previous inferences
Advanced KM Abilities • Constraints • Prototypes • Theories • Situations • Simulations • Metaclasses
Applications • Botany Knowledge Base • Large Botany KB • Used early version of KM • Project Halo • Expert Tutor • Store knowledge base on different subjects • Answered users’ questions and provide explanation
Project Halo • Effort to create a “Digital Aristotle” • Expert Tutor • Wide variety of subjects • Example: Chemistry • Attempt to develop a system capable of taking the AP Chemistry exam
AP Chemistry Application • Develop an expert system for AP Chemistry • Focused on a subset of Chemistry: • Stoichiometry and equilibrium reactions • Needed to restrict the domain, while still working with a wide variety of questions • System needed to deal with a wide variety of questions • Also needed to be able to provide explanations for the answers it gave
AP Chemistry Application • Questions posed in using KM • Answers used two types of reasoning: • Automatic classification – introduce new concepts by using definitions (based off chemistry terms) • Backward chaining – goal-oriented search method (based off chemistry laws)
AP Chemistry Application • The system also provided explanations with its answers • KM logs the rules it uses during its reasoning • The Chemistry application uses that record to generate a human-readable explanation • The explanation leaves out the uninteresting parts of the reasoning process • This results in a succinct, understandable derivation of the answer
Conclusion • KM is a KR&R Language • Used to capture knowledge about a domain • Used to reason about knowledge • Provide an explanation of its reasoning