IP Library Granted Patent US 11,551,281
Granted Patent B2
US 11,551,281 · App. 16/775,067 · Granted Jan 10, 2023

Recommendation engine based on optimized combination of recommendation algorithms

Inventor: Ethan Berl (San Francisco, CA)
Assignee: OPTIMIZELY, INC.
G06Q30/0631G06N20/00
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 11,551,281
App. No.
16/775,067
Granted
Jan 10, 2023
Kind
B2
Abstract

A method includes receiving a training metric, the training metric indicating a parameter to be optimized by content recommendations. A machine learning algorithm maybe used to determine a plurality of different combinations of the recommendation algorithms in the experiment, and each of one or more of the plurality of combinations may be used to generate a content recommendation for one or more visitors. The statistical performance of each of the one or more combinations in optimizing the parameter (based on the content recommendations generated by those combinations) may be monitored and a higher percentage of visitors may be allocated to a combination that generates content recommendations that are the most effective at optimizing the parameter.

Claims (79)

1. A method comprising:

receiving, at a processing device of an experiment system, a parameter associated with a set of recommendation algorithms, the set of recommendation algorithms operating as an experiment for content hosted by a content provider;

generating, by the processing device, a first combination of the recommendation algorithms having a first set of weights, the first combination comprising a first subset of the set of recommendation algorithms;

assigning each of the first combination of the recommendation algorithms to a respective one of the first set of weights;

generating, by the processing device, a second combination of the recommendation algorithms having a second set of weights, the second combination comprising a second subset of the set of recommendation algorithms;

assigning each of the second combination of the recommendation algorithms to a respective one of the second set of weights, wherein at least one weight of the second set of weights is different from the first set of weights;

generating, by the processing device, first content recommendations for a first plurality of users using the first combination of the recommendation algorithms and the associated first set of weights;

generating second content recommendations for a second plurality of users, different from the first plurality of users, using the second combination of the recommendation algorithms and the associated second set of weights;

comparing, by the processing device, a first performance of the first content recommendations with respect to the parameter to a performance of the second content recommendations with respect to the parameter; and

allocating, by a processing device, a portion of new users to the first combination of the recommendation algorithms responsive to determining that the first content recommendations generated using the first combination of the recommendation algorithms result in a better performance with respect to the parameter than the second content recommendations generated using the second combination of the recommendation algorithms, wherein subsequent content recommendations generated by the first combination of the recommendation algorithms are integrated into a user interface through which the portion of new users interact with the content provider, and

wherein the respective algorithms of the first combination of the recommendation algorithms are the same as the respective algorithms of the second combination of the recommendation algorithms.

2. The method of claim 1 , wherein generating the first content recommendations comprises:

generating an initial recommendation using each of the recommendation algorithms in the first combination of the recommendation algorithms;

multiplying each of the initial recommendations by the weight assigned to the recommendation algorithm that generated the initial recommendation;

normalizing the initial recommendations based on a strength score of each of the initial recommendations; and

combining the initial recommendations together to generate the first content recommendations.

3. The method of claim 1 , wherein the first combination of the recommendation algorithms is generated using a machine learning algorithm.

4. The method of claim 1 , further comprising:

in response to a new user, determining whether to generate content recommendations for the new user using the first combination of the recommendation algorithms or a new combination of the recommendation algorithms;

in response to determining that a new combination of the recommendation algorithms should be used, generating the new combination of the recommendation algorithms and assigning a weight to each algorithm in the new combination of the recommendation algorithms; and

generating a content recommendation for the new user using the new combination.

5. The method of claim 4 , wherein generating the new combination of the recommendation algorithms and assigning the weight to each algorithm in the new combination of the recommendation algorithms comprises:

selecting the respective weight for each algorithm of the new combination of the recommendation algorithm based on a proximity of the respective weight to the first set of weights and the second set of weights.

6. The method of claim 1 , further comprising:

for each of the first and second combinations of the recommendation algorithms, monitoring a time variation of the performance of the combination with respect to the parameter.

7. The method of claim 1 , wherein one or more of the first combination of the recommendation algorithms is an algorithm hosted separately from the remaining recommendation algorithms of the first combination of the recommendation algorithms.

