1 Ontology & Ontology Development 인공지능 연구실 허 희 근.

Slides:



Advertisements
Similar presentations
Computer Ontology – Final Project Presentation Rajesh Karunamurthy Khalid Hassan Md.Mahmudur Rahman Ali Kiani.
Advertisements

Ontology Engineering for the Semantic Web and Beyond Natalya F. Noy Stanford University A large part of this tutorial is based on.
Semiotics and Ontologies. Ontologies contain categories, lexicons contain word senses, terminologies contain terms, directories contain addresses, catalogs.
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
Tutorial on Ontology Management
Ontology development in Protégé. Lecture 2 Introduction to Protégé 2 Pablo Romero, Department of Informatics Overview Components of an ontology The ontology.
Ontologies - Design principles Cartic Ramakrishnan LSDIS Lab University of Georgia.
Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt CSC 9010 Spring, Paula Matuszek 1 CS 9010: Semantic Web Ontologies.
Ontology… A domain ontology seeks to reduce or eliminate conceptual and terminological confusion among the members of a user community who need to share.
Natasha Noy Stanford University Ontology Development 101 A large part of this tutorial is based on “Ontology Development 101: A Guide to Creating Your.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt CSC 8520 Fall, Paula Matuszek 1 CSC 8520: Artificial Intelligence.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 4- 1.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 The Enhanced Entity- Relationship (EER) Model.
Introduction to ontologies and tools; some examples Josep Blat Universitat Pompeu Fabra.
Biological Ontologies Neocles Leontis April 20, 2005.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
PROMPT: Algorithm and Tool for Automated Ontology Merging and Alignment Natalya F. Noy and Mark A. Musen.
October 15, 2007Inf 722 Information Organisation (Fall 2007) (Gangolly)1 Ontologies Lecture Notes Prepared by Jagdish S. Gangolly Interdisciplinary Ph.D.
The Enhanced Entity- Relationship (EER) Model
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Chapter 41 Enhanced Entity-Relationship and Object Modeling.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 The Enhanced Entity- Relationship (EER) Model.
CS 4100 Artificial Intelligence Prof. C. Hafner Class Notes Feb 23, 2012.
1 Dr Alexiei Dingli Introduction to Web Science Modelling the SW.
1 Constructing Class Hierarchies From: Using Types and Inheritance in Object-Oriented Programming, by Daniel C Halbert and Patrick D. O'Brien, IEEE Software,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Protege OWL Plugin Short Tutorial. OWL Usage The world wide web is a natural application area of ontologies, because ontologies could be used to describe.
Of 39 lecture 2: ontology - basics. of 39 ontology a branch of metaphysics relating to the nature and relations of being a particular theory about the.
Ontology Basics 葉 慶 隆 大同大學 資訊工程系 URL:
INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning.
Knowledge representation and the Internet – Ontology Ddesign What is an ontology? Why develop an ontology? Step-By-Step: Developing an ontology Going deeper:
RDF and OWL Developing Semantic Web Services by H. Peter Alesso and Craig F. Smith CMPT 455/826 - Week 6, Day Sept-Dec 2009 – w6d21.
Ontology Engineering & Maintenance Semantic Web - Spring 2008 Computer Engineering Department Sharif University of Technology.
Definition of a taxonomy “System for naming and organizing things into groups that share similar characteristics” Taxonomy Architectures Applications.
Chapter 7 System models.
Semantic Web Ontology Design Pattern Li Ding Department of Computer Science Rensselaer Polytechnic Institute October 3, 2007 Class notes for CSCI-6962.
System models l Abstract descriptions of systems whose requirements are being analysed.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Umi Laili Yuhana December, Context Aware Group - Intelligent Agent Laboratory Computer Science and Information Engineering National Taiwan University.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
Repetition af Domæne model. Artifact influence emphasizing the Domain Model.
1 CSC 9010 Spring, Paula Matuszek Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt CS 9010: Knowledge-Based Systems.
Object-Oriented Analysis and Design CHAPTERS 9, 31: DOMAIN MODELS 1.
Metadata Common Vocabulary a journey from a glossary to an ontology of statistical metadata, and back Sérgio Bacelar
Ontologies - Design Ray Dos Santos June 19, 2009.
Ontology Basics 葉 慶 隆 大同大學 資訊工程系 URL:
Ontology development and evaluation Dr. Alexandra I. Cristea.
Some Thoughts to Consider 8 How difficult is it to get a group of people, or a group of companies, or a group of nations to agree on a particular ontology?
Knowledge Representation. Keywordsquick way for agents to locate potentially useful information Thesaurimore structured approach than keywords, arranging.
Ontology Engineering for the Semantic Web and Beyond Natalya F. Noy Stanford University Slides from: Introduction to Ontology and.
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lotzi Bölöni.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 4- 1.
COP Introduction to Database Structures
Ontology Engineering for the Semantic Web and Beyond
Enhanced Entity-Relationship (EER) Model
The Enhanced Entity- Relationship (EER) Model
Business System Development
DOMAIN ONTOLOGY DESIGN
Chapter 11 Object-Oriented Design
Introduction to Web Science
Enhanced Entity-Relationship (EER) Modeling
Presentation transcript:

