Dynamic monitoring of software use with recurrent neural networks
Résumé
User interaction with a software may be formalized as a sequence of actions. In this paper we propose two methods-based on different representations of input actions-to address two distinct industrial issues: next action prediction and software crash risk detection. Both methods take advantage of the recurrent structure of Long Short Term Memory neural networks to capture dependencies among our sequential data as well as their capacity to potentially handle different types of input representations for the same data. Given the history of user actions in the interface, our first method aims at predicting the next action. The proposed recurrent neural network outperforms state-of-the-art proactive user interface algorithms with standard one-hot vectors as inputs. Besides, we propose to feed the LSTM with actions embeddings. This continuous representation performs better than one-hot encoded vector LSTM and its lower dimension reduces at the same time the computational cost. Using the same data set, the second method aims at crash risk detection. To address this task, we propose to use feature vectors composed of actions with above average crash probabilities as inputs of the LSTM-with the idea to take advantage of its ability to learn relevant past information to detect crash patterns. The method outperforms state-of-the-art sequence classification methods. Our approaches are demonstrated on medical imaging software logs from ten different hospitals worldwide, though they might be applied to various user interfaces in a wide range of applications.