Wikimedia needs your help in its US$75,000 fund drive. See our fundraising page for details.
We are over 35% there thanks to all those who have donated so far! Day 2 detail and report (http://mail.wikipedia.org/pipermail/foundation-l/2005-February/002339.html)

Ontology (computer science)

From Wikipedia, the free encyclopedia.

In computer science, an ontology is the attempt to formulate an exhaustive and rigorous conceptual schema within a given domain, a typically hierarchical data structure containing all the relevant entities and their relationships and rules (theorems, regulations) within that domain. The computer science usage of the term ontology is derived from the much older usage of the term in philosophy, where it means the study of being or existence as well as the basic categories thereof. See ontology (philosophy).


Contents

As core glossary

A foundation ontology is a core glossary in whose terms everything else must be described, like the 2000 words of English required by Longman's dictionary to define the 4000 most common English idioms. It serves as core ontology for computer programs and users both, influencing their view of data and events.

By default, all computer programs have a foundation ontology consisting of a processor instruction set, or standard library in a programming language, or files in accessible file systems, or some other list of 'what exists'. Because these may be poor representations for certain problem domains, more specialized schema must be created to make the data useful in making real world decisions. Thus the need for standards which take 'core' (e.g. the Dublin core in SGML) ontologies and solidify them into 'foundations':

T. R. Gruber has described an ontology in this sense as "an explicit specification of conceptualization".

Although the term 'ontology' has been used very loosely to label almost any conceptual classification scheme, among practising computational ontologists, a true ontology should contain at a minimum not only a hierarchy of concepts organized by the subsumption relation (often called 'isa', 'subtype' or 'subclass'), but other 'semantic relations' that specify how one concept is related to another. The most common of the semantic relations other than subsumption is the 'part-of' relation. In one formal notation, one might see a relation such as (isPartOf Spine Vertebrate), meaning that a 'Spine' (in that specific sense) is part of a Vertebrate. The ontologies are organized by concepts, not words, so that the concept 'spine' referring to the spine of a book would have to be labeled by a different term, such as 'BookSpine'.

This is different from but related to the philosophical meaning of the word ontology, the study of existence. The purpose of a computational ontology is not to specify what does or does not 'exist', but to create a database, which is a human artifact, containing concepts referring to entities of interest to the ontologist, and which will be useful in performing certain types of computations. For this reason, the abstruse reasoning used by philosophical ontologists can be helpful in recognizing and avoiding potential logical ambiguities, but where alternative ontological representations can equally well serve the pragmatic purpose of the computational ontologist, time constraints usually dictate that one choice is made and others are ignored. For certain purposes, it can be better to ignore many of the details of the objects of interest. As a result, computational ontologies developed independently for different purposes will often differ greatly from each other.

Ontologies are commonly used in artificial intelligence and knowledge representation. Computer programs can use an ontology for a variety of purposes including inductive reasoning, classification, a variety of problem solving techniques, as well as to facilitate communication and sharing of information between different systems.

An ontology which is not tied to a particular problem domain but attempts to describe general entities is known as a foundation ontology or upper ontology. Typically, more specialized schema must be created to make the data useful for real world decisions.

Such ontologies are commercially valuable, creating competition to define them. Peter Murray-Rust has claimed that this leads to "semantic and ontological warfare due to competing standards", and accordingly any standard foundation ontology is likely to be contested among commercial or political parties, each with their own idea of 'what exists' (in the philosophical sense). No one upper ontology has yet gained widespread acceptance as a de facto standard. Different organizations are attempting to define standards for specific domains. The 'Process Specification Language' (PSL) created by the National Institute for Standards and Technology (NIST) is one example.

Available ontologies

A well-known and quite comprehensive ontology available today is Cyc, a proprietary system under development since 1985, consisting of a foundation ontology and several domain-specific ontologies (called microtheories). A subset of that ontology has been released for free under the name OpenCyc (see http://www.opencyc.org/ ).

WordNet, a freely available database originally designed as a semantic network based on psycholinguistic principles, was expanded by addition of definitions and is now also viewed as a dictionary. It qualifies as an upper ontology by including the most general concepts as well as more specialized concepts, related to each other not only by the subsumption relations, but by other semantic relations as well, such as part-of and cause. However, unlike Cyc, it has not been formally axiomatized so as to make the logical relations between the concepts precise. It has been widely used in Natural Language Processing research.

The Suggested Upper Merged Ontology (SUMO) is another comprehensive ontology project. It includes an upper ontology, created by the IEEE working group P1600.1 (predominantly by Ian Niles and Adam Pease). It is extended with many domain ontologies and a complete set of links to WordNet. It is freely available.

This would reserve certain terms and their meanings for all 'P1600.1 standard' systems, in the same sense as a general ontology (in the philosophical sense) defines 'what exists'. The use of the adjective 'upper', in particular, implies a hierarchy one must accept rather than a foundation one can choose, and seems to suggest a cultural impact.

Practical lessons from philosophy: the purpose of an upper-ontology

There are argument both for and against the viability of an upper ontology. One that is against follows.

Why an Upper Ontology is not Feasible

Any effort to encode a useful upper or lower ontology will be characterized by ontological constraints that philosophers have found historically inescapable. Above all, these constraints cast serious doubt on attempts to build a general-purpose upper ontology.

  • There is no self-evident way of dividing the world up into concepts
  • There is no neutral ground that can serve as a means of translating between specialized (lower) ontologies
  • Human language itself is already an arbitrary approximation of just one among many possible conceptual maps. To draw any necessary correlation between English words and any number of intellectual concepts we might like to represent in our ontologies is just asking for trouble. (WordNet is successful and useful precisely because it does not pretend to be a general-purpose upper ontology; rather, it is a tool for semantic / syntactic / linguistic disambiguation, which also happens to be richly embedded in the particulars and peculiarities of the English language.)
  • Any hierarchical or topological representation of concepts must begin from some ontological, epistemological, linguistic, cultural, and — above all — pragmatic perspective.

Because any ontology is, among other things, a social / cultural artifact, there is no purely objective perspective from which to observe the whole terrain of concepts. Instead of asking, “what hierarchical representation of concepts best captures the universal relationships among general ideas,” it is more productive to ask “what specific purpose do we have in mind for this conceptual map of entities and what practical difference will this ontology make?” This pragmatic philosophical position surrenders all hope of devising the encoded ontology version of “everything that is the case,” (Wittgenstein, Tractatus Logico-Philosophicus).

According to Barry Smith in The Blackwell Guide to the Philosophy of Computing and Information (2004), "the project of building one single ontology, even one single top-level ontology, which would be at the same time non-trivial and also readily adopted by a broad population of different information systems communities, has largely been abandoned." (p. 159)

How ontologies will be employed in Artificial Intelligence is an open question, but much of what is known about concept acquisition and the social / linguistic interactions of human beings makes it unlikely that a general-purpose ontology is the essential foundation for learning or for achieving an intellect certifiable by the Turing test.

Why an Upper Ontology is Feasible

While there is no single agreed metaphysics, the very existence of long standing arguments in the field shows that there are a number of models that do not have fatal flaws. Proponents of an upper ontology argue that while there is not one single true upper ontology, there are in fact several good ones that may be created. The benefits of standardization for communication and sharing suggest that practical system implementors should consider adopting a common upper ontology.

Several common arguments against upper ontology can be examined more clearly by separating issues of concept definition (ontology), language (lexicons), and facts (knowledge). The most common conflict among informal ontologies is a difference in language. This difference may be evident even when communities speak the same human language. People have different terms and phrases for the same concept. However, that does not necessarily mean that those people are referring to different concepts. They may simply be using different language. It is essential to separate the language used to refer to concepts from the concepts themselves.

A second argument is that people believe different things, and therefore can't have the same ontology. However, many differences in belief are simply differences in the truth value of a particular assertion, not in the terms themselves that make up a particular logical assertion. Even arguments about the existence of a thing require a certain sharing of a concept, even though its existence in the real world may be disputed. Separating belief from naming and definition also helps to clarify this issue, and show how concepts can be held in common, even in the face of differing belief.

In summary, most disagreement about the viability of an upper ontology can be traced to the conflation of ontology, language and knowledge. Some additional concerns can be traced simply to the lack of common knowledge about specialized areas of knowledge. This is inescapable. Lack of knowledge does not however entail the impossibility of common ontology but rather points to the fact that many people, or agents or groups will have areas of their respective internal ontologies that do not overlap. The pragmatic issue is that sharing as much as possible is beneficial, and that a vast amount of ontology can be shared.

Ontology languages

To be useful, ontologies must be expressed in a concrete notation. An ontology language is a formal language by which an ontology is built. There have been a number of data languages for ontologies, both proprietary and standards-based:

  • The Cyc project had its own ontology language based on first-order logic, called CycL.
  • KIF was created to serve as a syntax for first order logic that is easy for computers to process
  • OWL is a language for making ontological statements, developed as a follow-on from RDF and RDFS, as well as earlier ontology language projects including OIL and DAML

See also:

What is ontology? (http://ontologyworks.com/what_is_ontology.php)



Personal tools