1 Ontology & Ontology Development 인공지능 연구실 허 희 근

2 Contents  What’s an Ontology?  Why develop an Ontology?  What’s in an Ontology?  A Simple Knowledge-Engineering Methodology  Defining classes and a class hierarchy

3 What’s an Ontology?  Ontology –A formal, explicit specification of a shard conceptualization of a domain of interest. (Tom Gruber) – 실세계 ( 혹은 특정 도메인 ) 에 존재하는 모든 개념들 (concepts), 그 개념들의 속성 (properties), 개념들이 상호간 의미적으로 어 떻게 연결되어 있는가 (semantic relation) 에 대한 정보를 가지고 있는 지식베이스 –Semantic Web 을 구축하기 위해서 사용  Thesaurus –A listing of words with similar of related meanings.

4 Why develop an Ontology?  To share common understanding of the structure of information among people of software agents  To enable reuse of domain knowledge  To make domain assumptions explicit  To separate domain knowledge from the operational knowledge  To analyze domain knowledge

5 What’s in an Ontology?(1)  Classes : formal explicit description of concepts in a domain of discourse (sometimes called concepts) –Classes are the focus of most ontologies and describe concepts in the domain. A class of wines represents all wines. Specific wines are instances of this class. Bordeaux wine is an instance of the class of Bordeaux wines. –A class can have subclasses that represent concepts that are more specific than the superclass. We can divide the class of all wines into (red, white, and rose wines) or (sparkling and non-sparkling wines) ex

6 What’s in an Ontology?(2)  Slots : properties of each concept describing various features and attributes of the concept (sometimes called roles and properties) –Slots describe properties of classes and instances. Château Lafite Rothschild Pauillac wine has a full body; it is produced by the Château Lafite Rothschild winery. We have two slots describing the wine : –Slot body with the value full and the slot maker with the value Château Lafite Rothschild winery. –Instance of class Wine : slots describing their flavor, body, sugar level, the maker of the wine and so on.  Facets : restrictions on slots (sometimes called role restrictions)  An ontology together with a set of individual instances of classes constitutes a knowledge base ex

7 What’s in an Ontology?(3)  All instances of the class Wine, and its subclass Pauillac, have a slot maker the value of which is an instance of the class Winery  All instances of the class Winery have a slot produces that refers to all the wines (instances of the class Wine and its subclasses) that the winery produces.

8 What’s in an Ontology?(4)  In practical terms, developing an ontology includes : –Defining classes in the ontology –Arranging the classes in a taxonomic (subclass – superclass) hierarchy –Defining slots and describing allowed values for these slots –Filling in the values for slots for instances  We can then create a knowledge base by defining individual instances of these classes filling in specific slot value information and additional slot restrictions.

