Inductive logic programming (ILP) is a machine learning approach, which uses techniques of logic programming. From a database of facts and expected results, which are divided into positive and negative examples, an ILP system tries to derive a logic program that proves all the positive and none of the negative examples.

Schema: positive examples + negative examples + background knowledge = rules.

Inductive logic programming is particularly useful in natural language processing.