IP Library Granted Patent US 12,093,979
Granted Patent B2
US 12,093,979 · App. 17/147,980 · Granted Sep 17, 2024

Systems and methods for generating real-time recommendations

Inventors: Yokila Arora (Sunnyvale, CA); Gaoyang Wang (San Jose, CA); Shashank Kedia (Sunnyvale, CA); Shubham Gupta (Sunnyvale, CA); Aditya Mantha (San Jose, CA); Praveenkumar Kanumala (Newark, CA); Stephen Dean Guo (Saratoga, CA); Kannan Achan (Saratoga, CA)
Assignee: Walmart Apollo, LLC
G06Q30/0256G06Q30/0253G06Q30/0631
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 12,093,979
App. No.
17/147,980
Granted
Sep 17, 2024
Kind
B2
Abstract

This application relates to apparatus and methods for providing recommended items to advertise. In some examples, a computing device determines a first set of items for recommendation based on historical user data associated with a user, and a second set of items for recommendation based on real-time user session data for the user. The computing device may then determine a subset of the first set of items based on associated scores and a predetermined threshold number of first items that can be presented for optimal user interaction. The computing device may generate a set of item recommendations by combining the subset of the first set of items and at least one of the second set of items to present to the user as advertisements.

Claims (65)

1. A system comprising:

a non-transitory memory having instructions stored thereon; and

a processor configured to read the instructions to:

receive, from a user device, a search request including a user identifier associated with the search request, wherein the search request is generated during a current session;

receive user session data identifying one or more activities of the user from one or more servers, wherein the user session data is associated with the current session, and wherein the one or more activities are representative of interactions between the user device and the one or more servers;

receive historical user data associated with the user from a database;

generate a first set of embeddings based on the historical user data;

implement a trained favorite model to generate a first set of items from a plurality of items based on the first set of embeddings, wherein the trained favorite model is configured to apply a logit function to perform a pairwise comparison of each item in the plurality of items;

generate user intent for the current session based at least in part on the user session data, wherein the user intent is based at least in part on a set of items associated with the current user session;

generate a second set of embeddings based on the user session data;

train a context model based on pre-trained user embeddings and item embeddings, wherein the user embeddings are representative of a plurality of users during historical user sessions and the item embeddings are representative of items paired together during a corresponding historical user session;

implement the trained context model to generate a second set of items from the plurality of items based on the second set of embeddings and the user intent, the second set of items being different from the first set of items, and wherein the trained context model is configured to receive a data triplet including an embedding selected from the second set of embeddings and pre-trained feature embeddings associated with each of a first item and a second item;

implement a ranking model to generate a third set of items by re-ranking a combination of the first set of items and the second set of items, the third set of items including at least one item from the first set of items and at least one item from the second set of items, wherein the third set of items are determined by a trained ranking model configured to receive the first set of embeddings and the second set of embeddings; and

generate a user interface including the third set of items, wherein the user interface is presented via the user device.

2. The system of claim 1 , wherein the historical user data includes user interaction data and user transaction data during prior user sessions.

3. The system of claim 1 , wherein the third set of items include a predetermined number of items including a threshold number of items from the first set of items and a remainder of the predetermined number of items from the second set of items.

4. The system of claim 3 , wherein the threshold number of items from the first set of items is determined based on an opportunity cost of including another item from the first set of items being associated with diminishing returns.

5. The system of claim 1 , wherein the processor is further configured to:

determine a threshold number of items from the first set of items to include in the third set of items based on a diminishing returns algorithm;

determine a subset of the re-ranked first set of items based on the threshold number of items; and

determine the third set of items as including at least the subset of the re-ranked first set of items.

6. The system of claim 5 , wherein the first set of items are re-ranked using pre-trained user and item embeddings generated based on historical user data associated with a plurality of users.

7. The system of claim 1 , wherein the processor is further configured to transmit the third set of items to the user such that the at least one item from the first set of items is transmitted to be presented at a higher position than the at least one item from the second set of items.

8. The system of claim 1 , wherein the second set of items are determined based on likelihood of the corresponding items being bought together with session items interacted with during the user session by the user.

9. A computer-implemented method executed by a processing unit comprising:

receiving, from a user device, a search request including a user identifier associated with the search request, wherein the search request is generated during a current session;

receiving user session data identifying one or more website activities of the user from one or more servers, wherein the user session data is associated with the current session, and wherein the one or more activities are representative of interactions between the user device and the one or more servers;

receiving historical user data associated with the user from a database;

generating a first set of embeddings based on the historical user data;

implementing a trained favorite model to generate a first set of items from a plurality of items based on the first set of embeddings, wherein the trained favorite model is configured to apply a logit function to perform a pairwise comparison of each item in the plurality of items;

generating user intent for the current session based at least in part on the user session data, wherein the user intent is based at least in part on a set of items associated with the current user session;