9 A Simple Knowledge-Engineering Methodology(1)  Describing an iterative approach to ontology development –Starting with a rough first pass at the ontology. –Then revise and refine the evolving ontology and fill in the details  We would like to emphasize some fundamental rules in ontology design –These rules may seem rather dogmatic. –But they can help to make design decisions in many cases. There is no one correct way to model a domain – there are always viable alternatives. Ontology development is necessarily an iterative process Concepts in the ontology should be should be close to objects (physical or logical) and relationships in your domain of interest.

10 A Simple Knowledge-Engineering Methodology(2)  Lifecycle of the ontology –Step 1 : Determine the domain and scope of the ontology –Step 2 : Consider reusing existing ontologies –Step 3 : Enumerate important terms in the ontology –Step 4 : Define the classes and the class hierarchy –Step 5 : Define the properties of classes – slots –Step 6 : Define the facets of the slots –Step 7 : Create instances

11 Lifecycle of the ontology(1) Step 1 : Determine the domain and scope of the ontology  Starting the development of an ontology by defining its domain and scope.  If the ontology we are designing will be used to assist in natural language processing of articles in wine magazines, it may be important to include synonyms and part-of-speech information for concepts in the ontology.  If the ontology will be used to help restaurant customers decide which wine to order, we need to include retail-pricing information.  If it is used for wine buyers in stocking a wine cellar, while sale pricing and availability may be necessary.  If the people who will maintain the ontology describe the domain in a language that is different from the language of the ontology users, we may need to provide the mapping between the languages.

12 Lifecycle of the ontology(2) Step 1 : Determine the domain and scope of the ontology  One of the ways to determine the scope of the ontology is to sketch a list of questions that a knowledge base based on the ontology should be able to answer, competency questions ( Gruninger and Fox 1995) –Does the ontology contain enough information to answer these types of questions? –Do the answers require a particular level of detail or representation of a particular area?  These competency questions are just a sketch and do not need to be exhaustive. –Which wine characteristics should I consider when choosing a wine? –Is Bordeaux a red or white wine? –What is the best choice of wine for grilled meat? – judging from this list of questions, the ontology will include the information on various wine characteristics and wine types, vintage years. ex

13 Lifecycle of the ontology(3) Step 2 : Consider reusing existing ontologies  Reusing existing ontologies may be a requirement if our system needs to interact with other applications that have already committed to particular ontologies or controlled vocabularies.  Many ontologies are already available in electronic form and can be imported into an ontology-development environment that you are using.  There are libraries of reusable ontologies on the Web and in the literature. –Ontolingua ontology library, DAML ontology library –Publicly available commercial ontologies : UNSPSC, RosettaNet, DMOZ

14 Lifecycle of the ontology(4) Step 3 : Enumerate important terms in the ontology  It is useful to write down a list of all terms we would like either to make statements about or to explain to a user. –What are the terms we would like to talk about? –What properties go those terms have? –What would we like to say about those terms? –Important wine-related terms will include wine, grape, winery, location, a wine’s color, flavor, and sugar content  Initially, it is important to get a comprehensive list of terms without worrying about overlap between concepts they represent, relations among the terms or any properties ex

15 Lifecycle of the ontology(5) Step 4 : Define the classes and the class hierarchy  Several possible approaches in developing a class hierarchy (Uschold and Gruninger) –A top-down development process Starts with the definition of the most general concepts in the domain and subsequent specialization of the concepts –A bottom-up development process Starts with the definition of the most specific classes, the leaves of the hierarchy, with subsequent grouping of these classes into more general concepts. –A combination development process A combination of the top-down and bottom-up approaches

16 Lifecycle of the ontology(6) Step 4 : Define the classes and the class hierarchy  Shows a possible breakdown among the different levels of generality

