# US 12,002,082 B2 · Method, medium, and system for providing trait-focused recommendations of computer applications

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

- Number: US 12,002,082 B2
- Document ID: US12002082B2
- Status: Granted
- Kind: B2
- Application number: 17/476,363
- Filed: 2021-09-15
- Published: 2023-03-16
- Granted: 2024-06-04
- Earliest claimed: 2021-09-15
- Assignees: Shopify Inc.
- Applicants: Shopify Inc.
- Inventors: Paul Rizk
- Web page: https://patentgrep.com/patent/US12002082B2

## CPC

- G06Q 30/0631: {Recommending goods or services}
- G06F 16/9535: Search customisation based on user profiles and personalisation
- 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

Systems, methods and computer readable medium are provided for receiving a first set of recommendations of computer applications from a recommendations engine having an input layer, at least one hidden layer and an output layer, the recommendations generated based on a set of input features characterizing an entity; identifying a commonality among at least some recommendations for defining a priority trait for the entity; associating the priority trait with at least one priority feature from the set of input features; generating a modification for modifying at least one of: the set of input features provided as input to the recommendations engine to emphasize those features associated with the priority feature, or at least one weight of the hidden layer in the recommendations engine to bias selection of the priority feature; providing the modification to the recommendations engine to generate a second set of recommendations for display on a computing device.

## Claims

### Claim 1

A computer-implemented method for dynamically generating recommendations of computer applications, the method comprising:
receiving a first set of recommendations of potential computer applications of interest from a recommendations engine having a neural network input layer, at least one neural network hidden layer and a neural network output layer, wherein the recommendations engine includes a plurality of interconnected nodes divided among the layers, the first set of recommendations generated based on a set of input features characterizing an entity provided to the recommendations engine;
identifying a commonality among at least some recommendations of the first set of recommendations, the commonality defining a priority trait for the entity;
associating the priority trait with at least one priority feature from the set of input features;
generating a modification, the modification modifying at least one of:
the set of input features at one or more input nodes of the plurality of interconnected nodes provided as input to the recommendations engine so as to emphasize those features associated with the priority feature, the one or more input nodes being neural network nodes of the neural network input layer, or
at least one weight of one or more hidden nodes of the plurality of interconnected nodes in the recommendations engine to bias selection of the priority feature, the one or more hidden nodes being neural network nodes of the at least one neural network hidden layer;
providing the modification to the recommendations engine to generate a second set of recommendations of potential computer applications of interest; and,
transmitting the second set of recommendations to a computing device for the entity for presentation thereon.

### Claim 2 (depends on 1)

The method of claim 1, wherein the modification modifies the set of input features provided as input to the recommendations engine to emphasize those features associated with the priority feature, and wherein the priority feature being emphasized comprises weighting each priority feature more heavily than other features in the set of input features as input to the recommendations engine so as to bias the recommendations engine towards the priority feature.

### Claim 3 (depends on 2)

The method of claim 2, wherein the priority feature being emphasized further comprises: applying a scalar multiple to the priority feature to at least double a weighting of that feature as compared to the other features.

### Claim 4 (depends on 1)

The method of claim 1, wherein the modification modifies at least one weight of the at least one neural network hidden layer in the recommendations engine to bias selection of the priority feature, and wherein modifying at least one weight of the one or more hidden nodes of the plurality of interconnected nodes comprises: modifying weights in a first hidden layer at each neural network node receiving the priority feature to bias selecting the priority feature over the other input features.

### Claim 5 (depends on 1)

The method of claim 1, wherein the at least some recommendations amongst which the commonality is identified comprise recommendations associated with a higher degree of certainty than other recommendations of the first set of recommendations.

### Claim 6 (depends on 1)

The method of claim 1, wherein determining the commonality comprises clustering the first set of recommendations to automatically group together data points with characteristics determined to be similar and assigning each said group to categories of recommendations.

### Claim 7 (depends on 1)

The method of claim 1, wherein associating the priority trait with the at least one priority feature from the set of input features comprises analyzing the set of input features to identify features that highly contribute to particular recommendations provided by the recommendations engine and associated with the commonality.

### Claim 8 (depends on 1)

The method of claim 1, wherein:
presenting the second set of recommendations comprises associating the second set of recommendations with the priority trait common to the at least some recommendations of the first set of recommendations; and
transmitting the second set of recommendations comprises providing an instruction to the computing device for the entity to display a reasoning for the second set of recommendations based on associating.

### Claim 9 (depends on 1)

The method of claim 1, wherein the recommendations engine employs a machine learning model.

### Claim 10 (depends on 1)

The method of claim 1, wherein presenting the second set of recommendations comprises automatically downloading the computer applications associated with the second set of recommendations onto the computing device for the entity for subsequent execution upon selection.

### Claim 11 (depends on 1)

The method of claim 1, further comprising: iteratively instructing re-running the recommendations engine two or more times to generate another set of recommended applications, each of the iterations emphasizing at least one other commonality and a respective set of commonality combinations identified in the first set of recommendations and a corresponding set of input features to the recommendations engine on a prior execution of the recommendations engine.

### Claim 12

A non-transitory computer readable medium having instructions tangibly stored thereon, wherein the instructions, when executed cause a system to:
receive a first set of recommendations of potential computer applications of interest from a recommendations engine having a neural network input layer, at least one neural network hidden layer and a neural network output layer, wherein the recommendations engine includes a plurality of interconnected nodes divided among the layers, the first set of recommendations generated based on a set of input features characterizing an entity provided to the recommendations engine;
identify a commonality among at least some recommendations of the first set of recommendations, the commonality defining a priority trait for the entity;
associate the priority trait with at least one priority feature from the set of input features;
generate a modification, the modification modifying at least one of:
the set of input features at one or more input nodes of the plurality of interconnected nodes provided as input to the recommendations engine so as to emphasize those features associated with the priority feature, the one or more input nodes being neural network nodes of the neural network input layer, or
at least one weight of one or more hidden nodes of the plurality of interconnected nodes in the recommendations engine to bias selection of the priority feature, the one or more hidden nodes being neural network nodes of the at least one neural network hidden layer;
provide the modification to the recommendations engine to generate a second set of recommendations of potential computer applications of interest; and,
transmit the second set of recommendations to a computing device for the entity for presentation thereon.

### Claim 13

A computer system for dynamically generating recommendations of computer applications, the computer system comprising:
a processor in communication with a storage, the processor configured to execute instructions stored on the storage to cause the system to:
receive a first set of recommendations of potential computer applications of interest from a recommendations engine having a neural network input layer, at least one neural network hidden layer and a neural network output layer, wherein the recommendations engine includes a plurality of interconnected nodes divided among the layers, the first set of recommendations generated based on a set of input features characterizing an entity provided to the recommendations engine;
identify a commonality among at least some recommendations of the first set of recommendations, the commonality defining a priority trait for the entity;
associate the priority trait with at least one priority feature from the set of input features;
generate a modification, the modification to modify at least one of:
the set of input features at one or more input nodes of the plurality of interconnected nodes provided as input to the recommendations engine so as to emphasize those features associated with the priority feature, the one or more input nodes being neural network nodes of the neural network input layer, or
at least one weight of one or more hidden nodes of the plurality of interconnected nodes in the recommendations engine to bias selection of the priority feature, the one or more hidden nodes being neural network nodes of the at least one neural network hidden layer;
provide the modification to the recommendations engine to generate a second set of recommendations of potential computer applications of interest; and,
transmit the second set of recommendations to a computing device for the entity for presentation thereon.

### Claim 14 (depends on 13)

The system of claim 13, wherein the modification modifies the set of input features provided as input to the recommendations engine to emphasize those features associated with the priority feature, and wherein the priority feature being emphasized comprises the instructions causing the system to weigh each priority feature more heavily than other features in the set of input features as input to the recommendations engine so as to bias the recommendations engine towards the priority feature.

### Claim 15 (depends on 14)

The system of claim 14, wherein the priority feature being emphasized further comprises the instructions causing the system to: apply a scalar multiple to the priority feature to at least double a weighting of that feature as compared to the other features.

### Claim 16 (depends on 13)

The system of claim 13, wherein the modification modifies at least one weight of the at least one neural network hidden layer in the recommendations engine to bias selection of the priority feature, and wherein modifying at least one weight of the one or more hidden nodes of the plurality of interconnected nodes comprises: modifying weights in a first hidden layer at each neural network node receiving the priority feature to bias selecting the priority feature over the other input features.

### Claim 17 (depends on 13)

The system of claim 13, wherein the at least some recommendations amongst which the commonality is identified comprise recommendations associated with a higher degree of certainty than other recommendations of the first set of recommendations.

### Claim 18 (depends on 13)

The system of claim 13, wherein determining the commonality comprises clustering the first set of recommendations to automatically group together data points with characteristics determined to be similar and assigning each said group to categories of recommendations.

### Claim 19 (depends on 13)

The system of claim 13, wherein associating the priority trait with the at least one priority feature from the set of input features comprises analyzing the set of input features to identify features that highly contribute to particular recommendations provided by the recommendations engine and associated with the commonality.

### Claim 20 (depends on 13)

The system of claim 13, wherein presenting the second set of recommendations comprises the instructions causing the system to: automatically download the computer applications associated with the second set of recommendations onto the computing device for the entity for subsequent execution upon selection.
