# US 2021/0241344 A1 · Personalized item recommendations through large-scale deep-embedding architecture with real-time inferencing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0241344 A1
- Document ID: US20210241344A1
- Status: Published application
- Kind: A1
- Application number: 16/777,571
- Filed: 2020-01-30
- Published: 2021-08-05
- Earliest claimed: 2020-01-30
- Assignees: Walmart Apollo, LLC
- Applicants: Walmart Apollo, LLC
- Inventors: Aditya Mantha; Yokila Arora; Shubham Gupta; Praveenkumar Kanumala; Stephen Dean Guo; Kannan Achan
- Web page: https://patentgrep.com/patent/US20210241344A1

## CPC

- G06Q 30/0631: {Recommending goods or services}
- G06F 16/9035: Filtering based on additional data, e.g. user or group profiles
- G06Q 30/0635: {replenishment orders; recurring orders}
- G06Q 30/0641: {utilising user interfaces specially adapted for shopping}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method including training two sets of item embeddings for items in an item catalog and a set of user embeddings for users, using a triple embeddings model, with triplets. The triplets each can include a respective first user of the users, a respective first item from the item catalog, and a respective second item from the item catalog, in which the respective first user selected the respective first item and the respective second item in a respective same basket. The method also can include generating an approximate nearest neighbor index for the two sets of item embeddings. The method additionally can include receiving a basket including basket items selected by a user from the item catalog. The method further can include grouping the basket items of the basket into categories based on a respective item category of each of the basket items. The method additionally can include randomly sampling a respective anchor item from each of the categories. The method further can include generating a respective list of complementary items for the respective anchor item for the each of the categories based on a respective lookup call to the approximate nearest neighbor index using a query vector associated with the user and the respective anchor item. The method additionally can include building a list of personalized recommended items for the user based on the respective lists of the complementary items for the categories. The method further can include sending instructions to display, to the user on a user interface of a user device, at least a portion of the list of personalized recommended items. Other embodiments are disclosed.

## Claims

### Claim 1

A system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing computing instructions configured to run on the one or more processors and perform:
training two sets of item embeddings for items in an item catalog and a set of user embeddings for users, using a triple embeddings model, with triplets, wherein the triplets each comprise a respective first user of the users, a respective first item from the item catalog, and a respective second item from the item catalog, in which the respective first user selected the respective first item and the respective second item in a respective same basket;
generating an approximate nearest neighbor index for the two sets of item embeddings;
receiving a basket comprising basket items selected by a user from the item catalog;
grouping the basket items of the basket into categories based on a respective item category of each of the basket items;
randomly sampling a respective anchor item from each of the categories;
generating a respective list of complementary items for the respective anchor item for the each of the categories based on a respective lookup call to the approximate nearest neighbor index using a query vector associated with the user and the respective anchor item;
building a list of personalized recommended items for the user based on the respective lists of the complementary items for the categories; and
sending instructions to display, to the user on a user interface of a user device, at least a portion of the list of personalized recommended items.

### Claim 2 (depends on 1)

The system of claim 1, wherein the query vector is generated for the user and the respective anchor item using the two sets of item embeddings and the set of user embeddings.

### Claim 3 (depends on 1)

The system of claim 1, wherein the approximate nearest neighbor index is periodically precomputed using a similarity search library.

### Claim 4 (depends on 1)

The system of claim 1, wherein the set of user embeddings for the users are loaded into a memory cache before the respective lookup calls are made.

### Claim 5 (depends on 1)

The system of claim 1, wherein the respective lookup calls to the approximately nearest neighbor index are made in parallel across the categories.

### Claim 6 (depends on 1)

The system of claim 1, wherein building the list of personalized recommended items for the user further comprises:
filtering the respective list of the complementary items for the each of the categories based on complementary subcategories;
performing a weighted sampling of the respective list of the complementary items for the each of the categories to generate a sampled sub-list of the list of the complementary items for the each of the categories; and
merging the sampled sub-lists for the categories to generate a unified list.

### Claim 7 (depends on 6)

