Reinforcement Learning-Based Framework for the Intelligent Adaptation of User Interfaces
<|reference_start|>Reinforcement Learning-Based Framework for the Intelligent Adaptation of User Interfaces: Adapting the user interface (UI) of software systems to meet the needs and preferences of users is a complex task. The main challenge is to provide the appropriate adaptations at the appropriate time to offer value to end-users. Recent advances in Machine Learning (ML) techniques may provide effective means to support the adaptation process. In this paper, we instantiate a reference framework for Intelligent User Interface Adaptation by using Reinforcement Learning (RL) as the ML component to adapt user interfaces and ultimately improving the overall User Experience (UX). By using RL, the system is able to learn from past adaptations to improve the decision-making capabilities. Moreover, assessing the success of such adaptations remains a challenge. To overcome this issue, we propose to use predictive Human-Computer Interaction (HCI) models to evaluate the outcome of each action (ie adaptations) performed by the RL agent. In addition, we present an implementation of the instantiated framework, which is an extension of OpenAI Gym, that serves as a toolkit for developing and comparing RL algorithms. This Gym environment is highly configurable and extensible to other UI adaptation contexts. The evaluation results show that our RL-based framework can successfully train RL agents able to learn how to adapt UIs in a specific context to maximize the user engagement by using an HCI model as rewards predictor.<|reference_end|>
@article{gaspar-figueiredo2024reinforcement,
    title={Reinforcement Learning-Based Framework for the Intelligent Adaptation of
  User Interfaces},
    author={Daniel Gaspar-Figueiredo, Marta Fern'andez-Diego, Ruben Nuredini,
  Silvia Abrah~ao, Emilio Insfr'an},
    journal={arXiv preprint arXiv:2405.09255},
    year={2024},
    doi={10.1145/3660515.3661329},
    archivePrefix={arXiv},
    eprint={2405.09255},
    primaryClass={cs.HC cs.SE}
}