I have performed by Ph.D. research on adaptive personalisation. A digital version can be found here. A summary is found below. If you want a paper version please contact me.
Unlike humans, computers generally do not take their peers in communication into account. Adding to this the increasing complexity of information systems, the need for adaptive personalisation is there.
In this thesis we look at adaptive systems from the perspective of interactive systems. As most systems are, or can be seen as, interactive systems this should pose no problem.
In interactive systems users cause events. These events can be passed on to an adaptation system to maintain a user model. The events also cause the interactive system to react. These reactions may be parameterised by the user model.
In this thesis the following research questions are addressed:
- How can adaptive personalisation be integrated into user adaptive systems?
- How can adaptive personalisation be evaluated?
To answer these questions it is essential to first provide a model of user adaptive systems. We introduce the Generic Adaptivity Model (GAM). The GAM divides the system into four layers: the application layer, the interface layer, the reasoning layer and the user model layer. It is important to notice that the reasoning layer consists of two reasoning components: the push adaptation component and the pull adaptation component.
The push adaptation component is responsible for transforming user events into user model updates. As such it maintains the user model and the reasoning happens when users perform events. It is not necessary that these updates have been completed for the application to react to the user events.
The pull adaptation component is responsible to using the user model to answer questions about the user that influence the system reaction to the user. As such this is computed at the moment a reaction is required and is more time critical than push reasoning.
The behaviour of an adaptation component largely standard. As such it makes sense to create an adaptation engine that can be used in conjunction with an adaptation description to implement the adaptation component. The adaptation description then describes, by means of a script language, the push and pull reasoning to be performed as well as the events and questions to be recognised.
Related elements in an adaptation model can be grouped together into an adaptation element. Together all adaptation elements in an adaptation model form an adaptation graph. This dependency graph can be used to visualise an adaptation model.
In evaluating adaptation models the final evaluation involves testing with users. There are however two other evaluation layers that are less costly. The first evaluation layer involves a rough evaluation on the kind of reasoning used (push or pull). The second layer performs a detailed structural analysis of an adaptation model.
The evaluation layers work on a number of dimensions. These dimensions are: predictability, adaptability, supportability, control, speed, extensibility, model size, privacy, concurrency and prediction quality. In the structural evaluation level a number of indicators are used for each dimension.
Looking at the GAM it has a number of benefits:
- It will allow different applications to cooperatively maintain properties by using common names and merging adaptation models.
- It has strong capabilities for ensuring privacy and user control over the user models.
- By cooperative modelling more information be used to have more effective personalisations.
- The model is very generic and does not prescribe reasoning models. As such it is broadly applicable.
- The model coexists well with the evaluation framework and does not violate any dimension.
To answer the question how to integrate adaptive personalisation we introduce a seven stage method for creating adaptation models. In the first step the application is analysed. In the second step possible personalisation opportunities are determined. In the third step questions about the user are found. In the fourth step the user properties are determined. The fifth step determines the events needed to maintain the user model. The sixth step combines the results and cleans out infeasible options. Finally the seventh step evaluates the options to select only the best opportunities for adaptive personalisation.