Title: Ontology Mapping in Pervasive Computing Environment
1Ontology Mapping in Pervasive Computing
Environment
- C.Y. Kong, C.L. Wang, F.C.M. Lau
- The University of Hong Kong
2Outline
- Introduction
- Literature review
- Proposed design
- Evaluation
- Conclusion and Future works
3Pervasive Computing
- M. Satyanarayanan - An environment saturated with
computing and communication capability, yet so
gracefully integrated with users that it becomes
a technology that disappears. - Various information flows
- User intent
- Resource discovery and query
- Context information
- Different types of computers communicate
- Smart devices
- Surrogates
- Sensors
- Peer-to-peer communication
- Infeasible to expect all computers to have the
same semantics on different information. i.e. the
vocabulary of the messages, which includes the
name and valid values of message elements
4XML
- A language commonly used for data exchange
- XML sets rules for syntax for structured
documents but it does not provide meanings for
terms - Same term may be used with different meaning in
different context - Different term may be used for items that have
the same meaning - Hence, human needs to be involved to agree on tag
names or mappings between roughly equivalent sets
of tags in related standard - gt Device interoperability ?
- A new language has been developed
5Ontology
- Provide a formal, explicit specification of a
shared conceptualization of a domain that can be
communicated between people and heterogeneous and
widely spread application systems - A formal explicit description of concepts in a
domain of discourse (classes), properties of each
concept describing various features and
attributes of the concept (slot) and restrictions
on these properties - Provide meanings for terms when information
exchange - Bridge knowledge gaps between different domains
- Enable knowledge sharing in open and dynamic
distributed systems - Allow devices and agents not expressly designed
to work together to interoperate (i.e. better
device interoperability)
6Ontology (cont)
- Example Country ontology (Source ontology)
- Example Instance
Class/Concept Properties Relationship
7Ontology Related Researches
- Context Broker Architecture (CoBrA) University
of Maryland, 2003 - Defines a set of OWL ontologies called SOUPA
(Standard Ontology for Ubiquitous and Pervasive
Applications) - Ontologies for agent, personal device, time,
space, event, document and policy - Enable communication between devices using
defined ontologies - GAIA University of Illinois, 2002
- Defines a set of ontologies for active space such
as entity and context information - Enable communication between devices using
defined ontologies - Communications may involve terms from different
ontologies - Hence, Ontology Mapping is introduced
8Scenario
Smart Space B
Concepts specified by Ontology O2
Smart Space A
Proxy B
Proxy A
Resource Description --- --- --- --- --- ---
Concepts specified by Ontology O1
Request --- --- --- --- --- --- --- --- ---
Resource Description --- --- --- --- --- ---
I want to find a resource/function
Concepts specified by Ontology O3
9Scenario
Smart Space B
Concepts specified by Ontology O2
Proxy B
Concepts specified by Ontology O1
Resource Description --- --- --- --- --- ---
Request --- --- --- --- --- --- --- --- ---
Resource Description --- --- --- --- --- ---
I want to find a resource/function
Concepts specified by Ontology O3
10Ontology Mapping
- Given two ontologies O1 and O2, mapping one
ontology onto another means that for each entity
(concept, relation or instance) in ontology O1,
we try to find a corresponding entity, which has
the same intended meaning, in ontology O2
Ontology O1
Ontology O2
11Literature Review
- Source-based
- Mappings are done by comparing the similarity of
the concepts based on the properties of the
concepts and the structure of the ontology
defined in the source ontologies - Example PROMPT Stanford, 2000
- Work well for ontologies having a specialized
terminology like medical ontology - Matching accuracy decreases when mapping
ontologies with more general terminologies - Instance-based
- Mappings are done by comparing the similarity of
the concepts based on the source ontologies and
their instances - Example FCA-Merge University of Karlsruhe
,2001, GLUE University of Illinois and
University of Washington, 2002 - Structure and properties of the concepts are not
taken into consideration - Accuracy varies based on the instance sets
12New Challenges
- Online mapping with partial ontology information
- Efficiency
- Space limitation of devices
- Knowledge propagation
13Proposed Design
- Partial Ontology Mapping
- A device submits a resource or function request
(an instance I1 of ontology O1) - A resource or function is present and described
by O2 - Map all the concepts used in I1 with the concepts
in O2 - Number of concepts to be mapped reduces
- More efficient
Instance
Ontology O1
Ontology O2
14Proposed Design (cont)
- Hybrid of source-based and instance-based
ontology mapping - Properties of the concept and its relationships
with other concepts are considered - Instances are considered to increase accuracy
- Store evaluation results of instances to
- avoid handling large number of instances at one
time - but, still provide a reasonable amount of
instances for mapping
15Methodology
- Notation
- O1 source ontology of the request instance
- O2 source ontology of the resource
- Ir request instance
- For each concept (Ci) appear in Ir,
- Find a set of candidate concepts in O2
- For each candidate concepts (Cn)
- Compute the similarity of Ci and Cn
- The candidate concept with maximum similarity
degree is the mapped concept of Ci - History Records
16Extraction of candidate concepts
- Compare the name similarity of Ci and every
concept C in O2 - For the k-highest name similarity concepts,
denoted by C1..k
17Similarity of concepts Ci and Cn
where Ux instance set of ontology Ox UxCi,Cn
instance set of ontology Ox that contains
concepts Ci and Cn N(instance set) Number of
instances in the instance set
- How to find N(U1Ci,Cn), N(U1Ci,Cn) and
N(U1Ci,Cn)? - (1 ) and (2) from Learning to map between
ontologies on Semantic Web, 2002
18Find
N(U1Ci,Cn), N(U1Ci,Cn), N(U1Ci,Cn)
- N(U1Ci,Cn) means finding the number of instances
in U1Ci that also contain Cn - Partition U1 into two sets. One set contains
concept Ci (denoted U1Ci) while the other set
does not contain concept Ci (denoted U1Ci) - Partition U2 into two sets. U2Cn and U2Cn
- N(U1Ci,Cn) N(U1Ci)StructSim(Ci,Cn)
- where StructSim(Ci,Cn) structure similarity of
Ci and Cn - N(U1Ci,Cn) N(U1Ci) N(U1Ci,Cn)
- N(U1Ci,Cn) N(U1Cn) N(U1Ci,Cn)
- Similarly, N(U2Ci,Cn), N(U2Ci,Cn) and N(U2Ci,Cn)
19Find
N(U1Ci,Cn), N(U1Ci,Cn), N(U1Ci,Cn)
- N(U1Ci,Cn) means finding the number of instances
in U1Ci that also contain Cn - Partition U1 into two sets. One set contains
concept Ci (denoted U1Ci) while the other set
does not contain concept Ci (denoted U1Ci) - Partition U2 into two sets. U2Cn and U2Cn
- N(U1Ci,Cn) N(U1Ci)StructSim(Ci,Cn)
- where StructSim(Ci,Cn) structure similarity of
Ci and Cn - N(U1Ci,Cn) N(U1Ci) N(U1Ci,Cn)
- N(U1Ci,Cn) N(U1Cn) N(U1Ci,Cn)
- Similarly, N(U2Ci,Cn), N(U2Ci,Cn) and N(U2Ci,Cn)
20Find
N(U1Ci,Cn), N(U1Ci,Cn), N(U1Ci,Cn)
- N(U1Ci,Cn) means finding the number of instances
in U1Ci that also contain Cn - Partition U1 into two sets. One set contains
concept Ci (denoted U1Ci) while the other set
does not contain concept Ci (denoted U1Ci) - Partition U2 into two sets. U2Cn and U2Cn
- N(U1Ci,Cn) N(U1Ci)StructSim(Ci,Cn)
- where StructSim(Ci,Cn) structure similarity of
Ci and Cn - N(U1Ci,Cn) N(U1Ci) N(U1Ci,Cn)
- N(U1Ci,Cn) N(U1Cn) N(U1Ci,Cn)
- Similarly, N(U2Ci,Cn), N(U2Ci,Cn) and N(U2Ci,Cn)
21Structure Similarity
, StructSim(Ci,Cn)
- Compute the similarity between each pair of
property of Ci (denoted by PCi) and property of
Cn (dentoed by PCn) - Instance Similarity is the similarity of the
content of the instances - Property Similarity
- for x 1 to number of properties of Cn
22Structure Similarity
, StructSim(Ci,Cn)
- Compute the similarity between each pair of
property of Ci (denoted by PCi) and property of
Cn (dentoed by PCn) - Instance Similarity is the similarity of the
content of the instances - Property Similarity
- for x 1 to number of properties of Cn
23Structure Similarity
, StructSim(Ci,Cn)
- Compute the similarity between each pair of
property of Ci (denoted by PCi) and property of
Cn (dentoed by PCn) - Instance Similarity is the similarity of the
content of the instances - Property Similarity
- for x 1 to number of properties of Cn
24Structure Similarity
, StructSim(Ci,Cn)
- Compute the similarity between each pair of
property of Ci (denoted by PCi) and property of
Cn (dentoed by PCn) - Instance Similarity is the similarity of the
content of the instances - Property Similarity
- for x 1 to number of properties of Cn
25Structure Similarity
, StructSim(Ci,Cn)
- Compute the similarity between each pair of
property of Ci (denoted by PCi) and property of
Cn (dentoed by PCn) - Instance Similarity is the similarity of the
content of the instances - Property Similarity
- for x 1 to number of properties of Cn
26Structure Similarity
, StructSim(Ci,Cn)
- Compute the similarity between each pair of
relationship of Ci (denoted by RCi) and
relationship of Cn (dentoed by RCn) - Relationship Similarity
- for x 1 to number of relationships of Cn
- Structure Similarity
-
27Structure Similarity
, StructSim(Ci,Cn)
- Compute the similarity between each pair of
relationship of Ci (denoted by RCi) and
relationship of Cn (dentoed by RCn) - Relationship Similarity
- for x 1 to number of relationships of Cn
- Structure Similarity
-
28Structure Similarity
, StructSim(Ci,Cn)
- Compute the similarity between each pair of
relationship of Ci (denoted by RCi) and
relationship of Cn (dentoed by RCn) - Relationship Similarity
- for x 1 to number of relationships of Cn
- Structure Similarity
-
29Structure Similarity
, StructSim(Ci,Cn)
- Compute the similarity between each pair of
relationship of Ci (denoted by RCi) and
relationship of Cn (dentoed by RCn) - Relationship Similarity
- for x 1 to number of relationships of Cn
- Structure Similarity
-
30Structure Similarity
, StructSim(Ci,Cn)
- Compute the similarity between each pair of
relationship of Ci (denoted by RCi) and
relationship of Cn (dentoed by RCn) - Relationship Similarity
- for x 1 to number of relationships of Cn
- Structure Similarity
-
31No. of instances
, N(U1Cn)
- Estimate the similarity between ontology O1 and
O2 -
-
- where N(O1) and N(O2) are the number of concepts
in O1 and O2 - N(U1Cn)
32History Records
- Caching mapping results
- Increase efficiency
- Caching instance mapping results
- Maintain a reasonable amount of instances for
mapping - Increase accuracy and reduce space usage
- Popularity counters
- Each property or relationship of a concept has a
popularity counter - Act as a weight for the importance of the concept
- Increase accuracy and reduce space usage
- Knowledge accumulation
- Knowledge propagation
33Evaluation
- Programming language Java 1.4.2
- Ontology language OWL (Ontology Web Language)
- Ontology Parser Jena 2.1
- Input source ontologies
- Semantic Web Research Community (SWRC) ontology
24 concepts - Manually created a similar concept as SWRC
ontology 20 concepts - Request instance 6 8 concepts
- Result
Proposed design Source based
Accuracy 80 gt90
Efficiency 6s 10s
Proposed design Instance based
Accuracy 70 70
Efficiency 6s 20s
34Conclusion
- New challenges
- Online mapping
- Efficiency
- Space limitation
- Knowledge propagation
- Partial ontology mapping
- Future work
- Experiments
- Context
- Resource instances selection
35Q A