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.

Rule Syntax & Implication

Have, mostly by accident, been having an interesting discussion on the Jena-dev mailing list on the understanding of ‘implication’.

Given A -> (B -> C), and understanding that -> represent defeasible implication, I read this as “A suggests that B implies C”. Dave’s point, correctly I think, is that some of the time, you need either A to _definitely_ say B -> C, or for A to suggest that B is _definitely_ C (although I think this is harder, as then I would try and put this in the ontology). Looks like I (ideally) need two forms of inference (maybe version 2.0….)

It important because of course it shows that I can’t depend on everyone else having the same prejudices as me….

WorkDiary(25.1.06)

After a long absence (Vietnam/ Christmas/ catching up)….

Working on logical syntax. Current idea is to use A -> (B ->(C -> D)) (a la Tony’s FOL syntax: Presentation of arguments and counterarguments for tentative scientific knowledge) but to extend it to allow people to argue about desirable course of action.

Over the last 3 months, I wrote a (very basic) ontology/ arg. structure, then sort-of worked. Useful for pining down some issues, though. Have been round, and round, and round in circles about trying to decide on a suitable rules engine. Have looked at Prolog + Ontologies (none worked, including Swoop + Rules), other rules engines (Drools, Bossam, Jena), SWRL Reasoners (Hoolet, Sweetrules). Finally realised that I’m going to have to write on myself….. help!
The big problem is that rules + argumentation is ok (e.g. Prolog, or Gerard Vreeswijk) and ontology and rules is ok (e.g. Jena) but all three is a big no-no….

Transfer

Just transferred the blog here from Blogger