Inductive logic programming (ILP) is a form of machine learning. The goal of ILP is to induce a hypothesis (a set of logical rules) that generalises given training examples. In contrast to most forms of machine learning, ILP can learn human-readable hypotheses from small amounts of data. As ILP approaches 30, we provide a new introduction to the field. We introduce the necessary logical notation and the main ILP learning settings. We describe the main building blocks of an ILP system. We compare several ILP systems on several dimensions. We describe in detail four systems (Aleph, TILDE, ASPAL, and Metagol). We document some of the main application areas of ILP. Finally, we summarise the current limitations and outline promising directions for future research.
翻译:感应逻辑编程(ILP)是一种机器学习的形式。ILP的目标是引出一种假设(一套逻辑规则),概括一些培训实例。与大多数形式的机器学习不同,ILP可以从少量数据中学习人类可读的假设。随着ILP接近30,我们为实地提供了一个新的介绍。我们引入了必要的逻辑符号和主要的ILP学习设置。我们描述了ILP系统的主要构件。我们在若干方面比较了几个ILP系统。我们详细描述了四个系统(Aleph、TILDE、ASPAL和Metagol)。我们记录了ILP的一些主要应用领域。最后,我们总结了目前存在的局限性,并概述了未来研究的前景。