8. A system comprising:

a memory to store a set of recommendation algorithms; and

a processing device operatively coupled to the memory, the processing device to:

receive a parameter associated with the set of recommendation algorithms, the set of recommendation algorithms operating as an experiment for content hosted by a content provider;

generate a first combination of the recommendation algorithms having a first set of weights, the first combination comprising a first subset of the set of recommendation algorithms;

assign each of the first combination of the recommendation algorithms to a respective one of the first set of weights;

generate a second combination of the recommendation algorithms having a second set of weights, the second combination comprising a second subset of the set of recommendation algorithms;

assign each of the second combination of the recommendation algorithms to a respective one of the second set of weights, wherein at least one weight of the second set of weights is different from the first set of weights;

generate first content recommendations for a first plurality of users using the first combination of the recommendation algorithms and the associated first set of weights;

generate second content recommendations for a second plurality of users, different from the first plurality of users, using the second combination of the recommendation algorithms and the associated second set of weights;

compare a first performance of the first content recommendations with respect to the parameter to a performance of the second content recommendations with respect to the parameter; and

allocate a portion of new users to the first combination of the recommendation algorithms responsive to determining that the first content recommendations generated using the first combination of the recommendation algorithms result in a better performance with respect to the parameter than the second content recommendations generated using the second combination of the recommendation algorithms, wherein subsequent content recommendations generated by the first combination of the recommendation algorithms are integrated into a user interface through which the portion of new users interact with the content provider,

wherein the respective algorithms of the first combination of the recommendation algorithms are the same as the respective algorithms of the second combination of the recommendation algorithms.

9. The system of claim 8 , wherein to generate the first content recommendations, the processing device is to:

generate an initial recommendation using each of the recommendation algorithms in the first combination of the recommendation algorithms;

multiply each of the initial recommendations by the weight assigned to the recommendation algorithm that generated the initial recommendation;

normalize the set of initial recommendations based on a strength score of each of the initial recommendations; and

combine the initial recommendations together to generate the first content recommendations.

10. The system of claim 8 , wherein the processing device uses a machine learning algorithm to generate the first combination of the recommendation algorithms.

11. The system of claim 8 , wherein the processing device is further to:

in response to a new user, determine whether to generate content recommendations for the new user using the first combination of the recommendation algorithms or a new combination of the recommendation algorithms;

in response to determining that a new combination of the recommendation algorithms should be used, generate the new combination of the recommendation algorithms and assign a weight to each algorithm in the new combination of the recommendation algorithms; and

generate a content recommendation for the new user using the new combination.

12. The system of claim 11 , wherein to generate the new combination of the recommendation algorithms and assign the weight to each algorithm in the new combination of the recommendation algorithm, the processing device is to:

select the respective weight for each algorithm of the new combination of the recommendation algorithm based on a proximity of the respective weight to the first set of weights and the second set of weights.

13. The system of claim 8 , wherein the processing device is further to:

for each of the first and second combinations of the recommendation algorithms, monitor a time variation of the performance of the combination with respect to the parameter.

14. The system of claim 8 , wherein one or more of the first combination of the recommendation algorithms is an algorithm hosted separately from the remaining recommendation algorithms of the first combination of the recommendation algorithms.

15. A non-transitory computer readable medium, having instructions stored thereon which, when executed by a processing device, cause the processing device to:

receive a parameter associated with a set of recommendation algorithms, the set of recommendation algorithms operating as an experiment for content hosted by a content provider;

generate, by the processing device, a first combination of the recommendation algorithms having a first set of weights, the first combination comprising a first subset of the set of recommendation algorithms;

assign each of the first combination of the recommendation algorithms to a respective one of the first set of weights;

generate, by the processing device, a second combination of the recommendation algorithms having a second set of weights, the second combination comprising a second subset of the set of recommendation algorithms;

assign each of the second combination of the recommendation algorithms to a respective one of the second set of weights, wherein at least one weight of the second set of weights is different from the first set of weights;

generate, by the processing device, first content recommendations for a first plurality of users using the first combination of the recommendation algorithms and the associated first set of weights;

