Determining session intent
AssigneePinterest, Inc.
InventorsDorna Bandari, Daniel Isaac Lurie, Jurij Leskovec, Shuo Xiang, Tien Tran Tu Quynh Nguyen
Life of this patent
Estimating the term…
Abstract
Described are systems and methods for determining session intent of a user. Different users can use a network-based application in many different ways based on, for example, the user's purpose for using the application, the device on which the user is executing the application, the user themselves, date, time, location, etc. Through the collection of user activities during a user session, the intent of a user session can be determined. Once determined, content provided through the application can be further personalized to correspond to the determined session intent.
Claims19
A computer-implemented method, comprising:
- receiving a plurality of user actions from a plurality of user sessions to form an event log;
- removing background actions from the event log;
- removing time bound user actions from the event log;
- generating a plurality of user sessions from the event log;
- aggregating all the user actions included in the plurality of user sessions to generate an aggregation of all user actions;
- for each user action included in the aggregation of all user actions, determining a frequency indicator, wherein the frequency indicator includes a number of user sessions in which a respective user action is performed;
- comparing the frequency indicator for each user action included in the aggregation of all user actions against a threshold value;
- determining that the frequency indicator for a corresponding user action does not exceed the threshold value;
- removing the corresponding user action from the aggregation of all user actions to form a corpus of user sessions;
- determining a plurality of clusters based on the corpus of user sessions;
- and
- training a classifier to determine user sessions by providing the plurality of clusters as training inputs to train the classifier.
A computing system, comprising:
- one or more processors;
- and
- a memory coupled to the one or more processors and storing program instructions that when executed by the one or more processors cause the one or more processors to at least:
- obtain a plurality of user sessions, each of the plurality of user sessions including at least one user action;
- aggregate all the user actions included in the plurality of user sessions to generate an aggregation of all user actions;
- remove at least one user action from the aggregation of all user actions to form a corpus of user sessions based at least in part on a frequency the at least one user action is included in one or more of the plurality of user sessions;
- determine a weight for each user action included in the corpus of user sessions;
- based at least in part on the weight for each user action included in the corpus of user sessions, normalize the weight of each user action included in the corpus of user sessions;
- and
- based at least in part on the normalized weight of each user action included in the corpus of user sessions, generate a plurality of clusters from the plurality of user sessions included in the corpus of user sessions.
A method, comprising:
- receiving an event log that includes a plurality of user actions from a plurality of user sessions;
- generating a corpus of user sessions to include the plurality of user sessions;
- removing at least one user action from the corpus of user sessions to generate a reduced corpus of user sessions based at least in part on a frequency the at least one user action is included in one or more of the plurality of user sessions;
- clustering the plurality of user sessions into a plurality of clusters;
- training a classifier by providing the plurality of clusters as an input to the classifier;
- determining an error associated with each of the plurality of clusters;
- identifying a noise cluster from the plurality of clusters based at least in part on the error associated with each of the plurality of clusters;
- and
- removing the noise cluster from the plurality of clusters.
Dependencies are inferred from the claim text.