Description logics (book, page 456)

Slides:



Advertisements
Similar presentations
Charting the Potential of Description Logic for the Generation of Referring Expression SELLC, Guangzhou, Dec Yuan Ren, Kees van Deemter and Jeff.
Advertisements

Completeness and Expressiveness
Query Answering based on Standard and Extended Modal Logic Evgeny Zolin The University of Manchester
CS848: Topics in Databases: Foundations of Query Optimization Topics covered  Introduction to description logic: Single column QL  The ALC family of.
Knowledge Representation and Reasoning using Description Logic Presenter Shamima Mithun.
OWL - DL. DL System A knowledge base (KB) comprises two components, the TBox and the ABox The TBox introduces the terminology, i.e., the vocabulary of.
An Introduction to Description Logics
Logic.
Logic Concepts Lecture Module 11.
Combining the strengths of UMIST and The Victoria University of Manchester A Tableaux Decision Procedure for SHOIQ Ian Horrocks and Ulrike Sattler University.
LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.
Part 6: Description Logics. Languages for Ontologies In early days of Artificial Intelligence, ontologies were represented resorting to non-logic-based.
Basics of Reasoning in Description Logics
FiRE Fuzzy Reasoning Engine Nikolaos Simou National Technical University of Athens.
Description Logics Franz Baader, Ian Horrocks, Ulrike Sattler Presented By Jahan Ara Arju Muhammad Nazmus Sakib CSCE
An Introduction to Description Logics. What Are Description Logics? A family of logic based Knowledge Representation formalisms –Descendants of semantic.
Proof Systems KB |- Q iff there is a sequence of wffs D1,..., Dn such that Dn is Q and for each Di in the sequence: a) either Di is in KB or b) Di can.
Tableau Algorithm.
Notes on DL Reasoning Shawn Bowers April, 2004.
Ming Fang 6/12/2009. Outlines  Classical logics  Introduction to DL  Syntax of DL  Semantics of DL  KR in DL  Reasoning in DL  Applications.
Query Answering Based on the Modal Correspondence Theory Evgeny Zolin University of Manchester Manchester, UK
Alternative representations: Semantic networks
LDK R Logics for Data and Knowledge Representation ClassL (part 3): Reasoning with an ABox 1.
Presented by:- Somya Gupta( ) Akshat Malu ( ) Swapnil Ghuge ( ) Franz Baader, Ian Horrocks, and Ulrike Sattler.
Topics in artificial intelligence 1/1 Dr hab. inż. Joanna Józefowska, prof. PP Reasoning and search techniques.
An Introduction to Description Logics (chapter 2 of DLHB)
CS344: Introduction to Artificial Intelligence Lecture: Herbrand’s Theorem Proving satisfiability of logic formulae using semantic trees (from Symbolic.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 28– Interpretation; Herbrand Interpertation 30 th Sept, 2010.
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall Description Logics: Logic foundation of Semantic Web Semantic.
Logics for Data and Knowledge Representation Exercises: DL.
Sound Global Caching for Abstract Modal Tableaux Rajeev Goré The Australian National University  Linh Anh Nguyen University of Warsaw CS&P’2008.
LDK R Logics for Data and Knowledge Representation Description Logics (ALC)
More on Description Logic(s) Frederick Maier. Note Added 10/27/03 So, there are a few errors that will be obvious to some: So, there are a few errors.
LDK R Logics for Data and Knowledge Representation Description Logics.
DL Overview Second Pass Ming Fang 06/19/2009. Outlines  Description Languages  Knowledge Representation in DL  Logical Inference in DL.
LDK R Logics for Data and Knowledge Representation ClassL (Propositional Description Logic with Individuals) 1.
LDK R Logics for Data and Knowledge Representation ClassL (part 2): Reasoning with a TBox 1.
Description Logics Dr. Alexandra I. Cristea. Description Logics Description Logics allow formal concept definitions that can be reasoned about to be expressed.
ece 627 intelligent web: ontology and beyond
CSE-291: Ontologies in Data Integration Department of Computer Science & Engineering University of California, San Diego CSE-291: Ontologies in Data Integration.
Knowledge Repn. & Reasoning Lec #11+13: Frame Systems and Description Logics UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2004.
Knowledge Representation and Reasoning University "Politehnica" of Bucharest Department of Computer Science Fall 2011 Adina Magda Florea
Of 29 lecture 15: description logic - introduction.
CSE-291: Ontologies in Data Integration Department of Computer Science & Engineering University of California, San Diego CSE-291: Ontologies in Data Integration.
Logics for Data and Knowledge Representation Exercises: DL.
LDK R Logics for Data and Knowledge Representation Description Logics: family of languages.
Knowledge Representation and Inference Dr Nicholas Gibbins 32/3019.
Logics for Data and Knowledge Representation ClassL (part 1): syntax and semantics.
LDK R Logics for Data and Knowledge Representation Description Logics.
1 Representing and Reasoning on XML Documents: A Description Logic Approach D. Calvanese, G. D. Giacomo, M. Lenzerini Presented by Daisy Yutao Guo University.
OWL (Ontology Web Language and Applications) Maw-Sheng Horng Department of Mathematics and Information Education National Taipei University of Education.
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Description Logics.
ece 720 intelligent web: ontology and beyond
ece 720 intelligent web: ontology and beyond
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Description Logics.
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
ece 720 intelligent web: ontology and beyond
Alternative representations: Semantic networks
CIS Monthly Seminar – Software Engineering and Knowledge Management IS Enterprise Modeling Ontologies Presenter : Dr. S. Vasanthapriyan Senior Lecturer.
Logics for Data and Knowledge Representation
Presentation transcript:

Description logics (book, page 456) Description logics are decidable fragments of FOL intended to represent categories (classes/concepts), the relations between classes (roles) and individuals. Example: Consider category “Student”. One possible definition of this category is Student  And(takes-classes, does-homeworks, is-responsible) Note that this definition can be translated into the following FOL sentence  x (Student(x) <=> Takes-classes(x) & Does-homeworks(x) & & Is-responsible(x)) Example: Consider category of men with at least three sons who are all unemployed and married to doctors, and at most two daughters who are all professors in physics or chemistry departments. Man3SS2SD  And(Man, At-Least(3, Son), At-Most(2, Daughter), All(Son, And(Unemployed, Married, All(Spouse, Doctor))), All(Daughter, And(Professor, Fills(Department, Physics, Chemistry)))). DLs is a family of logics which defer by their expressivity depending on the constructors employed to build complex descriptions from simple ones. They are used primarily to describe declarative knowledge.

General Architecture of Description Logics DL knowledge base consists of 3 parts: The TBox, which contains terminological knowledge, i.e. knowledge about concepts in a domain). Examples: Student  Person ⊓  takesCourse . Course In FOL, x (Student(x) <==> Person(x) &  y (takesCourse(x, y) & Course(y))) Student ⊑ Person In FOL, x (Student(x)  Person(x)). The ABox, which contains assertion knowledge, i.e. knowledge about individuals. Example: Student (Bob), takesCourse (Bob, ComputerScience) The RBox, which contains role-centric knowledge, i.e. knowledge about interdependences between roles/properties Example: teachesGradCourse ⊑ teachesAtUniv RBox is not required; only more expressive DLs have constructors to handle RBoxes. The smallest deductively complete DL is called ALC (Attributive Language with Complements). ALC -- Attributive Language with Complements

