Title: Managing and Maintaining Ontologies
1Managing and Maintaining Ontologies
Advanced Knowledge Technologies
- Dave Robertson
- Division of InformaticsThe University of
Edinburgh, UK
2The Ontology Problem
An ontology is the set of entities presupposed by
a theory. So if two theories use the same
ontology we know they are talking about the same
things. In practice this is checked by comparing
the symbols used in each theory and the
deductions permitted from its axioms. But
- Agreement on symbol meanings is fragile.
- Consensus on large ontologies is doubtful.
- Representation is arid without reasoning.
3Ontology Management
Issues of scale
Acquisition
Published ontology
Working ontology
Knowledge components
Refined ontology
Deployed ontology
Safe envelope
Automated refinement
4Ontology Modelling Re-use
5Ontology Refinement
Published ontology
P1
Working ontology
W1
P2
W2
Reduced ontology
R1
R2
Transformed ontology
Enlargement
T1
Reduction
6Ontology Refinement
Enlargement
Reduction
Editing
7Ontology Acquisition
Knowledge base 1 pension(X, invalid_pension)
? invalid(X) pension(X, old_age_pension)
? over_65(X) paid_up(X) pension(X,
supp_benefit) ? over_65(X) pension(X, nothing)
Constraint 1 pension(A,B) ? (Binvalid_pension,inv
alid(A)) or
(Bold_age_pension over_65(A) paid_up(A)) or
(Bsupp_benefit
over_65(A)) or Bnothing
8Ontology Acquisition
Knowledge base 2 pension(X, Y)
? possible_pension(X, Y) pension(X, nothing)
? not(possible_pension(X, Y)) possible_pension(X
, invalid_pension) ? invalid(X) possible_pension(
X, old_age_pension) ? over_65(X)
paid_up(X) possible_pension(X, supp_benefit)
? over_65(X)
Constraints 2 pension(A,B) ? possible_pension(A,B)
or (Bnothing
not(possible_pension(A,C))) possible_pension(A,B)
? (Binvalid_pension invalid(A)) or
(Bold_age_pension
over_65(A) paid_up(A)) or
(Bsupp_benefit over_65(A))
9Ontological Safe Envelope
Knowledge base 1
Knowledge base 2
pension(X, invalid_pension) ? invalid(X) pension(
X, old_age_pension) ? over_65(X) and
paid_up(X) pension(X, supp_benefit)
? over_65(X) pension(X, nothing)
pension(X, Y) ? possible_pension(X,
Y) pension(X, nothing) ? not(possible_pension(X,
_)) possible_pension(X, invalid_pension)
? invalid(X) possible_pension(X,
old_age_pension) ? over_65(X) and
paid_up(X) possible_pension(X, supp_benefit)
? over_65(X)
invalid(fred) over_65(fred) paid_up(fred)
Do 1 and 2 mean the same by pension(X,Y) ?
Database
10Ontological Safe Envelope
Inference in Knowledge Base 1
pension(fred, X) ?
X nothing
X invalid_pension
X old_age_pension
X supp_benefit
Constraints 2 pension(fred,nothing) ?
possible_pension(fred,nothing) or
(nothingnothing not(possible_pension(f
red,B))) possible_pension(fred,B) ?
(Binvalid_pension invalid(A)) or
(Bold_age_pension
over_65(A) paid_up(A)) or
(Bsupp_benefit over_65(A))