[Top] [All Lists]

Re: [ontolog-forum] standard ontology

To: "'[ontolog-forum] '" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Patrick Cassidy" <pat@xxxxxxxxx>
Date: Wed, 18 Feb 2009 15:19:35 -0500
Message-id: <0c4401c99206$37b86420$a7292c60$@com>
 Re your questions:
> The groups that might fund the FO know the Cyc project very,
> very well.  And they know that they never got much, if any
> return on their investment.  You can't get a penny from them
> unless you can explain in detail...
>   1. What are you proposing that is different from Cyc?
>   2. What makes you think that you can be more successful
>      than Cyc?
>   3. Why don't you start with Cyc as a foundation for the FO?
> We've already heard the arguments that Cyc isn't open source.
> But the cost of acquiring and adding more material to OpenCyc
> would be vastly less than $30 million.
> John
  I have already gone through this litany in pieces here and there, but for
those who are new to the discussion here goes, with a little more detail:    (01)

>   1. What are you proposing that is different from Cyc?
   1.1  The Ontology, reasoning engine, utilities, demo applications, must
all be free and open-source.  Parts of Cyc including its reasoner are still
   1.2  The FO needs to include multiple alternative views of the sort one
finds in SUMO, DOLCE, BFO, ISO15926 and any other that is used by anyone
with an application.  Cyc's way of viewing the world is only one of multiple
alternatives that need to be accommodated.  The need to encourage
contributions from multiple sources is a major element, and because much of
Cyc is still proprietary, there is little incentive for outsiders to
   1.3  The main focus (the "domain") of the FO is to *translate* among
multiple viewpoints and alternative ontologies; Cyc maintains only a single
view, and does not now advertise an ability to translate among alternative
representations.  The critical point of the project is to demonstrate by
non-trivial examples that the FO is actually useful for supporting semantic
interoperability.  Of course, the FO can be effectively directly used as the
basic for development of domain ontologies, in which case the domain
ontologies will be "born" mapped to the FO and need no separate mapping
effort.  For this purpose, there will be a utility that extracts from the FO
only those components needed for a given domain ontology.
      There will be a natural inclination to insist that someone demonstrate
the usefulness of an FO for interoperability *before* any funding is
granted, but such a demonstration is one of the main functions of this
project.  Just building an FO is not the point - that has already been done.
What we need now is to show, in some non-trivial way, that *some* FO can
integrate useful applications created by a diverse and dispersed set of
developers.   That is why the project will not be cheap.
   1.4  There needs to be at least several open-source demonstration
applications, and a good natural-language interface, and all of these need
to be testable on-line via a web browser so that those who are at all
interested don't need to install a complex system with a steep learning
curve just to see what it can do.
   1.5  The main point of having the FO developed by a large diverse
community is to create and **start out with** a large user community with
multiple interests having open-source and publicly inspectable applications,
so that the community itself can maintain and evolve the FO, and so that the
applications they create and display will be able to attract additional
users who can recognize potential benefits for themselves from similar
applications.   Among the demo applications should be database integration -
with a good publicly viewable and freely downloadable example, and a good
natural-language interface.
   1.6  One can summarize the notion of creation of a user community by
noting that the point is ***not** "if you build it, they will come", but "if
you pay them, they will come".  After the paid participants have
demonstrated the utility of the FO with interesting applications, then
others will have the motivation to use it without being paid to do so.    (02)

>   2. What makes you think that you can be more successful
>      than Cyc?
  No one local group is likely to  be more successful than Cyc.  It is not
I, but the *broad community* of developers and users funded by the project
who will be more successful than Cyc because the emphasis **from the start**
will be on making all products of the funded project fully free and
open-source and easy to understand and use, to encourage **collaborative**
development of any of the demonstration applications, so that their
functionality can evolve from the contributions of multiple dispersed
contributors, and not depend only on what labor can be spared from Cyc's
internal pool.  Open collaborative development is not Cyc's main
methodology.  Even though parts have been made public, most is still
proprietary and there is no incentive (and no  simple mechanism) for
potential contributors to provide free labor for the benefit of a private
enterprise.  The point is to create what is in effect an open-source
community and encourage its expansion by making it easy to learn how to use
the ontology and contribute to common projects.  The *structure* of the FO
is important only to the extent that it is satisfactory for the purposes of
the participants and encourages its use and development by a large
community.   The Cyc Foundation also is not an open-source project.    (03)

  One important lesson we should have learned from Cyc is that constructing
