The punch line for ontologies

I’m just getting to the point where I understand enough about ontologies to see the challenges that lie ahead for me as an evangalist for them. So when I receive a gift such as this, an absolutely compelling and easy to understand example of the value of ontologies, it makes me speak out loud in spite of the fact that I am sitting alone in my home office. I’m viewing a video taped presentation by Cycorp CEO, Doug Lenat entitled “Computers versus Common Sense.” It is really an outstanding talk, I encourage you to view it, but here’s a quote:

A lot of times people ask me things like how many predicates , and concepts, and assertions ar there all together in the knowlege base? And so I have a slide like this to forestall those questions. But, really, this is a red herring, and you shouldn’t really care about these numbers. To give you an example of why you shouldn’t, a small number of what we call sibling disjoint assertions in the knowledge base take the place of billions of class level disjointness assertinons and really hundreds of trillions of instance level non-set membership assertions.

That’s it – that’s the punchline!! If we model the relationships right (the “sibling disjoint assertions” in this case) then we save ourselves a whole lot of work. Can simple OO class hierarchies do this? I don’t think so but I promise to have a more concrete answer in the future – a proof if you will.Anyway, the quote goes on, getting more concrete.

So like, if we have a question like, “Is any seagull also a moose?” [snip] And if Cyc knows, let’s say, 10,000 kinds of animals, that means there are about 100 million questions like this it ought to be able to answer. So option one is we could add 100 million assertions to the system [snip]. So option two is we could basically add 50 million disjoint with assertions and one single assertion that says disjoint with is symmetric. A better option is to add 10,000 Lanayan bilogical taxonomy assertions and one single sibling disjointness assertion, which basically says if you’ve got any two taxons, and you don’t know that one is a specialization of teh other, assume they’re disjoint. [snip] And with these 10,001 rules you can answer the same 100 million queries.

(Okay, so some of this was still a little abstract but you get the point 😉 )

Share Your Thoughts