Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

SUO: RE: OpenCyc problems




Eric --
 >
 > [ELP] Pat, in OpenCyc 0.7.0 12-15-02 (which is the latest version)
 > SOSS is not any sort of generalization of PC.
 >
    Right.  I didn't check the latest version before
sending the note.  Moving target.

> 
> I think I remember you bring up the function issue at VerticalNet.
> 
> How did Cycorp respond to your concerns?  I'd like to see their
> responses.
> 
    I haven't seen a response.

> 
> [ELP] The OpenCyc IDE doesn't supply constant grepping out of the box
> like full-Cyc. And I couldn't find "Process" in an initial substring of
> any constant.  I need a text version like yours to search, but of the
> current version.
> 
> To what specific process-related constant are you referring?
> 
    There are several examples, but the "processes" in CYC are named
with "process" at the end, not beginning.  They are all subclasses
of "Event".  One gets, for example, the branch
  . . .
      TransformationEvent
          TransformationProcess
              DecompositionEvent

  . . .  which shows that "Event" and "Process" are considered 
subclasses of each other -- no real distinction.  The
distinctions seem to come only in the metaclass "Type"
classes:

(#$isa #$DecompositionEvent #$TemporalObjectType)
(#$isa #$DecompositionProcess #$TemporalStuffType)

     Where "stuff" has some continuous character.

     I don't know how these metaclass distinctions are
applied in CYC.  I presume their applications find some
way around what appears to me at least clumsy and possibly
a logical inconsistency.   The use of metaclasses to make
such distinctions is to me one of the serious weaknesses of
CYC as a standard.  It is unnecessary and makes the structure
more obscure, which is a serious detriment in a standard that
needs to be widely used in order to serve its function.  Perhaps
if a Cyclist would explain where and how F=ma is represented
(I mean the physical phenomenon, not the mathematical equation,
or the classification of "acceleration" as a physical quantity),
it would make the reasons for their choices clearer.
    The Cyc representation of "process" as a series of discrete
steps is not unusual -- it is the same in SUMO and PSL.  There
is a long history of the use of the word "process" to refer to
such sequences.  I'm not hung up on terminology.  But there
is a distinction between "something happening at some point in time"
and "something that happened in some time interval", which does
not seem to be adequately represented in OpenCyc.  The WordNet
has "process" and "event" in two separate branches, neither a
subtype of the other.  I believe that this corresponds more
closely to the linguistic distinctions that are found for
many uses of the gerund "-ing" to refer to things happening at
some point, in contrast to time-delimited actions.  Both of
these are important concepts to have at our disposal for
representing physical phenomena and the way people talk
about them.

> 
>>and substances which are more abstract
>>than pieces of a particular substance.
> 
> 
> [ELP] I'm not sure that I understand this second one.  Can you point me
> to the offending axioms?
> 
> 
    The problem is in the usage in Cyc that any "Substance" is
represented as a piece of substance, a physical object.  A
substance like water is only a subtype of tangible things.
In some cases things that are considered "substances" in
everyday parlance (water, oil, whiskey) are distinguished by
the use of metaclasses like "#$TangibleStuffCompositionType"

    Take the definitions of #$NaturalTangibleStuff,
"OrganicStuff" and "Water":

OPENCYC 1: MAY 23, 2002
An instance of #$ExistingStuffType and a sub-collection of 
#$PartiallyTangible. Each instance of #$NaturalTangibleStuff is a 
naturally occurring partially tangible thing. Specializations of 
#$NaturalTangibleStuff include #$EarthStuff, #$Wood, and #$Air. 
Man-made materials are _not_ instances of #$NaturalTangibleStuff.

(#$comment #$OrganicStuff "A collection of tangible things.  Each 
instance of #$OrganicStuff is a tangible thing composed of one or more 
types of organic #$Molecule.  Instances of #$OrganicStuff usually have 
their origin in the bodies (or other products) of living things. 
Since some organic substances can be synthesized, #$OrganicStuff is 
not a subcollection of #$NaturalTangibleStuff.  Chemically, instances 
of #$OrganicStuff have fairly (or very) complex carbon-based 
structures.  Examples include all instances of the collections #$Oil, 
#$DNAStuff, #$Alcohol-Compound, #$Ivory, and #$AnimalBodyPart.")

OPENCYC 1: MAY 23, 2002
A collection of tangible things and a subcollection of #$Oxide. Each 
instance of #$Water is one piece of some portion of the chemical 
compound H2O. Instances of #$Water may be in a gaseous, liquid, or 
solid state (see #$stateOfMatter); they may be salty, not salty, 
drinkable, or not drinkable. Examples include portions of the ocean, 
such as the #$BayOfBiscay and the #$BayOfBengal (see also #$SeaWater); 
bodies of fresh water, such as #$NiagaraFalls or the #$GangesRiver; 
quantities of chlorinated water (see #$PoolWater); and the contents of 
bottles of tonic water (see #$SeltzerWater). Any portion of liquid 
that consist mostly of water but differs from it in one or more 
important properties (e.g. urine, coffee, and lemonade) is not itself 
an instance of #$Water, but has an instance of #$Water as its main 
constituent (see #$mainConstituent).


Consider these metaclasses:

(#$isa #$NaturalTangibleStuff #$ExistingStuffType)
(#$isa #$InorganicStuff #$ExistingStuffType)
(#$isa #$OrganicStuff #$TangibleStuffCompositionType)

   Why do organic stuff and inorganic stuff have different
metaclasses?

How about Water?
(#$genls #$Water #$InanimateThing)
(#$genls #$Water #$Individual)
(#$isa #$Water #$ChemicalSubstanceType)
(#$isa #$Water #$TemporalStuffType)

    It has none of the metaclasses of either organic stuff or
inorganic stuff or NaturalTangibleStuff.

    The only thing in common is that these things are 
"#$PartiallyTangible" (i.e. physical objects).  Why partially?
What part of water is intangible?

    My head reels trying to figure out why there are differences like
this and how they are used.  Of course, there is or once was
some rationale, and Cyc does somehow manage to use them --
lots of clever people at Cycorp -- but I feel sorry for the
contortions they must have to go through.
    Certainly the notion that a "substance" is a piece of some matter
does not conform to the way I heard the term used for thirty years
in the laboratory.  Things are *composed of* substances, they aren't
subtypes of substances. A "piece of iron" isn't a part of a larger
piece of iron, it's an object made of iron.  It appears that at an
early phase someone at Cyc tried to shoehorn the notion of "composed
of" into some kind of "part of" predicate.  It got distorted in the
process.

    I think that the fundamental problem is a failure in Cyc to have
a more abstract class of Substance -- it could be done in several
ways, but the outline of the one that I find most flexible is:

    A class called PhysicalSubstanceType -- abstract and primitive, 
corresponding to "composition" as expressed in terms like water,
oil, meat, wood, metal, etc.   -- mass nouns.  This allows every
different mixture to be a different substance, e.g. a mixture of
NaCl and water in a mass ratio of 2/100 would be one SubstanceType --
a saline solution of specified concentration.  Each SubstanceType has
a minimum granularity.
   A Class called "Substance" which would also be abstract, but
would correspond to a SubstanceType at a particular density,
such as NaCl at 20 g/l.  A Substance need not occupy all
of space -- it can be part of a mixture.  NaCl at 20 g/l can
be located in the same volume as water at 990 g/l, and if
those are the only two Substances in that volume it would
be a 2% saline solution.
    A particular volume of a Substance (a SubstanceType at a particular
density) would be a QuantityOfSubstance -- a physical object with
a mass (volume x density = mass) of a particular SubstanceType.
This Object does not have to fill space, it can co-occupy a
region of space with other Quantities of substances.  So we
can consider the 20 grams of NaCl in the solution in my
beaker as a QuantityOfSubstance.
    If one wants to specify that a substance takes up all the
space -- that it is all there is there -- it can be done either
with a property ("neat") or by making it a subclass of 
"SpaceFillingObject".

    These distinctions provide one with the flexibility to describe
mixtures and their properties.

    I suppose Cyc has some mechanism to handle mixtures, but I did ask
about that once and never got a reply.

     I could discuss this further, but it would seem to be better
to put it off until we start a thread on "Substances" and
homogeneous objects.

    Bottom line -- Doug Lenat was fond of saying that everything that
was put into Cyc was put there because it was needed.  That's a good
philosophy.  We should put things into the SUO because they are
needed, not because at some time someone for some reason thought
that they might be useful (or merely adequate) for one of Cyc's
applications.

    I think an abstract substance is needed to handle mixtures
properly.

    Pat

=============================================
Patrick Cassidy

MICRA, Inc.                      || (908) 561-3416
735 Belvidere Ave.               || (908) 668-5252 (if no answer)
Plainfield, NJ 07062-2054        || (908) 668-5904 (fax)
				
internet:   cassidy@micra.com
=============================================