At ILASP, we build logic-based machine learning systems, which have several advantages over other forms of machine learning.


The learned knowledge can be translated into English, meaning that it can be explained to users and verified or corrected where necessary.

Use of existing knowledge

Logic-based systems do not need to learn everything from scratch, and can instead start from an existing knowledge base, containing anything known before the learning starts or even previously learned rules.


Logic-based systems can generalise from very few examples, making it possible to learn complex knowledge without needing large datasets.

Watch our introduction video

A video explaining the need for Logic-based Machine Learning. The dataset used in this video comes from the CAVIAR project/IST 2001 37540.

Our main system, ILASP (Inductive Learning of Answer Set Programs), which gave the company its name, learns knowledge expressed in the language of Answer Set Programming (ASP). ILASP's ability to learn full ASP programs, compared with previous approaches that could only learn a very restricted subset of ASP, has opened up a variety of new applications that were previously out of scope for Logic-based Machine Learning systems.

Example applications of ILASP

ILASP systems are designed to be general, without a specific application domain in mind, meaning that they can be applied to many different domains. This list or previous applications is by no means exhaustive, and you can find further examples in our research papers.

Event Detection

ILASP can be used to detect events of interest in pre-processed streams of images. Pre-processing is necessary to convert unstructured image data into the more structured form, consisting of the coordinates of various objects, that can be used by ILASP. The pre-processing can be performed using off-the-shelf techniques.

User Preference Learning

ILASP has been used to learn users' individual preferences (both from real and from synthetic data); for example, ILASP can learn to predict a user's preferred schedule, car, journey or type of sushi. Unlike many other preference learning techniques, ILASP's ability to learn from very few examples enables it to learn highly customised preferences from a single user.

Sentence Chunking

Sentence chunking is the task of splitting a sentence into its main chunks. As sentences are unstructured data, in order to use a logic-based system, the sentences are processed using the Stanford CoreNLP library, converting each sentence into a set of Part Of Speech tags. This application shows how logic-based systems can be combined with non-logic-based systems such as CoreNLP to further expand the potential application domains.

Follow us on social media: