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