SUO: Lenat in context
Since there was some criticism that I had quoted Doug Lenat out
of context, I am including an interchange between Lenat and me,
which occurred on the SUO list in April 2002. Since the issues
haven't changed, the comments (on both sides) are still relevant.
John Sowa
________________________________________________________________________
From John Sowa to SUO list, 11 April 2002
... I thought I'd mention the following article:
http://www.cnn.com/2002/TECH/industry/04/11/memome.project.idg/index.html
This is a brief news report that doesn't get into any of the technical
issues about Cyc, but it reports an interview with Doug Lenat,
who made some interesting remarks about Cyc and where it is going.
In this note, I'd like to comment on those remarks and to indicate
how I believe those directions should be modified.
First of all, the article gives some statistics, such as 600 person-
years of development effort that went into Cyc over the past 17 years,
its 3 million rules (aka axioms) and 300,000 concept types. It also
mentions the availability of OpenCyc with about 5,000 concepts and
50,000 rules.
I agree with Lenat's view that this knowledge base is broader than
anybody else's. It might not be larger than some very specialized ones,
but for overall breadth and coverage, I would agree with Lenat that
nobody else is likely to come close for a long time. I would also
argue that they shouldn't even try -- at least they shouldn't try
to do it the way Cyc was done. But I believe that there are ways to
go much further by other means (which could take advantage of current
knowledge bases, such as OpenCyc or SUMO as resources).
The following excerpt from the article indicates their future plans:
Cyc finally knows enough that it can actually help with the
knowledge-entry process. It's changed in the past year from where we
were entering these things by hand and writing them in logic to a kind
of tutoring mode. For example, you say, "I want to tell you about a
new kind of bacteria," and it might say, "What kinds of things does it
kill? Is it similar to anything I know about already?" Up until now,
the only people adding knowledge were a small priesthood of logicians.
Now, suddenly, millions of people can add their knowledge to Cyc.
Because of the acceleration, we'll be at 10 million assertions a year
from now.
To sort out the obvious garbage that such an open project would throw
into the pot, Lenat proposes a committee:
I'll have an OpenCyc committee to help vet knowledge that is
suggested. Also, we've developed the notion of local consistency,
which is analogous to our everyday notion of the earth as being
locally flat and globally spherical. In the same way, we have divided
the knowledge base into regions that are locally consistent, and all
the inconsistent information is so far away that you can ignore it.
If someone puts in "Dining room tables are made of Jello," that will
contradict so many things in the "normal" part of the knowledge base
that it automatically will get pushed out into the boonies.
I like the idea of "local regions" or contexts for which consistency
can be guaranteed. Those would fit nicely into my proposed lattice
of all possible theories. I agree that new knowledge that hasn't been
"vetted" should be placed in a context that hasn't been certified or
validated as reliable. But rather than have that knowledge vetted
by a committee appointed by the OpenCyc organizers. I would like to
see that knowledge tested and validated by anyone who happens to be
knowledgeable about the subject. And I would like to see automatic
methods for assisting in that validation. I believe they can be built.
Suppose, for example, that somebody proposed that dining room tables be
made of styrofoam. Commonsense knowledge tells us that styrofoam cups
and packing material are too soft, flimsy, and breakable to be used
in a table. But chemists and materials engineers have recently
developed techniques for making "microfoams" of various kinds of
plastics that have much greater strength and resistence to impact.
In terms of the knowledge base, there is a fundamental distinction
that must be observed: ordinary plastic foams are weak, but microfoams
can be strong. That one tiny fact can invalidate millions of
"commonsense" observations. The lattice of theories can accommodate
such a new fact by its organization: the new fact would migrate high
up in the lattice above all the other knowledge about plastic foams.
It would automatically cause a split between the subtheories about
today's "ordinary" plastic foam and the new kinds of microfoams.
This point also relates to my objection to the term "commonsense",
which I believe confuses too many issues to be in any way useful
as a guideline for KB design and development. Fifty years ago,
nobody had any commonsense ideas about styrofoam, but today most
people do. Now an esoteric fact that is known only to a tiny
percentage of scientists and engineers may have an enormous impact
on what everybody thinks is "commonsense" a few years from now.
That kind of revolutionary migration from esoteric fact to common
sense has happened many times during the 20th century, and it will
happen at an increasing rate during this century. In fact, it has
happened throughout human history, but the slow communication
meant that different tribes living under different customs and
environments had very different ideas of common sense. I prefer
to talk about axioms and theories and how they should be organized.
The interviewer asked "Is Cyc like the human genome project, where
eventually you will be done, or will it grow forever?" To which,
Lenat responded:
I refer to it as the human "memome" project. A typical person knows
about 100 million things about the world. I see us crossing that point
in five years. It's difficult to predict the course thereafter.
Lenat is very consistent: Since 1984, he has been predicting that Cyc
would reach human-like abilities in five years. With its current
structure, I wouldn't expect Cyc to reach such a level in 50 years.
And I strongly disagree with Lenat that the total number of axioms
is the most significant factor in intelligence. A 6-year-old child
with a fraction of an adult's knowledge is extremely intelligent,
as Gene Charniak discovered in the 1970s when he tried to design
a computer that could read children's stories. It turned out that
they were far harder to understand than an advanced textbook on
science or mathematics.
Instead, I believe that the organization of the knowledge base in a
flexible, dynamically changeable structure is far, far more important.
That is the main point of my paper "Signs, Processes, and Language
Games", which I have mentioned on these email lists many times:
http://www.jfsowa.com/pubs/signproc.htm
Meanwhile, I wouldn't say that large projects like Cyc and SUMO are
a total waste of time. They should be regarded as useful resources
that can be incorporated in much more flexible reasoning structures.
But the important word here is "structure", which is far more
important than the number of axioms.
John Sowa
________________________________________________________________________
Response by Doug Lenat, 12 April 2002
John,
I just wanted to clarify some possible misunderstandings
about Cyc, some of which are no doubt due to media garbling.
1. I've made it a point to explain, in every talk I've given on Cyc
for the past 17 years, that the number of axioms is a red herring.
The example I usually give is having assertions like "No elk is
a goldfish", where it's better to have 10,000 Linnaean taxonomy
assertions plus a disjointness-unless-spec rule, rather
than have 100,000,000 rules of the elk/goldfish variety. But
reporters keep asking about the number of assertions, and
there is a sense in which it's worth mentioning, namely that
we continually try to police the KB and find ways to generalize
and combine assertions, to REDUCE the number of assertions,
and despite our best efforts it is still 10**6 and growing.
2. The systematic microfoam exception is easy to add to Cyc.
The fact that it's hard but composed a type of stuff which normally is
soft is just an exception. That's why we have been using default
logic for all these years; Cyc's reasoning has been based on
argumentation since the late 80's. For the Nixon diamond, e.g.,
there are simply two arguments, one pro and one con, and
Cyc applies metarules (rules that conclude that one argument
is PREFERRED over another) to decide which argument to
believe, in any given context -- or whether they are incommensurable
in which case it (correctly) doesn't trust either argument except in
the specialized context in which that argument is assumed valid.
3. ">I would like to see that knowledge tested and validated by
> anyone who happens to be knowledgeable about the subject."
Absolutely. There can/should/will be contexts for individual's beliefs,
and when you ask a question you should be able to designate which
individuals (by name or description) you want to trust. E.g., in asking
a medical question, you might trust the AMA official position, not any
M.D.s in general but with the exception of those who have at least
10 refereed publications in J.AMA, plus anyone that your brother
trusts. And you might want to see answers using arguments
that involve information from some middling-trusted group, or
even groups you strongly distrust (e.g. terrorist organizations),
but with explicit annotation of who claims/believes this. Out of all
this, one organization you might choose to trust in general is
Good Housekeeping. Another might be the OpenCyc Committee.
Another set might be those vetted by the OpenCyc Committee. etc.
4. ">Fifty years ago..."
I think this arises from a misunderstanding, thinking we are claiming
Cyc is somehow correct or timeless or globally consistent knowledge.
Cyc assertions are default-true in the context they were entered (and
other contexts that inherit or lift from that context), and no more. So
things can be true in one context and absent from or false in others.
And yes, naturally, one dimension of context space is time. So
things can be true at one time and absent from (i.e., meaningless)
or false at other times.
5. ">Since 1984, he has been predicting that Cyc
>would reach human-like abilities in five years"
That's a little cruel; the horizon has approached several months per
year. Part of the problem here is the media, I think, since
the reporters ask where we'll be in 5 years, rather than what the
next qualitative state-change will be and when we'll be there.
In our 1984 project plan at MCC, and talks based on it, I
would always show -- and in fact STILL show the same slide, but
now in color in PowerPoint -- a graph with 3 S-curves representing
three phases I thought (in 1984) would take about a decade each:
getting Cyc manually to the point where manual ontologizing would
yield to interactive dialogue and tutoring; then another decade to
virtually automated NLU (information extraction from text at a level
where the extracted information would be as good as a human
doing the manual translation of the same written material); and
then a third decade to "real" open-ended machinge learning. The
first decade happened to have taken 16 years, which just shows
I was thinking in hexadecimal all along. Seriously, that was longer
than planned but I consider getting within a factor of 2 pretty good.
I now believe that this second decade (getting the tutoring to be
easier and more automatic, approaching real NLU) will take less
than 10 more years, partly because of the Web, so we'll be starting
our focus on machine learning around 2007, a few years later than
planned in 1984.
6. ">Instead, I believe that the organization of the knowledge base in a
>flexible, dynamically changeable structure is far, far more important."
We have no ideological axe to grind here. We evolved from frames to
FOPC to HOL as we had to; we evolved away from cf's and to arguments
because we had to; we evolved the context mechanism because we had
to; etc. When you demonstrate something we can use, rest assured we
will add it into the mix. We view the inference engine, the logic, even
the CONTENT of the KB to be just scaffolding to facilitate the construction
of what will come later; much like building a sand castle where you get
the rough form in place and gradually get the details right. I don't
CURRENTLY believe that structure, as you mean it, is that important,
e.g. the sort of symmetry that Aristotle mystically ascribed great value to,
nor do I believe the number of axioms is important. But I am willing to
be proven wrong empirically, and I will (hopefully) continue to evolve.
What I do believe is important is to get ENOUGH coverage (deductive
closure), and ENOUGH "traction" (some combination of consistency
and correct contextualization, plus efficient enough inference modules)
to get to the next stage: from manual entry to tutoring to automated NL/ML.
Feeling too much like lungfish crawling from the sea, we're slowly, painfully,
getting there.
--Doug
________________________________________________________________________
Reply by John Sowa, 12 April 2002
Doug,
Thanks for the note. I'm sorry if I mischaracterized your position
based on the snippets taken from your interview with a CNN reporter.
I believe that Cyc is a very important contribution to AI from which
all of us have learned a great deal. And I hope that OpenCyc will make
an even greater contribution to the progress of AI and related fields.
However, I have a different vision for how AI projects should be
developed. I realize that you have a right to pursue your vision,
and I wish you the best in your endeavors. But I'd like to compare
Cyc to Igor Sikorsky's four-engine bombers that he built for Russia
during World War I. In principle, they were magnificent achievements,
which made major contributions to the course of aviation, but in
practice, they were large slow targets. His later contributions came
after he made a 90 degree turn and designed the first successful
helicopter.
Perhaps someday you might make a 90 degree turn in your approach,
but if I had my "druthers", I'd make a 90 degree turn right now,
along the lines of my paper on architectures:
http://www.jfsowa.com/pubs/arch.htm
My emphasis would be on flexibility, modularity, and the ability to
accommodate any and every kind of component within a common framework.
As I say in the conclusion of that paper, it would include the complete
POSIX utilities as the lowest-level starter, but with any kind of AI
component added into the mix.
What I would like do with OpenCyc is to take it apart -- both its
ontology and its reasoning components. Then I'd reassemble them in
a way that would encourage modular replacements, recombinations,
extensions, and even deletions. There are many other activities
going on in AI and computer science, and I would like to make room
for everything.
To clarify the difference in directions, I'd like to comment on
points 5 and 6 of your note:
> 5. ">Since 1984, he has been predicting that Cyc
> >would reach human-like abilities in five years"
> That's a little cruel; the horizon has approached several months per
> year. Part of the problem here is the media, I think, since
> the reporters ask where we'll be in 5 years, rather than what the
> next qualitative state-change will be and when we'll be there.
I apologize for the cheap shot. It is always easy to make humorous
remarks at other people's expense, and I understand the difficulty
in making progress on any major undertaking.
> In our 1984 project plan at MCC, and talks based on it, I
> would always show -- and in fact STILL show the same slide, but
> now in color in PowerPoint -- a graph with 3 S-curves representing
> three phases I thought (in 1984) would take about a decade each:
> getting Cyc manually to the point where manual ontologizing would
> yield to interactive dialogue and tutoring; then another decade to
> virtually automated NLU (information extraction from text at a level
> where the extracted information would be as good as a human
> doing the manual translation of the same written material); and
> then a third decade to "real" open-ended machinge learning. The
> first decade happened to have taken 16 years, which just shows
> I was thinking in hexadecimal all along. Seriously, that was longer
> than planned but I consider getting within a factor of 2 pretty good.
> I now believe that this second decade (getting the tutoring to be
> easier and more automatic, approaching real NLU) will take less
> than 10 more years, partly because of the Web, so we'll be starting
> our focus on machine learning around 2007, a few years later than
> planned in 1984.
That is a nice orderly plan. But I don't believe in orderly plans
for doing fundamental research. And for development, I believe in
plans that can be achieved in much shorter time frames. That is
another motivation for my modular proposal: accommodate any kind
of research prototype that anyone might want to do, but when any
component proves to be successful, spin off a commercial version
as soon as possible.
> 6. ">Instead, I believe that the organization of the knowledge base in a
> >flexible, dynamically changeable structure is far, far more important."
> We have no ideological axe to grind here. We evolved from frames to
> FOPC to HOL as we had to; we evolved away from cf's and to arguments
> because we had to; we evolved the context mechanism because we had
> to; etc.
But what you have just proposed is a very big ideological axe.
It might sound "practical" to ignore theory, but in engineering,
a good theory is usually the best foundation for practice. And
other ideologies, such as flexibility and modularity, have proved
to be extremely practical many times over.
> When you demonstrate something we can use, rest assured we
> will add it into the mix. We view the inference engine, the logic, even
> the CONTENT of the KB to be just scaffolding to facilitate the construction
> of what will come later; much like building a sand castle where you get
> the rough form in place and gradually get the details right. I don't
> CURRENTLY believe that structure, as you mean it, is that important,
> e.g. the sort of symmetry that Aristotle mystically ascribed great value to,
> nor do I believe the number of axioms is important. But I am willing to
> be proven wrong empirically, and I will (hopefully) continue to evolve.
> What I do believe is important is to get ENOUGH coverage (deductive
> closure), and ENOUGH "traction" (some combination of consistency
> and correct contextualization, plus efficient enough inference modules)
> to get to the next stage: from manual entry to tutoring to automated NL/ML.
> Feeling too much like lungfish crawling from the sea, we're slowly, painfully,
> getting there.
I am glad that you agree with God in the evolutionary approach to
design and development. But God is also very flexible and modular,
with "an inordinate fondness for beetles," as Haldane is supposed
to have said. God tried many designs in parallel, most of which failed,
and when He found a profitable design, such as the beetle, He took
advantage of it while continuing to experiment in other directions.
Bottom line: I would prefer a flexible modular approach to both
ontology and system architecture -- while looking for profitable
opportunities along the way. I have no compunctions against making
a profit on beetles to support my research on higher intelligence.
John