Presentation on theme: "Knowledge Representation and Reasoning using PowerLoom Presenter Shamima Mithun."— Presentation transcript:
Knowledge Representation and Reasoning using PowerLoom Presenter Shamima Mithun
Overview Introduction Terminology and Propositions PowerLoom Knowledge Base (KB) Construction Process Reasoning in PowerLoom KB Constructions and Query using PowerLoom Conclusion
Introduction PowerLoom is a Description Logics system. is a highly expressive language for knowledge representation. is the successor to the Loom knowledge representation system. uses a fully expressive, logic-based representation language (a variant of KIF). provides language and environment to develop intelligent applications .
Introduction (contd.) uses a Prolog-style backward chainer as its inference engine . is not a complete theorem prover, but it can handle complex rules, negation, subsumption, and restricted forms of higher order reasoning. handles recursive rules without the risk of infinite recursion. ::= │ │ │… ::= (not ) │(and *) │…
T-Box & A-Box Knowledge base comprises two components The T-Box introduces terminologies (concept, role/relation). Concepts: denote sets of individuals (e.g. person). Relations: denote binary relations between individuals (e.g. is_married_to). The A-Box asserts on the constants. Two kinds of assertions: Concept assertion, e.g. person (Mary), person (Peter). Role assertion, e.g. is_married_to (Peter, Mary).
Terminology and Propositions In PowerLoom KB represents physical or virtual world. Term are KB objects that models real world entities. Every term must have distinct name (e.g. person). Terms are categorized or related to one another by object called relations. “A proposition is a logical sentence that has an associated truth value” (e.g. John is a person).
PowerLoom KB Construction Process PowerLoom KB is constructed by first defining the terminology (concepts and relations) for a domain. then asserting additional rules and facts about that domain. fact can be asserted and later retracted, so the answers returned by the queries may change over time.
PowerLoom Commands Defines concept, relation, function and rules using defconcept, defrelation, deffunction, defrule. Add/Remove facts from KB with assert and retract Query KB ask, retrieve Note: Relations should be defined before they are used within association and queries.
More on syntactic construct Adopt a prefix notation (similar to KIF). For example, (=(+ 2 3)5) Construct complex sentence from simpler forms using the logical connectives and, or, not,,+, =>, <=, and the quantifiers exists and forall.
In PowerLoom concepts and instances of concept are organized hierarchically. Knowledge inherits down the hierarchy from parent to children. Fix Furniture and Movable Furniture inherit all facts asserted on their parent Furniture. Door, Window, Chair, and Sofa also inherit facts from their parents but they do not have access facts asserted to their siblings. PowerLoom KB Organization Furniture Fix Furniture Movable Furniture DoorWindowChairSofa
Reasoning in PowerLoom A reasoner, PowerLoom’s description classifier, uses technology derived from the Loom classifier. Classifier computes the subsumption relation between concepts using their description. Subsumption Subsumption is typically written as C D. Determining subsumption is the problem of checking whether the concept denoted by D (the subsumer) is considered more general than the one denoted by C (the subsumee), e.g. student person.
Reasoning in PowerLoom (contd.) Satisfiability During modeling a domain we construct terminology (by defining new concepts). The new concept could not be contradictory with defined concepts.
Building and Querying KB using PowerLoom
Model Domain Color Fixed- Furniture Movable- Furniture Age Size Big Small GreenRedNewOld IS-A DoorWindowChairSofa
Conclusion PowerLoom is a very expressive language which assists to develop intelligent applications. Even though its backward chainer is not completely implemented it can handle most of the inference rules as well as recursive rules. It provides API for easy integration with programs in Java, C++, and Lisp.
References PowerLoom Homepage http://www.isi.edu/isd/LOOM/PowerLoom/ Daniele Nardi and Ronald J. Brachman. An introduction to Description Logics. In Baader, Calvanese, McGuinnes Nardi and Patel-Schneider, (eds). The Description Logics Handbook, chapter 1. Cambridge University Press, 2003. Franz Baader and Werner Nutt. Basic Description Logics. In Baader, Calvanese, McGuinnes Nardi and Patel-Schneider, (eds). The Description Logics Handbook, chapter 2. Cambridge University Press, 2003.