In considering future developments and requirements for ontology and
methods for using and sharing ontologies, I always look at Cyc as an
important example of a very large formal ontology with over 27 years
of R & D invested in the project and its applications. (01)
Cyc is certainly not a "typical" example, but any company that has been
in continuous business for over 27 years must be doing something right
(and I'm sure a lot of things that they would be the first to admit
were not ideal). Cyc has been criticized from many points of view for
many reasons -- and I've also stated my own share of criticisms. (02)
But during those 27+ years, Cyc has had a long list of very good
employees and consultants with excellent backgrounds in AI, comp. sci.,
logic, linguistics, philosophy, and various areas of application.
They also have a long list of publications, white papers, and other
resources on their web site at cyc.com to document their experience. (03)
I'd like to mention some points for discussion, and I'd like to hear
comments and suggestions from people who have experience with Cyc
and/or other kinds of systems. (04)
1. In 1984, Cyc began as a frame-based system that was very scruffy.
The book by Lenat & Guha, which was published in 1990, describes
the state of the CycL language after their first five years. (05)
2. But over the years, CycL evolved into a highly expressive version
of logic that goes far beyond frames. Lenat said that every step
in that development was in response to problems they encountered
for which a better theoretical foundation and more expressive
power was required. (06)
3. One important issue is the use of external systems and resources.
Relational database systems run the world economy, and any practical
AI system must be able to access and update data to and from RDBs.
The WWW and the SW have become major sources of data, and an AI
system must be able to use and interoperate with those tools and
data. Cyc has developed methods that should be considered. (07)
4. Performance of a large knowledge base that accesses large data
sources is always critical. Hardware size and speed has improved
by several orders of magnitude since 1984, but the amount of data
has increased even more rapidly. Although Cyc has a single very
expressive language, they don't use a single reasoning method or
algorithm for every problem. Instead, they have a wide variety
of different methods, which are designed for different kinds of
problems or even different aspects of the same problem. I believe
that this approach is superior to any kind of one-size-fits-all
methodology or tool. (08)
5. The original Cyc system consisted of a single, monolithic KB. But
it was difficult to use, maintain, and keep consistent. One of the
first major changes was to reorganize Cyc with a top-level ontology
and a large collection of microtheories that could be used in a mix
or match way for various applications. Modularity is essential,
and I believe that microtheories are an important step in the right
direction. But I also believe that a system designed for ontology
sharing and reusability should go even further. (09)
6. Another question is the role of the upper ontology. The original
idea in 1984 was that the upper ontology was critical. But Lenat
later said that the upper level was much less important than he had
thought. The middle and lower levels of the ontology are where the
most important reasoning occurs. I strongly agree, and I would
even go further: there is no such thing as a perfect, one-size-
fits-all upper level. Interoperability among independently
developed systems *requires* the ability to share and exchange data
and results among systems with totally different upper levels or
even without any formally defined upper level. Cyc does that when
it works with legacy systems, but their methods require further
analysis and extensions, both theoretical and practical. (010)
7. Another issue is decidability. Lenat and others have said that
decidability has never been an issue. From time to time, they
certainly had problems that got hung up in a loop -- everybody does.
But they always found ways of handling the problems by adopting
guidelines for using a highly expressive logic in safe ways. (011)
8. Bob MacGregor, who was the chief designer and implementer of the
LOOM and PowerLOOM systems, said that customers always asked for
more expressive power. They *never* asked for decidability.
The core of LOOM was based on a description logic, but it had
many extensions beyond that. The DL purists don't approve of
that approach -- and that is why I don't approve of DL purists. (012)
9. Another major issue is the methodology for developing and using
a large ontology (and the knowledge base it supports). Cyc has
gone through several iterations of their notations and methods.
The use of microtheories is a very important feature that enables
developers to work on the extensions needed for a specific domain
or application while avoiding conflicts with other developers.
But much more is needed. (013)
10. An extremely important issue is the way Cyc and other AI systems
can or should be used with mainstream IT. In the mid 1990s,
Bill Andersen and his colleagues used Cyc for DoD applications
in a way that Lenat did not approve: they found the Cyc tools
and environment to be a good development platform, but they
wanted to extract axioms from Cyc, and map them to other tools
that could be used independently of Cyc. Lenat didn't like that
idea, but Andersen and his colleagues used what they learned as
the basis for starting their own company -- Ontology Works, now
called High Fleet. I believe that Lenat made a serious mistake.
He should have hired them to start a Cyc application division. (014)
There is much more to be said about these and other issues.
I say a bit more in the following two papers: (015)
http://www.jfsowa.com/pubs/fflogic.pdf
Fads and Fallacies about Logic (016)
http://www.jfsowa.com/pubs/futures.pdf
Future Directions for Semantic Systems (017)
I don't regard either Cyc or the Semantic Web as ideal, but if I had
to choose which system to study as a basis for understanding the
issues in designing ontologies and supporting tools, I'd pick Cyc.
But I believe that much more has to be done. See futures.pdf. (018)
John (019)
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: 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 join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J (020)
|