350 likes | 499 Views
Ontology Mapping in Pervasive Computing Environment. C.Y. Kong, C.L. Wang, F.C.M. Lau The University of Hong Kong. Outline. Introduction Literature review Proposed design Evaluation Conclusion and Future works. Pervasive Computing.
E N D
Ontology Mapping in Pervasive Computing Environment C.Y. Kong, C.L. Wang, F.C.M. Lau The University of Hong Kong
Outline • Introduction • Literature review • Proposed design • Evaluation • Conclusion and Future works
Pervasive 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
XML • 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 => Device interoperability ↓ • A new language has been developed
Ontology • 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)
Country name has_boundary capital Land Boundary neighbor_country City located_in part_of Geographical Location name Country Japan has_boundary capital Land Boundary Korea City Tokyo part_of Geographical Location Asia Ontology (cont) Class/Concept Properties Relationship • Example: Country ontology (Source ontology) • Example: Instance
Ontology 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
Scenario 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
Scenario 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
Ontology 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
Literature 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
New Challenges • Online mapping with partial ontology information • Efficiency • Space limitation of devices • Knowledge propagation
Proposed 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
Proposed 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
Methodology • 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
Extraction 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
(1) (2) Similarity of concepts Ci and Cn • Similarity is defined as 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(U1~Ci,Cn)? (1 ) and (2) from “Learning to map between ontologies on Semantic Web”, 2002
N(U1Ci,Cn), N(U1Ci,~Cn), N(U1~Ci,Cn) Find • 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 U1~Ci) • Partition U2 into two sets. U2Cn and U2~Cn • 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(U1~Ci,Cn) = N(U1Cn) – N(U1Ci,Cn) • Similarly, N(U2Ci,Cn), N(U2Ci,~Cn) and N(U2~Ci,Cn)
Find N(U1Ci,Cn), N(U1Ci,~Cn), N(U1~Ci,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 U1~Ci) • Partition U2 into two sets. U2Cn and U2~Cn • 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(U1~Ci,Cn) = N(U1Cn) – N(U1Ci,Cn) • Similarly, N(U2Ci,Cn), N(U2Ci,~Cn) and N(U2~Ci,Cn)
Find N(U1Ci,Cn), N(U1Ci,~Cn), N(U1~Ci,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 U1~Ci) • Partition U2 into two sets. U2Cn and U2~Cn • 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(U1~Ci,Cn) = N(U1Cn) – N(U1Ci,Cn) • Similarly, N(U2Ci,Cn), N(U2Ci,~Cn) and N(U2~Ci,Cn)
Structure 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
Structure 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
Structure 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
Structure 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
Structure 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
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 Structure Similarity , StructSim(Ci,Cn)
Structure 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
Structure 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
Structure 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
Structure 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
No. 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)
History 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
Evaluation • 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
Conclusion • New challenges • Online mapping • Efficiency • Space limitation • Knowledge propagation • Partial ontology mapping • Future work • Experiments • Context • Resource instances selection