generate second content recommendations for a second plurality of users, different from the first plurality of users, using the second combination of the recommendation algorithms and the associated second set of weights;

compare a first performance of the first content recommendations with respect to the parameter to a performance of the second content recommendations with respect to the parameter; and

allocate a portion of new users to the first combination of the recommendation algorithms responsive to determining that the first content recommendations generated using the first combination of the recommendation algorithms result in a better performance with respect to the parameter than the second content recommendations generated using the second combination of the recommendation algorithms, wherein subsequent content recommendations generated by the first combination of the recommendation algorithms are integrated into a user interface through which the portion of new users interact with the content provider,

wherein the respective algorithms of the first combination of the recommendation algorithms are the same as the respective algorithms of the second combination of the recommendation algorithms.

16. The non-transitory computer readable medium of claim 15 , wherein to generate the first content recommendations, the processing device is to:

generate an initial recommendation using each of the recommendation algorithms in the first combination of the recommendation algorithms;

multiply each of the initial recommendations by the weight assigned to the recommendation algorithm that generated the initial recommendation;

normalize the set of initial recommendations based on a strength score of each of the initial recommendations; and

combine the initial recommendations together to generate the first content recommendations.

17. The non-transitory computer readable medium of claim 15 , wherein the processing device uses a machine learning algorithm to generate the first combination of the recommendation algorithms.

18. The non-transitory computer readable medium of claim 15 , wherein the processing device is further to:

in response to a new user, determine whether to generate content recommendations for the new user using the first combination of the recommendation algorithms or a new combination of the recommendation algorithms;

in response to determining that a new combination of the recommendation algorithms should be used, generate the new combination of the recommendation algorithms and assign a weight to each algorithm in the new combination of the recommendation algorithms; and

generate a content recommendation for the new user using the new combination.

19. The non-transitory computer readable medium of claim 18 , wherein to generate the new combination of the recommendation algorithms and assign the weight to each algorithm in the new combination of the recommendation algorithm, the processing device is to:

select the respective weight for each algorithm of the new combination of the recommendation algorithm based on a proximity of the respective weight to the first set of weights and the second set of weights.

20. The non-transitory computer readable medium of claim 15 , wherein the processing device is further to:

for each of the first and second combinations of the recommendation algorithms, monitor a time variation of the performance of the combination with respect to the parameter.

Assignments (10)
TERMINATION AND RELEASE OF SECURITY INTEREST Recorded Oct 31, 2024
From: GOLUB CAPITAL MARKETS LLC
To: OPTIMIZELY NORTH AMERICA INC.
Reel/Frame 069285/0225 →
SECURITY INTEREST Recorded Oct 31, 2024
From: OPTIMIZELY NORTH AMERICA, INC.
To: GOLUB CAPITAL MARKETS LLC
Reel/Frame 069089/0588 →
MERGER Recorded Jul 3, 2023
From: OPTIMIZELY OPERATIONS HOLDCO INC.
To: OPTIMIZELY NORTH AMERICA INC.
Reel/Frame 064139/0628 →
MERGER Recorded Jun 20, 2023
From: OPTIMIZELY OPERATIONS INC.
To: OPTIMIZELY OPERATIONS HOLDCO INC.
Reel/Frame 063995/0874 →
CHANGE OF NAME Recorded Jun 8, 2023
From: OPTIMIZELY, INC.
To: OPTIMIZELY OPERATIONS INC.
Reel/Frame 063939/0656 →
CORRECTIVE ASSIGNMENT TO CORRECT THE UNDERLYING DOCUMENT PREVIOUSLY RECORDED ON REEL 056588 FRAME 0075. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL. Recorded Jul 22, 2021
From: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
To: OPTIMIZELY, INC.
Reel/Frame 056958/0064 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2021
From: OPTIMIZELY, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 056768/0917 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Jun 14, 2021
From: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
To: OPTIMIZELY, INC.
Reel/Frame 056588/0075 →
SECURITY INTEREST Recorded Oct 19, 2020
From: OPTIMIZELY, INC.
To: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
Reel/Frame 054093/0019 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: BERL, ETHAN
To: OPTIMIZELY, INC.
Reel/Frame 051872/0366 →