ALC: Syntax ALC Atomic types: Concept names: A, B, C, … Top and bottom concepts, ᴛ and  Role names: R, S, … ALC Constructors: ⊓, ⊔, ,  R . C and  R . C Class inclusion and equivalence axioms: ⊑,  Example: Student ⊑ Person, PhDThesis  Dissertation Complex class relations are built from atomic types and ⊓, ⊔,  Example: Instructor ⊑ (Staff ⊓ Professor) ⊔ Lecturer In FOL: x Instructor(x)  (Staff(x)  Professor(x))  Lecturer(x) Quantifiers on Roles: Strict binding of a role to a class. Example: A thesis must be authored by a student, i.e. Thesis ⊑  author . Student In FOL: x (Thesis(x)  y(author(x, y)  Student(y))) Open binding of a role to a class. Example: Every student has at least one advisor, i.e. Student ⊑  advisor . Professor In FOL: x (Student(x)  y (advisor(x, y)  Professor(y)))

ALC: Formal Syntax Production rules for creating classes in ALC : C, D ::= A | T | | C | C ⊓ D | C ⊔ D |  R . C |  R . C where A is an atomic class, C and D are complex classes, and R is a role. An ALC TBox contains assertions of the forms C ⊑ D and C  D An ALC ABox contains assertions of the form C(a) and R(a, b), where a and b are individuals. An ALC Knowledge Base = {TBox, ABox}.

