# Knowledge Representation and Reasoning using PowerLoom Presenter Shamima Mithun.

## 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 [1].

Introduction (contd.) uses a Prolog-style backward chainer as its inference engine [1]. 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[1]. 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

Define Concept |=(defconcept furniture) |c| FURNITURE |= (defconcept movable-furniture (?f furniture)) |c| MOVABLE-FURNITURE |= (defconcept fixed-furniture (?f furniture)) |c| FIXED-FURNITURE |=(defconcept chair (?f movable-furniture)) |c| CHAIR |= (defconcept sofa (?f movable-furniture)) |c| SOFA

Define Concept (contd.) |= (defconcept window (?ff fixed-furniture)) |c| WINDOW |= (defconcept door (?ff fixed-furniture)) |c| DOOR |= (defconcept age (?a) : (member-of ?a (setof new old))) |c| AGE |= (defconcept color (?c) : (member-of ?c (setof green red blue))) |c| COLOR |= (defconcept size (?s) : (member-of ?s (setof small big))) |c| SIZE

Model Domain Color Fixed- Furniture Movable- Furniture Age Size Big Small GreenRedNewOld IS-A DoorWindowChairSofa has-color has-age has-size

Define Relation |= (defrelation has-age ((?f furniture) (?a age))) |r| HAS-AGE |= (defrelation has-color ((?f furniture) (?c color))) ) |r| HAS-COLOR |= (defrelation has-size ((?f furniture) (?s size))) |r| HAS-SIZE

Model Domain Color Fixed- Furniture Movable- Furniture Age Size has-size has-age has-color Big Small GreenRedNewOld IS-A DoorWindowChairSofa

Value Assertion |= (assert(has-size chair big)) |P|(HAS_SIZE CHAIR BIG) |= (assert(has-color sofa red)) |P|(HAS_COLOR SOFA RED) |= (assert(has-age chair new)) |P|(HAS_AGE CHAIR NEW) |= (assert(has-age door old)) |P|(HAS_AGE DOOR OLD) |= (assert(has-color window green)) |P|(HAS_COLOR WINDOW GREEN)

Query the KB: Ask |= (ask (has-size chair big)) TRUE |= (ask (has-age door new)) FALSE |= (ask (has-color door red)) UNKNOWN

Query the KB: Retrieve & Retract |= (retrieve all (furniture ?x)) There are 4 solutions: #1: ?X=CHAIR #2: ?X=SOFA #3: ?X=WINDOW 4: ?X=DOOR |=(retrieve (has-color sofa ?x)) There is 1 solution so far: #1: ?X=RED |= (retract (has-color sofa red)) |P?|(HAS-COLOR SOFA RED) |= (retrieve (has-color sofa ?x)) No solutions.

Others |= (all-facts-of chair) (|P|(CONCEPT CHAIR) |P|(HAS-SIZE CHAIR BIG) |P|(HAS-AGE CHAIR NEW) |P|(FORALL (?x1)(<= (MOVABLE-FURNITURE ?x1) (CHAIR ?x1))) |P|(FURNITURE CHAIR)

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.

Thanks

Download ppt "Knowledge Representation and Reasoning using PowerLoom Presenter Shamima Mithun."

Similar presentations