Algorithms for learning user inputs, and for offering suggestions
I'm searching for an algorithm respectively a method for learning user
actions (inputs) in a certain program, and, based on a built information
base of done user actions, to offer suggestions for future actions to the
user. The information base should be built from the actions of multiple
users using the same software. The user actions are dependent on the order
in which they occur. This means, that a suggestion should be made based on
already done user actions in a session. A session is an abstract time
period, in which the user works with the software.
In my initial approach, I thought of moddeling the user actions in a
directed graph, where each node represents a unique user action instance.
A user action, done for the very first time, generates a new node. The
nodes have a counter representing how often a user did this user action. A
transition from one node to another exists, when a user action is done
after another one (modelling the sequence of user actions). For every
transition, the probability is computed based on the counters of the
subsequent nodes (i.e. nodes, to which there is a transition). There is a
root node as starting point, which directs to all initial nodes (user
actions done first in a session). This could be a (hidden) Markov model,
but I am not sure. It is definitely not a Bayesian network, because it can
be a cyclic graph (desireable).
Are there already methods, algorithms, libraries etc. for this problem? If
not, how is my approach? Any alternatives, better ideas?
No comments:
Post a Comment