Inductive Logic Programming

This part of the course describes Inductive Logic Programming (ILP) and its application to NLP.

Date: 26 October 2005

8-10 Introduction to ILP
10-12 Grammar induction
13-15 Lab session 1 Lab session 2

Assignment

(I adapted these from exercises given by Dimitar Kazakov on his Symbolic Learning of Natural Language module. Thanks to Dimitar.)

  1. Grab these sentences, and this incomplete background knowledge file. Add the necessary so that Aleph induces a single-clause theory which covers all positive examples. (There are no negative examples, and you don't need any).
  2. Grab this data on past tense formation of English verbs. You are not expected to be able to get Aleph to induce an optimal theory, but you should be able to get a few reasonable rules. (Aleph is not the optimal choice for this sort of problem.) Here's a tip that might help you: examples are saved internally in Aleph using the predicate example/3 so that to get hold of positive example number, say, 23, you call example(23,pos,X). You somehow need to push Aleph into realising that past/2 is a function mapping the 1st argument to the second. Adding lots of negative examples to this effect is a rather yucky solution.

Project suggestions

Biomedical information extraction

Have a go at the Genic Interaction Extraction Challenge task. This requires you to induce rules to extract protein/gene interactions. The good news is that the training data is annotated and in a logical format, just right for ILP! This task was associated with the recent Learning Language in Logic (LLL05) workshop. You can see how other people have got on by reading the proceedings.

Grammar induction

The grammar induction software you used in Lab Session 2 could be developed in many ways. Developments such as this could involve a number of projects.

  1. The search strategy is currently rather exhaustive, something more heuristic is probably needed to scale it up.
  2. It will probably be beneficial to add a probabilistic element.
  3. The constraints on potential grammar rules could be altered.
  4. It would be good to do more work on inducing lexical entries for unknown words.
  5. Develop an interactive version so that rule candidates for a particular sentence can be presented for an expert to accept/reject/tweak.
  6. Use WSJ bracketings to constrain hypotheses.

CoNNL shared tasks

Of course, there are any number of natural language learning tasks where it might be interesting to apply ILP (most usually `vanilla' ILP such as encountered in Lab Session 1). For example, why not have a look at the CoNLL Shared Tasks. (Go to the bottom of the page).

Resources

Literature

Back to course page


James Cussens

Last modified: Mon Oct 24 09:03:34 BST 2005

Valid XHTML 1.1!