Did I get your attention? :-)
Actually, I'm only half kidding. I am relieved that we are
not giving the "definition" of ontology the status as the subject of
an entire conference! That would, once and for all, cement the prejudice
against ontology enthusiasts as stuffy academics breathing their own exhaust. Let's
get practical for a minute.
Folks, there are word senses. Ontology in the philosophic
sense has meant one thing (and generated plenty of fumes on its own). Ontology
in the AI world meant another thing, or three, depending on who you asked. But
15 years ago there was a public effort by the AI community to enable knowledge
sharing and an explicit notion of ontology as a mechanism for exposing a kind
of interface at the semantic level for these AI systems (Neches and company, 1991).
I attempted to clarify that definition in what has become a highly cited
reference on the web and in print. Today we have an even more public and
visible effort in the Semantic Web, which uses the word ontology in the same
sense. There are tools (Protégé), Standard languages (OWL), etc for ontology
in *this sense*. We, computer scientists, have a sense of the word ontology
just like we have word senses for process, job, client, server, and so forth.
What matters to me, and folks who want to build real things
with lots of real folks using them, is what ontologies (in this sense) are good
for.
I have noodled on this issue a bit, and here is my minimal
set of Things You Can Do With An Ontology:
- specify a shared conceptualization to enable knowledge
sharing among systems (surprised?). For example, clarifying *a* way to model
engineering equations that enables model sharing across web services. Or
modeling the data in disparate geospatial or life science data sources.
- specify a conceptualization in a formalism so that others
can reuse the IP or theoretical contribution of that conceptualization. This
is like specifying an algorithm in a pseduocode that can be trivially
translated into real programming languages, or describing the chemical formula
for a molecule in a report on its pharmacological effects. For some AI system
builders, the IP could be a Domain Ontology or Upper Ontology; in this case, it
serves the same function as what mainstream software engineering calls Application
Frameworks -- you extend and instantiate the framework to build a new application.
- represent a body of knowledge about the meanings of words
or other symbols. This is a tricky one to minimize, but I still think it is
only a single case. You can use knowledge about the meanings of words for lots
of applications: natural language understanding, natural language generation, providing
a UI for browsing a large collection of texts, disambiguating words in a text
search engine, building entity extractors for structure elicitation from text, biasing
machine learning algorithms, etc.
OK, so should we have three definitions and counting? I
don't think it is necessary. If we take conceptualization as not controversial
(even to semiotics), then we can just say that ontologies (for computer-based
information) are a specification of a conceptualization. Specifications are
always a mix of formal and informal content; the form isn't the thing. If we
start here we can get on to the important business of talking about what kinds
of specifications (or formalisms, if that is your medium) are better than
others for which purposes. For knowledge sharing, the specification can be
evaluated on the basis of its properties as an interface (minimality, context
independence, etc). For encoding knowledge for reuse, one could apply the
same criteria with the added advantage of lots of real examples where a concept
in a real theory needs to be said and a specification formalism can or cannot
say it.
For representing linguistic knowledge, the criteria are harder
to make objective, and I think this is the source of a lot of heat on this list.
The conceptualization for case three has domain content such as assertions
about which concepts are specializations of other concepts. So the value of an
ontology for NL seems to be tied up with how well it reflects language use in a
culture and not so much about its structural properties. In other words, it's
about the conceptualization and not the specification. And if my linguistics
knowledge is up to the current fashion, the meaning of language in a culture is
rather fluid and messy. The valor of such an ontology, it seems, would be in
the magic performed by the NL application, which is the usual pragmatic cop-out
for which I offer no alternative.
Conclusion? Let's talk about ontology *use* and not
ontology definitions. Let's talk about what can be achieved, even what can be
imagined, if ontologies were part of the infrastructure in use by the real
world.
Tom
Links:
http://www.aaai.org/Library/Magazine/vol12.php#Fall
http://www-ksl.stanford.edu/kst/what-is-an-ontology.html
http://tomgruber.org/writing/ontolingua-kaj-1993.htm
http://tomgruber.org/writing/onto-design.htm