17 Lifecycle of the ontology(7) Step 4 : Define the classes and the class hierarchy  Non of these three methods is inherently better than any of the others.  The approach to take depends strongly on the personal view of the domain.  Whichever approach we choose, we usually start by defining classes.  If a class A is a superclass of class B, then every instance of B is also an instance of A

18 Lifecycle of the ontology(8) Step 5 : Define the properties of classes – slots  For each property in the list, we must determine which class it describes.  Wine class will have the following slots –Color, body, flavor, and sugar –The class Winery will have a location slot.  In general, there are several types of object properties that can become slots in an ontology –“intrinsic” properties such as the flavor of a wine –“extrinsic” properties such as the wine’s name, and area it comes from –Parts, if the object is structured : can be both physical and abstract “parts” The courses of a meal –Relationships to other individuals : between individual members of the class and other items The maker of a wine, representing a relationship between a wine and a winery

19 Lifecycle of the ontology(9) Step 6 : Define the facets of the slots  Slots can have different facets describing the value type, allowed values, the number of the values (cardinality), and other features of values –The value of a name slot (as in “the name of a wine”) is one string. –Name is a slot with value type String –A slot produces (as in “a winery produces these wines”) can have multiple values and the values are instances of the class Wine –Produces is a slot with value type Instance with Wine as allowed class ex

20 Lifecycle of the ontology(10) Step 6 : Define the facets of the slots  Slot cardinality –Defines how many values a slot can have  Slot-value type –String : the simplest value type which is used for slots such as name – Number : describes slots with numeric values. : a price of a wine – Boolean : simple yes-no flags –Enumerated : specify a list of specific allowed values for the slot. – Instance-type : allow definition of relationships between individuals

21 Lifecycle of the ontology(11) Step 7 :Create instances  Creating individual instances of classes in the hierarchy.  Defining an individual instance of a class requires –Choosing a class –Creating an individual instance of that class –Filling in the slot values

22 Defining classes and a class hierarchy(1)  Ensuring that the class hierarchy is correct –An “is a” relation A class A is a subclass of B if every instance of A is also an instance of B Chardonnay is a subclass of White wine A “kind of” relation : Chardonnay is a kind of White wine –A single wine is not a subclass of all wines –Transitivity of the hierarchical relations A subclass relationship is transitive : If B is a subclass of A and C is a subclass of B, then C is a subclass of A – Evolution of a class hierarchy Maintaining a consistent class hierarchy may become challenging as domains evolve –Classes and their names It is important to distinguish between a class and its name : classes represent concepts in the domain and not the words that denote these concepts

23 Defining classes and a class hierarchy(2)  Analyzing siblings in a class hierarchy –Sibling in a class hierarchy Siblings in the hierarchy are classes that are direct subclasses of the same class All the siblings in the hierarchy (except for the ones at the root) must be at the same level of generality. –How many is too many and how few are too few? Many well-structured ontologies have between two and a dozen direct subclass Two guidelines : –If a class has only one direct subclass there may be a modeling problem of the ontology is not complete –If there are more than a dozen subclasses for a given class then additional intermediate categories may be necessary.

24 Defining classes and a class hierarchy(3)  Multiple inheritance –Most knowledge-representation system allow multiple inheritance in the class hierarchy : a class can be a subclass of several classes.  When to introduce a new class (or not) –Subclass of a class usually (1) have additional properties that the superclass does not have, or (2) restrictions different from those of the superclass, or (3) participate in different relationships than the superclasses  An instance or a class? –Individual instances are the most specific concepts represented in a knowledge base –If concepts form a natural hierarchy, then we should represent them as classes

25 Defining classes and a class hierarchy(4)  Limiting the scope –The ontology should not contain all the possible information about the domain Don’t need to specialize (or generalize) more than you need for your application (at most one extra level each way) The ontology should not contain all the possible properties of and distinctions among classes in the hierarchy.  Disjoint subclasses –Many systems allow us to specify explicitly that several classes are disjoint. –Classes are disjoint if they cannot have any instances in common.