ICTAI ‘07

November 1, 2007

Just back from ICTAI ‘07. Some quick notes:

Keynote
A good keynote by Ian Horrocks - even though I was familiar with most of the stuff, it was good to see it so clearly presented & explained. Slides here.

Ontologies are useful
So, I’m biased because I do some work that involves ontologies, but even so it was very obvious that there are quite a few people from different backgrounds (such as Case Based Reasoning & Robotics) who have a need for some clear hierarchical arrangement of a world model, and have used OWL ontologies to do it.

The interesting thing is the extent to which much of this was actually backgrounded - people sort of accepted that these formats & tools existed, and simply used them to get something done, which is a reflection on how much hard work has been done by the DL/ Ontology community in getting things to this stage. Frequent namechecks for Jena, Pellet and Racer among others.

Some specific links for those interested (mostly to home pages, as papers not up yet):

Knowledge Representation and Reasoning for Perceptual Anchoring (uses the DOLCE ontology) presented by
Amy Loutfi

Natural Language queries in CBR systems presented by B. Diaz- Agudo

Enriching OWL Ontologies with Linguistic and User-related Annotations: the ELEON system.
Paper

There was also some stuff just using RDF, rather than ontologies; One of the most interesting was this one:

First Steps towards an Intelligent Catalogue within the Open European Nephrology Science Center –OpEN.SC
A Nephrology DB in RDF

Talking to one of the authors, the most interesting finding was that they found rdf to simply be “a good thing” for integrating data from different legacy DBs.

Apart from that, a good overview of lots of AI things I knew nothing about (Conflict sets, Formal Concept Analysis, K-Means). And compliments on my attempts at Greek dancing….

ICTAI Paper

October 3, 2007

And at last, a paper from the thesis….

Accepted by & appearing at ICTAI (Int. Conf. on Tools for AI) ‘07 in Greece at the end of October 2007.

Integrating Ontologies & Argumentation for Decision-making in Breast Cancer

Here is poster from a recent joint UK/ US Cancer Informatics conference (details here) which introduces the work from the thesis - very exciting! (well, for me).

The poster is necessarily sketchy, but covers the idea of linking a DL ontology with an Argumentation formalism, and how one can use this to inform decisions about treatment in breast cancer. The rules are all drawn from the clinical trials referenced by the NCI’s Breast Cancer pdq.

I’m back

After a very long absence….

First up: A talk, a paper and a poster

then…

Probabilistic DL (aka Pronto, etc.)

An even longer absence

May 31, 2007

After a hugely long gap, I’m going to try using this again. It has actually been very useful as a way of jotting down notes wherever I am, and then having them recorded.

However, at the moment I’m desperately trying to get a paper finished, as well as a two talks, all before Monday. When they’re done, I’ll post links here

Ontology vs. Inference in Logic

February 3, 2006

I’ve been thinking (for a while) about the mismatch between different ‘bits’ of logic. Take a standard example, which can be found throughout the literature on defeasible logics:

Bird(x) -> Flies (x)
Penguin(x) -> not Flies(x)

Bird(Tweety)
Penguin(Tweety)
?Flies(Tweety)

The point is to highlight the deafeasible nature of the knowledge, develop arguments, etc.

There are, basically, two bits to the formulae: the predicates (e.g. Bird(x)) and the inference rules (what to do when you encounter ->). Now, if you turn to any textbook of logic, which gets more coverage? - the inference rules. Indeed, in the two I’ve been using (Schum’s Outline of Logic and Kelly’s Esssentials of Logic), much more weight is given to the inference procedures than to the predicates; in fact, the only time the predicates are really discussed is to explain the prefix syntax.

I think this has some (really) quite odd effects. Many of the defeasible systems make a distinction between ’strict rules’ which deduce ‘facts’ and defeasible rules that deduce ‘assumptions’ or ‘defeasible facts’. The problem is, these ‘fact’ predicates are rarely properly defined; in fact, they are rarely defined AT ALL. Indeed, given how tight everything else is in the descriptions of logic languages, the abandon with which one can introduce a new predicate is, frankly, shocking. It is this distinction that I am trying to point out when I talk about Ontology vs. Inference. The conventional treatment of problems in logic concentrates too much on one, and not enough on the other. The end result is that we harness a wonderfully powerful inference mechanism to some really shoddy foundations: and then we wonder why it goes wrong.

