W3C home > Mailing lists > Public > www-rdf-interest@w3.org > August 2003

OpenCyc Microtheory hierarchy

From: Richard H. McCullough <rhm@cdepot.net>
Date: Sun, 31 Aug 2003 17:35:25 -0700
Message-ID: <001601c37021$d7537b30$bd7ba8c0@rhm8200>
To: "McCool, Rob" <robm@stanford.edu>, "Reed, Stephen L." <reed@cyc.com>, "Guha, R. V." <guha@guha.com>
Cc: "www-rdf-interest at W3C" <www-rdf-interest@w3.org>, "KR-language" <KR-language@YahooGroups.com>
This email outlines my initial study of the
OpenCyc Microtheory hierarchy.  These results
concern the class-instance structure, not the
genlMt relations between the Microtheories.

All the web page references are relative to
http://rhm.cdepot.net/knowledge/applications/SemanticWeb/OpenCyc
Anyone can reproduce these results using 
MKE version 6.3.

1. class and instance hierarchy
The class and instance hierarchies
http://rhm.cdepot.net/knowledge/applications/SemanticWeb/OpenCyc/Mt.isg.txt
http://rhm.cdepot.net/knowledge/applications/SemanticWeb/OpenCyc/Mt.isp.txt
were generated with this MKR script
    set kbmode=cyc;
    #$Microtheory isg* ?;
    #$Microtheory isp* ?;
The most striking features of the class hierarchy are
its depth (6 levels) and its overlapping subclasses.

2. class hierarchy "errors"
From my point of view, overlapping subclasses are bad.
Disjoint subclasses imply that the subclasses are
"unambiguous", and can be characterized by genus-differentia
definitions (necessary and sufficient conditions).
I measured the extent of these "errors" by reading
the hierarchy into MKE and running its standard
consistency checks.  Using this MKR script
    set CommentMode = cyc;
    do read from Mt.isg.txt done;
    do check od knit done;
shows the 24 "ambiguous" classes, each with 2 or 3
genus classes.  Likewise, the instance hierarchy
has 169 "ambiguous" Microtheories.

3. simplifying the class hierarchy
The class hierarchy can be simplified by removing
some of the redundant higher-level classes, leaving 
the lower-level (more specific) occurrences in the 
hierarchy.  Because of inheritance, this simplification 
does not change the logical inferences.  Using the 
MKR script
    set CommentMode = cyc;
    do read from Mt.isg.txt done;
    do simplify lattice od #$Microtheory done;
    #$Microtheory isg* ?;
    do check od knit done;
    ...
    ! diff od Mt.isg.txt, simplify.Mt.isg.txt
        to Mt.isg.diff done;
generates a new class hierarchy and the UNIX diff
http://rhm.cdepot.net/knowledge/applications/SemanticWeb/OpenCyc/simplify.Mt.isg.txt
http://rhm.cdepot.net/knowledge/applications/SemanticWeb/OpenCyc/Mt.isg.diff
The simplified class hierarchy has 37 fewer class entries,
and only 6 "ambiguous" classes.


Dick McCullough
knowledge := man do identify od existent done;
knowledge haspart proposition list;
Received on Sunday, 31 August 2003 20:41:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:01 GMT