ontology and context modeling

Post on 12-Jan-2016

83 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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, 2008

Sung-Bae Cho

1

• Ontology

– Introduction

– Ontology Components

– Ontology Development Process

– Ontology Languages

• Applications Using Ontology for Context Awareness

– Contexts Manipulation Using Ontology

– AmbieSense Project

– Modeling Context Ontology based on Activity Theory

• Summary & Review

Agenda

2

Contexts and Ontology

• Contexts [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 situation

• Environments - Location, Building, Room, etc.

• Computational Entity – Smart Sensors, Actuators, etc.

• User – Profile, Schedule, Activities, etc.

• Context-Aware System

– A system that uses contexts to provide relevant information and services to user

• Context and ontology

– Ontology can define the context as a formal information

– Context can be shared as a type of ontology

What’s an Ontology?

• An ontology is an explicit specification of a conceptualization.

– Thomas Gruber

• An 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 expression

– a common vocabulary

– a shared understanding

4/44

Ontology Structure

5

Ontologies Vs. Data Models

• No strict line in between, but ontologies are

– More general

– More reusable

– Intended for multiple purposes, goals, and users

– More easily shareable

– Take stand on semantics of concepts (as opposed to mere structure and integrity)

6

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 reality

– Are related to other concepts

– Do not need symbols but hold them for means of communication

• A concept has

– Intension or meaning

– Extension, i.e. the set of objects that the concept refers to

• 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)

• Ontology is mainly concerned with intension

7

Ontology in Philosophy

• Semantics

– The meaning of meaning

• Philosophical discipline, branch of philosophy that deals with the nature and the organization of reality

• Science of Being (Aristotle, Metaphysics, IV,1)

• Tries to answer the question

– What is being?

– What are the features common to all beings?

8

Ontology in Computer Science

• Ontology in Computer Science

– Tom Gruber

– An ontology is a specification of a conceptualization

• 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 agents

– Nicola Guarino

– In 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

9

Ontologies and Controlled Vocabularies

• Ontology 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 Examples

• Glossary

– 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?

• Labeling

– If I say “car” and you say “voiture” how do we know we mean the same thing?

• Semantics

– If I say “vehicle”, how do you know if this includes buses, powered motorcycles

• To share common understanding of the structure of descriptive information

– Among people

– Among software agents

– Between people and software

• To enable reuse of domain knowledge

– To avoid “re-inventing the wheel”

– To introduce standards to allow interoperability

12

13/36

Why Ontology? (2)

• To make domain assumptions explicit

– Easier to change domain assumptions (consider a genetics knowledge base)

– Easier to understand and update legacy data

• To separate domain knowledge from the operational knowledge

– Re-use domain and operational knowledge separately (e.g., configuration based on constraints)

• To manage the combinatorial explosion

• Ontology

– Introduction

– Ontology Components

– Ontology Development Process

– Ontology Languages

• Applications Using Ontology for Context Awareness

– Contexts Manipulation Using Ontology

– AmbieSense Project

– Modeling Context Ontology based on Activity Theory

• Summary & Review

Agenda

14

Knowledge Models

• Taxonomy of knowledge models

– Contains many kinds of information

Set of Examples

Set of Statements Typologies

Component Systems

Hybrid Conceptual

SystemsSeries

Procedures

Parallel Procedures

Iterative Procedures

Norms and Constraints

Laws and Theories

Decision Trees

Control Rules

Processesand Methods

Processes

Methods

Multi-actorworkflows

Set of traces

Procedural Models

Prescriptive Models

KnowledgeModels

Factual Models

Conceptual Models

Semantic Networks

• Knowledge represented as a network or graph

– represents semantic relations between the concepts

– often used as a form of knowledge representation

– a directed or undirected graph consisting of vertices, which represent concepts, and edges

• A simple type of ontology

Semantic Networks Feature

• By 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

18/36

Ontology Components

• Concepts / Class– Concepts of the domain or tasks, which are usually organized in

taxonomies• Example: Person, Car, University, …

• Relations– A type of interaction between concepts of the domain

• Example: subclass-of, is-a, …• Functions

– A special case of relations in which the n-the element of the relationship is unique for the n-1 preceding elements

• Example: Father_of, Sum_of_Price,…• Axioms

– Model sentences that are always true• Example: a+0=0, if x > y, then x+a > y+a, …

• Instances / Individuals– To represent specific elements

• Example: Student called Peter, …

19/36

Ontology Components (2)

First Order Logic (FOL) Description Logic (DL)

Classes

Relations

Functions

Instances

Concepts

Roles(w/Function, Axiom)

Individuals

Taxonomy, Ontology, Knowledgebase

20

21/36

