Stuck? No Worries: Task-aware Command Recommendation and Proactive Help for Analysts
Using topic modeling (BTM) for unsupervised modeling of in-software user-tasks in order to improve command recommendation, and proactively assisting analysts as they interact with the software
Novice users of certain software often face challenges due to insufficienct product and domain knowledge -- this is further amplified when the concerned software involves complex workflows (think of your first few stints with Adobe Photoshop). In this work, we aim to alleviate the cognitive load on users of such software. There are two major parts to this:
(i) Providing task-aware command recommendations, and
(ii) Proactively providing help when user seems stuck
To do this, we treat interactions of a user with the UI (i.e., clicking on certain icons, scrolling, drag-and-drops, etc.) as a sequence of commands. Since most of the times users have a high-level task in mind that they intend to complete using these sequence of commands, we use topic modeling (think LDA or BTM) to learn task distributions of these sequences in an unsupervised manner. This task distribution is further used by sequence modeling techniques -- ranging from first order Markov models to more sophisticated RNN-based models -- to proivde future command recommendations.
Some of these sequences of commands (derived from what is commonly known as application logs or product-usage logs) contain instances of users seeking help. These could be either by clicking on the in-product help icon, or opening the documentation. Such instances from data are used to model help-seeking behavior of users. The proposed models aim to identify the need of help as the user is executing commands in the software interface, and proactively suggests them to seek help if they seem stuck (think of a help icon turning red and starting to blink).
We experiment with first order Markov models (FirstMM), probabilistic suffix trees (PST), recurrent neural networks (RNN) to solve the task of next command recommendation (baselines). To make these recommendations "task-aware", we propose and experiment with variants such as TaskPST and TaskRNN -- they try to incorporate the identified task distributions (using BTM) to provide guiding signals. On empirical comparison of proposed models against the baselines, we observe that incorporating task distributions improves the accuracy of command recommendation models.
How good are the task-distributions?: We didn't know. So we went around asking experts who have several years of experience with the software under consideration and they said the distributions broadly made sense.
We formulate this as a binary classification problem -- there's a sequence of commands leading upto a "help action" or not. To allow our models to capture sufficient context before the user seeks help, we only consider sequences in which help is sought after a specified number of commands have been executed from the start of the session. Qualitative analysis of our models show that they are capable of modeling heuristics which have existed in literature -- like, inefficient command sequences (repeating commands in loops, using undo commands), frequent searches, abrupt long pauses, etc. We also notice that leveraging temporal information associated with execution of these commands leads to an enhanced performance of proposed models.