Consider the following example:
Man(x) -> Mortal(x)
Man(Socrates)
?Mortal(Socrates)

The answer (according to every textbook I have ever read) is yes: Socrates is Mortal. That’s fine, but in that case:

Woman(Sappho)
?Mortal(Sappho)

Should be “No”. Now, Sappho was most certainly mortal, as her suicide proves. So where did we go wrong? Well, we committed the fallacy of ‘equivocation’, in that we have confused ‘Man’ as ‘Man as separate from Woman’ with ‘Man as representing all of humanity’. But the reason we have been able to do so is because there is no definition of Man. No one told us what it meant, and so either interpretation is reasonable. This fuzziness is because there is no underlying ontology defined.

Unfortunately, it gets worse; even if we try and define an ontology, we run into problems. We might try and divide people into Men and Women; such a distinction seems natural enough, until you reach the edge cases: children, pseudo-hermaphrodites, true intersex and those with testicular feminisation. All of these cause different problems for any classification criteria you might want to choose.

The real problem is that an ontology is a model; and like all models, it fails sometimes. John Sowa has been trenchant in his criticism of ontologies that purport to offer the ‘truth’ about the world, and points out that the attempt to represent a continuous, non-discrete world in discrete lumps is bound to fail.

And so we come back to the problem with logical inference. The rules of inference may be sound, but the formulae they apply to are built on treacherous sands and, try what you might, the sands cannot be made solid. We could certainly solve the problems with the intial models by committing to an ontology, but at some point our ontology will fail. And even where it doesn’t fail, there are still exceptions (like Tweety).

Shirky and Ontology vs. Folksonomies

January 27, 2006

Fields:

An interesting article here , with some comments here. Obviously linked to the last post, and something that is probably bubbling up (incidentally, it’s an area that seems to have been rather ignored by the ‘academic’ community: When I checked, citeseer was down, and ArXiv (cs) only had one paper on folksonomies, and that was a network analysis). I actually think there are some far more incisive comments about the problems with SemWeb in a different Shirky Article, so I’ll try and comment on both. This is just a collection of comments, rather than a point-by-point reply.

He’s fundamentally right about the weakness in deductive logic; the world just isn’t neat enough to allow us to hope for closure on the world. On the other hand, that doesn’t mean that we should just throw ontology out of the window; we just need to be careful about our uses & claims, and more than that, need to be careful about our definitions.

1: Gruber’s (famous) definition of Ontology is: An ontology is a specification of a conceptualization. I still don’t know what this means. I think it means that an ontology is a MODEL of the world. I then to chop its functions up into terminological (shared words), taxonomic (Is-A in a tree) and ontological (complex definitions of classes). I don’t know whether it works for others, but it works for me, and I think it’s got an important bit to it: The reason we go to so much trouble in defining classes is that it allows us to say: If has these properties, then it’s one of these. So the power of ontology is NOT in its structure; it’s in its defintions, because it lets you handle new instances.

2: (many) things aren’t definitely one thing or another; this is also very true. I’m not talking here about different uses of ontology, which need different views; instead, the fundamental failure of ontologies to reflect real life. And he’s right. It’s just that it doesn’t matter. What matters is not whether it’s right, but whether it’s right enough. In 1993, some people from MIT pointed out some uncomfortable truths about Knowledge Representation (of which Ontology is part). Their first, and most powerful point, is that all KR is a surrogate, and an imperfect surrogate, so it will, always, produce some incorrect inferences. What matters is whether it also produces enough correct ones.

