Ontology: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
mNo edit summary
m (tools)
Line 46: Line 46:


==Why create ontologies ?==
==Why create ontologies ?==
From notes for [http://www.ksl.stanford.edu/people/dlm/papers/ontology101/ontology101-noy-mcguinness.html] Ontology Development 101 at Stanford:
* To share common understanding of the structure of information among people or 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
The Knowledge Systems, AI Laboratory ([http://www-ksl-svc.stanford.edu:5915/doc/frame-editor/guided-tour/why-develop-an-ontology.html KSL]) at Stanford University defines some simple needs ontologies can serve.
The Knowledge Systems, AI Laboratory ([http://www-ksl-svc.stanford.edu:5915/doc/frame-editor/guided-tour/why-develop-an-ontology.html KSL]) at Stanford University defines some simple needs ontologies can serve.
* To enable a machine to use the knowledge in some application.
* To enable a machine to use the knowledge in some application.
Line 52: Line 59:
* To help other people understand some area of knowledge.
* To help other people understand some area of knowledge.
* To help people reach a consensus in their understanding of some area of knowledge.  
* To help people reach a consensus in their understanding of some area of knowledge.  


===Limitations===
===Limitations===
Line 57: Line 66:


For more on limitations of ontologies see ''[http://www.shirky.com/writings/ontology_overrated.html Clay Shirky on Ontolology is overrated]''
For more on limitations of ontologies see ''[http://www.shirky.com/writings/ontology_overrated.html Clay Shirky on Ontolology is overrated]''
They appear most effective when the semantic distinctions that humans take for granted are crucial to the application's purpose. This may mean handling the common sense lurking in natural language excerpts or the expertise embedded in domain-specific explications and working repositories. - O'reilly




Line 110: Line 121:
3. Make a list of the concepts that you think should be included in your ontology.
3. Make a list of the concepts that you think should be included in your ontology.
4. Look for ontologies in the library of ontologies that may contain terms which you can use to develop your ontology.
4. Look for ontologies in the library of ontologies that may contain terms which you can use to develop your ontology.
5. Review and make modifications to your lists as needed throughout these steps.
5. Review and make modifications to your lists as needed throughout these steps.}}
}}
 
Creating an ontology to represent a particular knowledge base within a domain involves creating classes (concepts), subclasses and instances of them and properties that describe the relations between them.
 
This involves the processes of:
* defining classes in the ontology
* arranging the classes in a taxonomic (subclass–superclass) hierarchy
* defining properties and describing allowed values for them
* filling in the values for properties for instances. (Foy & McGuiness)
 
This is best accomplished by using nouns for the classes (objects) and verbs for the relationships (properties) in simple language to describe the domain (Foy & McGuiness).
 
Possible steps
# Determine the domain and scope of the ontology - domain, purpose, questions answered, stakeholders (users, experts)
# Reuse existing technologies (e.g.: [http://www.daml.org/ontologies/ DAML Ontology Library]
 
===Types of ontologies===
Ontologies can differ in:
'''Level of description''': levels of hierarchy and the variation in the relationships between concepts
'''Conceptual scope''': scope and purpose, whether domain specific or describing types of concepts and relations possible in any domain.
'''Instantiation''': the characteristics as defined by the structure of the ontology that will determine that an entity be considered
as an individual instance rather than a concept.
'''Specification language''': the ontology language used, (e.g. programming languages, [http://www.ai.sri.com/~okbc/ OKBC], [http://logic.stanford.edu/kif/dpans.html#Scope KIF], [[OWL]]


===Types of structural representations===
===Types of structural representations===
{{under construction}}
{{under construction}}
{{comment| just notes so far}}[[User:Kalli|kalli]] 16:22, 23 January 2007 (MET)
{{comment| just notes so far}}[[User:Kalli|kalli]] 16:22, 23 January 2007 (MET)
Ontologies can be structured effectively by domain experts and expert users, but when there are many domains and many individual users ontologies by the act of grouping entities and groups contributes to ''signal loss'': the distinction between similar labels, e.g. eating out and dining out.
Ontologies can be structured effectively by domain experts and expert users, but when there are many domains and many individual  
users ontologies by the act of grouping entities and groups contributes to ''signal loss'': the distinction between similar labels, e.g. eating  
out and dining out.
   
   
Hierarchical architectures present an authoritative structuring of categories that may not correspond to users' categorization of the same information.
Hierarchical architectures present an authoritative structuring of categories that may not correspond to users' categorization of the  
same information.


Social bookmarking on the other hand allows for user cataloguing of information where over time an ontology may develop from the label (tagging) that users give to their shared bookmarks (entities).
Social bookmarking on the other hand allows for user cataloguing of information where over time an ontology may develop from the  
label (tagging) that users give to their shared bookmarks (entities).


A hypertext as a semantic network of entities
A [[hypertext]] as a semantic network of entities, has even less structure


Related topics [[Information architecture]], [[Artificial intelligence in education]]
Related topics [[Information architecture]], [[Artificial intelligence in education]]


==Ontology editors==
==Ontology in education==
* [http://www-ksl-svc.stanford.edu:5915/] at [http://www-ksl-svc.stanford.edu:5915/doc/network-services.html Stanford KSL Network Services] - online editor with a list of ontologies that can be modified, or new ones added.  
http://iiscs.wssu.edu/o4e/viewhome.do?tm=O4E.xtm
 
To make domain assumptions explicit
* To separate domain knowledge from the operational knowledge
* To analyze domain knowledge
* To help yourself understand some area of knowledge better.
* To help other people understand some area of knowledge.
* To help people reach a consensus in their understanding of some area of knowledge.  


==Ontology editors and tools==
* [http://www-ksl-svc.stanford.edu:5915/ Ontolingua Ontology Editor] at [http://www-ksl-svc.stanford.edu:5915/doc/network-services.html Stanford KSL Network Services] - online frame editor building frame-based, [http://www.ai.sri.com/~okbc/ OKBC] with a list of ontologies that can be modified, or new ones added.
* [http://www.ksl.stanford.edu/software/chimaera/ Chimaera] - software system that supports users in creating and maintaining and merging distributed ontologies on the web.
* [http://protege.stanford.edu/overview/index.html Protégé] - an [[open-source]] java-based platfrom for building ontologies, {{quotation|rotégé implements a rich set of knowledge-modeling structures and actions that support the creation, visualization, and manipulation of ontologies in various representation formats}}.
** [http://protege.stanford.edu/overview/protege-frames.html Protégé-Frames editor] - for building frame-based, [http://www.ai.sri.com/~okbc/ OKBC] compliant ontologies.
** [http://protege.stanford.edu/overview/protege-owl.html Protégé-OWL editor ] for building [[semantic web]] [[OWL]]-based ontologies
* XML.com put together an exaustive [http://xml.com/2002/11/06/Ontology_Editor_Survey.html survey of ontology editors] in 2002 with a follow-up in [http://www.xml.com/pub/a/2004/07/14/onto.html 2004].
* [http://sourceforge.net/projects/powl pOWL] - {{quotation|pOWL is web-based (PHP/MySQL) knowledge base edititing and management solution for the Semantic Web. It supports collaborative browsing, querying and editing of RDFS/OWL Ontologies and exposes an extensive API for PHP programmers}}
==Related links==
==Related links==
* [http://ontology.buffalo.edu/ Department of Philosophy] at University of New York at Buffalo - historical and contemporary uses, resources, lists of ontologies
* [http://ontology.buffalo.edu/ Department of Philosophy] at University of New York at Buffalo - historical and contemporary uses, resources, lists of ontologies
* John F. Sowa's [http://www.jfsowa.com/ontology/index.htm site on ontology] and [[knowledge representation]], including history, glossary and tutorials
* John F. Sowa's [http://www.jfsowa.com/ontology/index.htm site on ontology] and [[knowledge representation]], including history, glossary and tutorials
* [http://www.xml.com/pub/a/2002/11/06/ontologies.html  A survey of ontology editing tools] at O'Reilly's xml.com  
* [http://www.xml.com/pub/a/2002/11/06/ontologies.html  A survey of ontology editing tools] at O'Reilly's xml.com  
* [http://www.ksl.stanford.edu/people/dlm/papers/ontology101/ontology101-noy-mcguinness.html Ontology Development 101: A Guide to Creating Your First Ontology]
* [http://www.daml.org/ontologies/ DAML Ontology Library] -  extensive list of ontologies


==References==
==References==

Revision as of 17:02, 26 January 2007

This article or section is currently under construction

In principle, someone is working on it and there should be a better version in a not so distant future.
If you want to modify this page, please discuss it with the person working on it (see the "history")

this is seriously under construction
kalli 15:41, 23 January 2007 (MET)

Definition

General definition

from Miriam-Webster online:

Ontology
  1. : a branch of metaphysics concerned with the nature and relations of being
  2. : a particular theory about the nature of being or the kinds of things that have existence

In philosophy

The art of ranking things in genera and species is of no small importance and very much assists our judgment as well as our memory. You know how much it matters in botany, not to mention animals and other substances, or again moral and notional entities as some call them. Order largely depends on it, and many good authors write in such a way that their whole account could be divided and subdivided according to a procedure related to genera and species. This helps one not merely to retain things, but also to find them.

And those who have laid out all sorts of notions under certain headings or categories have done something very useful.

Gottfried Wilhelm Leibniz, New Essays on Human Understanding (taken from John F. Sowa's homepage)

In AI

From the KS, AI Lab at Stanford University referring to ontology in AI: “An ontology is an explicit specification of some topic. For our purposes, it is a formal and declarative representation which includes the vocabulary (or names) for referring to the terms in that subject area and the logical statements that describe what the terms are, how they are related to each other, and how they can or cannot be related to each other. Ontologies therefore provide a vocabulary for representing and communicating knowledge about some topic and a set of relationships that hold among the terms in that vocabulary.”

Tom Gruber's short answer: “An ontology is an explicit specification of a conceptualization.”

Gruber's long answer:

For AI systems, what “exists” is that which can be represented. When the knowledge of a domain is represented in a declarative formalism, the set of objects that can berepresented is called the universe of discourse. This set of objects, and the describable relationships among them, are reflected in the representational vocabulary with which a knowledge-based program represents knowledge. Thus, in the context of AI, we can describe the ontology of a program by defining a set of representational terms. In such an ontology, definitions associate the names of entities in the universe of discourse (e.g., classes, relations, functions, or other objects) with human-readable text describing what the names mean, and formal axioms that constrain the interpretation and well-formed use

of these terms.

(Gruber, 1993, p. 3)

Why create ontologies ?

From notes for [1] Ontology Development 101 at Stanford:

  • To share common understanding of the structure of information among people or 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

The Knowledge Systems, AI Laboratory (KSL) at Stanford University defines some simple needs ontologies can serve.

  • To enable a machine to use the knowledge in some application.
  • To enable multiple machines to share their knowledge.
  • To help yourself understand some area of knowledge better.
  • To help other people understand some area of knowledge.
  • To help people reach a consensus in their understanding of some area of knowledge.


Limitations

[Information architecture] is the attempt to give structure to an ontology that will best describe entities and their relations, but ontologies have inherent biases derived from their respective domains, cultures, purposes and the environment in which their entities exist. An ontology used to describe books in a library thematically will be influenced by the fact that they must exist in a physical space and can only be in one place at a time. An ontology of the same books but not leading to a physical location, for example [e-book]s available online would be different as the same book can exist under several categories.

For more on limitations of ontologies see Clay Shirky on Ontolology is overrated

They appear most effective when the semantic distinctions that humans take for granted are crucial to the application's purpose. This may mean handling the common sense lurking in natural language excerpts or the expertise embedded in domain-specific explications and working repositories. - O'reilly


Design principles

Criteria

  1. Clarity: terms should be explicitly defined and objective.
  2. Coherence: inferences made from the ontology should be in accordance with definitions and logically consistent.
  3. Extendibility: the ontology should be useful in multiple contexts and tasks and should be able to incorporated new terms.
  4. Minimal encoding bias: choices of representation should be based on the knowledge represented by the entity, not on the needs of implementation.
  5. Minimal ontological commitment: the use of the vocabulary in the ontology should be consistent enough so that knowledge sharing activities can be supported across multiple contexts but not so rigid as to exclude specialized use.

Dave Shirky [2] presents a list of characteristics where an ontology can be effectively applied.

If the domain to be organized can be defined as:

  • Small corpus
  • Formal categories
  • Stable entities
  • Restricted entities
  • Clear edges

AND its the following participants are included in the process

  • Expert cataloguers
  • Authoritative source of judgment
  • Coordinated users
  • Expert users

e.g.: classifying bibliographical data.

Likewise where ontological classification does not work is when the domain contains:

  • A large corpus
  • No formal categories
  • Unstable entities
  • Unrestricted entities
  • No clear edges

and/or the participants are:

  • Uncoordinated users
  • Amateur users
  • Naive catalogers
  • No Authority

e.g.: the web

How to

KSL at Stanford University that offers an online ontology editor for registered and anonymous users presents some guidelines for creating ontologies.


Before you use the editor to create an ontology, you first need to design your ontology. Following are a few suggestions to help you with this process:

1. Write a few sentences describing your ontology. You should include the general subject area that you intend to cover with your ontology. You should also include any simplifying assumptions you are making. 2. Make a list of what you would like to state in your ontology. 3. Make a list of the concepts that you think should be included in your ontology. 4. Look for ontologies in the library of ontologies that may contain terms which you can use to develop your ontology.

5. Review and make modifications to your lists as needed throughout these steps.

Creating an ontology to represent a particular knowledge base within a domain involves creating classes (concepts), subclasses and instances of them and properties that describe the relations between them.

This involves the processes of:

  • defining classes in the ontology
  • arranging the classes in a taxonomic (subclass–superclass) hierarchy
  • defining properties and describing allowed values for them
  • filling in the values for properties for instances. (Foy & McGuiness)

This is best accomplished by using nouns for the classes (objects) and verbs for the relationships (properties) in simple language to describe the domain (Foy & McGuiness).

Possible steps

  1. Determine the domain and scope of the ontology - domain, purpose, questions answered, stakeholders (users, experts)
  2. Reuse existing technologies (e.g.: DAML Ontology Library

Types of ontologies

Ontologies can differ in: Level of description: levels of hierarchy and the variation in the relationships between concepts Conceptual scope: scope and purpose, whether domain specific or describing types of concepts and relations possible in any domain. Instantiation: the characteristics as defined by the structure of the ontology that will determine that an entity be considered as an individual instance rather than a concept. Specification language: the ontology language used, (e.g. programming languages, OKBC, KIF, OWL

Types of structural representations

This article or section is currently under construction

In principle, someone is working on it and there should be a better version in a not so distant future.
If you want to modify this page, please discuss it with the person working on it (see the "history")

just notes so far
kalli 16:22, 23 January 2007 (MET)

Ontologies can be structured effectively by domain experts and expert users, but when there are many domains and many individual users ontologies by the act of grouping entities and groups contributes to signal loss: the distinction between similar labels, e.g. eating out and dining out.

Hierarchical architectures present an authoritative structuring of categories that may not correspond to users' categorization of the same information.

Social bookmarking on the other hand allows for user cataloguing of information where over time an ontology may develop from the label (tagging) that users give to their shared bookmarks (entities).

A hypertext as a semantic network of entities, has even less structure

Related topics Information architecture, Artificial intelligence in education

Ontology in education

http://iiscs.wssu.edu/o4e/viewhome.do?tm=O4E.xtm

To make domain assumptions explicit

  • To separate domain knowledge from the operational knowledge
  • To analyze domain knowledge
  • To help yourself understand some area of knowledge better.
  • To help other people understand some area of knowledge.
  • To help people reach a consensus in their understanding of some area of knowledge.

Ontology editors and tools

  • Ontolingua Ontology Editor at Stanford KSL Network Services - online frame editor building frame-based, OKBC with a list of ontologies that can be modified, or new ones added.
  • Chimaera - software system that supports users in creating and maintaining and merging distributed ontologies on the web.
  • Protégé - an open-source java-based platfrom for building ontologies, “rotégé implements a rich set of knowledge-modeling structures and actions that support the creation, visualization, and manipulation of ontologies in various representation formats”.
  • XML.com put together an exaustive survey of ontology editors in 2002 with a follow-up in 2004.
  • pOWL - “pOWL is web-based (PHP/MySQL) knowledge base edititing and management solution for the Semantic Web. It supports collaborative browsing, querying and editing of RDFS/OWL Ontologies and exposes an extensive API for PHP programmers”

Related links

References

Online

  • Shirky, C. Clay Shirky's Writings About the Internet Economics & Culture, Media & Community, [[3]]
  • Stanford KSL Network Services [4]

Bibliographic

  • Gruber, T.R. (1993). Toward Principles for the Design of Ontologies Used for Knowledge Sharing. Technical Report KSL 93-04, Knowledge Systems Laboratory, Stanford University