[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: [topicmaps-comment] OpenCyc and Topic Maps: Progress Report
I spent the weekend coming up to speed--I think I now have a basic idea of how Cyc represents knowledge--I can at least create simple constants, associations, and rules and then ask simple questions about them and get the expected answer. Unless I've missed something, there is clearly a direct mapping between Cyc's knowledge representation and topics, in particular: - Cyc "constants" correspond to topics, that is, reified things about which assertions can be made. Topic characteristics become other constants to which the base constant is associated. - Cyc "assertions" correspond to topic associations, to the degree that they relate topics together. Any topic map association can be completely modeled as one or more Cyc assertions, including roles and constraints on members. - Cyc's "isa" and "genls" (generalizes) assertions directly correspond to the subclass and instance-of associations in topic maps (no surprise). - Cyc's concept of "microtheory" (bounded context) seems to correspond to scope (although it's not yet 100% clear to me that scope exactly matches this concept or is the best way to represent it). In particular, microtheories scope assertions, which can only be represented indirectly in topic maps by setting the scope on association role members. It probably comes to the same thing but the mapping might not always be obvious to the casual observer. From this it seems clear that there should be a direct mapping from topics and associations to constants and assertions within Cyc, although I'm sure there will be some subtle problems of exactly how to map certain topic map constructs. This would then enable Cyc to reason about the topic map and, possibly, further analyse occurrences of topics in the input topic map in order to learn more (but I have no idea how much of the Cyc natural language features are exposed in the OpenCyc project). In addition, Cyc constants would make very good public subjects. In any case, fully useful import of topics into Cyc would require mapping the subjects in the topic map to the corresponding subjects in Cyc. Also, Cyc appears to have a pretty robust mechanism for talking about the temporal nature of things, so it might offer a ready solution to the problem of temporal scoping. It's also clear that even the subset of the Cyc KB released in OpenCyc reflects a huge body of very deep thought about how to classify and relate things--the range of subtle distinctions of association and typing within Cyc is quite astounding. This thinking could certainly be of great value to anyone developing a complex topic map that models more than some very narrow subject domain. Likewise, it should be possible to export or expose some or all of a Cyc database as a topic map, although I'm not entirely sure what value that would have in practice (it might have value for interchange of knowledge bases between disparate expert systems, but I can't really see using a generic topic map engine in any useful way on such a topic map when the Cyc engine is already optimized for that sort of processing). As the Cyc ontology defines everything within the KB all the way up to "thing", it must be possible to generate a topic map that captures all the information in the KB without loss. But I find that prospect much less interesting than the prospect of importing topic maps into Cyc in order to then use Cyc to reason about the topic map. My next task is to experiment with importing topic maps into OpenCyc. Given that OpenCyc provides a Java API it should be relatively easy to integrate any Java-based topic map engine with it (e.g., TM4J). The real challenge will be mapping the input topic map's public subjects to existing Cyc constants and figuring out what the mapping conventions should be. Cheers, E. -- W. Eliot Kimber, eliot@isogen.com Consultant, ISOGEN International 1016 La Posada Dr., Suite 240 Austin, TX 78752 Phone: 512.656.4139
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC