David, Tanel --
[David]
So my question at the bottom is how we could handle this
kind of exception? Because we know that life is full of
exceptions. Some birds don't fly, same mammals lay eggs
(Platypus is only one of them and to have a special class just
for this pour guy...), and who knows and one can never be sure.
[Tanel replying to David]
People have researched these kinds of things for decades.
Read some intro about "nonmonotonic logic", and then
continue with "default logic", which is a fairly clean
subfield of the former. Another approach is to use
bayesian or fuzzy reasoning, but I'd suggest to check
the default logic stuff first. There are, of course, several
different approaches I did not mention.
Actually, there's are a rather straightforward, pragmatic solution to
these kinds of questions.
The basic idea is, don't try to hard code everything you need about the
real world in a fixed system of logic. (Most OWL folks seem to
assume you have to do this.)
Instead, tie some lightweight natural language processing to logical
rules, so that people can see what the predicates are supposed to mean in
the real world.
Thus, you can have predicates "mammal other than platypus" ,
"bird other than penguin", "majority of birds" and so
on...
Underneath the logical rules, have an inference method that supports a
highly declarative assignment of meaning, and allows nonmonotonic
negation-as-failure.
Once you have an English meaning attached to predicates, many of the
problems like those David describes simply fall away.
This is argued more fully in the "e-Government Presentation" at
www.reengineeringllc.com
.
At the same site, you can find an implemented system that actually does what is described above. You are cordially invited to run the examples provided, and also to write and run your own examples. You can use a browser to do this -- no need to download or install anything.
HTH, -- Adrian
At 05:09 PM 9/24/04 +0300, you wrote:
david.celjuska@bt.com wrote:
So my qestion at the bottom is how we could handly thisPeople have researched these kinds of things for decades.
kind of exceptions? Because we know that life is full of
exceptions. Some birds don't fly, same mammals lay eggs
(Platypus is only one of them and to have a special class just
for this pour guy...), and who knows and one can never be sure.
Read some intro about "nonmonotonic logic", and then
continue with "default logic", which is a fairly clean
subfield of the former. Another approach is to use
bayesian or fuzzy reasoning, but I'd suggest to check
the default logic stuff first. There are, of course, several
different approaches I did not mention.
When looking through the material, keep in mind
that the problem you posed is a one of the fundamental,
hard problems of AI. No really good solutions have
appered so far. IMHO it is unlikely that any
simple and/or universal solutions could ever
appear. This does not mean that nothing can be done:
just that all solutions are going to be complex,
partial and domain-specific.
Regards,
Tanel Tammet