User Preference Learning


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.