Taxonomy

• Taxonomy := Segmentation, classification and ordering of elements into a classification system according to their relationships between each other

22/36

Thesaurus

• Terminology for specific domain

• Graph with primitives, 2 fixed relationships (similar, synonym)

• Originate from bibliography

23/36

Topic Map

• A 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

24/36

Ontology

• Representation Language: Predicate Logic• Standards: RDF(S), OWL

Knowledge Description & Reasoning Level

25/36

Taxononmy

Thesaurus

Topic Map

Ontology

Knowledge Reasoning Level

Knowledge search

Know

led

ge D

escrip

tion

Level

• Ontology

– Introduction

– Ontology Components

– Ontology Development Process

– Ontology Languages

• Applications Using Ontology for Context Awareness

– Contexts Manipulation Using Ontology

– AmbieSense Project

– Modeling Context Ontology based on Activity Theory

• Summary & Review

Agenda

26

Ontology Development Process

• Ontology development process consists in seven steps

1. Specification

2. Knowledge acquisition

3. Conceptualization

4. Integration

5. Implementation

6. Evaluation

7. Documentation

• Ontology development is an iterative process

– After evaluation we came back to previous phases and corrected mistakes

27

Specification

• Requirement Analysis

• What is the goal of the ontology?

– What is the usage?, users specifications …

• What is relevant to fulfill the goal?

– E.g., entities, relationships, restrictions

• What need to be modeled?

– E.g., key components of car, types of car

• What granularity is useful?

– What parts should be described, what is unnecessary …

28

Knowledge Acquisition

• Try to get the information based on the available documents in different data sources

• Put the information in a hierarchy structure with respect to the ontology scope

• This step occurs in parallel with specification step

29

Conceptualization and Integration

• Concepts in the ontology should be close to objects (physical or logical) and relationships in your domain of interest

• In order to obtain some uniformity across your ontology with other ontologies, try to get definitions from other ontologies

30

Implementation and Evaluation

• Implementation consists in define all the ontology components through an ontology definition language generally in two stages

– Informal stage

• Ontology is sketched out using either natural language descriptions or some diagram technique

– Formal stage

• Ontology is encoded in a formal knowledge representation language, that is machine computable

– Different tools (e.g., Protégé) may help in the implementation

• Evaluation consists in checking for completeness, consistence and avoiding from redundancy

– Different tools (e.g., RACER) may help in the evaluation

31

Documentation

• Produce clear informal and formal documentation

• Make ontology understandable!

• An ontology that cannot be understood will not be reused

32

Ontology Development Process

33

• Ontology

– Introduction

– Ontology Components

– Ontology Development Process

– Ontology Languages

• Applications Using Ontology for Context Awareness

– Contexts Manipulation Using Ontology

– AmbieSense Project

– Modeling Context Ontology based on Activity Theory

• Summary & Review

Agenda

41

Ontology Languages

Expressivity KIF/S CL

OKBC

F-Logic LOOM

RDF/S

OWL

UML

Class ● ● ● ● ● ● ●Slots/Attributes ● ● ● ● ● ● ●Metaclasses ━ ━ ━ ━ ━ ━ ●Number Restrictions ● ● ● ● ● ●Complex Class Extensions ● ● ● ● ● ━Subsumption Hierarchies ● ● ● ● ━ ● ●Value Restrictions ● ● ● ● ● ━Add New Facets ● ● ● ━

Behaviors, Procedures, Methods ● ● ● ●

Relations / Functions ● ━ ● ● ● ● ●Slots/Attributes ● ━ ● ● ━ ━ ━Subsumption Hierarchies ● ━ ━ ● ● ● ━N-ary Relations/Functions ● ━ ━ ● ━ ━ ━Built-in Functions, Equations, Formulate ● ● ●

Instances / Individuals / Facts ● ● ● ● ● ● ●

Axioms ● ━ ● ● ● ━

Production Rules ● ● ● ━42/36

OWL

• Web Ontology Language

• Official W3C Standard since Feb 2004

• Based on predecessors (DAML+OIL)

• A Web Language: Based on RDF(S)

• An Ontology Language: Based on logic

OWL Ontologies

• What’s inside an OWL ontology

– Classes + class-hierarchy

– Properties (Slots) / values

– Relations between classes(inheritance, disjoints, equivalents)

– Restrictions on properties (type, cardinality)

– Characteristics of properties (transitive, …)

– Annotations

– Individuals

• Reasoning tasks: classification, consistency checking

Example Ontology (Protégé)

Resources

• FaCT++ system (open source)

– http://owl.man.ac.uk/factplusplus/

• Protégé

– http://protege.stanford.edu/plugins/owl/

