IP Library Granted Patent US 9,582,547
Granted Patent B2
US 9,582,547 · App. 14/083,285 · Granted Feb 28, 2017

Generalized graph, rule, and spatial structure based recommendation engine

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 9,582,547
App. No.
14/083,285
Granted
Feb 28, 2017
Kind
B2
Abstract

One embodiment of the present invention provides a recommendation system. During operation, the system receives context information associated with the user, updates a plurality of user models based on the received context information, and identifies at least one spatial data structure that stores a plurality of items. A respective item is stored within the spatial data structure based on a vector value associated with the item. The system then queries the spatial data structure to obtain a first set of recommendable items that have vector values within a predetermined range, calculates a score for each item within the set of recommendable items based on the plurality of the user models and a characterization vector associated with each item, ranks the items within the set of recommendable items based on calculated scores, and recommends one or more top-ranked items to the user.

Claims (77)

1. A method for providing a recommendation to a user, comprising:

receiving context information associated with the user;

updating a plurality of user models based on the received context information;

identifying a spatial data structure that stores a plurality of items, wherein the spatial data structure corresponds to a vector space, and wherein a respective item is stored within the spatial data structure based on a vector value associated with the item;

determining a subspace within the vector space based on the updated user models, wherein boundaries of the subspace indicate acceptable ranges of vector values;

querying the spatial data structure to obtain a first set of recommendable items that are included in the determined subspace;

calculating a score for each item within the obtained first set of recommendable items based on the plurality of the user models and a characterization vector associated with each item, wherein calculating the score involves calculating a model-specific output for each user model and calculating a weighted sum of model-specific outputs over the plurality of user models;

ranking the items within the obtained first set of recommendable items based on calculated scores; and

recommending one or more top-ranked items to the user.

2. The method of claim 1 , wherein calculating the model-specific output involves:

identifying elements in the characterization vector that correspond to parameters of the user model; and

calculating the model-specific output as a function of the identified elements and the corresponding parameters of the user model.

3. The method of claim 1 , further comprising:

identifying an additional spatial data structure that corresponds to a different vector space;

querying the additional spatial data structure to obtain a second set of recommendable items; and

generating a combined set of recommendable items using the first and the second sets of recommendable items.

4. The method of claim 1 , wherein the plurality of items includes one or more of:

a web page;

a consumer item;

an activity;

a venue; and

a location.

5. The method of claim 1 , further comprising updating a context graph associated with the user based on the received context information.

6. The method of claim 1 , wherein the spatial data structure is segmented into cells, and wherein a respective cell stores items having vector values within boundaries of the cell.

7. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for providing a recommendation to a user, the method comprising:

receiving context information associated with the user;

updating a plurality of user models based on the received context information;

identifying a spatial data structure that stores a plurality of items, wherein the spatial data structure corresponds to a vector space, and wherein a respective item is stored within the spatial data structure based on a vector value associated with the item;

determining a subspace within the vector space based on the updated user models, wherein boundaries of the subspace indicate acceptable ranges of vector values;

querying the spatial data structure to obtain a first set of recommendable items that are included in the determined subspace;

calculating a score for each item within the obtained first set of recommendable items based on the plurality of the user models and a characterization vector associated with each item, wherein calculating the score involves calculating a model-specific output for each user model and calculating a weighted sum of model-specific outputs over the plurality of user models;

ranking the items within the obtained first set of recommendable items based on calculated scores; and

recommending one or more top-ranked items to the user.

8. The computer-readable storage medium of claim 7 , wherein calculating the model-specific output involves:

identifying elements in the characterization vector that correspond to parameters of the user model; and

calculating the model-specific output as a function of the identified elements and the corresponding parameters of the user model.

9. The computer-readable storage medium of claim 7 , wherein the method further comprises:

identifying an additional spatial data structure that corresponds to a different vector space;

querying the additional spatial data structure to obtain a second set of recommendable items; and

generating a combined set of recommendable items using the first and the second sets of recommendable items.

10. The computer-readable storage medium of claim 7 , wherein the plurality of items includes one or more of:

a web page;

a consumer item;

an activity;

a venue; and

a location.

11. The computer-readable storage medium of claim 7 , wherein the method further comprises updating a context graph associated with the user based on the received context information.

12. The computer-readable storage medium of claim 7 , wherein the spatial data structure is segmented into cells, and wherein a respective cell stores items having vector values within boundaries of the cell.

13. A recommendation computer system for providing a recommendation to a user, comprising:

a processor;

a memory;

an activity-detection module configured to detect user activities and/or interests based on context information associated with the user;

a model-updating mechanism configured to update a plurality of user models based on an output of the activity-detection module;

a spatial data structure configured to store a plurality of items, wherein the spatial data structure corresponds to a vector space, and wherein a respective item is stored within the spatial data structure based on a vector value associated with the item;

a subspace-determination module configured to determine a subspace within the vector space based on the updated user models, wherein boundaries of the subspace indicate acceptable ranges of vector values;

a querying mechanism configured to query the spatial data structure to obtain a first set of recommendable items that are included in the determined subspace; and

a mixed-model recommender configured to:

calculate a score for each item within the obtained first set of recommendable items based on the plurality of the user models and a characterization vector associated with each item, wherein calculating the score involves calculating a model-specific output for each user model and calculating a weighted sum of model-specific outputs over the plurality of user models;

rank the items within the obtained first set of recommendable items based on calculated scores; and

recommend one or more top-ranked items to the user.

14. The recommendation system of claim 13 , wherein while calculating the model-specific output, the mixed-model recommender is further configured to:

identify elements in the characterization vector that correspond to parameters of the user model; and

calculate the model-specific output as a function of the identified elements and the corresponding parameters of the user model.

15. The recommendation system of claim 13 , further comprising:

an additional spatial data structure that corresponds to a different vector space;

wherein the querying mechanism is further configured to:

query the additional spatial data structure to obtain a second set of recommendable items; and

generate a combined set of recommendable items using the first and the second sets of recommendable items.

16. The recommendation system of claim 13 , wherein the plurality of items includes one or more of:

a web page;

a consumer item;

an activity;

a venue; and

a location.

17. The recommendation system of claim 13 , further comprising a context graph updating mechanism configured to update a context graph based on the output of the activity-detection module.

18. The recommendation system of claim 13 , wherein the spatial data structure is segmented into cells, and wherein a respective cell stores items having vector values within boundaries of the cell.

19. The recommendation system of claim 13 , further comprising an item-characterization module configured to generate a characterization vector for an item.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2025
From: XEROX CORPORATION
To: GENESEE VALLEY INNOVATIONS, LLC
Reel/Frame 073842/0479 →
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVAL OF US PATENTS 9356603, 10026651, 10626048 AND INCLUSION OF US PATENT 7167871 PREVIOUSLY RECORDED ON REEL 064038 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 28, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064161/0001 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064038/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2013
From: ROBERTS, MICHAEL; AHERN, SHANE P.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 031632/0643 →