A workbench to develop ILP systems

João de Campos Azevedo · 2010

Inductive Logic Programming (ILP) is a sub-field of Machine Learning that provides an excellent framework for Multi-Relational Data Mining applications. ILP has been used in both industrial and scientific complex and relevant problems. ILP aims at a formal framework as well as practical algorithms for inductive learning of relational descriptions in the form of logic programs. ILP inherits the sound theoretical basis from Logic Programming and the experimental approach and operation towards practical algorithms from Machine Learning. ILP is an exciting field of research, still showing a good margin for progress. There is a wide range of lines of research to overcome current shortcomings of existing ILP systems. It is common practise that when researching on a new technique the researcher has to develop his own system or spend a considerable amount of time studying the implementation details of an existing system in order to evaluate his new techniques. Since the initial conceptual proposal of Inductive Logic Programming many ILP systems have been developed. Around 100 ILP systems have been developed to date. Thus, it is natural to find the many techniques that have been proposed to improve the efficiency of ILP systems scattered among many systems. Having an integrated framework, containing the most interesting techniques of ILP in a modular architecture should be interesting for the progress on the area, by providing practitioners and curious users with an easier way to experiment on the area and to test new techniques in a relatively straightforward way. The work reported in this document aims to propose a tool to include all major relevant techniques for the development of ILP systems. The tool is based on a modular architecture of the system and permits the assemblage of new ILP systems by just combining modules. By choosing different sets of modules the user may construct different types of ILP systems. We have also developed and implemented in the tool a new parallel algorithm. A prototype of the tool is the material outcome of our work.

Read the paper · More papers on PaperTik