Hi John and Doug,
John, you posted a response to my question on 11/6 - sorry I jut got
around to having time to answer it. Please see comments below,
-Rich
Sincerely,
Rich Cooper
EnglishLogicKernel.com
Rich AT EnglishLogicKernel DOT com
9 4 9 \ 5 2 5 - 5 7 1 2
John Sowa wrote:
On 11/6/2010 12:55 PM, Rich Cooper wrote:
> Then perhaps I don't understand the reasons why
you define an ontology as
> monosemous. Why don't you think a practical
ontology MUST be polysemous if
> you agree with the conclusion I reached?
For many years, I have been saying that there is no
such thing as one
ideal ontology of everything. In my 1984 book,
the last chapter had
the title "Limits of Conceptualization," in
which I outlined the many
problems with assuming one ideal ontology.
In my 2000 book, I covered similar material in more
detail in Ch 6,
which had the title "Knowledge Soup."
That was also the title of
a talk I gave in 1987, and a paper I published in
1991. In 2004,
I wrote a longer version, "The Challenge of
Knowledge Soup":
http://www.jfsowa.com/pubs/challenge
There are several points, which I have emphasized over
and over
and over again in those publications and many email
notes:
1. There is no such thing as an ideal ontology
with one unique
meaning for every term.
2. But for any system of formal reasoning, we
must have one
meaning for each term in
order to avoid contradictions.
Assuming this (point 2) is true implies we
cannot reason with ambiguous representations, but that is clearly not true. Disambiguation
in language only goes a short way before reaching the many, many
interpretations that can be placed on a phrase such as (I'm sure you've seen
this one before):
A pretty little girls
school
The last time I looked at that phrase in
depth, I came up with 16 distinct meanings for it, depending on the various
synsets that the various words can map to.
Yet for NLP, we MUST handle
ambiguity. For those who remember Early’s Algorithm (Jay Early)
published in ACM comm. back in the seventies or so, there are ways to represent
multiple meanings just as there are ways to represent multiple parses of a
phrase.
Avoiding contradictions is bad policy for
NLP, IMHO. The contradictions are what make a person’s character so
complex and yet so real. NLP requires ontologies of parallel
interpretations (unless you can provide an alternative way to handle
contradictions).
3. Therefore, we can handle requirements #1 and
#2 by providing
an open-ended number of
theories (or microtheories, as Cyc
calls them), each of which
has one meaning per term.
4. But we can have terms with same spelling,
but different
definitions (or
axiomatizations) in different theories.
5. In order to manage all that multiplicity of
theories and to
organize them in a way that
enables us to find the one we need
for any particular problem,
we can arrange them in a generalization
hierarchy.
But a generalization hierarchy, while
useful, is not the only approach. There are plenty of ways to represent
concurrent interpretations and to search among them for those interpretations
which can be mapped word by word, synset by synset into graphs of possible
interpretations.
Especially with relational representations
using relational database technologies, a table of interpretations can be
constructed with each thread having its own elaborations of a row in that table.
6. The complete hierarchy of all those theories
would be an infinite
lattice, and we can't
implement all of them. But any one(s) we need
can be created by
combinations and modifications of ones we have.
I’m not certain that what is needed
is a hierarchy – processing of ambiguous threads need not be the same
interpretation TYPE hierarchy. As you have pointed out many times,
ambiguity in language is not equivalent to ambiguity in the word meaning
lattice. Even phrases like “throw the game”, which have no meaningful
physical interpretation, still have meaning in the recipient’s and sender’s
heads about what “throw” means, and it isn’t heaving a mass
in a direction.
7. When we're not sure which of the many
theories with a particular
term, say the predicate
dog(x), we can select an underspecified
theory near the top. As
we get more info, we can move to (or
create) a more specialized
theory that adds any detail we need.
I'm sure that I repeated this in about 2,376 different
notes over
the past ten years. For the record, following is
the most recent
talk in which I discussed it:
http://www.jfsowa.com/talks/iss
Integrating Semantic Systems
Please read slides 61 to 81. Then bookmark it
and reread it
whenever you have a question like the one above.
I just revisited (for the fourth time)
slides 61 to 81. They are excellent slides for people who are concerned
about repositories and about the portability of ontologies. But the
subject I am most concerned with is just the NLP aspects, not interfacing databases of
one type to those of another type by means of an ontology.
All the years of work by many people in
NLP have not paid off very well. The basic capability needed is in active
voice (or even text) interactions having a natural feel to them so that
training is minimal for people who work with those systems. Cars, phones,
even the Kinect sensor, have more and more leaned toward active voice
interfaces, but they all lack real effectiveness. I believe there is more
at risk here than JUST LOGIC. The actual designation of objects,
structure of language utterances, and discovery of user intent require much
more than JUST logic, so what else is missing for NLP to become useful as a
computer interface technique?
You mentioned Cyc and its microtheories
for interpreting each meaning of a word. It doesn’t seem to have
worked, in that Cyc hasn’t gotten out of the public weal, with contract
work only, and only for research not for practical applications. So there
is more than LOGIC at stake here. I am trying to characterize what is
needed to build a roadmap toward full NLP. Any suggestions on how that
roadmap would have milestones would be appreciated.
-Rich
John