an application that is impressive and takes full advantage of a complex FO
is so labor intensive that it is far more likely to be created successfully
by an open team of many contributors, all working within the paradigm of a
single FO as the standard of meaning, than by the number of people Cyc has
been able to apply to any given project.  Any application that has a modular
structure will be able to be incrementally enhanced by any contributor that
may have a useful insight, even for some small function within a large
program,  In this way, the community will be able to realize Minsky's
"Society of Mind" framework because all of their local modules will be able
to learn from and contribute to the common pool of knowledge within any
given application, using the FO to communicate information between modules
in a mutually comprehensible and optimally usable form.   The VivoMind
analogy engine, for example, could be one of many modules that can handle
certain tasks to process information within a larger task that needs more
than one specialized information processing technique, working together.    (04)

  The need to demonstrate a collaborative approach to task solving is
essentially identical to John Sowa's view of multiple modules working on
different parts of a information-processing task.  This proposal merely adds
the suggestion that this Society-of-Mind strategy can be made more powerful
if a **large community** accepts a single FO as the standard of meaning for
passing information.  Thus the task of the project is to *create* such an
open-source community working within that paradigm by adequate funding.    (05)

   The common-paradigm  method is also similar in spirit to the CALO
project, that used their own single FO (Porter's ontology) for a suite of
related applications, and spent >200M in the process; but their products are
not yet available to the public ("coming soon"), nor was the project open.
We can't tell yet from what is now public whether that money was wasted or
useful.  There seems to be one CALO subgroup that is planning to
commercialize some of the results of CALO.  The kind of open project I
imagine would have *all* of its products at any stage available for
inspection and comment (and use) by the public, and anyone could
commercialize any part, without restricting the use of the original.  Is
anyone familiar with the output of the  CALO project?  This is closer to
what I have in mind than Cyc, though neither of them was an open project,
and the ontology seems to have been only a minor part of CALO.    (06)

>   3. Why don't you start with Cyc as a foundation for the FO?
   I would suggest and have been suggesting precisely that; I would leverage
the investment in Cyc to the extent of using everything that is freely
usable.  Of course, *every* existing source that provides freely usable
ontology components will serve as a resource for the project.  Because of
its size, OpenCyc may provide the bulk of pre-existing ontology elements
that can be used for the project.  This is the method I have adopted for the
development of the COSMO, but I find that only about half of what I want in
the COSMO seems to be available from the OpenCyc (for any new element, I
first search the OpenCyc to see if there is an element equivalent to what is
needed).  I suspect that a collaborative group may find less than half of
what they want in Cyc, but everything preexisting that is usable will be
used.  The important part of the project is to create an FO acceptable to a
large diverse and dispersed community of users, and there will likely be
many local developers who want to be sure that the ontology they are
currently using (including all resources such as FrameNet and simple
knowledge organizations such as WordNet and the Chinese HowNet, NIEM, and
SNOMED, etc.).  Linguistic resources such as WordNet are in general not
accurate inheritance hierarchies, and cannot be mapped in a simple way to
the FO.  What can be done is to crate mappings and transformations where
possible so that users of those resources will be able to use the FO for
translation to other systems.   The ability to effectively integrate all
such resources will depend on creating an FO that is specifically
**designed** to integrate such multiple resources.  That is not the purpose
of Cyc nor does it have that *current* capability.    (07)

To expand Cyc itself to include its ability to integrate multiple resources
will require a large project in any case because there will have to be at
least one participant thoroughly familiar with each resource to be
integrated.  "Integrated" means to be able to have information translated
from a common representation into and out of the local representation of
each system.  Also, I anticipate that at least half of the cost of the
project will be in developing the utilities and demo applications.    (08)

If Cycorp can be induced by some adequate sum to make more parts freely
usable - without restriction other than attribution - so much the better.
But the project need not depend on that, since much of what is available and
usable for a common FO is already in the OpenCyc.  Much more important than
just accumulating more representations is the demonstration that the FO can
support interesting applications demonstrating interoperability among
applications developed by separated groups.    (09)

I think that ultimately wide acceptance of ontologies among program
developers will depend on some impressive demonstration of the use of an
ontology for natural language understanding.  Until then, the capabilities
of an ontology will be hard for a casual observer to distinguish from
database info storage and ordinary procedural programming.  The FO project
should have development of a good NL interface as an integral component, to
serve as a start and a test case for more effective NL programs.  As of now,
I can't sit down and query Cyc's NL interface over the net with a browser.
That is a critical missing demo that makes it easy to dismiss Cyc's
capabilities.  The FO project should have such a query interface, however
simple it may be, at the earliest time, and it can evolve as the FO evolves,
and as multiple contributors enhance the individual modules of the NL
interpreter/Question Answering program.    (010)

Pat    (011)

Patrick Cassidy
cell: 908-565-4053
cassidy@xxxxxxxxx    (012)

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
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (013)

<Prev in Thread] Current Thread [Next in Thread>