Forum OpenACS Development: Response to Enhanced KM in OpenACs 4.0 -- interface to OpenCyc

A couple of replies rolled into one post:

So as you're working out your use cases, it might be nice to work one out that somehow defines how OpenCyc would benefit a CRM system. Or actually to write a use case for a CRM system would be great too. A $6.5 billion dollar industry could always use an open source solution

Improving the CRM capabilities of OpenACS is definitely one of the uses of OpenCyc that I see and I have been discussing this off-line with a couple of people. One simple use is auto-classification of trouble tickets with a business rules engine for routing. This would require training the system by describing a vocabulary, but there are tools in OpenCyc to do that. The rules are a separate issue, though. As always, in the OpenACS context, is how to create a framework for customization with the correct level of integration with all of the existing modules in the system that could take advantage of such capabilities.

Here is another article about Cyc and its descendant OpenCyc. This article places its creator somewhere other than the top of the AI field. In particular, it questions the methodology of his approach.

I am aware of the criticisms of Lenat's work and approach, and, frankly, I don't know that they apply here because I am not interested in a general solution to the AI problem, which as I see it, can be thought of as how to apply "what I know" to situations that don't fit "what I already know." There is a general learning problem which may have to do with a combination of crystalline intelligence (which is based on experience) and fluid intelligence (which is a set of rules that help you apply crystalline intelligence in unfamiliar contexts). I am a big fan of what I call "artificial artificial intelligence." I don't really care if it's "true" AI -- what I want is something that behaves intelligently, which in this case means that it "knows" when it "doesn't know what it doesn't know" and organizes things the best it can so that a person can make the decision.

I was originally thinking about relationships between content items only, but you could do it with relationships to categories or keywords as well. How much would you have to change in the content repository data model in order to do this?

I have no clue, which is why I hope that someone with a deeper technical understanding of the OpenACS data model will jump in here and elucidate the magnitude of effort involved in getting something like this started. I know that this is something I want to do for my project, I just want to make entirely sure that I am not doing something that won't benefit the community at large.