Ontology and Context Modeling

Download Ontology and Context Modeling

Post on 12-Jan-2016

65 views

Category:

Documents

0 download

DESCRIPTION

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

TRANSCRIPT

Ontology and Context Modeling November 20, 2008Sung-Bae Cho*OntologyIntroductionOntology ComponentsOntology Development ProcessOntology LanguagesApplications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity TheorySummary & ReviewAgenda*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.Context-Aware SystemA system that uses contexts to provide relevant information and services to userContext and ontologyOntology can define the context as a formal informationContext can be shared as a type of ontologyWhats an Ontology?An ontology is an explicit specification of a conceptualization. Thomas GruberAn ontology is a well-organized system of human knowledge and information made for machines to understand them easily and correctly.An ontology is a common framework that allows data to be shared and reused by human and machines.Other expressiona common vocabularya shared understanding*/44Ontology Structure*Ontologies Vs. Data ModelsNo strict line in between, but ontologies areMore generalMore reusableIntended for multiple purposes, goals, and usersMore easily shareableTake stand on semantics of concepts (as opposed to mere structure and integrity)*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 communicationA concept hasIntension or meaningExtension, i.e. the set of objects that the concept refers toOn 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)Ontology is mainly concerned with intension*Ontology in PhilosophySemanticsThe meaning of meaningPhilosophical discipline, branch of philosophy that deals with the nature and the organization of realityScience of Being (Aristotle, Metaphysics, IV,1)Tries to answer the questionWhat is being?What are the features common to all beings?*Ontology in Computer ScienceOntology in Computer ScienceTom GruberAn ontology is a specification of a conceptualizationAn 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*Ontologies and Controlled VocabulariesOntology is a Controlled Vocabulary of Types of subjects, Types of relations among subjects, Rules, axioms and constraints.Controlled Vocabulary - a fixed set of (agreed upon) names used within a certain community to refer to subjects in a certain domain. 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. Thesauri Controlled vocabularies or glossary + some additional semantics. Synonyms / homonyms / antonyms relationships. Broader / narrower terms. Index Controlled vocabularies + references to the subject occurrences. Taxonomy and Classification Controlled vocabulary + hierarchic structure. Why Ontology?LabelingIf I say car and you say voiture how do we know we mean the same thing?SemanticsIf I say vehicle, how do you know if this includes buses, powered motorcyclesTo share common understanding of the structure of descriptive informationAmong peopleAmong software agentsBetween people and softwareTo enable reuse of domain knowledgeTo avoid re-inventing the wheelTo introduce standards to allow interoperability**/36Why Ontology? (2)To make domain assumptions explicitEasier to change domain assumptions (consider a genetics knowledge base)Easier to understand and update legacy dataTo separate domain knowledge from the operational knowledgeRe-use domain and operational knowledge separately (e.g., configuration based on constraints)To manage the combinatorial explosionOntologyIntroductionOntology ComponentsOntology Development ProcessOntology LanguagesApplications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity TheorySummary & ReviewAgenda*Knowledge ModelsTaxonomy of knowledge modelsContains many kinds of informationSemantic 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 ontologySemantic 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).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. Formal ontology supports the requirements*/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 > y, then x+a > y+a, Instances / IndividualsTo represent specific elementsExample: Student called Peter, */36Ontology Components (2)First Order Logic (FOL)Description Logic (DL)ClassesRelationsFunctionsInstancesConceptsRoles(w/Function, Axiom)IndividualsTaxonomy, Ontology, Knowledgebase**/36TaxonomyTaxonomy := Segmentation, classification and ordering of elements into a classification system according to their relationships between each other*/36ThesaurusTerminology for specific domainGraph with primitives, 2 fixed relationships (similar, synonym)Originate from bibliography*/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*/36OntologyRepresentation Language: Predicate LogicStandards: RDF(S), OWLKnowledge Description & Reasoning Level*/36TaxononmyThesaurusTopic MapOntologyKnowledge Reasoning LevelKnowledge search Knowledge Description LevelOntologyIntroductionOntology ComponentsOntology Development ProcessOntology LanguagesApplications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity TheorySummary & ReviewAgenda*Ontology Development ProcessOntology development process consists in seven steps1. Specification2. Knowledge acquisition3. Conceptualization4. Integration5. Implementation6. Evaluation7. DocumentationOntology development is an iterative processAfter evaluation we came back to previous phases and corrected mistakes*SpecificationRequirement AnalysisWhat is the goal of the ontology?What is the usage?, users specifications What is relevant to fulfill the goal?E.g., entities, relationships, restrictionsWhat need to be modeled?E.g., key components of car, types of carWhat granularity is useful?What parts should be described, what is unnecessary *Knowledge AcquisitionTry to get the information based on the available documents in different data sourcesPut the information in a hierarchy structure with respect to the ontology scopeThis step occurs in parallel with specification step*Conceptualization and IntegrationConcepts in the ontology should be close to objects (physical or logical) and relationships in your domain of interestIn order to obtain some uniformity across your ontology with other ontologies, try to get definitions from other ontologies*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 implementationEvaluation consists in checking for completeness, consistence and avoiding from redundancyDifferent tools (e.g., RACER) may help in the evaluation*DocumentationProduce clear informal and formal documentationMake ontology understandable!An ontology that cannot be understood will not be reused*Ontology Development Process**/36Cyclic DefinitionCycles are common in many KR systems, though rarely a good thingCycles are disallowed by some tools because they prohibit code generation, including RDF/OWLClasses A, B, and C have equivalent sets of instancesBy many definitions, A, B, and C are equivalentUse owl: equivalentClass instaed of creating cycles*/36Siblings in the Class HierarchyAll siblings should be specified at roughly the same level of generalityCompare to section and subsections in a book*/36Class SpecificationIf a class has only one child, there may be a modeling problem often a sign that a definition is incompleteIf the only Red Burgundy we have is Cotes dOr, why introduce the subclass?Subclass of a class usually haveAdditional propertiesAdditional slot restrictionsParticipate in different relationshipsCompare to bullets in a bulleted list*/36Creating Levels and SubclassesIf a class has a large number of subclasses, it may be useful to define intermediate levelsFor example, in the domain of wines, there are natural groupings around wine colorHowever, if no natural classification exists, the long list may be appropriate*/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*/36Class vs. Property ValueDo concepts with different slot values becomes restrictions for different slots?How important is the distinction for the domain?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*/36Class vs. IndividualIndividual instances are the most specific objects in an ontologyIf concepts form a natural hierarchy, represent them as classesIf they will have instances below them, represent them as classesOntologyIntroductionOntology ComponentsOntology Development ProcessOntology LanguagesApplications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity TheorySummary & ReviewAgenda*Ontology Languages*/36ExpressivityKIF/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 RulesOWLWeb Ontology LanguageOfficial W3C Standard since Feb 2004Based on predecessors (DAML+OIL)A Web Language: Based on RDF(S)An Ontology Language: Based on logicOWL OntologiesWhats inside an OWL ontologyClasses + class-hierarchyProperties (Slots) / valuesRelations between classes (inheritance, disjoints, equivalents)Restrictions on properties (type, cardinality)Characteristics of properties (transitive, )AnnotationsIndividualsReasoning tasks: classification, consistency checkingExample Ontology (Protg)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.htmOntologyIntroductionOntology ComponentsOntology Development ProcessOntology LanguagesApplications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity TheorySummary & ReviewAgenda*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 KoreaBackgroundsPrevious 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.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*Three Phases of Contexts ManipulationGoalsWe 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 mergingWe simplify the application context model as four-layered space based on the abstraction level of contexts.Layered Application Context ModelModeling Common and Domain OntologyPrototype Smart Meeting Room ApplicationIntegrated Application Context OntologyOntologyIntroductionOntology ComponentsOntology Development ProcessOntology LanguagesApplications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity TheorySummary & ReviewAgenda*AmbieSense ProjectCase-Based Situation Assessment in a Mobile Context-Aware SystemAnders Kofod-Petersen and Agnar AamodtArtificial Intelligence in Mobile System, 2003AmbieSenseA small and wireless context tagInside furniture, beside artworks, in a meeting room, in a shop window, or in an open area*The Developed Domain Context ModelGeneric conceptsTask, Goal, Action, Physical ObjectConcepts of the domain in a multi-relational semantic networkAirport Hall, Gate, Restaurant, NewsstandA Hungry User ExampleSpatio-temporal context1:15 PM, Oslo airportPersonal contextA hang to Italian foodMore than five hours since last used his credit card at a restaurantEnvironmental contextContext Tag nearbyOntologyIntroductionOntology ComponentsOntology Development ProcessOntology LanguagesApplications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity TheorySummary & ReviewAgenda*Modeling Context based on Activity TheoryUsing Activity Theory to Model Context AwarenessAnders Kofod-Petersen and Jorg CassensLecture Notes on Artificial Intelligence, vol. 3946, pp. 1-17, 2006. A major shortfall of the research into context-aware systemsLack of a common understanding of a context modelLack of an agreed definition of contextMost of the research todayFocusing on the technical issues associated with contextThe syntactic relationships between different conceptsMain reason for this approachUsing socio-technical theories to design context-aware systemsUsing Activity Theory to model context and to describe situationsActivity TheoryActivity theoryA descriptive tool to help understand the unity of consciousness and activityActivity Subject, object and a mediating artifact or toolSubjectA person or a group engaged in an activityObjectObject that subject wants to achieveActivity Theory and Context AwarenessCHAT (Cultural Historical Activity Theory)An expanded model of Activity TheoryA social and cultural contextExample : software developmentThe members of the team all subjects in the development processSubjects and the client and other stake-holders a communityWorking division of laborCoding standards or working culture a set of rulesMethods for analysis and programming tools mediating toolsThe Proposed Context ModelContext (defined by Dey)The set of suitable environmental states concerning a userContext taxonomyEnvironmental context things, services, peoplePersonal context mood, expertise and disabilitiesSocial context different roles a user can assumeTask context what the user is doing, users goal, taskSpatio-temporal context time, location, the communityOntologyIntroductionOntology ComponentsOntology Development ProcessOntology LanguagesApplications Using Ontology for Context AwarenessContexts Manipulation Using OntologyAmbieSense ProjectModeling Context Ontology based on Activity TheorySummary & ReviewAgenda*SummaryWhat is ontology?Introduction of OntologyWhy use ontology?Components of Ontology Ontology Development ProcessHow to use ontology?Applications Using Ontology for Context AwarenessOntology based contexts manipulationOntology based context-aware serviceOntology based context modelingSummary & Review*******************************************************************

Recommended

View more >