Adrian,
Concerning your question:
[AW]
Ø Using
a defining vocabulary is all very well, but suppose that different
organizations
Ø interpret
a concept in the defining vocabulary differently. What then? Back to the
drawing board?
I was talking about a foundation ontology that is
**analogous** to the linguistic defining vocabulary – I call this ontology
the “Conceptual defining vocabulary”. The meanings of a **dictionary’s**
linguistic defining vocabulary are specified in language, within the dictionary
itself. How unambiguous **those** definitions are depends on the publisher.
For simple terminologies, a glossary with good clear definitions might suffice.
The point of having a well-constructed foundation ontology as
the “conceptual defining vocabulary” is precisely to be sure that
the interpretations are as unambiguous as it is humanly possible to make them.
The logical specifications would add new constraints to reduce ambiguity
whenever some ambiguity was detected, to keep the intended meanings very clear.
To supplement the logical specifications, the linguistic documentation will
have descriptions equivalent to the logical specifications, plus a list of
examples, counterexamples, and borderline included and excluded cases, so that reference
to publicly known or easily described subtypes or instances can clarify the
meaning beyond what can be expressed in the logical format.
The issue of expressiveness of the logical format brings up
another aspect of the ‘conceptual defining vocabulary’ tactic. The
documentation for the ontology should provide as clearly as possible the
intended meanings, which would be the **interpretation** of the logical
specification. Users may want to use a concept having the same **intended
meaning** in different logical systems with different levels of
expressiveness. The logical specifications in the languages of lesser expressiveness
may have a greater level of ambiguity, to the extent that they are not able to
distinguish between alternative possible interpretations. Nevertheless, it is
still possible for applications using logical formalisms of different expressiveness
to accurately interchange information, provided that one condition holds: those
who create applications using the logical systems of lesser expressiveness must
**know** the intended meanings of each ontology element, and must **use** those
representations in a manner consistent with its intended meaning. It should be
possible to write applications using even a simple taxonomy, that will not draw
any inferences inconsistent with those of a higher-order logic-based system, as
long as the terms in the taxonomy are never used in a manner inconsistent with
the most detailed logical specification. To accomplish this, the linguistic
description of the meanings of those terms should be identical in all systems,
whatever their level of logical expressiveness. For terminology clashes,
namespaces will be used. Since the logical specification in the most
expressive logic will be reflected in an equivalent linguistic component of the
linguistic description, there should be no difference in interpretation.
In this system of usage, the difference between the system
using the most expressive logic and one using the least expressive logic will
be in the details available through logical inference from the same set of
facts. But the inferences should never be contradictory, if the foundation
ontology is internally logically consistent. For the most expressive logic, whether
a concept representation is being properly used can be more easily checked
within the logic itself. For the least expressive logic, whether it is being
properly used will depend on the attentiveness of the programmers to be sure
that they do not create procedural code that uses the concepts in a manner
inconsistent with the linguistic specification (which should also assure that
they not use it inconsistent with it most expressive logical specification).
The distinction discussed above distinguishes the
**intended meaning** (or intended interpretation) and the “meaning”
as described by the logical specification, which may be ambiguous as to several
possible models that all conform to the same logical specification. In order
to allow interoperability among systems of different expressivity, I think it
is important for the documentation of the intended meaning to cover all of the
nuances that might be specified in the most expressive logic. This is true,
even if no system actually implements that most expressive logic. The ideal is
to avoid any possible ambiguity. If the logic cannot itself avoid unintended
meanings it is up to the programmers to know the intended meanings and not
violate them in the program logic.
A case that came up in this forum regards the interpretation
of “time”. In one of my postings, I described my desiderata for a
model of time as isomorphic to the real line, but Pat Hayes pointed out that
these desiderata describe an interpretation, and not a specific logical
formalization. Pat H also provided an excellent formalization of time in a
first-order model, which would cover probably any case of usage in first-order
logic. My desiderata derive from a desire for an interpretation that does not
place any restrictions on the numerical values of time points or whether a time
interval is open, closed, or half-open. The reason for this is that I want to
be able to express, for example, sqrt(2) or pi seconds. As I understand it,
that will require the real line as the **model** of time. But it may not
require that the logic actually use all properties of the real line, only that
the logic be consistent with the real line. So Pat H’s formulation may
be all that is actually required for first-order inference. So, for the case
of time, it may be that the documentation could specify, in addition to the logical
properties in Pat H’s model, that all real numbers are allowed as values
for time points, and that in the most general case intervals may be open of
closed, or that closed intervals may be simply be considered as the sum of an
open interval and its endpoint(s). For any given application, more restricted
models (e.g. open-intervals only) could be defined as subtypes of the most
general model. Distinguishing the most general from the more restricted interpretations
can be done in the documentation, even if the logical formalism is not expressive
enough (in any one system) to make that distinction.
If necessary, the documentation should also include
pictures – even moving video- to make the interpretations clear. All of
these considerations come from a concern about being sure that we can maximize
interoperability among computer systems.
I think this addresses the question – no?
PatC
Patrick Cassidy
MICRA, Inc.
908-561-3416
cell: 908-565-4053
cassidy@xxxxxxxxx
From:
ontolog-forum-bounces@xxxxxxxxxxxxxxxx
[mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Adrian
Walker
Sent: Thursday, March 06, 2008 10:28 AM
To: [ontolog-forum]
Subject: Re: [ontolog-forum] Ontology similarity and accurate
communication
Hi Pat --
Using a defining vocabulary is all very well, but suppose that different
organizations interpret a concept in the defining vocabulary differently.
What then? Back to the drawing board?
I'd suggest that the way things actually work in practice is that divergent
conceptual models get pulled into alignment by usage, context and
explanations. If that is indeed the case, a static dictionary,
however good, is at best only a small part of the solution.
What do you think?
Cheers, -- Adrian
Internet Business Logic
A Wiki and SOA Endpoint for Executable Open Vocabulary English
Online at www.reengineeringllc.com
Shared use is free
Adrian Walker
Reengineering
On Thu, Mar 6, 2008 at 8:00 AM, Patrick Cassidy <pat@xxxxxxxxx> wrote:
In the discussion on
"orthogonal", Ed Barkmeyer pointed out:
> My position is that two agents don't need to have non-overlapping
> ontologies to be unable to communicate effectively. Their ontologies
> can have a 90% overlap, but if there is one critical idea that one has
> and the other does not understand, they can't do business.
>
Ed focused on the problem that arises when one 'critical idea' differs
between the ontologies (or assumptions) of two different communicating
agents. I suspect that the problem can also arise when even minor
differences are present in the interpretations of communicated information,
because the interpretation of many concepts involve a very large number of
implications and associated inferences.
This question appears to me to be one that is worthy of a separate field
of investigation: precisely how different can ontologies be while sustaining
an adequate level of accuracy in interpreting communications that rely on
the ontologies?
My own suspicion is that the similarity **in the fundamental concepts**
has to be very close to 100%. The reasoning is something like this:
if the
brain (or a simulation) does as much computation as one of our laptops, then
it can run at least 1 million inferences per second. If (crudely
calculating) the inferences supported by the differing ontologies differ by
1 in 1000 then two different ontologies will generate 1000 differing
inferences per second from the same information. How much difference can
be
tolerated before something goes badly wrong - perhaps a direct logical
contradiction? My guess is that each serious "fact" that we
rely on to
support our everyday activities is supported by at least 1000 assumptions,
and getting one in a thousand wrong would invalidate the meaning of these
facts, making normal actions, expecting predictable results, effectively
impossible at any level. A similarity of 99.9% in two different
fundamental
ontologies may not be enough for any meaningful level of communication.
But, as I said at the start, this is an issue that needs investigation.
We all know that people differ in assumptions and beliefs, and yet we do
manage to communicate reasonably well in most cases. How can that be?
Well, it happens probably because we **know** that we have different
assumptions and beliefs, and when communicating, only assume that there is a
certain fundamental set of knowledge in common, and only rely on that basic
set of common assumptions and beliefs to express the ideas we want to
communicate. If we 'misunderestimate' what our fellow conversant knows,
there can be and often is a miscommunication. The ability to communicate
effectively depends on the ability to guess correctly what facts,
assumptions, and beliefs are likely to be shared by those with whom we
communicate. Among specialists, of course, a lot more common technical
knowledge is assumed.
An issue that has occupied some of my attention lately has been the
question of what basic ontological concepts are sufficient to support
accurate communication. I frame the issue as being analogous to the
"defining vocabulary" used by some dictionaries as a controlled
vocabulary
with which they define all of their words. For the Longman's, it is
around
2000 words. The analogous question is how many fundamental ontological
elements (types/classes, and relations/functions) are needed to logically
specify the meanings of all other terms used in a reasonably complex domain
(having perhaps 100,000+ terms), to some adequate level of detail? I
don't
know, but I think that this is a question that is important enough to
warrant substantial effort. My guess is in the 6,000-10,000 concept range,
and that many of those are fundamental enough to be common to many complex
domains.
Any other guesses?
Patrick Cassidy
MICRA, Inc.
908-561-3416
cell: 908-565-4053
cassidy@xxxxxxxxx
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx