IP Library › Granted Patent US 8,326,777
Granted Patent B2
US 8,326,777 · App. 12/533,632 · Granted Dec 4, 2012

Supplementing a trained model using incremental data in making item recommendations

Assignee: Yahoo! Inc.
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 8,326,777
App. No.
12/533,632
Granted
Dec 4, 2012
Kind
B2
Abstract

Incremental training data is used to supplement a trained model to provide personalized recommendations for a user. The personalized recommendations can be made by taking into account the user's behavior, such as, without limitation, the user's short and long term web page interactions, to identify item recommendations. A trained model is generated from training data indicative of the web page interaction data collected from a plurality of users. Incremental training data indicative of other web page interaction data can be used to supplement the trained model, or in place of the trained model. Incremental training data can be indicative of user behavior collected more recently than the data used to train the model, for example.

Claims (75)

1. A method comprising:

generating, using at least one processor, training data from data identifying user web page interactions for a plurality of users, the training data comprising information to identify each user of the plurality and a plurality of items associated with the web page interactions of the plurality of users;

training, using the at least one processor and the generated training data, a model to be used in making item recommendations;

receiving an item recommendation request, the request identifying a requesting user;

making, using the at least one processor, a determination whether to use short-term user behavior to make a recommendation;

responsive to making a determination not to use short-term user behavior, the at least one processor using item scoring in the trained model, the item scoring identifying a plurality of scored items and the corresponding scores;

responsive to making a determination to use short-term user behavior, the at least one processor:

generating a short-term cluster membership vector using a current item identified from behavior of the user and the trained model, the short-term membership vector identifying a probability for each cluster identified in the trained model that the user belongs to the cluster;

generating the plurality of scored items, each item having an association with at least one cluster identified in the trained model and having a cluster score corresponding to each cluster association, an item's score being determined using the item's cluster score and the probability that the user belongs for each cluster associated with the item;

selecting, by the at least one processor, items from the plurality of scored items based on the item scoring; and

providing, by the at least one processor, the selected items as item recommendations for the requesting user.

2. The method of claim 1 , the trained model identifying a plurality of clusters, the plurality of users and the plurality of items, for each cluster, the model identifies for each user of the probability of users a probability that the user belongs to the cluster, and for each cluster, the model identifies for each item of the plurality of items a probability that the item belongs to the cluster.

3. The method of claim 1 , wherein the current item is identified from a web page interaction of the requesting user and is other than the web page interactions used to train the model, generating a short-term cluster membership vector further comprising:

generating an incremental user scoring vector using the current item and an item cluster membership vector for the item in the trained model, the item cluster membership vector identifying a probability for each cluster identified in the trained model that the item belongs to the cluster;

generating the short-term cluster membership vector using the incremental user scoring vector.

4. The method of claim 3 , further comprising:

applying a decay factor to the incremental user scoring vector before generating the short-term cluster membership vector using the incremental user scoring vector.

5. The method of claim 1 , generating a plurality of scores further comprising:

determining, for each item of the plurality of scored items, a product for each cluster association of the item, the product being determined using the item's cluster score and the probability that the user belongs to the cluster; and

aggregating the plurality of products.

6. The method of claim 1 , the trained model comprising a long-term cluster membership vector, generating a short-term cluster membership vector further comprising:

combining the long-term cluster membership vector with the short-term cluster membership vector to form the short-term cluster membership vector.

7. The method of claim 6 , combining the long-term cluster membership vector with the short-term cluster membership vector further comprising:

generating a weighted long-term cluster membership vector by applying a first weight to the long-term cluster membership vector;

generating a weighted short-term cluster membership vector by applying a second weight to the short-term cluster membership vector: and

combining the weighted long-term cluster membership vector with the weighted short-term cluster membership vector to form the short-term cluster membership vector.

8. A system comprising:

at least one computing device, the at least one computing device comprising:

a training data generator that generates training data from data identifying user web page interactions for a plurality of users, the training data comprising information to identify each user of the plurality and a plurality of items associated with the web page interactions of the plurality of users;

a model generator that trains a model to be used in making item recommendations;

a scoring engine that:

receives an item recommendation request, the request identifying a requesting user;

makes a determination whether to use short-term user behavior to make a recommendation;

responsive to making a determination not to use short-term user behavior, uses item scoring in the trained model, the item scoring identifying a plurality of scored items and the corresponding scores;

responsive to making a determination to use short-term user behavior, the scoring engine:

generates a short-term cluster membership vector using a current item identified from behavior of the user and the trained model, the short-term membership vector identifying a probability for each cluster identified in the trained model that the user belongs to the cluster;

generates the plurality of scored items, each item having an association with at least one cluster identified in the trained model and having a cluster score corresponding to each cluster association, an item's score being determined using the item's cluster score and the probability that the user belongs for each cluster associated with the item; and

a recommendation engine that selects items from the plurality of scored items based on the item scoring, and provides the selected items as item recommendations for the requesting user.

9. The system of claim 8 , the trained model identifying a plurality of clusters, the plurality of users and the plurality of items, for each cluster, the model identifies for each user of the probability of users a probability that the user belongs to the cluster, and for each cluster, the model identifies for each item of the plurality of items a probability that the item belongs to the cluster.

10. The system of claim 8 , wherein the current item is identified from a web page interaction of the requesting user and is other than the web page interactions used to train the model:

the scoring engine generates the short-term cluster membership vector by generating an incremental user scoring vector using the current item and an item cluster membership vector for the item in the trained model, the item cluster membership vector identifying a probability for each cluster identified in the trained model that the item belongs to the cluster, and generating the short-term cluster membership vector using the incremental user scoring vector.

11. The system of claim 10 , wherein scoring engine applies a decay factor to the incremental user scoring vector before it generates the short-term cluster membership vector using the incremental user scoring vector.

12. The system of claim 8 , the scoring engine generates a plurality of scores by determining, for each item of the plurality of scored items, a product for each cluster association of the item, the product being determined using the item's cluster score and the probability that the user belongs to the cluster, and aggregating the plurality of products.

13. The system of claim 8 , the trained model comprising a long-term cluster membership vector, the scoring engine:

combines the long-term cluster membership vector with the short-term cluster membership vector to form the short-term cluster membership vector.

14. The system of claim 13 , the scoring engine combines the long-term cluster membership vector with the short-term cluster membership vector by:

generating a weighted long-term cluster membership vector by applying a first weight to the long-term cluster membership vector;

generating a weighted short-term cluster membership vector by applying a second weight to the short-term cluster membership vector: and

combining the weighted long-term cluster membership vector with the weighted short-term cluster membership vector to form the short-term cluster membership vector.

15. A non-transitory computer-readable medium tangibly storing thereon computer-executable process steps, the process steps comprising:

generating training data from data identifying user web page interactions for a plurality of users, the training data comprising information to identify each user of the plurality and a plurality of items associated with the web page interactions of the plurality of users;

training, using the generated training data, a model to be used in making item recommendations;

receiving an item recommendation request, the request identifying a requesting user;

making a determination whether to use short-term user behavior to make a recommendation;

responsive to making a determination not to use short-term user behavior, using item scoring in the trained model, the item scoring identifying a plurality of scored items and the corresponding scores;

responsive to making a determination to use short-term user behavior:

generating a short-term cluster membership vector using a current item identified from behavior of the user and the trained model, the short-term membership vector identifying a probability for each cluster identified in the trained model that the user belongs to the cluster;

generating the plurality of scored items, each item having an association with at least one cluster identified in the trained model and having a cluster score corresponding to each cluster association, an item's score being determined using the item's cluster score and the probability that the user belongs for each cluster associated with the item;

selecting items from the plurality of scored items based on the item scoring; and

providing, by the at least one processor, the selected items as item recommendations for the requesting user.

16. The non-transitory computer-readable medium of claim 15 , the trained model identifying a plurality of clusters, the plurality of users and the plurality of items, for each cluster, the model identifies for each user of the probability of users a probability that the user belongs to the cluster, and for each cluster, the model identifies for each item of the plurality of items a probability that the item belongs to the cluster.

17. The non-transitory computer-readable medium of claim 15 , wherein the current item is identified from a web page interaction of the requesting user and is other than the web page interactions used to train the model, generating a short-term cluster membership vector further comprising:

generating an incremental user scoring vector using the current item and an item cluster membership vector for the item in the trained model, the item cluster membership vector identifying a probability for each cluster identified in the trained model that the item belongs to the cluster;

generating the short-term cluster membership vector using the incremental user scoring vector.

18. The non-transitory computer-readable medium of claim 17 , further comprising:

applying a decay factor to the incremental user scoring vector before generating the short-term cluster membership vector using the incremental user scoring vector.

19. The non-transitory computer-readable medium of claim 15 , generating a plurality of scores further comprising:

determining, for each item of the plurality of scored items, a product for each cluster association of the item, the product being determined using the item's cluster score and the probability that the user belongs to the cluster; and

aggregating the plurality of products.

20. The non-transitory computer-readable medium of claim 15 , the trained model comprising a long-term cluster membership vector, generating a short-term cluster membership vector further comprising:

combining the long-term cluster membership vector with the short-term cluster membership vector to form the short-term cluster membership vector.

21. The non-transitory computer-readable medium of claim 20 , combining the long-term cluster membership vector with the short-term cluster membership vector further comprising:

generating a weighted long-term cluster membership vector by applying a first weight to the long-term cluster membership vector;

generating a weighted short-term cluster membership vector by applying a second weight to the short-term cluster membership vector: and

combining the weighted long-term cluster membership vector with the weighted short-term cluster membership vector to form the short-term cluster membership vector.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2021
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 055283/0483 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2009
From: ZHANG, QIONG; DU, WEI; YU, WEI; NAG, BISWADEEP; DONG, JESSI
To: YAHOO! INC.
Reel/Frame 023037/0832 →
Continuity (1)
Related Publication 20110029464A1 · Feb 3, 2011