ontologies growing up: tools for ontology management
TRANSCRIPT
Ontologies Growing Up:Tools for Ontology Management
Natasha NoyStanford University
1
An ontology
Conceptualization of a domain that isformal
can be used for inference
makes assumptions explicit
shared, agreed uponenables knowledge reuse
facilitates interoperation among applications and software agents
2
An ontology (II)
Defines classes, properties, and constraints in a domain
Wine
produced_by Winery
White wine Rosé wine
Red wine
tannin_level String
Merlot Chianti
subclass-of subclass-of
subclass-of
subclass-of subclass-of
3
The Good News
Ontologies are the backbone of the Semantic Web
More ontologies are available
Ontology languages defined as standards: RDF Schema as OWL
A huge playing field for ontology research and practice
Ontology-development tools lower the barrier for ontology development
More people are developing ontologies
4
The Ideal World
The same language
No overlap in coverage
No new versions
A single extension tree
Small reusable modules
5
The “Bad” News: The Real World
The same language
No overlap in coverage
No new versions
A single extension tree
Small reusable modules
6
PROMPT: Dealing with the Messy World
Find similarities and differences between ontologies
ontology mapping and merging
Compare versions of ontologies
ontology evolution
Extract meaningful portions of ontologies
ontology views
Integrate in an ontology-editing environment
Protégé plugin
7
Mapping and Merging
Existing ontologies
cover overlapping domains
use the same terms with different meaning
use different terms for the same concept
have different definitions for the same concept
"Basically, we're all trying to say the same thing."
8
iPrompt: An Interactive Ontology-Merging and Mapping Tool
iPrompt provides
Partial automation
Algorithm based onconcept-representation structurerelations between conceptsuser’s actions
iPrompt does not provide
complete automation
Declarativemapping
9
iPrompt Algorithm
Make initial suggestions
Select the next operation
Perform automatic updates
Find inconsistencies and potential problems
Make suggestions
10
ActivityWork
Activity
Example: Merge Classes
Meeting Meeting
subclass of subclass of
Meeting
subclass of subclass of
11
Example: Merge Classes (II)
Meeting
Activity
subclass of
Person Employee
attendees presentattendees
12
iPrompt: Initial Suggestions
13
After a User Performs an Operation
For each operationperform the operation
consider possible conflictsidentify conflicts
propose solutions
analyze local context
create new suggestions
reinforce or downgrade existing suggestions
14
Analyzing Ontology Structure
Structures that Prompt analyzesclasses that have the same sets of slots
classes that refer to the same set of classes
slots that are attached to the same classes
Local contextincremental analysis
consider only the concepts that were affected by the last operation
15
AnchorPrompt: Analyzing Graph Structure
16
AnchorPrompt: Example
Design-a-Trial, S.Modgil, et.al. CMT, I.Sim et.al
17
Similarity Score
Generate a set of all paths (of length < L)
Generate a set of all possible pairs of paths of equal length
For each pair of paths and for each pair of nodes in the identical positions in the paths, increment the similarity score
Combine the similarity score for all the paths
18
AnchorPrompt: Example
TRIAL TrialPERSON PersonCROSSOVE Crossover
PROTOCOL DesignTRIAL-SUBJECT PersonINVESTIGATORS PersonPOPULATION Action_SpecPERSON CharacterTREATMENT-POPULATION Crossover_arm
19
AnchorPrompt Discussion
Relies on a limited input from the user3 anchors → 2-3 new pairs (above median)
4 anchors → 3 new pairs (above median)
Has limitationssource ontologies with very different structure and level of generality
20
Combining Merging and Mapping
Declarativemapping
21
Prompt Plug-In Architecture
Algorithm for initial
comparison
Visualizationsupport for comparingconcepts
Iterative comparisonalgorithm
Presentationof candidate
mappings
Fine-tuningand saving
of mappings
Executionof mappings
22
JambaPrompt: Cognitive Support for Mappings
Joint work with Sean Falconer23
The Messy Picture
Ontology
versioning
ChangeManagement
24
Comprehensive Ontology Evolution System
ChangesAnnotation of
changesrefers
to
ChAO
produces
Ontology version 1
Ontology version 2
Editing
input
produces
Annotationhas subprocess
produces
Ontology version 1
Ontology version 2
Editing
input
producesproduces
Annotationhas subprocess
produces
PromptDif
algorithm
inputinput
produces
25
Using ChAO
ChangesAnnotation of
changesrefers
to
ChAO
input
Version
comparison
Changes per user/conflicts
input
Accept/reject
changes
input
input
produces
26
ChAO: Change and Annotations Ontology
Change applyTo author created
Annotation title author created modified
annotates
assoc_annotations
Class_Change KB_Change
Class_CreatedClass_DeletedRestriction_Added
Superclass_Added
27
ChAO Instances in Ontology-Evolution Tasks
Examining changesinforms the diff display
Accepting and rejecting changesstores information on what was accepted
Viewing concept historyprovides access to information for each concept
Providing auditing informationcompiled information on editors and time periods
28
Implementation
Change-management tabprovides access to a list of changes
enables annotations
Prompt tabgenerates and presents a diff
enables accepting/rejecting changes
Core Protégésynchronous editing in a client-server environment
undo facilities
29
Change-Management Tab
30
CMT: Functions
Creates ChAO instances in the backgroundprovides monitored editing
users can examine instances directly in Protégé
API access to changes through the Protégé API
Provides overview of changes and annotationssummary and detailed view of changes
annotations for a single change or a group of changes
Provides access to concept historyaccess history of changes and annotations from the Classes tab
31
PromptDiff
Joint work with Michel Klein and Sandhya Kunnatur32
General Problem: Ontology Matching
Compare ontologiesFind similarities and differences
Merging: similarities
Mapping: similarities
Versioning: differences
Ontology VersioningIf things look similar, they probably are
A large fraction of ontologies remains unchanged from version to version
33
The PrompDiff Algorithm
Goal: Find a diff automatcallyConsists of two parts
A set of heuristic matchers
A fixed-point algorithm to combine the results of the matchers
Can be extended with any number of matchers
34
Single Unmatched Siblings
Wine
maker Winerycolor String
White wine Blush wine
Red wine
Merlot Chianti
Wine
produced_by Winery
White wine Rosé wine
Red wine
tannin String
Merlot Chianti
Version 1 Version 2
Wine
maker Winerycolor String
Wine
produced_by Winery
Red wine
tannin String
White wine
Red wine
White wineBlush wine Rosé wine
35
Siblings with the Same Suffixes or Prefixes
Wine
maker Winerycolor String
White Rosé
Red
Merlot Chianti
Wine
produced_by Winery
White wine Rosé wine
Red wine
Merlot Chianti
Wine
maker Winerycolor String
Wine
produced_by Winery
36
Other Matchers
Unmatched superclassesInverse slotsMultiple unmatched siblingsInstances of the same class with the same slot valuesOWL Anonymous classes
37
PromptDiff FunctionsCreate a structural diff
from instances of ChAO, if presentscalability (NCI Thesaurus)
automatically, using heuristics, if there are no ChAO instances
generate ChAO instances from diff
Create user informationlist of users who edited the ontology
for each usernumber of concepts they edited
number of conflicts38
Accept/Reject Changes in Prompt
Accept/reject at different levels of granularityan individual change
all changes for a class
all changes in a subtree
all changes from a user or a set of users
all non-conflicting changes from a user or a set of users
Save and replay accept/reject decisions
39
The Messy Picture
40
Ontology Views
Extract a self-contained subset of an ontology
Ensure that all the necessary concepts are defined in the sub-ontology
Specify the depth of transitive closure of relations
41
Traversal Views
Specification of a traversal viewA “starter” concept
Relationships to traverse
The depth of traversal along each relationship
Can find “everything related”
42
Defining a View
43
Saving a View
Save a view as instances in an ontology
Replay the view on a new version
Determine if a view is “dirty”
44
Dealing with a Messy World
45
Future Directions
Mapping and MergingFinding complex mappings
Dealing with uncertainty
Maintenance during ontology evolution
VersioningIntegrating with workflow
Scalability
ViewsNon-materialized, dynamic views
46
"All I'm saying is now is the time to develop the
technology to deflect an asteroid"
47