At ILASP, we build Logic-based Machine Learning systems, which learn highly expressive rules that can be translated into plain English. Logic-based systems have several advantages over other forms of machine learning, namely:
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.
In addition to classification and other rule learning tasks, ILASP is capable of 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.
This example describes how ILASP can be used to learn a user's preferences about which journey to take. Examples are of the form Journey 1 is preferred to Journey 2. These examples can be elicited from a user, either by asking them to explicitly rank journeys, or by inferring them from the user's choices – with the assumption that the user will usually prefer their chosen option to all other options. For example, the user could be presented with the following four journey options.
If the user chooses the Journey B, then three examples can be inferred: Journey A is preferred to Journey B; Journey A is preferred to Journey C; and Journey A is preferred to Journey D. Given a set of examples of this form, ILASP will learn a set of preferences that are consistent with either all or most of the examples (depending on the setting).
Given sufficient examples, ILASP can learn the following preference model (where preferences are given in order of priority).
In ILASP, examples can even be combined with contextual information, giving more information about the circumstances in which the example was observed. For instance, by adding the current weather conditions to each example, ILASP can learn that if it is raining, minimising the total walking distance becomes the user's top priority. Similarly, the user's first preference can be specialised to indicate that the user only prefers to avoid walking through areas with high crime rating if it is after dark.
ILASP's key advantages compared with other preference learning approaches are its ability to generalise – ILASP can learn general preference models from very few examples – and its explainability – ILASP's learned preference model can be explained in plain English, allowing a user to understand (and if necessary, correct) what has been learned.
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 could be performed using off-the-shelf techniques.
In this example, we used the CAVIAR dataset (generated by the EC Funded CAVIAR project/IST 2001 37540), which has already been pre-processed and used by the Logic-based Machine Learning system OLED, which is specifically targeted at learning event definitions. We have previously shown that ILASP achieves a higher average F1 score on this dataset than OLED.
The CAVIAR dataset consists of video streams made up of images such as the one below. The image below has been pre-processed into a structured form containing the position and orientation of each person in the image, along with other information, such as whether they are walking, running, active or inactive, etc.
The images have been (manually) annotated to indicate when two people are meeting. We used ILASP to learn rules to predict when in the video stream these meeting events started and ended. For instance, one simple rule is that if two people are meeting and one stays still while the other is walking, then the meeting is terminated.
Sentence chunking is the task of splitting a sentence into its main chunks. In this example, we evaluated ILASP on a sentence chunking dataset that has previously been used to evaluate the INSPIRE system (Kamzi et al. 2017).
As sentences are unstructured data, in order to use a logic-based system, we need to do some preprocessing. In (Kamzi et al. 2017), the dataset was processed using the Stanford CoreNLP library, to convert each sentence into a set of Part Of Speech (POS) tags, as shown in the image below.
For this experiment, we used the same sets of POS tags generated in (Kamzi et al. 2017). The task is then to learn rules based on these POS tags to determine where to split each sentence.
As this is a very noisy dataset, the goal was not to find a set of rules which covered all examples, but to find a set that explained the majority of them. We compared ILASP to INSPIRE on the two versions of the dataset. The results are shown below – there are 5 categories of sentences, and two versions of the dataset for each category, one with 100 sentences and the other with 500 sentences. Each result is the average F1 score resulting from 11-fold cross validation.
|Dataset||INSPIRE F1 score||ILASP F1 score|
|Dataset||INSPIRE F1 score||ILASP F1 score|
ILASP performed better than INSPIRE in every category. One explanation for this is that ILASP is guaranteed to find an optimal solution to the learning problem, whereas INSPIRE only approximates the optimisation problem. Furthermore, as part of INSPIRE's algorithm uses a time limit, on larger datasets, the approximation can be worse than on smaller datasets. This is noticeable in the results — in 4 out of the 5 categories, INSPIRE performs better with 100 examples than with 500 examples. On the other hand, ILASP performs better with 500 examples in 4 out of the 5 categories, which is closer to what one would expect – if a learner is given more data, it should perform better on average.