Meaning

It's interesting how nervous people get when the subject of the
meanings of formal languages on the Web comes up.  It's clear that
many of us are worried that the standard ways of thinking about the
meanings of computer languages have lost their power in the Web
setting, and feel that it's urgent to come up with new ways.  So Jeff
Lansing <jeff@polexis.com> says

  Terms such as "owns" and "pays" get their meaning be pointing into a 
  shared interaction model. Let's say that this is the "everyday 
  interaction model for commerce" that exists in the actual world. (Does 
  it? Is there just one? Is is a cultural artifact? Lets suppose that 
  those are orthogonal questions.) Then the goal directed reasoners will 
  manipulate this model in order to arrive at their results.

and Stanislaw Ambroszkiewicz <sambrosz@ipipan.waw.pl> says

  What is the meaning of the formula: 

  "?person owns  ?book by Tolkien"

  Or, when is this formula true?

  My answer: If something happens, i.e., if the goal formula is  
  translated into a plan, and then the plan is arranged as a workflow, 
  and finally the workflow is executed successfully. 

The question of how terms get their meanings is interesting, but we
are not going to solve it any time soon.  Philosophers have been
working on this problem for centuries, and especially in the last
century have confronted problems much like the ones we're now
exploring.  They have found some interesting skeletal ideas, but most
of them come down to saying "Such-and-such old-fashioned model is
wrong, while such-and-such neat alternative is right."  Unfortunately,
the neat alternative is not very detailed.

That's the bad news.  The good news is that we don't need to solve the
problem of meaning in order to build the Semantic Web.  The idea that
we do need to solve it is, I think, based on the following analogy:
computer languages get their meanings from formal specifications of
how expressions in those those languages correspond to states of a
computation.  The formal specification answers essentially all
questions about the meanings.  To apply the same idea to web-service
description, we will have to specify in great detail what processes
happen as a result of a certain expression being transmitted from one
agent to another.  In the extreme, we can _replace_ all occurrences of
a defined term with its definiens.  We can rewrite "X owns Y" as "X
has received an invoice saying \ldots about Y."

This is a problematic approach, because the suggested necessary and
sufficient conditions are usually only an approximation.  Usually
there will be a large disjunction of ways in which someone could come
to own something, even an open-ended disjunction as new ways come into
use.  This is exactly the critique that philosophers have leveled
against "old-fashioned model number 1," the idea that the meaning of a
term is given by some kind of definition.

Another reason it's a bad idea is that it makes inference about the
defined concept awkward.  An agent may have a significant amount of
reasoning to do using terms like "owns" and "pays for" before it ever
gets around to resolving the meanings of the terms "operationally."
Is it really plausible that all this inference is really about unwieldy
disjunctions?

Yet another reason is that there is no independent check on the
veracity of a definition.  An agent's goal might be to own an object
of type Y.  It faithfully carries out the protocols defining
ownership, but then receives evidence (say, a letter from a federal
prosecutor) informing it that it doesn't own a Y after all.  From the
definition point of view, this communication is incoherent.  Ownership
is nothing more or less than carrying out the protocol, so the
statement "You carried out the protocol, but you don't own the object"
means the same as "You carried out the protocol, but you didn't carry
out the protocol."  In principle, we could go back and edit the
definition with further caveats, such as, "The merchant did not
provide counterfeit proof of its own ownership," but it would be a lot
simpler to separate the concept of ownership from the concept of the
protocol, and just say that "Carrying out this protocol normally
results in owning a Y."  On rare occasions, it doesn't.

So what is to be done?  The answer is that we formalize concepts like
ownership as thoroughly as it is possible to do.  We provide
ontologies in which "ownership," "payment," "delivery," "promissory
notes," and such are all related together in various ways.  These
relationships, expressed as axioms, _constrain_ the meanings of the
symbols being defined, but they can never fully specify them.  So what?
The important point is that a vocabulary provide the necessary
lubrication for interagent discourse.  If everyone uses it, and
everyone agrees on the meanings of the terms, or agrees 99% of the
time, then web services will be useful and roboust.  On occasions
when uncertainty creeps in, the committee in charge of the ontology
gets together and edits or adds axioms to reflect a consensus.

The bottom line is that we can relax.  We don't need to shy away from
using "real-world" terms in a formal language.  We don't need to
provide a philosophical theory of meaning before using a symbol like
"trustworthy" in descriptions of web services.  We do need to provide
mechanisms for reasoning with formal languages, but those mechanisms
can be oblivious to the meanings of the terms they manipulate.

-- 
                                             -- Drew McDermott

Received on Wednesday, 21 May 2003 17:16:45 UTC