# US 12,182,849 B2 · Product recommendations based on characteristics from end user-generated text

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

- Number: US 12,182,849 B2
- Document ID: US12182849B2
- Status: Granted
- Kind: B2
- Application number: 18/420,362
- Filed: 2024-01-23
- Published: 2024-05-16
- Granted: 2024-12-31
- Earliest claimed: 2022-01-31
- Assignees: Home Depot Product Authority, LLC
- Applicants: Home Depot Product Authority, LLC
- Inventors: Tianlong Xu; Haozheng Tian; Nian Yan; Harish Nair
- Web page: https://patentgrep.com/patent/US12182849B2

## CPC

- G06Q 30/0631: {Recommending goods or services}
- G06F 40/20: Natural language analysis (semantic analysis of natural language G06F40/30)
- G06F 40/40: Processing or translation of natural language (natural language analysis G06F40/20; semantic analysis G06F40/30)
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/08: Learning methods
- G06Q 30/0282: Rating or review of business operators or products
- G06Q 30/0627: {by specifying product or service characteristics, e.g. product dimensions}
- G06Q 30/0641: {utilising user interfaces specially adapted for shopping}
- G06Q 30/0643: {graphically representing goods, e.g. 3D product representation}
- 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)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A method for generating a related product interface portion in an electronic user interface based on user-generated text includes identifying, for each product of a plurality of products, one or more respective characteristics from end user-generated text associated with the product, whereby a plurality of characteristics are identified for the plurality of products. The method further includes determining a plurality of characteristic groups, each group comprising two or more of the plurality of characteristics, wherein the characteristics within a group are similar to each other; receiving, from a user through the electronic user interface, an input related to a product category; and in response to receiving the user input, generating and presenting the related product interface portion that includes a respective product from each of the two or more of the characteristic groups related to the category.

## Claims

### Claim 1

A method comprising:
(i) applying, to respective end user-generated text associated with each product of a plurality of products, a machine learning model trained to output portions of the end user-generated text that include a plurality of characteristics associated with the plurality of products;
(ii) generating a plurality of embeddings vectors, each of the plurality of embeddings vectors representative of a respective one of the plurality of characteristics;
(iii) identifying an initial vector of the plurality of embeddings vectors as having a shortest average distance to the plurality of embeddings vectors;
(iv) defining an initial cluster of embeddings vectors as the plurality of embeddings vectors within a threshold distance of the initial vector, the initial cluster being a first cluster in one or more clusters;
(v) identifying a further vector of the plurality of embeddings vectors having a shortest average distance to the plurality of embeddings vectors not in a cluster of the one or more clusters;
(vi) defining a further cluster of embeddings vectors as the plurality of embeddings vectors within a threshold distance of the further vector and adding the further cluster to the one or more clusters;
(vii) repeating (v) and (vi) until each of the plurality of embeddings vectors is within a cluster of the one or more clusters;
(viii) receiving an input related to a product category; and
(ix) generating and presenting a graphical user interface that includes a respective product from the defined cluster associated with the product category.

### Claim 2 (depends on 1)

The method of claim 1, wherein each of the plurality of characteristics comprises one or more plaintext words from the end user-generated text.

### Claim 3 (depends on 1)

The method of claim 1, further comprising: determining a respective representative word for each cluster of the one or more clusters; determining a pairwise similarity of each characteristic to the representative word for each cluster; and adding products to the plurality of clusters according to matches in the pairwise similarity.

### Claim 4 (depends on 3)

The method of claim 3, wherein the representative word of the first cluster corresponds to the first vector.

### Claim 5 (depends on 1)

The method of claim 1, further comprising: selecting, for each cluster of the one or more clusters, a respective representative product according to one or more of respective popularities of the products within the group or a confidence score associated with the determination of the characteristic from the end user-generated text associated with the product.

### Claim 6 (depends on 1)

The method of claim 1, wherein the plurality of products are within a same product category.

### Claim 7 (depends on 1)

The method of claim 1, wherein the machine learning model is a natural language processing model.

### Claim 8

