# US 11,907,886 B2 · Machine learning for product assortment analysis

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

- Number: US 11,907,886 B2
- Document ID: US11907886B2
- Status: Granted
- Kind: B2
- Application number: 17/538,796
- Filed: 2021-11-30
- Published: 2023-06-01
- Granted: 2024-02-20
- Earliest claimed: 2021-11-30
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Oliver Grob; Jens Mansfeld
- Web page: https://patentgrep.com/patent/US11907886B2

## CPC

- G06Q 10/08: Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- 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/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/045: Combinations of networks
- G06N 3/048: Activation functions
- G06N 3/08: Learning methods
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N 20/10: using kernel methods, e.g. support vector machines [SVM]
- G06T 15/00: Three-dimensional [3D] image rendering
- 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
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

In an example embodiment, a machine learning algorithm is used to train a machine-learned model to create a three-dimensional representation of products, with each product mapped into a coordinate in the three-dimensional space. The model selects the coordinates based on the similarity of the product to other products. Coordinates that are closer geometrically in the three-dimensional space represent products that are similar to each other, whereas as the coordinates get further and further away, this implies that the products are less and less similar. This machine-learned model then not only allows for quick analysis of multiple products, as similarity between products or groups of products can be performed using geometric calculations (e.g., cosine distance), but also can then be tied into a three-dimensional representation that can be displayed either on a two-dimensional display or displayed on a three-dimensional display.

## Claims

### Claim 1

A system comprising:
at least one hardware processor; and
a non-transitory computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising:
accessing data regarding a plurality of sample products, the data including four or more attribute types and, for each product in the plurality of sample products, a value for each of the four or more attribute types;
forming a vector for each product in the plurality of sample products, the vector being an array comprising the values for each of the four or more attribute types;
training an embedding machine-learned model using a first machine learning algorithm to produce a trained embedding machine-learned model, the training comprising feeding the vectors for the plurality of sample products into the first machine learning algorithm, the first machine learning algorithm, in response to the feeding, learning an embedding in a three dimensional space for each vector, the embedding representing a set of parameters to apply to an input vector in order to map the input vector to a set of coordinates in the three dimensional space;
accessing data regarding a plurality of products, the data regarding the plurality of products including the four or more attribute types and, for each product in the plurality of products, a value for each of the four or more attribute types;
forming a vector for each product in the plurality of products, the vector being an array comprising the values for each of the four or more attribute types; and;
feeding the vectors for the plurality of products into the trained embedding machine-learned model to obtain an embedding for each product in the plurality of products; and
storing the embedding for each product in a data structure; and
rendering a graphical user interface displaying a three-dimensional graph, with the embeddings for each product in the plurality of products in the data structure displayed as points in the three-dimensional graph corresponding to their respective set of coordinates.

### Claim 2 (depends on 1)

The system of claim 1, wherein the first machine learning algorithm is a recurrent neural network (RNN).

### Claim 3 (depends on 2)

The system of claim 2, wherein the RNN uses Long Short-Term Memories (LSTMs).

### Claim 4 (depends on 1)

The system of claim 1, wherein the data structure is a graph.

### Claim 5 (depends on 1)

The system of claim 1, wherein the operations further comprise determining how similar a first product in the plurality of products is to a second product in the plurality of products based on a geometric distance between the set of coordinates corresponding to the embedding for the first product and the set of coordinates corresponding to the embedding for the second product, as stored in the data structure.

### Claim 6 (depends on 1)

The system of claim 1, wherein the operations further comprise performing a clustering algorithm on the embeddings in the data structure to identify groups of similar products.

### Claim 7 (depends on 1)

The system of claim 1, wherein a category for each product in the plurality of products is indicated in the graphical user interface as a color or shading for each point.

### Claim 8 (depends on 1)

The system of claim 1, wherein a value for a key performance index (KPI) for each product is indicated in the graphical user interface as a size of the corresponding point.

### Claim 9 (depends on 1)

The system of claim 1, wherein the data is obtained from master data.

### Claim 10 (depends on 9)

The system of claim 9, wherein a portion of the data is structured as attributes in the master data while another portion of the data is unstructured text; and
wherein the operations further comprise using a second machine-learned model to perform natural language processing on the unstructured text to convert it to structured text.

### Claim 11

A method comprising:
accessing data regarding a plurality of sample products, the data including four or more attribute types and, for each product in the plurality of sample products, a value for each of the four or more attribute types;
forming a vector for each product in the plurality of sample products, the vector being an array comprising the values for each of the four or more attribute types;
training an embedding machine-learned model using a first machine learning algorithm to produce a trained embedding machine-learned model, the training comprising feeding the vectors for the plurality of sample products into the first machine learning algorithm, the first machine learning algorithm, in response to the feeding, learning an embedding in a three dimensional space for each vector, the embedding representing a set of parameters to apply to an input vector in order to map the input vector to a set of coordinates in the three dimensional space;
accessing data regarding a plurality of products, the data regarding the plurality of products including the four or more attribute types and, for each product in the plurality of products, a value for each of the four or more attribute types;
forming a vector for each product in the plurality of products, the vector being an array comprising the values for each of the four or more attribute types; and;
feeding the vectors for the plurality of products into the trained embedding machine-learned model to obtain an embedding for each product in the plurality of products; and
storing the embedding for each product in a data structure; and
rendering a graphical user interface displaying a three-dimensional graph, with the embeddings for each product in the plurality of products in the data structure displayed as points in the three-dimensional graph corresponding to their respective set of coordinates.

### Claim 12 (depends on 11)

The method of claim 11, wherein the first machine learning algorithm is a recurrent neural network (RNN).

### Claim 13 (depends on 12)

The method of claim 12, wherein the RNN uses Long Short-Term Memories (LSTMs).

### Claim 14 (depends on 11)

The method of claim 11, wherein the data structure is a graph.

### Claim 15 (depends on 11)

The method of claim 11, further comprising determining how similar a first product in the plurality of products is to a second product in the plurality of products based on a geometric distance between the set of coordinates corresponding to the embedding for the first product and the set of coordinates corresponding to the embedding for the second product, as stored in the data structure.

### Claim 16

A non-transitory machine-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:
accessing data regarding a plurality of sample products, the data including four or more attribute types and, for each product in the plurality of sample products, a value for each of the four or more attribute types;
forming a vector for each product in the plurality of sample products, the vector being an array comprising the values for each of the four or more attribute types;
training an embedding machine-learned model using a first machine learning algorithm to produce a trained embedding machine-learned model, the training comprising feeding the vectors for the plurality of sample products into the first machine learning algorithm, the first machine learning algorithm, in response to the feeding, learning an embedding in a three dimensional space for each vector, the embedding representing a set of parameters to apply to an input vector in order to map the input vector to a set of coordinates in the three dimensional space;
accessing data regarding a plurality of products, the data regarding the plurality of products including the four or more attribute types and, for each product in the plurality of products, a value for each of the four or more attribute types;
forming a vector for each product in the plurality of products, the vector being an array comprising the values for each of the four or more attribute types; and;
feeding the vectors for the plurality of products into the trained embedding machine-learned model to obtain an embedding for each product in the plurality of products; and
storing the embedding for each product in a data structure; and
rendering a graphical user interface displaying a three-dimensional graph, with the embeddings for each product in the plurality of products in the data structure displayed as points in the three-dimensional graph corresponding to their respective set of coordinates.

### Claim 17 (depends on 16)

The non-transitory machine-readable medium of claim 16, wherein the first machine learning algorithm is a recurrent neural network (RNN).