ALC: Semantics An interpretation, I = (I, .I), is defined by: A domain of individuals, I An interpretation function .I which maps Individual names, a, to domain elements aI  I Class names, C, to a set of domain elements CI  I Role names, R, to a set of pairs of domain elements RI  I  I An interpretation, I, for axioms: C(a) holds iff aI  CI R(a, b) holds iff (aI, bI)  RI C ⊑ D holds iff CI  DI C  D holds iff CI = DI An interpretation, I, for complex classes is defined as follows: TI = I and I =  (C ⊓ D)I = CI  DI , (C ⊔ D)I = CI  DI , ( C)I = I \ CI  R . C = {a  I |(  b  I ) ((a, b)  RI  b  CI )}  R . C = {a  I | (b  I ) ((a, b)  RI  b  CI )} The Model-theoretic semantics for ALC is defined via interpretaions

More DL constructors that are beyond ALC Number restrictions for roles. Example:  20 hasStudent Qualified number restrictions for roles. Example: 6 hasStudent . Graduate Nominals (definition by enumeration): {CS151, CS152, CS253} Concrete domains (datatypes): hasStudent . ( 20) Inverse roles: hasChild-  hasParent Transitive roles: has Ancestor ⊑+ has Ancestor Role composition: hasParent . hasBrother (uncle) Constructors allowed to define the specific DL. Examples S: ALC + Transitive roles; R: Role constructors; O: Nominals; I: Inverse roles; Q: Qualified number restrictions; (D): datatypes. SROIQ(D) is the DL behind the latest version of OWL 2.

Questions DLs inference must address Does the knowledge base make sense? Are there empty classes? Are two classes equivalent? Does one class subsume another class? Are two classes disjoined? Is a given individual a member of a specified class? Find all individuals of a given class. The so-called tableaux algorithm (initially developed for FOL) is adapted to DLs to guarantee that these questions are answered in finite time. Tableaux algorithm proves unsatisfiability of a KB using the refutation method and transformation rules similar to Wang’s algorithm (called here tableaux extension rules)

Tableaux algorithm: PL example Given an expression in disjunctive normal form, construct the tableaux / decision tree where each node is a logical formula, each path from the root note to a leaf note is a conjunction of formulas, and each branch of a path is a disjunction of formulas. To build the tree, we apply the following rules: -- -Rules: (A & B) => A, B Example: (A  B) => A, B (A  B) => A, B (A & B & C)  (D & A)  (B & D) -- -Rules: A -rule A  B B (A & B & C) (D & A)  (B & D) A -rule -rule (A & B) B A (D & A) (B & D) A A  B B D B B -- Double negation rule: A => A C A D -- True => False, False => True

Tableaux Algorithm for ALC Step 1: Translate the DL KB to a negation normal form (NNF) using the following transformations: Substitute C  D by C ⊑ D and D ⊑ C Substitute C ⊑ D by C ⊔ D Apply all possible NNF transformations to complex classes: NNF ( C)  NNF (C) NNF (C ⊔ D)  NNF (C) ⊔ NNF (D) NNF (C ⊓ D)  NNF (C) ⊓ NNF (D) NNF ((C ⊔ D))  NNF (C) ⊓ NNF (D) NNF ((C ⊓ D))  NNF (C) ⊔ NNF (D) NNF ( R . C)  ( R) . NNF (C) NNF ( R . C)  ( R) . NNF (C) NNF ( R . C)  ( R) . NNF (C) NNF ( R . C)  ( R) . NNF (C)

Tableaux Algorithm for ALC (contd.) Step 2: Apply the following tableaux expansion rules to derive new ABox facts until no more rules can be applied (in which case we say that the tableaux is fully expanded). ⊓ -Rule if (C ⊓ D) (a)  ABox and {C(a), D(a)}  ABox, then ABox’ = Abox  {C(a), D(a)} ⊔ -Rule if (C ⊔ D) (a)  ABox and {C(a), D(a)}  ABox = , then ABox’ = ABox  {C(a)} and ABox” = ABox  {D(a)} -Rule if  R . C(a)  ABox and there is no b such that C(b)  ABox and R(a, b)  ABox then Abox ‘ = Abox  {C(z), R(a, z)} for a new individual z  ABox -Rule if R . C(a)  ABox and R(a, b)  Abox, but C(b) ABox then Abox ‘ = Abox  {C(b)} The algorithm returns TRUE if there is a clash-free tableaux and FALSE if the tableaux is closed. The tableaux is closed if all its paths are closed, where a path is closed if a formula and its negation occur along that path, or if false occurs. To prove X, we must obtain a closed tableaux for X.

Example Let TBox = {Professor ⊑ (Person ⊓ Staff) ⊔ (Person ⊓ Student)} Prove: Professor ⊑ Person Step 1: Negate the conclusion you want to prove.  (Professor ⊑ Person) Step 2: Convert all formulas in the NNF: TBox = { Professor ⊔ (Person ⊓ Staff) ⊔ (Person ⊓ Student)} NNF ( (Professor ⊑ Person)) = NNF ( (Professor ⊔ Person)) = = NNF (Professor) ⊓ NNF ( Person) = Professor ⊓  Person Step 3: Apply the tableaux extension rules to derive new ABox facts from the TBox extended with the negated theorem.

Example: step 3 (contd.) Professor(a) ⊓  Person(a) (Consider a new individual a for whom you are disproving the theorem) (2) Apply ⊓-rule to (1): Professor(a) closed path Apply ⊓-rule to (1):  Person(a) closed path Professor(a) ⊔ (Person(a) ⊓ Staff(a)) ⊔ (Person(a) ⊓ Student(a)) Apply ⊔-rule to (4): Professor(a) (6) Apply ⊔-rule to (4): (Person(a) ⊓ Staff(a)) ⊔ (Person(a) ⊓ Student(a)) (7) Apply ⊔-rule to (6): (Person(a) ⊓ Staff(a)) (8) Apply ⊔-rule to (6): (Person(a) ⊓ Student(a)) closed path (9) Apply ⊓-rule to (7): Person(a) (10) Apply ⊓-rule to (7): Staff(a) (11) Apply ⊔-rule to (8): Person(a) (12) Apply ⊔-rule to (8): Student(a) No more rules can be applied – the tableaux is fully expanded and closed. Therefore, the original theorem is proved.

Advantages and disadvantages of description logics The two inference tasks in DLs, subsumption (i.e. checking if one category is a subset of another based on their descriptions) and classification (i.e. checking if an object belongs to a category) have polynomial complexity. Some DLs may include also consistency checking, i.e. whether a category definition is satisfiable. DLs have clear semantics, which makes them a good KR formalism for applications with large declarative component. The Semantic Web language OWL is build upon DLs. Disadvantages: Polynomial inference is assured by the definitions of categories. If they are small and correctly defined, then the inference tasks are easy to carry out. But, if categories are hard to define in a concise manner, then their descriptions may become (exponentially) large. Weak inference capabilities (to preserve decidability), which cannot handle imprecisely specified concepts and not fully enforced relations between them.

Subsumption example Given the following KB: Woman  Person ⊓ Female Man  Person ⊓ Woman Mother  Woman ⊓ hasChild . Person Father  Man ⊓ hasChild . Person Parent  Mother ⊔ Father Grandmother  Woman ⊓ hasChild . Parent Prove: Grandmother ⊑ Person. 1. Negate the goal and add it to the KB, i.e. add (Grandmother ⊓ Person). 2. Translate the KB into the negation normal form i.) substitute A  B with A ⊑ B and B ⊑ A Woman ⊑ Person ⊓ Female Person ⊓ Female ⊑ Woman Man ⊑ Person ⊓ Woman Person ⊓ Woman ⊑ Man Mother ⊑ Woman ⊓ hasChild . Person Woman ⊓ hasChild . Person ⊑ Mother Father ⊑ Man ⊓ hasChild . Person Man ⊓ hasChild . Person ⊑ Father Parent ⊑ Mother ⊔ Father Mother ⊔ Father ⊑ Parent Grandmother ⊑ Woman ⊓ hasChild.Parent Woman ⊓ hasChild.Parent ⊑ Grandmother