• W3C Web-Ontology (WebOnt) working group (OWL)

– http://www.w3.org/2001/sw/WebOnt/

• DL Handbook, Cambridge University Press

– http://books.cambridge.org/0521781760.htm

• Ontology

– Introduction

– Ontology Components

– Ontology Development Process

– Ontology Languages

• Applications Using Ontology for Context Awareness

– Contexts Manipulation Using Ontology

– AmbieSense Project

– Modeling Context Ontology based on Activity Theory

• Summary & Review

Agenda

47

Contexts Manipulation Using Ontology

• An Approach for Configuring Ontology-based Application Context Model

– Chung-Seong Hong, Hyun Kim, Hyoung-Sun Kim

– Electronics and Telecommunication Research Institute, Republic of Korea

• Backgrounds

– Previous 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.

• Problems

– With 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

48

Three Phases of Contexts Manipulation

Goals

• We 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 OWL

– context knowledge reuse through context modularization

– context knowledge expansion through ontology merging

• We simplify the application context model as four-layered space based on the abstraction level of contexts.

Layered Application Context Model

Modeling Common and Domain Ontology

Prototype Smart Meeting Room Application

Integrated Application Context Ontology

• Ontology

– Introduction

– Ontology Components

– Ontology Development Process

– Ontology Languages

• Applications Using Ontology for Context Awareness

– Contexts Manipulation Using Ontology

– AmbieSense Project

– Modeling Context Ontology based on Activity Theory

• Summary & Review

Agenda

55

AmbieSense Project

• Case-Based Situation Assessment in a Mobile Context-Aware System

– Anders Kofod-Petersen and Agnar Aamodt

– Artificial Intelligence in Mobile System, 2003

• AmbieSense

– A small and wireless context tag

– Inside furniture, beside artworks, in a meeting room, in a shop window, or in an open area

56

The Developed Domain Context Model

• Generic concepts

– Task, Goal, Action, Physical Object

• Concepts of the domain in a multi-relational semantic network

– Airport Hall, Gate, Restaurant, Newsstand

A Hungry User Example

• Spatio-temporal context

– 1:15 PM, Oslo airport

• Personal context

– A hang to Italian food

– More than five hours since last used his credit card at a restaurant

• Environmental context

– Context Tag nearby

• Ontology

– Introduction

– Ontology Components

– Ontology Development Process

– Ontology Languages

• Applications Using Ontology for Context Awareness

– Contexts Manipulation Using Ontology

– AmbieSense Project

– Modeling Context Ontology based on Activity Theory

• Summary & Review

Agenda

59

Modeling Context based on Activity Theory

• Using Activity Theory to Model Context Awareness

– Anders Kofod-Petersen and Jorg Cassens

– Lecture Notes on Artificial Intelligence, vol. 3946, pp. 1-17, 2006.

• A major shortfall of the research into context-aware systems

– Lack of a common understanding of a context model

– Lack of an agreed definition of context

• Most of the research today

– Focusing on the technical issues associated with context

– The syntactic relationships between different concepts

• Main reason for this approach

– Using socio-technical theories to design context-aware systems

– Using Activity Theory to model context and to describe situations

Activity Theory

• Activity theory

– A descriptive tool to help understand the unity of consciousness and activity

• Activity

– Subject, object and a mediating artifact or tool

– Subject

• A person or a group engaged in an activity

– Object

• Object that subject wants to achieve

Activity Theory and Context Awareness

• CHAT (Cultural Historical Activity Theory)

– An expanded model of Activity Theory

• A social and cultural context

• Example : software development

– The members of the team → all subjects in the development process

– Subjects and the client and other stake-holders → a community

– Working → division of labor

– Coding standards or working culture → a set of rules

– Methods for analysis and programming tools → mediating tools

The Proposed Context Model

• Context (defined by Dey)

– The set of suitable environmental states concerning a user

• Context taxonomy

– Environmental context → things, services, people

– Personal context → mood, expertise and disabilities

– Social context → different roles a user can assume

– Task context → what the user is doing, user’s goal, task

– Spatio-temporal context → time, location, the community

• Ontology

– Introduction

– Ontology Components

– Ontology Development Process

– Ontology Languages

• Applications Using Ontology for Context Awareness

– Contexts Manipulation Using Ontology

– AmbieSense Project

– Modeling Context Ontology based on Activity Theory

• Summary & Review

Agenda

64

Summary

• What is ontology?

– Introduction of Ontology

– Why use ontology?

– Components of Ontology

– Ontology Development Process

• How to use ontology?

– Applications Using Ontology for Context Awareness

– Ontology based contexts manipulation

– Ontology based context-aware service

– Ontology based context modeling

• Summary & Review

top related