The system of claim 6, wherein filtering the respective list of the complementary items for the each of the categories based on the complementary subcategories further comprises:
receiving lift scores for subcategories of the complementary items; and
applying the lift scores for the complementary items to remove, from the respective list of the complementary items, popular co-bought items in the subcategories that are unrelated to a subcategory of the respective anchor item for the each of the categories.

### Claim 8 (depends on 6)

The system of claim 6, wherein performing the weighted sampling of the respective list of the complementary items for the each of the categories further comprises:
for the each of the categories, sampling a respective quantity of items from the respective list of the complementary items proportional to a respective quantity of the basket items in the each of the categories with respect to a total quantity of the basket items in the basket.

### Claim 9 (depends on 1)

The system of claim 1, wherein the triple embeddings model is trained with the triplets using an adaptive moment estimation optimizer to optimize a co-occurrence log-likelihood of each of the triplets.

### Claim 10 (depends on 1)

The system of claim 1, wherein the portion of the list of personalized recommended items is displayed to the user on a checkout page for the basket, wherein the checkout page appears on the user interface of the user device.

### Claim 11

A method being implemented via execution of computing instructions configured to run at one or more processors and stored at one or more non-transitory computer-readable media, the method comprising:
training two sets of item embeddings for items in an item catalog and a set of user embeddings for users, using a triple embeddings model, with triplets, wherein the triplets each comprise a respective first user of the users, a respective first item from the item catalog, and a respective second item from the item catalog, in which the respective first user selected the respective first item and the respective second item in a respective same basket;
generating an approximate nearest neighbor index for the two sets of item embeddings;
receiving a basket comprising basket items selected by a user from the item catalog;
grouping the basket items of the basket into categories based on a respective item category of each of the basket items;
randomly sampling a respective anchor item from each of the categories;
generating a respective list of complementary items for the respective anchor item for the each of the categories based on a respective lookup call to the approximate nearest neighbor index using a query vector associated with the user and the respective anchor item;
building a list of personalized recommended items for the user based on the respective lists of the complementary items for the categories; and
sending instructions to display, to the user on a user interface of a user device, at least a portion of the list of personalized recommended items.

### Claim 12 (depends on 11)

The method of claim 11, wherein the query vector is generated for the user and the respective anchor item using the two sets of item embeddings and the set of user embeddings.

### Claim 13 (depends on 11)

The method of claim 11, wherein the approximate nearest neighbor index is periodically precomputed using a similarity search library.

### Claim 14 (depends on 11)

The method of claim 11, wherein the set of user embeddings for the users are loaded into a memory cache before the respective lookup calls are made.

### Claim 15 (depends on 11)

The method of claim 11, wherein the respective lookup calls to the approximately nearest neighbor index are made in parallel across the categories.

### Claim 16 (depends on 11)

The method of claim 11, wherein building the list of personalized recommended items for the user further comprises:
filtering the respective list of the complementary items for the each of the categories based on complementary subcategories;
performing a weighted sampling of the respective list of the complementary items for the each of the categories to generate a sampled sub-list of the list of the complementary items for the each of the categories; and
merging the sampled sub-lists for the categories to generate a unified list.

### Claim 17 (depends on 16)

The method of claim 16, wherein filtering the respective list of the complementary items for the each of the categories based on the complementary subcategories further comprises:
receiving lift scores for subcategories of the complementary items; and
applying the lift scores for the complementary items to remove, from the respective list of the complementary items, popular co-bought items in the subcategories that are unrelated to a subcategory of the respective anchor item for the each of the categories.

### Claim 18 (depends on 16)

The method of claim 16, wherein performing the weighted sampling of the respective list of the complementary items for the each of the categories further comprises:
for the each of the categories, sampling a respective quantity of items from the respective list of the complementary items proportional to a respective quantity of the basket items in the each of the categories with respect to a total quantity of the basket items in the basket.

### Claim 19 (depends on 11)

The method of claim 11, wherein the triple embeddings model is trained with the triplets using an adaptive moment estimation optimizer to optimize a co-occurrence log-likelihood of each of the triplets.

### Claim 20 (depends on 11)

The method of claim 11, wherein the portion of the list of personalized recommended items is displayed to the user on a checkout page for the basket, wherein the checkout page appears on the user interface of the user device.
