Preprocessing in Inductive Logic Programming
This work addresses efficiency issues in ILP for researchers and practitioners, but it is incremental as it builds on existing inverse entailment ideas.
The paper tackles the problem of long learning times in inductive logic programming (ILP) systems, especially with large background knowledge, by introducing bottom preprocessing, which reduces learning times on hard problems.
Inductive logic programming is a type of machine learning in which logic programs are learned from examples. This learning typically occurs relative to some background knowledge provided as a logic program. This dissertation introduces bottom preprocessing, a method for generating initial constraints on the programs an ILP system must consider. Bottom preprocessing applies ideas from inverse entailment to modern ILP systems. Inverse entailment is an influential early ILP approach introduced with Progol. This dissertation also presents $\bot$-Popper, an implementation of bottom preprocessing for the modern ILP system Popper. It is shown experimentally that bottom preprocessing can reduce learning times of ILP systems on hard problems. This reduction can be especially significant when the amount of background knowledge in the problem is large.