Ontology and Context Modeling

Download Ontology and Context Modeling

Post on 12-Jan-2016




0 download

Embed Size (px)


Ontology and Context Modeling. November 20, 2008 Sung-Bae Cho. Agenda. Ontology Introduction Ontology Components Ontology Development Process Ontology Languages Applications Using Ontology for Context Awareness Contexts Manipulation Using Ontology AmbieSense Project - PowerPoint PPT Presentation


<ul><li><p>Ontology and Context Modeling November 20, 2008</p><p>Sung-Bae Cho*</p></li><li><p>OntologyIntroductionOntology ComponentsOntology Development ProcessOntology Languages</p><p>Applications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity Theory</p><p>Summary &amp; ReviewAgenda*</p></li><li><p>Contexts and OntologyContexts [Dey et. al. 2001]Context is any information that can be used to characterize the situation of an entity.Three Fundamental Elements for characterizing the situationEnvironments - Location, Building, Room, etc.Computational Entity Smart Sensors, Actuators, etc.User Profile, Schedule, Activities, etc.</p><p>Context-Aware SystemA system that uses contexts to provide relevant information and services to user</p><p>Context and ontologyOntology can define the context as a formal informationContext can be shared as a type of ontology</p></li><li><p>Whats an Ontology?An ontology is an explicit specification of a conceptualization. Thomas Gruber</p><p>An ontology is a well-organized system of human knowledge and information made for machines to understand them easily and correctly.</p><p>An ontology is a common framework that allows data to be shared and reused by human and machines.</p><p>Other expressiona common vocabularya shared understanding</p><p>*/44</p></li><li><p>Ontology Structure*</p></li><li><p>Ontologies Vs. Data ModelsNo strict line in between, but ontologies areMore general</p><p>More reusable</p><p>Intended for multiple purposes, goals, and users</p><p>More easily shareable</p><p>Take stand on semantics of concepts (as opposed to mere structure and integrity)*</p></li><li><p>What Is a Concept?Concepts (among other things) are in general language independent (words 'cat' and 'kissa' denote the same concept)Are mental or logical representations of realityAre related to other conceptsDo not need symbols but hold them for means of communication</p><p>A concept hasIntension or meaningExtension, i.e. the set of objects that the concept refers to</p><p>On the difference between intension and extension, consider phrases "Evening star" and "Morning star" that have different meanings (intension) yet both refer to planet Venus (extension)</p><p>Ontology is mainly concerned with intension*</p></li><li><p>Ontology in PhilosophySemanticsThe meaning of meaning</p><p>Philosophical discipline, branch of philosophy that deals with the nature and the organization of reality</p><p>Science of Being (Aristotle, Metaphysics, IV,1)</p><p>Tries to answer the questionWhat is being?What are the features common to all beings?*</p></li><li><p>Ontology in Computer ScienceOntology in Computer ScienceTom GruberAn ontology is a specification of a conceptualization</p><p>An ontology is a description (like a formal specification of a program) of the concepts and relationships that can exist for an agent or a community of agentsNicola GuarinoIn Artificial Intelligence, an ontology refers to an engineering artifact, constituted by a specific vocabulary used to describe a certain reality, plus a set of explicit assumptions regarding the intended meaning of the vocabulary words*</p></li><li><p>Ontologies and Controlled VocabulariesOntology is a Controlled Vocabulary of Types of subjects, Types of relations among subjects, Rules, axioms and constraints.</p><p>Controlled Vocabulary - a fixed set of (agreed upon) names used within a certain community to refer to subjects in a certain domain. </p></li><li><p>Ontology/CV ExamplesGlossary Controlled vocabularies + natural language explanation of the meaning of terms. Meaning is expressed in a human readable form and help human to understand the meaning of terms, often ambiguous. Glossaries were intended to help humans not machines. </p><p>Thesauri Controlled vocabularies or glossary + some additional semantics. Synonyms / homonyms / antonyms relationships. Broader / narrower terms. </p><p>Index Controlled vocabularies + references to the subject occurrences. </p><p>Taxonomy and Classification Controlled vocabulary + hierarchic structure. </p></li><li><p>Why Ontology?LabelingIf I say car and you say voiture how do we know we mean the same thing?</p><p>SemanticsIf I say vehicle, how do you know if this includes buses, powered motorcycles</p><p>To share common understanding of the structure of descriptive informationAmong peopleAmong software agentsBetween people and software</p><p>To enable reuse of domain knowledgeTo avoid re-inventing the wheelTo introduce standards to allow interoperability*</p></li><li><p>*/36Why Ontology? (2)To make domain assumptions explicitEasier to change domain assumptions (consider a genetics knowledge base)Easier to understand and update legacy data</p><p>To separate domain knowledge from the operational knowledgeRe-use domain and operational knowledge separately (e.g., configuration based on constraints)</p><p>To manage the combinatorial explosion</p></li><li><p>OntologyIntroductionOntology ComponentsOntology Development ProcessOntology Languages</p><p>Applications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity Theory</p><p>Summary &amp; ReviewAgenda*</p></li><li><p>Knowledge ModelsTaxonomy of knowledge modelsContains many kinds of information</p></li><li><p>Semantic NetworksKnowledge represented as a network or graphrepresents semantic relations between the conceptsoften used as a form of knowledge representationa directed or undirected graph consisting of vertices, which represent concepts, and edgesA simple type of ontology</p></li><li><p>Semantic Networks FeatureBy traversing network we can find:That Nellie has a head (by inheritance)That certain concepts related in certain ways (e.g., apples and elephants).</p><p>BUT: Meaning of semantic networks was not always well defined.Are all Elephants big, or just typical elephants?Do all Elephants live in the same Africa?Do all animals have the same head?For machine processing these things must be defined.</p><p> Formal ontology supports the requirements</p></li><li><p>*/36Ontology ComponentsConcepts / ClassConcepts of the domain or tasks, which are usually organized in taxonomiesExample: Person, Car, University, RelationsA type of interaction between concepts of the domainExample: subclass-of, is-a, FunctionsA special case of relations in which the n-the element of the relationship is unique for the n-1 preceding elementsExample: Father_of, Sum_of_Price,AxiomsModel sentences that are always trueExample: a+0=0, if x &gt; y, then x+a &gt; y+a, Instances / IndividualsTo represent specific elementsExample: Student called Peter, </p></li><li><p>*/36Ontology Components (2)First Order Logic (FOL)Description Logic (DL)ClassesRelationsFunctionsInstancesConceptsRoles(w/Function, Axiom)Individuals</p></li><li><p>Taxonomy, Ontology, Knowledgebase*</p></li><li><p>*/36TaxonomyTaxonomy := Segmentation, classification and ordering of elements into a classification system according to their relationships between each other</p></li><li><p>*/36ThesaurusTerminology for specific domainGraph with primitives, 2 fixed relationships (similar, synonym)Originate from bibliography</p></li><li><p>*/36Topic MapA standard for the representation and interchange of knowledge, with an emphasis on the findability of information. The ISO standard is formally known as ISO/IEC 13250:2003</p></li><li><p>*/36OntologyRepresentation Language: Predicate LogicStandards: RDF(S), OWL</p></li><li><p>Knowledge Description &amp; Reasoning Level*/36TaxononmyThesaurusTopic MapOntologyKnowledge Reasoning LevelKnowledge search Knowledge Description Level</p></li><li><p>OntologyIntroductionOntology ComponentsOntology Development ProcessOntology Languages</p><p>Applications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity Theory</p><p>Summary &amp; ReviewAgenda*</p></li><li><p>Ontology Development ProcessOntology development process consists in seven steps1. Specification2. Knowledge acquisition3. Conceptualization4. Integration5. Implementation6. Evaluation7. Documentation</p><p>Ontology development is an iterative processAfter evaluation we came back to previous phases and corrected mistakes*</p></li><li><p>SpecificationRequirement Analysis</p><p>What is the goal of the ontology?What is the usage?, users specifications </p><p>What is relevant to fulfill the goal?E.g., entities, relationships, restrictions</p><p>What need to be modeled?E.g., key components of car, types of car</p><p>What granularity is useful?What parts should be described, what is unnecessary *</p></li><li><p>Knowledge AcquisitionTry to get the information based on the available documents in different data sources</p><p>Put the information in a hierarchy structure with respect to the ontology scope</p><p>This step occurs in parallel with specification step*</p></li><li><p>Conceptualization and IntegrationConcepts in the ontology should be close to objects (physical or logical) and relationships in your domain of interest</p><p>In order to obtain some uniformity across your ontology with other ontologies, try to get definitions from other ontologies*</p></li><li><p>Implementation and EvaluationImplementation consists in define all the ontology components through an ontology definition language generally in two stagesInformal stageOntology is sketched out using either natural language descriptions or some diagram techniqueFormal stageOntology is encoded in a formal knowledge representation language, that is machine computableDifferent tools (e.g., Protg) may help in the implementation</p><p>Evaluation consists in checking for completeness, consistence and avoiding from redundancyDifferent tools (e.g., RACER) may help in the evaluation*</p></li><li><p>DocumentationProduce clear informal and formal documentation</p><p>Make ontology understandable!</p><p>An ontology that cannot be understood will not be reused*</p></li><li><p>Ontology Development Process*</p></li><li><p>*/36Cyclic Definition</p><p>Cycles are common in many KR systems, though rarely a good thing</p><p>Cycles are disallowed by some tools because they prohibit code generation, including RDF/OWL</p><p>Classes A, B, and C have equivalent sets of instancesBy many definitions, A, B, and C are equivalentUse owl: equivalentClass instaed of creating cycles</p></li><li><p>*/36Siblings in the Class Hierarchy</p><p>All siblings should be specified at roughly the same level of generality</p><p>Compare to section and subsections in a book</p></li><li><p>*/36Class SpecificationIf a class has only one child, there may be a modeling problem often a sign that a definition is incomplete</p><p>If the only Red Burgundy we have is Cotes dOr, why introduce the subclass?</p><p>Subclass of a class usually haveAdditional propertiesAdditional slot restrictionsParticipate in different relationships</p><p>Compare to bullets in a bulleted list</p></li><li><p>*/36Creating Levels and SubclassesIf a class has a large number of subclasses, it may be useful to define intermediate levels</p><p>For example, in the domain of wines, there are natural groupings around wine color</p><p>However, if no natural classification exists, the long list may be appropriate</p></li><li><p>*/36Inheritance, Naming, SynonymsA wine is not a subclass of winesA particular vintage should be classified as an instance of the class WinesClass names should be eitherAll singularAll pluralSynonym names for the same concept are not different classesMany systems, metadata standards support synonymous terms as part of a class definitionOWL allows defining necessary and sufficiency condition definitions thereby allowing synonym definitions to be first class terms</p></li><li><p>*/36Class vs. Property ValueDo concepts with different slot values becomes restrictions for different slots?</p><p>How important is the distinction for the domain?</p><p>Class definitions for most domains should be fairly stable i.e., they should not change frequently once the definitions are established and individuals createdORWine color: Red, White, Rose</p></li><li><p>*/36Class vs. IndividualIndividual instances are the most specific objects in an ontology</p><p>If concepts form a natural hierarchy, represent them as classes</p><p>If they will have instances below them, represent them as classes</p></li><li><p>OntologyIntroductionOntology ComponentsOntology Development ProcessOntology Languages</p><p>Applications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity Theory</p><p>Summary &amp; ReviewAgenda*</p></li><li><p>Ontology Languages*/36</p><p>ExpressivityKIF/S CLOKBCF-LogicLOOMRDF/SOWLUMLClassSlots/AttributesMetaclassesNumber RestrictionsComplex Class ExtensionsSubsumption HierarchiesValue RestrictionsAdd New FacetsBehaviors, Procedures, MethodsRelations / FunctionsSlots/AttributesSubsumption HierarchiesN-ary Relations/FunctionsBuilt-in Functions, Equations, FormulateInstances / Individuals / FactsAxiomsProduction Rules</p></li><li><p>OWLWeb Ontology LanguageOfficial W3C Standard since Feb 2004Based on predecessors (DAML+OIL)</p><p>A Web Language: Based on RDF(S)An Ontology Language: Based on logic</p></li><li><p>OWL OntologiesWhats inside an OWL ontologyClasses + class-hierarchyProperties (Slots) / valuesRelations between classes (inheritance, disjoints, equivalents)Restrictions on properties (type, cardinality)Characteristics of properties (transitive, )AnnotationsIndividuals</p><p>Reasoning tasks: classification, consistency checking</p></li><li><p>Example Ontology (Protg)</p></li><li><p>ResourcesFaCT++ system (open source)http://owl.man.ac.uk/factplusplus/Protghttp://protege.stanford.edu/plugins/owl/W3C Web-Ontology (WebOnt) working group (OWL)http://www.w3.org/2001/sw/WebOnt/DL Handbook, Cambridge University Presshttp://books.cambridge.org/0521781760.htm</p></li><li><p>OntologyIntroductionOntology ComponentsOntology Development ProcessOntology Languages</p><p>Applications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity Theory</p><p>Summary &amp; ReviewAgenda*</p></li><li><p>Contexts Manipulation Using OntologyAn Approach for Configuring Ontology-based Application Context Model Chung-Seong Hong, Hyun Kim, Hyoung-Sun KimElectronics and Telecommunication Research Institute, Republic of Korea</p><p>BackgroundsPrevious researches mainly focus on the collecting and analyzing context information from the computational devices.Contexts are managed and interpreted inside of the infrastructure with their own context model.Applications are created and executed based on the unified context model that is managed in the context-aware infrastructure.</p><p>ProblemsWith the unified context model, Is it possible to support all kinds of ubiquitous applications?What about contexts outside of the context-aware system?Information System - Scheduling Sys., Weather Forecasting Sys., etc.Web Services*</p></li><li><p>Three Phases of Contexts Manipulation</p></li><li><p>GoalsWe propose a conceptual modeling approach focusing on how to configure application context model using ontology through expanding context-aware systems context model for intelligent services in ubiquitous computing environments.A new context modeling approach is designed to overcome shortcomings such as context inference through OWLcontext knowledge reuse through context modularizationcontext knowledge expansion through ontology merging</p></li><li><p>We simplify the application context model as four-layered space based on the abstraction level of contexts.Layered Application Context Model</p></li><li><p>Modeling Common and Domain Ontology</p></li><li><p>Prototype Smart Meeting Room Application</p></li><li><p>Integrated Application Context Ontology</p></li><li><p>OntologyIntroductionOntology ComponentsOntology Development ProcessOntology Languages</p><p>Applications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieS...</p></li></ul>


View more >