sharing knowledge

Robert MacGregor <macgreg@vaxa.isi.edu>
Message-id: <9008102142.AA01118@vaxa.isi.edu>
To: interlingua@vaxa.isi.edu
Subject: sharing knowledge
Date: Fri, 10 Aug 90 14:42:49 PDT
From: Robert MacGregor <macgreg@vaxa.isi.edu>

The discussion of PFPS's example of why its hard to pass K through the
interlingua seems to have crystalized in my mind specifically what has
been bothering me about the idea of axiomatizing everything in site.

Suppose in LOOM we both define B and state an implication as follows:

  (defconcept B
    :is-primitive A
    :constraints (:at-least 1 R))

Next suppose that we wish to translate this into Interlingua.  The
"axiomatizing everything" approach indicates that the proper way to do
this is to first generate an axiomatization defining the meaning of a
LOOM definition, and another one defining the meaning of a LOOM
implication.  So, we bundle up the two sets of axiomatizations, add in
the definition and the implication, suitably rephrased in Interlingua,
and send all of this to the universal Interlingua server in the sky.

Next, suppose PFPS wants to read our knowledge into CLASSIC.  In
one scenario, his backtranslator looks for a bundle of axioms that
is provably equivalent to the axiomiatization of a CLASSIC concept
definition; fails to find a match; looks for a bundle of axioms that
is provably equivalent to the axiomatization of a CLASSIC rule
of implication; again fails to find a match; concludes that the
knowledge specifying the (LOOM) definition and (LOOM) implication
is uninterpretable; and gives up.

In another scenario, the CLASSIC backtranslator looks for a bundle of
axioms that is approximately equivalent to the axiomiatization of a
CLASSIC concept definition; finds a partial match; looks for a bundle of
axioms that is approximately equivalent to the axiomatization of a
CLASSIC rule of implication; finds another partial match; decides that
the matches are "close enough"; translates the (LOOM) definition into a
CLASSIC definition, and the (LOOM) implication into a CLASSIC
implication.  Voila!

The latter scenario is, unfortunately, unimplementable given the
present day state of our technology.


In Peter's discussion, he stated that the LOOM "defconcept" represented
a reasonable approximation to a CLASSIC definition, and that a LOOM
"implies" represented a reasonable (but again, not precise)
approximation to a rule in CLASSIC.  The current Interlingua doesn't
have (thus far) any well defined means for conveying this kind of
information.  Let us step back a moment, and consider the humans who
enter knowledge into CLASSIC or LOOM.  They face a situation similar to
that the Interlingua translator finds itself in.  Suppose that Fred
wants to define a concept "A" in CLASSIC.  Does the CLASSIC semantics
exactly fit what Fred has in mind?  Perhaps so, perhaps not, but Fred
isn't offered a smorgasborg of varieties of "defconcept" -- he gets one
flavor of concept definition facility, take it or leave it.  In fact, it
is likely that a significant percentage (perhaps all?) of the knowledge
in a CLASSIC or LOOM knowledge base has been shoe-horned in by humans who
were just using the best approximation they could find to what they
really intended to express.

Consider the following path of communication:

  HUMAN1 --> LOOM-KB --> Interlingua Translation --> CLASSIC-KB --> HUMAN2

I have just argued that the first and last links (those with a human, or
human-composed application program, at one endpoint of the link) almost
surely represent imperfect translations of the knowledge that is
journeying end-to-end.  Thus, making the two intermediate links 100%
accurate (by axiomatizing everything) may have little positive effect on
the overall fidelity of the translation.

I would argue that the inclusion of primitive operators in the
Interlingua to represent higher-level semantic constructs is essential
if we are to get anything all the way through the pipeline.

Cheers, Bob