Subsumption example (contd.) ii.) substitute A ⊑ B with A ⊔ B and then apply all possible transformations to complex classes to bring negation down to atomic classes (see Lecture 7): Woman ⊔ (Person ⊓ Female) (Person ⊓ Female) ⊔ Woman  Person ⊔ Female ⊔ Woman Man ⊔ (Person ⊓ Woman)  (Person ⊓ Woman) ⊔ Man  Person ⊔ Woman ⊔ Man Mother ⊔ (Woman ⊓ hasChild . Person)  (Woman ⊓ hasChild . Person) ⊔ Mother  Woman ⊔ hasChild.Person ⊔ Mother Father ⊔ (Man ⊓ hasChild . Person)  (Man ⊓ hasChild . Person) ⊔ Father  Man ⊔ hasChild.Person ⊔ Father Parent ⊔ (Mother ⊔ Father)  Parent ⊔ Mother ⊔ Father  (Mother ⊔ Father) ⊔ Parent  (Mother ⊓ Father) ⊔ Parent Grandmother ⊔ (Woman ⊓ hasChild.Parent) (Woman ⊓ hasChild.Parent) ⊔ Grandmother  Woman ⊔ hasChild.Parent ⊔ Grandmother Note:  means “equivalent” / “becomes”

The (beginning of the) proof Grandmother(a) ⊓ Person(a) # An individual a for whom we are disproving the # theorem. (2) Apply ⊓-rule to (1): Grandmother(a) (3) Apply ⊓-rule to (1): Person(a) closed path (4) Grandmother ⊔ (Woman ⊓ hasChild.Parent) (5) Apply ⊔-rule to (4) : Grandmother(a) (6) Apply ⊔-rule to (4) : Woman ⊓ hasChild.Parent (7) Apply ⊓-rule to (6): Woman(a) (8) Apply ⊓-rule to (6): hasChild.Parent (9) Woman ⊔ (Person ⊓ Female) closed path (10) Apply ⊔-rule to (9): Woman(a) (11) Apply ⊔-rule to (9): Person ⊓ Female closed path (12) Apply ⊓-rule to (11): Person(a) (12) Apply ⊓-rule to (11): Female(a) (13) Person ⊔ Female ⊔ Woman all three paths (14) Apply ⊔-rule to (13): Person(a) are closed (14) Apply ⊔-rule to (13): Female(a) (14) Apply ⊔-rule to (13): Woman(a)

Other reasoning tasks Note: the tableau above is not fully expanded. There are more formulas that can be transformed by means of ⊓-rule, ⊔-rule, -rule and -rule. To prove the original goal, we must show that all paths of the fully expanded tableau are closed. Although fully mechanical, this process is very tedious for a human – automated theorem provers like Pellet and Fact++ (both employed in Protégé) do a much better job. The classification task can be reduced to inconsistency checking as well. To prove that individual x is a member of class A, we can prove that A(x) is inconsistent instead. To find all members of a class (task called instance generation/retrieval), we must show A(x) for all x. To prove that a class A is inconsistent (i.e. has no members), we can add A(x) to the KB and show that the resulting set is inconsistent (i.e. assume that there is a member x  A and proof a contradiction). To prove A ⊔ B (class disjointness), we can prove that adding A ⊓ B to the KB makes it inconsistent.

Inconsistency example Consider the following KB: Bear  Animal ⊓ Omnivore Omnivore  eat . Animal Panda  Bear ⊓ Vegetarian Vegetarian  eat . Animal It is easy to see that this KB is inconsistent. Assume that there exists an individual x which is a member of the class Panda. Then: Panda(x)  Bear(x) AND Vegetarian(x) Vegetarian(x)  x does not eat animals Bear(x)  Animal(x) AND Omnivore(x) Contradiction, Omnivore(x)  x eats animals therefore class Panda must be empty. Note: reasoning over defined classes ONLY!