Ontology Engineering & Maintenance Semantic Web - Spring 2008 Computer Engineering Department Sharif University of Technology.

Slides:



Advertisements
Similar presentations
Ontology Engineering for the Semantic Web and Beyond Natalya F. Noy Stanford University A large part of this tutorial is based on.
Advertisements

So What Does it All Mean? Geospatial Semantics and Ontologies Dr Kristin Stock.
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
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.
Chapter 9: Ontology Management Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Chapter 9: Ontology Management Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
©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.
Research topics Semantic Web - Spring 2007 Computer Engineering Department Sharif University of Technology.
Object-Oriented Analysis and Design
Software Testing and Quality Assurance
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
PROMPT: Algorithm and Tool for Automated Ontology Merging and Alignment Natalya Fridman Noy and Mark A. Musen.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Semantics For the Semantic Web: The Implicit, the Formal and The Powerful Amit Sheth, Cartic Ramakrishnan, Christopher Thomas CS751 Spring 2005 Presenter:
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.
Evaluating Ontology-Mapping Tools: Requirements and Experience Natalya F. Noy Mark A. Musen Stanford Medical Informatics Stanford University.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
10 December, 2013 Katrin Heinze, Bundesbank CEN/WS XBRL CWA1: DPM Meta model CWA1Page 1.
CS 4100 Artificial Intelligence Prof. C. Hafner Class Notes Feb 23, 2012.
Ontology Alignment/Matching Prafulla Palwe. Agenda ► Introduction  Being serious about the semantic web  Living with heterogeneity  Heterogeneity problem.
1 Ontology & Ontology Development 인공지능 연구실 허 희 근.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
©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.
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.
Metadata. Generally speaking, metadata are data and information that describe and model data and information For example, a database schema is the metadata.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Semantic Web - an introduction By Daniel Wu (danielwujr)
Taken from Schulze-Kremer Steffen Ontologies - What, why and how? Cartic Ramakrishnan LSDIS lab University of Georgia.
Advanced topics in software engineering (Semantic web)
©Ferenc Vajda 1 Semantic Grid Ferenc Vajda Computer and Automation Research Institute Hungarian Academy of Sciences.
Discovering Descriptive Knowledge Lecture 18. Descriptive Knowledge in Science In an earlier lecture, we introduced the representation and use of taxonomies.
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall Knowledge Representation Semantic Web - Fall 2005 Computer.
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
Christoph F. Eick University of Houston Organization 1. What are Ontologies? 2. What are they good for? 3. Ontologies and.
Algorithmic Detection of Semantic Similarity WWW 2005.
OilEd An Introduction to OilEd Sean Bechhofer. Topics we will discuss Basic OilEd use –Defining Classes, Properties and Individuals in an Ontology –This.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
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.
Enable Semantic Interoperability for Decision Support and Risk Management Presented by Dr. David Li Key Contributors: Dr. Ruixin Yang and Dr. John Qu.
Of 24 lecture 11: ontology – mediation, merging & aligning.
Ontology Evaluation Outline Motivation Evaluation Criteria Evaluation Measures Evaluation Approaches.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Ontology Engineering for the Semantic Web and Beyond
DOMAIN ONTOLOGY DESIGN
ece 627 intelligent web: ontology and beyond
Service-Oriented Computing: Semantics, Processes, Agents
Ontology-Based Approaches to Data Integration
Service-Oriented Computing: Semantics, Processes, Agents
Presentation transcript:

Ontology Engineering & Maintenance Semantic Web - Spring 2008 Computer Engineering Department Sharif University of Technology

Outline  Ontology Engineering  Ontology evaluation

Introduction  Why do we use ontology? To describe the semantics of the data (which we name as Meta-Data)  Why do we describe the semantics? In order to provide a uniform way to make different parties to understand each other  Which data? Any data (on the web, or in the existing legacy databases)

Introduction  Formal definition on Ontology: Ontologies are knowledge bodies that provide a formal representation of a shared conceptualization of a particular domain.  Ontologies are widely used in the Semantic Web. Recently ontologies have become increasingly common on WWW where they provide semantics of annotations in web pages

What Is “Ontology Engineering”? Ontology Engineering: Defining terms in the domain and relations among them Defining concepts in the domain (classes) Arranging the concepts in a hierarchy (subclass-superclass hierarchy) Defining which attributes and properties (slots) classes can have and constraints on their values Defining individuals and filling in slot values

Ontology-Development Process here: determine scope consider reuse enumerate terms define classes define properties define constraints create instances In reality - an iterative process: determine scope consider reuse enumerate terms define classes consider reuse enumerate terms define classes define properties create instances define classes define properties define constraints create instances define classes consider reuse define properties define constraints create instances

Determine Domain and Scope  What is the domain that the ontology will cover?  For what we are going to use the ontology?  For what types of questions the information in the ontology should provide answers? determine scope consider reuse enumerate terms define classes define properties define constraints create instances

Consider Reuse  Why reuse other ontologies? to save the effort to interact with the tools that use other ontologies to use ontologies that have been validated through use in applications determine scope consider reuse enumerate terms define classes define properties define constraints create instances

What to Reuse?  Ontology libraries DAML ontology library ( Ontolingua ontology library ( Protégé ontology library (protege.stanford.edu/plugins.html)  Upper ontologies IEEE Standard Upper Ontology ( suo.ieee.org) Cyc (

What to Reuse? (II)  General ontologies DMOZ ( WordNet (  Domain-specific ontologies UMLS Semantic Net GO (Gene Ontology) (

Enumerate Important Terms  What are the terms we need to talk about?  What are the properties of these terms?  What do we want to say about the terms? consider reuse determine scope enumerate terms define classes define properties define constraints create instances

Define Classes and the Class Hierarchy  A class is a concept in the domain a class of wines a class of wineries a class of red wines  A class is a collection of elements with similar properties  Instances of classes a glass of California wine you’ll have for lunch consider reuse determine scope define classes define properties define constraints create instances enumerate terms

 Classes usually constitute a taxonomic hierarchy (a subclass-superclass hierarchy)  A class hierarchy is usually an IS-A hierarchy: an instance of a subclass is an instance of a superclass  If you think of a class as a set of elements, a subclass is a subset  e.g., Apple is a subclass of Fruit Every apple is a fruit Class Inheritance

Levels in the Hierarchy Middle level Top level Bottom level

Modes of Development  top-down – define the most general concepts first and then specialize them  bottom-up – define the most specific concepts and then organize them in more general classes  combination – define the more salient concepts first and then generalize and specialize them

Documentation  Classes (and Properties) usually have documentation Describing the class in natural language Listing domain assumptions relevant to the class definition Listing synonyms  Documenting classes and slots is as important as documenting computer code!

Define Properties (Slots) of Classes  Properties in a class definition describe attributes of instances of the class and relations to other instances Each wine will have color, sugar content, producer, etc. consider reuse determine scope define constraints create instances enumerate terms define classes define properties

Properties (Slots)  Types of properties “intrinsic” properties: flavor and color of wine “extrinsic” properties: name and price of wine parts: ingredients in a dish relations to other objects: producer of wine (winery)  Simple and complex properties simple properties (attributes): contain primitive values (strings, numbers) complex properties: contain (or point to) other objects (e.g., a winery instance)

Property Constraints (facets)  Property constraints (facets) describe or limit the set of possible values for a property The name of a wine is a string The wine producer is an instance of Winery A winery has exactly one location consider reuse determine scope create instances enumerate terms define classes define constraints define properties

An Example: Domain and Range  When defining a domain or range for a slot, find the most general class or classes  Consider the flavor slot Domain: Red wine, White wine, Rosé wine Domain: Wine  Consider the produces slot for a Winery: Range: Red wine, White wine, Rosé wine Range: Wine slotclassallowed values DOMAINRANGE

Create Instances  Create an instance of a class The class becomes a direct type of the instance Any superclass of the direct type is a type of the instance  Assign slot values for the instance frame Slot values should conform to the facet constraints Knowledge-acquisition tools often check that consider reuse determine scope create instances enumerate terms define classes define properties define constraints

Defining Classes and a Class Hierarchy  The things to remember: There is no single correct class hierarchy But there are some guidelines  The question to ask: “Is each instance of the subclass an instance of its superclass?”

Transitivity of the Class Hierarchy  The is-a relationship is transitive: B is a subclass of A C is a subclass of B C is a subclass of A  A direct superclass of a class is its “closest” superclass

Multiple Inheritance  A class can have more than one superclass  A subclass inherits slots and facet restrictions from all the parents  Different systems resolve conflicts differently

Disjoint Classes  Classes are disjoint if they cannot have common instances  Disjoint classes cannot have any common subclasses either Red wine, White wine, Rosé wine are disjoint Dessert wine and Red wine are not disjoint Wine Red wine Rosé wine White wine Dessert wine

Avoiding Class Cycles  Danger of multiple inheritance: cycles in the class hierarchy  Classes A, B, and C have equivalent sets of instances By many definitions, A, B, and C are thus equivalent

The Perfect Family Size  If a class has only one child, there may be a modeling problem  If the only Red Burgundy we have is Côtes d’Or, why introduce the sub-hierarchy?  Compare to bullets in a bulleted list

The Perfect Family Size (II)  If a class has more than a dozen children, additional subcategories may be necessary  However, if no natural classification exists, the long list may be more natural

Single and Plural Class Names  A “wine” is not a kind-of “wines”  A wine is an instance of the class Wines  Class names should be either all singular all plural Class Instance instance-of

Classes and Their Names  Classes represent concepts in the domain, not their names  The class name can change, but it will still refer to the same concept  Synonym names for the same concept are not different classes Many systems allow listing synonyms as part of the class definition

Content: Top-Level Ontologies  What does “top-level” mean? Objects: tangible, intangible Processes, events, actors, roles Agents, organizations Spaces, boundaries, location Time  IEEE Standard Upper Ontology effort Goal: Design a single upper-level ontology Process: Merge upper-level of existing ontologies

CYC: Top-Level Categories

WORDNET: Representation of Subclass Relation among Synsets

Sowa’s Ontology

Ontology Evaluation  Key factor which makes a particular discipline or approach scientific is the ability to evaluate and compare the ideas within the area.  In most practical cases ontologies are a non- uniquely expressible.  One can build many different ontologies which conceptualizing the same body of knowledge.  We should be able to say which of these ontologies serves better some predefined criterion.

Categories of Ontology Evaluation  Those based on comparing the ontology to a "golden standard“ (a ontology).  Those based on using the ontology in an application and evaluating the results of it.  Those involving comparisons with a source of data (e.g. a collection of documents) about the domain that is to be covered by the ontology.  Those where evaluation is done by humans who try to assess how well the ontology meets a set of predefined criteria, standards, requirements, etc.

Different Levels of Evaluation  Lexical, vocabulary, or Data Layer  Hierarchy or Taxonomy  Other Semantic relations  Context or application level  Syntactic Level  Structure, Architecture, Design  Multiple-criteria approaches

A: Lexical, Vocabulary, or Data Layer  The focus is on which concepts, instances, facts, etc. have been include in the ontology, and the vocabulary used to represent or identify these concepts.  Evaluation on this level tends to involve comparisons with various sources of data concerning the problem, as well as techniques such as string similarity measures (e.g. edit distance).  MAEDCHE AND STAAB (2002). Concepts are compared to a “Golden Standard” set of strings that are considered a good representation of the concepts.  Golden standard Another ontology Taken statistically from a corpus of documents Prepared by domain experts.

B: Hierarchy or Taxonomy  An ontology typically includes a hierarchical “is-a or subsumption” relation between concepts.  BREWSTER et al. (2004) used a data-driven approach to evaluate the degree of structural fit between an ontology and a corpus of documents. Cluster the documents and make topic representing documents Each concept c of the ontology is represented by a set of terms including its name in the ontology and the hypernyms of this name, taken from Wordnet. Measure how well a concept fits a topic results from the clustering step. Indicate that the structure of the ontology is reasonably well aligned with the hidden structure of topics in the domain-specific corpus of documents.

C: Context Level  An ontology may be part of a larger collection of ontologies, and may reference or be referenced by various definitions in these other ontologies. In this case it may be important to take this context into account when evaluating it.  Swoogle search engine uses cross-references between semantic-web documents to define a graph and compute a score for each ontology in a manner analogous to PageRank used by the Google web search engine. The resulting “ontology rank” is used by Swoogle to rank its query results.  An important difference in comparison to PageRank is that not all “links” or references between ontologies are treated the same. If one ontology defines a subclass of a class from another ontology, this reference might be considered more important than if one ontology only uses a class from another as the domain or range of some relation.

D: Application Level  It may be more practical to evaluate an ontology within the context of particular application, and to see how the results of the application are affected by the use of ontology in question.  The outputs of the application, or its performance on the given task, might be better or worse depending partly on the ontology used in it.  One might argue that a good ontology is one which helps the application in question produce good results on the given task.

E: Syntactic Level  For manually constructed Ontologies.  The ontology is usually described in a particular formal language and must match the syntactic requirements of that language (use of the correct keywords, etc.).  This is probably the one that lends itself the most easily to automated processing.

F: Structure, Architecture, Design  This is primarily of interest in manually constructed ontologies.  Assuming that some kind of design principles or criteria have been agreed upon prior to constructing the ontology, evaluation on this level means checking to what extent the resulting ontology matches those criteria.  Must usually be done largely or even entirely manually by people such as ontological engineers and domain experts.

G: Multiple-Criteria Approaches  Selecting a good ontology from a given set of ontologies.  Techniques familiar from the area of decision support systems can be used to help us evaluate the ontologies and choose one of them.  Are based on defining several decision criteria or attributes; for each criterion, the ontology is evaluated and given a numerical score. A weight is assigned to each criterion. An overall score for the ontology is then computed as a weighted sum of its per-criterion scores.

Example Select an Ontology - Type G: Ontology Auditor Metrics Suite Metric Attributes Description Syntactic Quality Lawfulness Correctness of syntax used Richness Breadth of syntax used Semantic Quality Interpretability Meaningfulness of terms Consistency Consistency of meaning of terms Clarity Average number of word senses Pragmatic Quality Comprehensibility Amount of information Accuracy Accuracy of information Relevance Relevance of information for a task Social Quality Authority Extent to which other ontologies rely on it History Number of times ontology has been used

Example Cont.: Overall Quality Metric  Overall quality (Q) is a weighted function of its constituents: Q = c1 × S + c2 × E + c3 × P + c4 × O where S = syntactic quality E = semantic quality P = pragmatic quality O = social quality, and c1+c2+c3+c4 = 1  The weights sum to unity, and currently, are set by the user, the application, or else assumed equal

Example Cont.: Syntactic Quality (S)  Measures the quality of the ontology according to the way it is written.  Lawfulness  refers to the degree to which an ontology language’s rules have been complied.  Richness  refers to the proportion of features in the ontology language that have been used in an ontology Syntactic Quality (S) S = b 1  S L + b 2  S R Lawfulness (S L ) Let X be total syntactical rules. Let X b be total breached rules. Let N S be the number of statements in the ontology. Then S L = X b / N S. Richness (S R ) Let Y be the total syntactical features available in ontology language. Let Z be the total syntactical features used in this ontology. Then S R = Z/Y.

Example Cont.: Semantic Quality (E)  Evaluates the meaning of terms in the ontology library. Interpretability  refers to the meaning of terms in the ontology Consistency  whether terms have consistent meaning Clarity  whether the context of terms is clear Semantic Quality (E) E = b 1  E I + b 2  E C + b 3  E A Interpretability (E I ) Let C be the total number of terms used to define classes and properties in ontology. Let W be the number of terms that have a sense listed in WordNet. Then E I = W/C. Consistency (E C ) Let I = 0. Let C be the number of classes and properties in ontology.  C i, if meaning in ontology is inconsistent, I+1.  I = number of terms with inconsistent meaning. Ec = I/C. Clarity (E A ) Let C i = name of class or property in ontology.  C i, count A i, (the number of word senses for that term in WordNet). Then E A = A/C.

Example Cont.: Pragmatic Quality (P)  Refers to ontology’s usefulness for users or their agents, irrespective of syntax or semantics. Accuracy  whether the claims an ontology makes are ‘true.’ Comprehensiveness  measure of the size of the ontology. Relevance  whether ontology satisfies the agent’s specific requirements. Relevance (P R ) Pragmatic Quality (P) P = b 1  P O + b 2  P U + b 3  P R Comprehensiveness (P O ) Let C be the total number of classes and properties in ontology. Let V be the average value for C across entire library. Then P O = C/V. Accuracy (P U ) Let N S be the number of statements in ontology. Let F be the number of false statements. P U = F/N S. Requires evaluation by domain expert and/or truth maintenance system. Let N S be the number of statements in the ontology. Let S be the type of syntax relevant to agent. Let R be the number of statements within N S that use S. P R = R / N S.

Example Cont.: Social Quality (O)  Reflects that agents and ontologies exist in communities. Authority  number of other ontologies that link to it History  number of times the ontology is accessed Social Quality (O) O = b 1  O T + b 2  O H Authority (O T )Let an ontology in the library be O A. Let the set of other ontologies in the library be L. Let the total number of links from ontologies in L to O A be K. Let the average value for K across ontology library be V. Then O T = K/V. History (O H )Let the total number of accesses to an ontology be A. Let the average value for A across ontology library be H. Then O H = A/H.

References  J. Brank, M. Groblnik and D. Meladenic, “Ontology Evaluation”, SEKT Project Technical Report, 2003.

The End