A system for generating a related product interface portion in an electronic user interface based on user text, the system comprising:
a non-transitory, computer-readable medium storing instructions; and
a processor configured to execute the instructions to:
(i) apply, to respective end user-generated text associated with each product of a plurality of products, a machine learning model trained to output portions of the end user-generated text that include a plurality of characteristics associated with the plurality of products;
(ii) generate a plurality of embeddings vectors, each of the plurality of embeddings vectors representative of a respective one of the plurality of characteristics;
(iii) identify an initial vector of the plurality of embeddings vectors as having a shortest average distance to the plurality of embeddings vectors;
(iv) define an initial cluster of embeddings vectors as the plurality of embeddings vectors within a threshold distance of the initial vector, the initial cluster being a first cluster in one or more clusters;
(v) identify a second vector of the plurality of embeddings vectors having a shortest average distance to the plurality of embeddings vectors not in the first cluster;
(vi) define a further cluster of embeddings vectors as the plurality of embeddings vectors within a threshold distance of the further vector and add the further cluster to the one or more clusters;
(vii) repeat steps (v) and (vi) until each of the plurality of embeddings vectors is within a cluster of the one or more clusters;
(viii) receive an input related to a product category; and
(ix) generate and present a graphical user interface that includes a respective product from the defined cluster associated with the product category.

### Claim 9 (depends on 8)

The system of claim 8, wherein each of the plurality of characteristics comprises one or more plaintext words from the end user-generated text.

### Claim 10 (depends on 8)

The system of claim 8, wherein the instructions further cause the processor to: determine a respective representative word for each cluster of the one or more clusters; determine a pairwise similarity of each characteristic to the representative word for each cluster; and add products to the plurality of clusters according to matches in the pairwise similarity.

### Claim 11 (depends on 10)

The system of claim 10, wherein the representative word of the first cluster corresponds to the first vector.

### Claim 12 (depends on 8)

The system of claim 8, wherein the instructions further cause the processor to: select, for each cluster of the one or more clusters, a respective representative product according to one or more of respective popularities of the products within the group or a confidence score associated with the determination of the characteristic from the end user-generated text associated with the product.

### Claim 13 (depends on 8)

The system of claim 8, wherein the plurality of products are within a same product category.

### Claim 14 (depends on 8)

The system of claim 8, wherein the machine learning model is a natural language processing model.

### Claim 15

A non-transitory computer-readable storage medium storing program instructions that, when executed by a processor, cause a computer system to perform operations comprising:
(i) applying, to respective end user-generated text associated with each product of a plurality of products, a machine learning model trained to output portions of the end user-generated text that include a plurality of characteristics associated with the plurality of products;
(ii) generating a plurality of embeddings vectors, each of the plurality of embeddings vectors representative of a respective one of the plurality of characteristics;
(iii) identifying an initial vector of the plurality of embeddings vectors as having a shortest average distance to the plurality of embeddings vectors;
(iv) defining an initial cluster of embeddings vectors as the plurality of embeddings vectors within a threshold distance of the initial vector, the initial cluster being a first cluster in one or more clusters;
(v) identifying a further vector of the plurality of embeddings vectors having a shortest average distance to the plurality of embeddings vectors not in a cluster of the one or more clusters;
(vi) defining a further cluster of embeddings vectors as the plurality of embeddings vectors within a threshold distance of the further vector and adding the further cluster to the one or more clusters;
(vii) repeating steps (v) and (vi) until each of the plurality of embeddings vectors is within a cluster of the one or more clusters;
(viii) receiving an input related to a product category; and
(ix) generating and presenting a graphical user interface that includes a respective product from the defined cluster associated with the product category.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein each of the plurality of characteristics comprises one or more plaintext words from the end user-generated text.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the operations further comprise: determining a respective representative word for each cluster of the one or more clusters; determining a pairwise similarity of each characteristic to the representative word for each cluster; and adding products to the plurality of clusters according to matches in the pairwise similarity.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the operations further comprise: selecting, for each cluster of the one or more clusters, a respective representative product according to one or more of respective popularities of the products within the group or a confidence score associated with the determination of the characteristic from the end user-generated text associated with the product.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the plurality of products are within a same product category.

### Claim 20 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the machine learning model is a natural language processing model.