generating a second set of embeddings based on the user session data;

training a context model based on pre-trained user embeddings and item embeddings, wherein the user embeddings are representative of a plurality of users during historical user sessions and the item embeddings are representative of items paired together during a corresponding historical user session;

implementing the trained context model to generate a second set of items from the plurality of items based on the second set of embeddings and the user intent, the second set of items being different from the first set of items, and wherein the trained context model is configured to receive a data triplet including an embedding selected from the second set of embeddings and pre-trained feature embeddings associated with each of a first item and a second item;

implementing a ranking model to generate a third set of items by re-ranking a combination of the first set of items and the second set of items, the third set of items including at least one item from the first set of items and at least one item from the second set of items, wherein the third set of items are determined by a trained ranking model configured to receive the first set of embeddings and the second set of embeddings; and

generating a user interface including the third set of items, wherein the user interface is presented via the user device.

10. The method of claim 9 , wherein the historical user data includes user interaction data and user transaction data during prior user sessions.

11. The method of claim 9 , wherein the third set of items includes a predetermined number of items for recommendation including a threshold number of items from the first set of items and a remainder of the predetermined number of items from the second set of items.

12. The method of claim 11 , wherein the threshold number of items from the first set of items is determined based on an opportunity cost of including another item from the first set of items being associated with diminishing returns.

13. The method of claim 9 , the method further comprising:

determining a threshold number of items from the first set of items to include in the third set of items based on a diminishing returns algorithm;

determining a subset of the re-ranked first set of items based on the threshold number of items; and

determining the third set of items as including at least the subset of the re-ranked first set of items.

14. The method of claim 13 , wherein the first set of items are re-ranked using pre-trained user and item embeddings generated based on historical user data associated with a plurality of users.

15. The method of claim 9 , the method further comprising transmitting the third set of items to the user such that the at least one item from the first set of items is transmitted to be presented at a higher position than the at least one item from the second set of items.

16. The method of claim 9 , wherein the second set of items are determined based on likelihood of the corresponding items being bought together with session items interacted with during the user session by the user.

17. A non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed by at least one processor, cause a device to perform operations comprising:

receiving, from a user device, a search request including a user identifier associated with the search request, wherein the search request is generated during a current session;

receiving user session data identifying one or more website activities of the user from one or more servers, wherein the user session data is associated with the current session, and wherein the one or more activities are representative of interactions between the user device and the one or more servers;

receiving historical user data associated with the user from a database;

generating a first set of embeddings based on the historical user data;

implementing a trained favorite model to generate a first set of items from a plurality of items based on the first set of embeddings, wherein the trained favorite model is configured to apply a logit function to perform a pairwise comparison of each item in the plurality of items;

generating user intent for the current session based at least in part on the user session data, wherein the user intent is based at least in part on a set of items associated with the current user session;

generating a second set of embeddings based on the user session data;

training a context model based on pre-trained user embeddings and item embeddings, wherein the user embeddings are representative of a plurality of users during historical user sessions and the item embeddings are representative of items paired together during a corresponding historical user session;

implementing the trained context model to generate a second set of items from the plurality of items based on the second set of embeddings and the user intent, the second set of items being different from the first set of items, and wherein the trained context model is configured to receive a data triplet including an embedding selected from the second set of embeddings and pre-trained feature embeddings associated with each of a first item and a second item;

implementing a ranking model to generate a third set of items by re-ranking a combination of the first set of items and the second set of items, the third set of items including at least one item from the first set of items and at least one item from the second set of items, wherein the third set of items are determined by a trained ranking model configured to receive the first set of embeddings and the second set of embeddings; and

generating a user interface including the third set of items, wherein the user interface is presented via a user device.

18. The non-transitory computer readable medium of claim 17 having instructions stored thereon, wherein the instructions, when executed by the at least one processor, further cause the device to perform operations comprising:

re-ranking the first set of items based on the user session data;

determining a threshold number of items from the first set of items to include in the third set of items based on a diminishing returns algorithm;

determining a subset of the re-ranked first set of items based on the threshold number of items; and

determining the third set of items as including at least the subset of the re-ranked first set of items.

19. The system of claim 4 , wherein the session data includes a number of items added to a cart, and wherein the opportunity cost is determined based on the number of items added to the cart for the current session.

20. The method of claim 12 , wherein the session data includes a number of items added to a cart, and wherein the opportunity cost is determined based on the number of items added to the cart for the current session.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2021
From: ARORA, YOKILA; WANG, GAOYANG; KEDIA, SHASHANK; GUPTA, SHUBHAM; MANTHA, ADITYA; KANUMALA, PRAVEENKUMAR; GUO, STEPHEN DEAN; ACHAN, KANNAN
To: WALMART APOLLO, LLC
Reel/Frame 054907/0762 →
Continuity (1)
Related Publication 20220222706A1 · Jul 14, 2022