IP Library Granted Patent US 10,587,709
Granted Patent B1
US 10,587,709 · App. 15/897,108 · Granted Mar 10, 2020

Determining session intent

Inventors: Dorna Bandari (San Mateo, CA); Daniel Isaac Lurie (San Francisco, CA); Jurij Leskovec (Stanford, CA); Shuo Xiang (Burlingame, CA); Tien Tran Tu Quynh Nguyen (Redwood City, CA)
Assignee: Pinterest, Inc.
H04L67/22G06F16/313H04L67/306
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,587,709
App. No.
15/897,108
Granted
Mar 10, 2020
Kind
B1
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.

Claims (74)

1. A computer-implemented method of an online service for determining session intent of a user session, the computer-implemented method comprising:

collecting an event log that includes a plurality of user actions from a first plurality of user sessions;

clustering the first plurality of user sessions into a first plurality of clusters, wherein each user session of the first plurality of user sessions is associated with a cluster of the first plurality of clusters based at least in part on a weighting of user actions that occurred during the user session;

training a classifier to determine user sessions, wherein the first plurality of clusters are provided as training inputs to train the classifier, wherein training the classifier includes:

determining a frequency of user actions in a cluster of user sessions,

classifying each user action in the cluster of user sessions as a scoring action or a longtail action,

generating, as a representative of at least a portion of the longtail actions, a noise action,

removing the longtail actions from consideration, and

training the classifier based at least in part on the scoring actions and the noise action;

subsequent to training the classifier, receiving a user action of a user session;

determining, with the classifier and based at least in part on the user action, a session intent for the user session, wherein the determining occurs during the user session; and

in response to determining the session intent, sending for presentation as part of the user session, a content item that is likely to be of interest.

2. The computer-implemented method of claim 1 , further comprising:

in response to collecting the event log, for each user action:

determining a number of user sessions in which the user action was performed;

retaining each instance of the user action in the event log if the number of user sessions in which the user action was performed exceeds a threshold; and

removing each instance of the user action from the event log if the number of user sessions in which the user action was performed does not exceed the threshold.

3. The computer-implemented method of claim 1 , further comprising:

for each user session, weighting each user action that occurred during the user session based at least in part on a Term Frequency-Inverse Document Frequency; and

wherein the clustering is based at least in part on the weighting.

4. The computer-implemented method of claim 1 , wherein the noise action is determined as a function of the scoring actions and the longtail actions.

5. 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:

collect an event log that includes a plurality of user actions from a first plurality of user sessions;

determine a time duration of a group of time bound user actions;

determine that the time duration does not exceed a threshold;

in response to a determination that the group of time bound user actions does not exceed the threshold, remove the group of time bound user actions from the plurality of user actions;

cluster the first plurality of user sessions into a first plurality of clusters;

train a classifier to determine user sessions, wherein the first plurality of clusters are provided as training inputs to train the classifier;

subsequent to the classifier being trained, receive a user action of a user session;

determine, with the classifier and based at least in part on the user action, a session intent for the user session; and

in response to a determination of the session intent, recommend a content item to be sent for presentation as part of the user session.

6. The computing system of claim 5 , wherein each cluster of the first plurality of clusters corresponds to an intent of a plurality of intents, each intent indicative of an intent of users that performed the user actions of the user sessions associated with the respective cluster.

7. The computing system of claim 6 , wherein the intents of a plurality of intents include a browse, a clickthrough, a notification, a noise, a retrieval, a save, or a search.

8. The computing system of claim 5 , wherein the program instructions that when executed by the one or more processors further cause the one or more processors to at least:

remove from the event log, a plurality of background actions that were not performed by a user.

9. The computing system of claim 5 , wherein the program instructions that when executed by the one or more processors further cause the one or more processors to at least:

for each user session, weight each user action that occurred during the user session based at least in part on a Term Frequency-Inverse Document Frequency; and

wherein the clustering is based at least in part on the weighting.

10. The computing system of claim 5 , wherein the program instructions that when executed by the one or more processors further cause the one or more processors to at least:

in response to collecting the event log, for each user action:

determine a number of user sessions in which the user action was performed;

retain each instance of the user action in the event log if the number of user sessions in which the user action was performed exceeds a threshold; and

remove each instance of the user action from the event log if the number of user sessions in which the user action was performed does not exceed the threshold.

11. The computing system of claim 5 , wherein the program instructions that when executed by the one or more processors further cause the one or more processors to at least:

determine a frequency of user actions in a cluster of user sessions;

classify each user action in the cluster of user sessions as a scoring action or a longtail action;

remove the longtail actions from consideration;

generate a noise action as representative of at least a portion of the longtail actions; and

train the classifier based at least in part on the scoring actions and the noise action.

12. The computing system of claim 5 , wherein the content item is an advertisement corresponding to the session intent.

13. The computing system of claim 5 , wherein the plurality of user actions include user actions of a plurality of users.

14. The computing system of claim 5 , wherein the plurality of user actions include user actions across a plurality of devices.

15. A method, comprising:

receiving an event log that includes a plurality of user actions from a first plurality of user sessions;

determining a time duration of a group of time bound user actions;

determining that the time duration does not exceed a threshold;

in response to a determination that the group of time bound user actions does not exceed the threshold, removing the group of time bound user actions from the plurality of user actions;

clustering the first plurality of user sessions into a first plurality of clusters, each cluster representative of a determined session intent corresponding to the user sessions included in the respective cluster;

training a classifier to determine user sessions, wherein the first plurality of clusters are provided as training inputs to train the classifier;

subsequent to training, receiving a user action of a user session;

determining, with the classifier and based at least in part on the user action, a session intent for the user session; and

in response to the determined session intent, recommending a content item to be sent for presentation as part of the user session.

16. The method of claim 15 , wherein the classifier receives user information as part of the training inputs to train the classifier.

17. The method of claim 15 , wherein the session intent is further determined based on at least one of a user profile of a user that performed the user action, a location of the user, a time of day, a day of week, a week of year, or a device on which the user action was performed.

18. The method of claim 15 , wherein determining the session intent includes:

determining, based at least in part on the user action and user actions associated with each of the first plurality of clusters, a cluster into which the user session is to be included; and

determining, based on the cluster, the session intent.

19. The method of claim 15 , wherein training the classifier includes:

determining a frequency of user actions in a cluster of the first plurality of clusters;

classifying each user action of the cluster as either a scoring action or a longtail action;

normalizing at least the scoring actions; and

training the classifier based at least in part on the normalized scoring actions.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2019
From: BANDARI, DORNA; LURIE, DANIEL ISAAC; LESKOVEC, JURIJ; XIANG, SHUO; NGUYEN, TIEN TRAN TU QUYNH
To: PINTEREST, INC.
Reel/Frame 050624/0208 →
SECURITY INTEREST Recorded Nov 19, 2018
From: PINTEREST, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 047598/0289 →
Continuity (1)
Provisional Application 62460684 · Feb 17, 2017