meghyn slides-hse-2014
TRANSCRIPT
Ontologies in Computer Science:The Description Logic Approach
Meghyn Bienvenu
Laboratoire de Recherche en Informatique,CNRS & Universite Paris-Sud, France
What is an ontology?
Depends on who you ask...
HSE, 16.04.14 2
What is an ontology?
Depends on who you ask...
In philosophy:the study of the nature of being, becoming, existence, or reality, as well as thebasic categories of being and their relations (source: wikipedia)
HSE, 16.04.14 2
What is an ontology?
Depends on who you ask...
In philosophy:the study of the nature of being, becoming, existence, or reality, as well as thebasic categories of being and their relations (source: wikipedia)
In computer science:the formal specification of the knowledge of a particular domain,thereby making it amenable to machine processing
HSE, 16.04.14 2
What is an ontology?
Depends on who you ask...
In philosophy:the study of the nature of being, becoming, existence, or reality, as well as thebasic categories of being and their relations (source: wikipedia)
In computer science:the formal specification of the knowledge of a particular domain,thereby making it amenable to machine processing
Such a specification consists of:
• terminology (or vocabulary) of the domain
• semantic relationships between terms
– relations of specificity or generality, equivalence, disjointness, ...
HSE, 16.04.14 2
What are ontologies good for?
To standardize the terminology of an application domain
• meaning of terms is constrained, so less misunderstandings
• by adopting a common vocabulary, easy to share information
HSE, 16.04.14 3
What are ontologies good for?
To standardize the terminology of an application domain
• meaning of terms is constrained, so less misunderstandings
• by adopting a common vocabulary, easy to share information
To present an intuitive and unified view of data sources
• ontology can be used to enrich the data vocabulary, making it easier forusers to formulate their queries
• especially useful when integrating multiple data sources
HSE, 16.04.14 3
What are ontologies good for?
To standardize the terminology of an application domain
• meaning of terms is constrained, so less misunderstandings
• by adopting a common vocabulary, easy to share information
To present an intuitive and unified view of data sources
• ontology can be used to enrich the data vocabulary, making it easier forusers to formulate their queries
• especially useful when integrating multiple data sources
To support automated reasoning
• uncover implicit connections between terms, or errors in modelling
• exploit knowledge in the ontology during query answering, to get back amore complete set of answers to queries
HSE, 16.04.14 3
Ontologies in Medecine
Comprehensive medical ontologies: SNOMED CT (∼ 400,000 terms!), GALEN
HSE, 16.04.14 4
Ontologies in Medecine
Comprehensive medical ontologies: SNOMED CT (∼ 400,000 terms!), GALEN
Specialized ontologies: FMA (anatomy), NCI (cancer), ...
HSE, 16.04.14 4
Ontologies in Medecine
Comprehensive medical ontologies: SNOMED CT (∼ 400,000 terms!), GALEN
Specialized ontologies: FMA (anatomy), NCI (cancer), ...
• querying & exchanging medical records (e.g. find patients eligible for medical trials)
– myocardial infarction vs. MI vs. heart attack vs. 410.0
HSE, 16.04.14 4
Ontologies in Medecine
Comprehensive medical ontologies: SNOMED CT (∼ 400,000 terms!), GALEN
Specialized ontologies: FMA (anatomy), NCI (cancer), ...
• querying & exchanging medical records (e.g. find patients eligible for medical trials)
– myocardial infarction vs. MI vs. heart attack vs. 410.0
• supports tools for annotating and visualizing patient data (scans, x-rays)
HSE, 16.04.14 4
Ontologies in Biology
Hundreds of ontologies at BioPortal (http://bioportal.bioontology.org/):Gene Ontology (GO), Cell Ontology, Pathway Ontology, Plant Anatomy, ...
• help scientists to share, query, compare, and visualize experimental data
HSE, 16.04.14 5
Description Logics in a Nutshell
Description logics (DLs) are a family of knowledge representation languages.
• originated from work on semantic networks, frame languages
• nowadays, popular means for specifying ontologies
• basis of the web ontology language OWL (W3C standard)
HSE, 16.04.14 6
Description Logics in a Nutshell
Description logics (DLs) are a family of knowledge representation languages.
• originated from work on semantic networks, frame languages
• nowadays, popular means for specifying ontologies
• basis of the web ontology language OWL (W3C standard)
Formally: fragments of first-order logic.
• inherit well-defined semantics
• succinct, variable-free syntax
• related to modal logics, guarded fragment, ...
HSE, 16.04.14 6
Description Logics in a Nutshell
Description logics (DLs) are a family of knowledge representation languages.
• originated from work on semantic networks, frame languages
• nowadays, popular means for specifying ontologies
• basis of the web ontology language OWL (W3C standard)
Formally: fragments of first-order logic.
• inherit well-defined semantics
• succinct, variable-free syntax
• related to modal logics, guarded fragment, ...
Computational properties well-understood (decidability, complexity)
HSE, 16.04.14 6
Description Logics in a Nutshell
Description logics (DLs) are a family of knowledge representation languages.
• originated from work on semantic networks, frame languages
• nowadays, popular means for specifying ontologies
• basis of the web ontology language OWL (W3C standard)
Formally: fragments of first-order logic.
• inherit well-defined semantics
• succinct, variable-free syntax
• related to modal logics, guarded fragment, ...
Computational properties well-understood (decidability, complexity)
Many implemented reasoners and tools available for use
HSE, 16.04.14 6
Description Logic Basics
Building blocks of DLs:
• atomic concepts (unary predicates, classes)
Animal, Dog, Cow, Giraffe, Plant, Herbivore, Carnivore, Domesticated...
HSE, 16.04.14 7
Description Logic Basics
Building blocks of DLs:
• atomic concepts (unary predicates, classes)
Animal, Dog, Cow, Giraffe, Plant, Herbivore, Carnivore, Domesticated...
• atomic roles (binary predicates, properties)
eats, parentOf, hasPart, hasHabitat, ...
• individuals (constants)
fluffy, giraffe0354, specimen32091, ...
HSE, 16.04.14 7
Description Logic Basics
Can build complex concepts and roles using constructors:
• conjunction (u), disjunction (t), negation (¬)
Dog t Cat Animal u ¬Carnivore Plant u Carnivore
HSE, 16.04.14 8
Description Logic Basics
Can build complex concepts and roles using constructors:
• conjunction (u), disjunction (t), negation (¬)
Dog t Cat Animal u ¬Carnivore Plant u Carnivore
• restricted forms of existential and universal quantification (∃, ∀)
∃parentOf.> ∃eats.Animal Animal u ∀eats.Plant
( > acts as a “wildcard”, denotes set of all things)
HSE, 16.04.14 8
Description Logic Basics
Can build complex concepts and roles using constructors:
• conjunction (u), disjunction (t), negation (¬)
Dog t Cat Animal u ¬Carnivore Plant u Carnivore
• restricted forms of existential and universal quantification (∃, ∀)
∃parentOf.> ∃eats.Animal Animal u ∀eats.Plant
( > acts as a “wildcard”, denotes set of all things)
• inverse (−) and composition (◦) of roles
parentOf− parentOf ◦ parentOf
HSE, 16.04.14 8
Description Logic Basics
Can build complex concepts and roles using constructors:
• conjunction (u), disjunction (t), negation (¬)
Dog t Cat Animal u ¬Carnivore Plant u Carnivore
• restricted forms of existential and universal quantification (∃, ∀)
∃parentOf.> ∃eats.Animal Animal u ∀eats.Plant
( > acts as a “wildcard”, denotes set of all things)
• inverse (−) and composition (◦) of roles
parentOf− parentOf ◦ parentOf
NB: available constructors depends on the particular DL
HSE, 16.04.14 8
Description Logic Knowledge Bases
DL knowledge bases (KBs) consist of two parts.
TBox (‘T’ for “terminology”)Contains general knowledge about the domain of interest (axioms)
• Plants and animals are disjoint classes of living things
• Giraffes are animals that only eat leaves
• Herbivores are animals that eat only plants
HSE, 16.04.14 9
Description Logic Knowledge Bases
DL knowledge bases (KBs) consist of two parts.
TBox (‘T’ for “terminology”)Contains general knowledge about the domain of interest (axioms)
• Plants and animals are disjoint classes of living things
• Giraffes are animals that only eat leaves
• Herbivores are animals that eat only plants
ABox (‘A’ for “assertion”)Contains facts about specific individuals (assertions)
• Fluffy is a dog. Fluffy is the parent of Sparky.
• Specimen0305 is a Venus fly trap.
NB: open world assumption (unlike databases)
HSE, 16.04.14 9
Examples of TBox Axioms
Plants and animals are disjoint classes of living things
Plant v LivingThing Animal v LivingThing Plant v ¬Animal
HSE, 16.04.14 10
Examples of TBox Axioms
Plants and animals are disjoint classes of living things
Plant v LivingThing Animal v LivingThing Plant v ¬Animal
Giraffes are animals that only eat leaves
Giraffe v Animal u ∀eats.Leaf
FOL-translation: ∀x (Giraffe(x)→ (∀y eats(x, y)→ Leaf(y)))
HSE, 16.04.14 10
Examples of TBox Axioms
Plants and animals are disjoint classes of living things
Plant v LivingThing Animal v LivingThing Plant v ¬Animal
Giraffes are animals that only eat leaves
Giraffe v Animal u ∀eats.Leaf
FOL-translation: ∀x (Giraffe(x)→ (∀y eats(x, y)→ Leaf(y)))
Herbivores are animals that eat only plants
Herbivore v Animal u ∀eats.Plant Animal u ∀eats.Plant v Herbivore
Abbreviation: Herbivore ≡ Animal u ∀eats.Plant
HSE, 16.04.14 10
A Few More Examples
Defining grandparents
Grandparent ≡ ∃parentOf.∃parentOf.>
HSE, 16.04.14 11
A Few More Examples
Defining grandparents
Grandparent ≡ ∃parentOf.∃parentOf.>
Defining the childOf and grandchildOf relations
childOf ≡ parentOf− grandchildOf ≡ childOf ◦ childOf
HSE, 16.04.14 11
A Few More Examples
Defining grandparents
Grandparent ≡ ∃parentOf.∃parentOf.>
Defining the childOf and grandchildOf relations
childOf ≡ parentOf− grandchildOf ≡ childOf ◦ childOf
Asserting transitivity of binary relations
partOf ◦ partOf v partOf
HSE, 16.04.14 11
Description Logic Semantics (What does it all mean?)
Interpretation I (“possible world”)
• (possibly infinite) domain of objects ∆I
• atomic concept A ; set of objects AI ⊆ ∆I (which objects are A’s?)
• atomic role r ; pair of objects rI (which objects are in relation r?)
• individual a ; object aI (which object is a?)
HSE, 16.04.14 12
Description Logic Semantics (What does it all mean?)
Interpretation I (“possible world”)
• (possibly infinite) domain of objects ∆I
• atomic concept A ; set of objects AI ⊆ ∆I (which objects are A’s?)
• atomic role r ; pair of objects rI (which objects are in relation r?)
• individual a ; object aI (which object is a?)
• complex concepts / roles ; sets / pairs of objectse.g. (C uD)I = CI ∩DI (¬C)I = ∆I \ CI
HSE, 16.04.14 12
Description Logic Semantics (What does it all mean?)
Interpretation I (“possible world”)
• (possibly infinite) domain of objects ∆I
• atomic concept A ; set of objects AI ⊆ ∆I (which objects are A’s?)
• atomic role r ; pair of objects rI (which objects are in relation r?)
• individual a ; object aI (which object is a?)
• complex concepts / roles ; sets / pairs of objectse.g. (C uD)I = CI ∩DI (¬C)I = ∆I \ CI
Satisfaction in an interpretation
• I satisfies C v D ⇔ CI ⊆ DI
• I satisfies C(a) ⇔ aI ∈ CI
HSE, 16.04.14 12
Description Logic Semantics (What does it all mean?)
Interpretation I (“possible world”)
• (possibly infinite) domain of objects ∆I
• atomic concept A ; set of objects AI ⊆ ∆I (which objects are A’s?)
• atomic role r ; pair of objects rI (which objects are in relation r?)
• individual a ; object aI (which object is a?)
• complex concepts / roles ; sets / pairs of objectse.g. (C uD)I = CI ∩DI (¬C)I = ∆I \ CI
Satisfaction in an interpretation
• I satisfies C v D ⇔ CI ⊆ DI
• I satisfies C(a) ⇔ aI ∈ CI
Model of a KB K = interpretation that satisfies all axioms & assertions in K
HSE, 16.04.14 12
Example: Interpretations
∆I
fluffyI
AnimalI
HerbivoreI
PlantI
Which axioms and assertions are satisfied in I?
Animal v ¬Plant Herbivore v Animal Herbivore v ∀eats.Plant
Animal(fluffy) Herbivore(fluffy)
HSE, 16.04.14 13
Reasoning Tasks
SatisfiabilityDoes the KB have a model?
• want to test whether the KB is internally coherent (e.g. no contradictions)
• essential tool for debugging ontologies
HSE, 16.04.14 14
Example: Satisfiability
Suppose our KB contains the following statements:
Plant v ¬Animal
VenusFlyTrap v CarnivorousPlant
VenusFlyTrap(speciment0305)
CarnivorousPlant ≡ Plant u Carnivore
Carnivore ≡ Animal u ∃eats.Animal
Question: Is this KB satisfiable?
HSE, 16.04.14 15
Example: Satisfiability
Suppose our KB contains the following statements:
Plant v ¬Animal
VenusFlyTrap v CarnivorousPlant
VenusFlyTrap(speciment0305)
CarnivorousPlant ≡ Plant u Carnivore
Carnivore ≡ Animal u ∃eats.Animal
Question: Is this KB satisfiable?
No!
HSE, 16.04.14 15
Example: Satisfiability
Suppose our KB contains the following statements:
Plant v ¬Animal
VenusFlyTrap v CarnivorousPlant
VenusFlyTrap(speciment0305)
CarnivorousPlant ≡ Plant u Carnivore
Carnivore ≡ Animal u ∃eats.Animal
Question: Is this KB satisfiable?
No!
Can infer Plant(speciment0305) and Animal(speciment0305)
This contradicts the axiom Plant v ¬Animal
HSE, 16.04.14 15
Reasoning Tasks
SatisfiabilityDoes the KB have a model?
SubsumptionIs it the case that concept C is a subset of D in all models?
• want to understand the relationship between different concepts
• classification: organize atomic concepts into hierarchy
• useful both for visualizing, exploring, and debugging ontologies
HSE, 16.04.14 16
Example: Subsumption
Giraffe v Animal u ∀eats.Leaf
Tree v Plant
Leaf v ∃partOf.Tree
Herbivore ≡ Animal u (∀eats.¬Animal) u (∀eats.¬(∃partOf.Animal))
Animal t ∃partOf.Animal v ¬(Plant t ∃partOf.Plant)
Claim: the above implies Giraffe v Herbivore
Why?
HSE, 16.04.14 17
Reasoning Tasks
SatisfiabilityIs there an interpretation that satisfies all axioms and assertions in the KB?
SubsumptionIs it the case that concept C is always interpreted as a subset of D?
Instance CheckingFind all individuals a that are always interpreted as belonging to C.
• want to infer to which classes the individuals belong
• simple way of querying the ABox (“data”)
HSE, 16.04.14 18
Reasoning Tasks
SatisfiabilityIs there an interpretation that satisfies all axioms and assertions in the KB?
SubsumptionIs it the case that concept C is always interpreted as a subset of D?
Instance CheckingFind all individuals a that are always interpreted as belonging to C.
• want to infer to which classes the individuals belong
• simple way of querying the ABox (“data”)
Conjunctive Query AnsweringFind all tuple of individuals ~a that always satisfy q.
• want to perform database-style querying over DL KBsconjunctive queries = select-project-join queries in SQL
HSE, 16.04.14 18
Example: Conjunctive Queries
Suppose our KB contains the following statements:
MountainGorilla v Gorilla
Gorilla v Primate
MountainGorilla v CriticallyEndangered
keptAt(molly, berlin zoo), MountainGorilla(molly), Zoo(berlin zoo)
Example conjunctive query
q(x, y) = Primate(x) ∧ CriticallyEndangered(x) ∧ keptAt(x, y) ∧ Zoo(y)
HSE, 16.04.14 19
Complexity vs. Expressivity
Extensive investigations of computational complexity of reasoning
• wide range of DLs (from very simple to highly expressive)
• many reasoning tasks, different complexity measures
Nowadays, complexity landscape is well-understood
HSE, 16.04.14 20
Complexity vs. Expressivity
Extensive investigations of computational complexity of reasoning
• wide range of DLs (from very simple to highly expressive)
• many reasoning tasks, different complexity measures
Nowadays, complexity landscape is well-understood
• for most DLs, reasoning is provably intractable (EXPTIME-hard or worse)
HSE, 16.04.14 20
Complexity vs. Expressivity
Extensive investigations of computational complexity of reasoning
• wide range of DLs (from very simple to highly expressive)
• many reasoning tasks, different complexity measures
Nowadays, complexity landscape is well-understood
• for most DLs, reasoning is provably intractable (EXPTIME-hard or worse)
• useful tractable DLs have been identified
HSE, 16.04.14 20
Example: Complexity vs. Expressivity
“Standard” description logic ALC
C := > | A | ¬C | C u C | C t C | ∃r.C | ∀r.C
HSE, 16.04.14 21
Example: Complexity vs. Expressivity
“Standard” description logic ALC
C := > | A | ¬C | C u C | C t C | ∃r.C | ∀r.C EXPTIME-complete
HSE, 16.04.14 21
Example: Complexity vs. Expressivity
“Standard” description logic ALC
C := > | A | ¬C | C u C | C t C | ∃r.C | ∀r.C EXPTIME-complete
Same holds for ALCI (= ALC + inverse roles r−)
HSE, 16.04.14 21
Example: Complexity vs. Expressivity
“Standard” description logic ALC
C := > | A | ¬C | C u C | C t C | ∃r.C | ∀r.C EXPTIME-complete
Same holds for ALCI (= ALC + inverse roles r−)
“Lightweight” description logic EL
C := > | A | C u C | ∃r.C
HSE, 16.04.14 21
Example: Complexity vs. Expressivity
“Standard” description logic ALC
C := > | A | ¬C | C u C | C t C | ∃r.C | ∀r.C EXPTIME-complete
Same holds for ALCI (= ALC + inverse roles r−)
“Lightweight” description logic EL
C := > | A | C u C | ∃r.C PTIME-complete
HSE, 16.04.14 21
Example: Complexity vs. Expressivity
“Standard” description logic ALC
C := > | A | ¬C | C u C | C t C | ∃r.C | ∀r.C EXPTIME-complete
Same holds for ALCI (= ALC + inverse roles r−)
“Lightweight” description logic EL
C := > | A | C u C | ∃r.C PTIME-complete
What about ELI (= EL + inverse roles r−) ?
HSE, 16.04.14 21
Example: Complexity vs. Expressivity
“Standard” description logic ALC
C := > | A | ¬C | C u C | C t C | ∃r.C | ∀r.C EXPTIME-complete
Same holds for ALCI (= ALC + inverse roles r−)
“Lightweight” description logic EL
C := > | A | C u C | ∃r.C PTIME-complete
What about ELI (= EL + inverse roles r−) ? EXPTIME-complete
HSE, 16.04.14 21
Main Reasoning Paradigms
Tableau method (used for expressive DLs)
• Idea: to show that T |= C v D, try to build a countermodel, i.e.a model of T that contains an individual in C u ¬D
• Shows good performance on reasonably-sized ontologies
HSE, 16.04.14 22
Main Reasoning Paradigms
Tableau method (used for expressive DLs)
• Idea: to show that T |= C v D, try to build a countermodel, i.e.a model of T that contains an individual in C u ¬D
• Shows good performance on reasonably-sized ontologies
Forward chaining (aka saturation, consequence-based reasoning)
• Works for Horn DLs (e.g. EL), with no disjunction
• Apply the axioms as rules to generate the consequence of the KB,check if produce desired subsumption / assertion
• Can classify SNOMED in a few seconds!
HSE, 16.04.14 22
Main Reasoning Paradigms
Tableau method (used for expressive DLs)
• Idea: to show that T |= C v D, try to build a countermodel, i.e.a model of T that contains an individual in C u ¬D
• Shows good performance on reasonably-sized ontologies
Forward chaining (aka saturation, consequence-based reasoning)
• Works for Horn DLs (e.g. EL), with no disjunction
• Apply the axioms as rules to generate the consequence of the KB,check if produce desired subsumption / assertion
• Can classify SNOMED in a few seconds!
Backward chaining (aka query rewriting)
• Used for conjunctive query answering in DL-Lite family of lightweight DLs
• Allows us to reduce query answering in DLs to database querying
Primate(x) ; Gorilla(x) ∨ Chimpanzee(x) ∨ . . . ∨ Lemur(x)
HSE, 16.04.14 22
Current Topics in DL Research
Improving scalability of DL reasoners
• need to be able to handle very large KBs (esp. ABoxes ∼ datasets)
• much work focuses on conjunctive queries, lightweight DLs (EL, DL-Lite)
HSE, 16.04.14 23
Current Topics in DL Research
Improving scalability of DL reasoners
• need to be able to handle very large KBs (esp. ABoxes ∼ datasets)
• much work focuses on conjunctive queries, lightweight DLs (EL, DL-Lite)
Reasoning support for building and maintaining ontologies
• explanation (locating source of inconsistencies / undesired subsumptions)
• modularity (how to extract relevant subset of an ontology)
• smart versioning tools (syntactic vs. semantic difference)
HSE, 16.04.14 23
Current Topics in DL Research
Improving scalability of DL reasoners
• need to be able to handle very large KBs (esp. ABoxes ∼ datasets)
• much work focuses on conjunctive queries, lightweight DLs (EL, DL-Lite)
Reasoning support for building and maintaining ontologies
• explanation (locating source of inconsistencies / undesired subsumptions)
• modularity (how to extract relevant subset of an ontology)
• smart versioning tools (syntactic vs. semantic difference)
Capturing and reasoning with “imperfect” knowledge
• vagueness (what does it mean to be “tall”?)
• contextual information (“tall for an elephant” or “tall for a building”?)
• defeasible reasoning (“birds usually fly, but penguins don’t”)
• inconsistency-tolerance (draw sensible inferences despite contradictions)
HSE, 16.04.14 23
Thanks for your attention!
Questions?