3: The failure of classification systems, which brings us on to more interesting ideas. If you start by saying that there are books about Russia, of course you run into problems. That’s because books don’t ‘have’ a country. If instead you start by asking ‘what can we say about a book’ (Title, Main subject, Author, Colour) then you get somewhere. What you then need to do is to to define ‘Books about Russia’ as being those books that have a main subject Russia (I’m trying to resist the urge to break into rdf here), and run your reasoner. It will tell you which books are ‘about Russia’. Of course, if you want a green sociology book, then you can do that too….The point is that defined classes are essentially queries, and poly-heirarchical ontologies let each book be the answer to multiple queries. As long as you can define your class/ query, you can find the book. Of course, it’s not always perfect, but see (2) above.
Now, where this get interesting is: what base terms should we use to build our queries? In the past, we’ve tried big top down approaches; where it might get interesting, and where I think folksonomies get good, are if you use the folk-tags as your base terms, and build queries/ classes out of those. Of course, you might need a bit more (like pulling the country space out the URL), and language encoding would be a cherry, but it might be nice….very nice, in fact.

4: N% belonging: The final thing is to deal with the fact that we can’t be sure that things are always something. His suggestion is to use n% membership, which is ok (although I have no real idea of the semantics of this: you might be able to jury-rig a frequentist approach, but it would be very variable in its response, and I don’t know what a subjective approach would mean here. Anyway, I digress…), and there has been some work on Bayesian Ontologies (somewhere, sorry). The other approach is to say that things either are, or are not, in a category, but we don’t know which. What we might be able to do is to come up with some reasons - some arguments - for believing one or the other. Of course, which you trust is up to you (and I’m not sure there’s a ‘right’ answer). Then again, seeing as my Thesis is on hooking up ontologies and arguments, I would say this.

Any comments on this insanely long post gratefully recieved…

Ontologies, Folksonomies, etc.

January 25, 2006

Just seen an article here: The Fish Wrapper » Blog Archive » Knocking down bookshelves about some of the problems with ontologies, and how folksonomies are ‘better’.

One of the main gripes is that ontologies force a rigid way of looking a the world, which obviously doesn’t apply to everyone. In the age of hypertext, a multiplicity of hierarchies is better.

Ok, well I agree….sort of. I think the multiple views is good, but I don’t think we need to throw out ontology. The rigidity comes when you only accept a mono-parental inheritance (because then everything is just ONE thing). Once you accept multiple inheritances, that gets a lot easier.

E.g: In my sort of domain, I want to know about people and their illnesses. So sometimes Mrs. Jones is a woman, sometimes she’s a Cancer Patient, and sometimes she’s someone who lives near the hospital. It depends what I want to know. As long as you define the classes properly, you can use them (in effect) as shorthand for queries.

Of course, you can only do this with poly-inheritance - and to do that manually is error-prone (people from Manchester reckoned on about 10% error rate). That’s where reasoners come in: define the classes, and then let the reasoner classify the classes (and the people) as it sees fit…

A Basic Intro

Ok, for anyone new (and interested) to help unpick my ramblings:
I’m a PhD Student at UCL, in London, UK. Although I’m also a (medical) doctor.
As my thesis, I’m trying to work on mixing ontologies and argumentation. This means we get a (much) richer set of possibilites for the arguments, and also means we get some non-monotonic reasoning on top of the ontology (which is much more use if you want to do proper KR, IMHO).

If you are still reading, and want to contact me, follow the link to the homepage and email me from there. I’m very happy to share ideas and code with anyone who’s interested.

Rule Syntax

I had been thinking about a rule syntax of the form A -> (B -> (C -> D)) where A is some source, B is some (non-optional) condition, C is some (optional) condition and D is some outcome. This then let’s us define a meta-rule of the form Value(D) -> A -> (B -> C), so developing arguments about interventions.

That step works (as long as we define pure Epistemic arguments as A -> (B -> ( -> D)) so we can still treat them the same), but I’m no longer sure it’s actually ‘true’.

The problem comes with the nature of “->”. Here, we are confalting the Toulmin style sense of ‘warrants’ (in that A ‘warrant s’ the fact that B -> (C -> D) with the implication C -> D. There’s also the fact that B doesn’t warrant the C -> D in the sam way as A does.

I think the solution is to change to A -> B1 & B2 -> C, where B2 is the optional bit. As a result, gets replaced by blank (which feels better). The only problem is that there is now no difference between B1 and B2, apart from convention - a case of syntax dictating semantics. Bad if you’re Roman, liveable with (I guess) if you’re English.