Predicting next actions by users of networked services
Abstract
Clusters of users of networked services are defined based on tasks performed by such users during such networked services. Activities of the users during sessions of the networked services are tracked, and representations of such users or such activities are used to train a model to predict activities of users in the future, including but not limited to services utilized by such users, or pages visited by such users. Subsequently, when a user accesses a networked service during a session, activities of the user may be determined, and a representation of the session is provided as an input to the model, along with contextual information such as an identifier of the persona of the user. A next action, e.g., a service or a page utilized by the user, may be predicted based on outputs received from the model.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A first computer system comprising:
one or more computer processors;
one or more memory components; and
one or more data stores,
wherein the first computer system is programmed with one or more sets of instructions that, when executed, cause the first computer system to perform a method comprising:
identifying a plurality of tasks, wherein each of the plurality of tasks is associated with at least one of a plurality of networked services provided by the first computer system to one or more other computer systems;
defining a plurality of personas, wherein each of the plurality of personas is defined to include at least one of the plurality of tasks;
determining data regarding a plurality of user sessions, wherein the data identifies, for each of the plurality of user sessions, at least one of the plurality of networked services accessed by a user during one of the plurality of user sessions and a page visited by the user during the one of the plurality of user sessions;
generating sequences for each of the plurality of user sessions, wherein each of the sequences comprises:
a text-based identifier of a networked service and a page of the networked service;
a text-based identifier of another networked service and a page of the other networked service; and
a text-based token provided between the text-based identifiers;
training a model to generate representations of users based at least in part on the sequences of the plurality of user sessions;
defining a set of clusters of a plurality of representations of the users, wherein each of the set of clusters comprises at least one of the plurality of representations;
mapping each of the set of clusters to one of the personas;
determining first data regarding a first user session of a first user, wherein the first data identifies at least a first networked service of the plurality of networked services accessed by the first user during the first user session and a first page visited by the first user during the first user session;
determining a first persona of the first user, wherein the first persona is one of the plurality of personas;
generating a first sequence for the first user based at least in part on at least some of the first data and the first persona, wherein the first sequence comprises:
a first text-based identifier of a first networked service and a first page of the first networked service;
a second text-based identifier of one of the first networked service or a second networked service and a second page of one of the first networked service or the second networked service; and
a third text-based identifier of the first persona;
a first text-based token provided between the first text-based identifier and the second text-based identifier; and
a second text-based token provided between the second text-based identifier and the third text-based identifier;
providing the first sequence of the first user as a first input to the model;
receiving a first output from the model; and
selecting at least one of a third networked service or a third page based at least in part on the first output.
2. The first computer system of claim 1 , wherein the model is a bidirectional encoder representations from transformers having a plurality of layers.
3. The first computer system of claim 1 , further comprising:
receiving survey data from computer devices of each of the users, wherein the plurality of tasks are identified based at least in part on the survey data.
4. The first computer system of claim 1 , wherein each of the plurality of networked services is one of a web-based application, a cloud computing function, a monitoring application, a database management application or an integrated development environment.
5. The computer system of claim 1 , wherein mapping each of the set of clusters to the one of the personas comprises:
generating a one-hot encoding for each of the personas, wherein the one-hot encoding comprises values of zero for tasks not included in a persona and values of one for tasks included in the persona; and
mapping each of the set of clusters to one of the personas based at least in part on the one-hot encodings.
6. A networked service provider comprising:
at least one computer system having at least one computer processor and at least one data store,
wherein the at least one data store is programmed with one or more sets of instructions, and
wherein the one or more sets of instructions, when executed by the at least one computer processor, cause the at least one computer system to execute a method comprising:
receiving first data from a first computer device of a first user, wherein the first data identifies:
a first networked service of the networked service provider used by the first user during a first user session and a first page visited by the first user during the first user session; and
a second networked service of the networked service provider used by the first user during the first user session and a second page visited by the first user during the first user session;
determining a first persona of the first user, wherein the first persona is defined based at least in part on a first task unique to the first persona and a second task shared by the first persona and a second persona;
generating a first sequence of activity of the first user based at least in part on at least some of the first data and the first persona, wherein the first sequence of activity comprises:
a first set of text identifying the first networked service and the first page;
a first token following the first set of text;
a second set of text identifying the second networked service and the second page;
a second token following the second set of text; and
a third set of text associated with the first persona;
providing the first sequence of activity of the first user as a first input to a model, wherein the model is trained to select an activity for a user based at least in part on a sequence of activity of the user;
receiving a first output from the model; and
selecting a first activity for the first user based at least in part on the first output.
7. The networked service provider of claim 6 , wherein the method further comprises:
identifying a plurality of tasks performed by users of a plurality of networked services provided by the networked service provider, wherein each of the first networked service and the second networked service is one of the plurality of networked services; and
defining a plurality of personas based at least in part on the plurality of tasks, wherein each of the plurality of personas is defined to include at least one task unique to a persona and at least one task shared with another persona, and
wherein each of the first persona and the second persona is one of the plurality of personas.
8. The networked service provider of claim 6 , wherein the first networked service is a first one of a web-based application, a cloud computing function, a monitoring application, a database management application or an integrated development environment, and
wherein the second networked service is a second one of a web-based application, a cloud computing function, a monitoring application, a database management application or an integrated development environment.
9. The networked service provider of claim 6 , wherein the model comprises one of:
a bidirectional encoder representations from transformers having a plurality of layers;
a principal component analysis; or
a singular value decomposition.
10. A method comprising:
receiving, by a computer system, first data from a first computer device of a first user, wherein the first data identifies:
a first networked service used by the first user during a first user session and a first page visited by the first user during the first user session; and
a second networked service used by the first user during the first user session and a second page visited by the first user during the first user session;
determining, by the computer system, a first persona of the first user, wherein the first persona is defined based at least in part on a first task unique to the first persona and a second task shared by the first persona and a second persona;
generating, by the computer system, a first sequence of activity of the first user based at least in part on at least some of the first data and the first persona, wherein the first sequence of activity comprises:
a first set of text identifying the first networked service and the first page;
a first token following the first set of text;
a second set of text identifying the second networked service and the second page;
a second token following the second set of text; and
a third set of text associated with the first persona;
providing, by the computer system, the first sequence of activity of the first user as a first input to a model, wherein the model is trained to select an activity for a user based at least in part on a sequence of activity of the user;
receiving, by the computer system, a first output from the model; and
selecting, by the computer system, a first activity for the first user based at least in part on the first output.
11. The method of claim 10 , further comprising:
identifying, by the computer system, a plurality of tasks performed by users of a plurality of networked services provided by the computer system, wherein each of the first networked service and the second networked service is one of the plurality of networked services; and
defining, by the computer system, a plurality of personas based at least in part on the plurality of tasks, wherein each of the plurality of personas is defined to include at least one task unique to a persona and at least one task shared with another persona, and
wherein each of the first persona and the second persona is one of the plurality of personas.
12. The method of claim 11 , wherein identifying the plurality of tasks comprises:
receiving, by the computer system, survey data from computer devices of each of the users of the plurality of networked services, wherein the plurality of tasks are identified based at least in part on the survey data.
13. The method of claim 10 , wherein the first networked service is a first one of a web-based application, a cloud computing function, a monitoring application, a database management application or an integrated development environment, and
wherein the second networked service is a second one of a web-based application, a cloud computing function, a monitoring application, a database management application or an integrated development environment.
14. The method of claim 10 , wherein the model comprises one of:
a bidirectional encoder representations from transformers having a plurality of layers;
a principal component analysis; or
a singular value decomposition.
15. The method of claim 10 , wherein the first networked service is one of a plurality of networked services provided by the computer system,
wherein the second networked service is one of the plurality of networked services provided by the computer system, and
wherein the method further comprises:
determining, by the computer system, data regarding a plurality of user sessions, wherein the data identifies at least one networked service of the plurality of networked services accessed by one of a plurality of users during one of the plurality of user sessions and a page visited by the one of the plurality of users during the one of the plurality of user sessions;
determining, by the computer system, sequences of activity of the plurality of users based at least in part on the data regarding the plurality of user sessions; and
training, by the computer system, the model to select the activity for the user based at least in part on a set of training inputs and a set of training outputs, wherein the set of training inputs comprises the sequences of activity of the plurality of users, and wherein the set of training outputs comprises identifiers of networked services or pages visited by the plurality of users.
16. The method of claim 10 , wherein the first data further identifies at least a second activity of the first user during the first user session and a third activity of the first user during the second user session,
wherein the first set of text further identifies the second activity,
wherein the second set of text further identifies the third activity.
17. The method of claim 10 , wherein the first set of text further identifies at least one of a first widget or a first application programming interface provided on the first page, and
wherein the second set of text further identifies at least one of a second widget or a second application programming interface provided on the second page.
18. The method of claim 10 , further comprising:
identifying, by the computer system, at least one task performed by the first user during a second user session, wherein the second user session preceded the first user session; and
selecting, by the computer system, one of the plurality of personas based at least in part on the at least one task,
wherein the first persona is the selected one of the plurality of personas.
19. The method of claim 10 , wherein the first networked service is one of a plurality of networked services provided by the computer system,
wherein the second networked service is one of the plurality of networked services, and
wherein the method further comprises:
determining data regarding a plurality of user sessions, wherein the data identifies at least one networked service of the plurality of networked services accessed by one of a plurality of users during one of the plurality of user sessions and a page visited by the one of the plurality of users during the one of the plurality of user sessions;
determining sequences of activity of the plurality of users based at least in part on the data regarding the plurality of user sessions, wherein each of the sequences of activity comprises a text-based identifier of one of the plurality of users;
providing the sequences of activity as inputs to the model;
receiving outputs from the model in response to the inputs;
generating representations of the plurality of users based at least in part on the outputs;
generating at least a first cluster of the representations and a second cluster of the representations according to a clustering algorithm; and
mapping each of the clusters to one of a plurality of personas, wherein the plurality of personas comprises the first persona.
20. The method of claim 10 , wherein selecting the first activity comprises:
causing, by the computer system, a third page associated to be presented to the first user by the first computer device during one of the first user session or a second user session,
wherein the third page is associated with the first activity.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.