IP Library Granted Patent US 10,368,132
Granted Patent B2
US 10,368,132 · App. 15/365,682 · Granted Jul 30, 2019

Recommendation system to enhance video content recommendation

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 10,368,132
App. No.
15/365,682
Granted
Jul 30, 2019
Kind
B2
Abstract

An online system provides video recommendations to a target user of the online system as a supplement to videos provided to the target user that were posted by the user's connections in the online system. The recommended videos are selected from publicly available video content and are likely to be of interest to the target user. The online system has video candidate generators that select video candidates based on a variety of selection criteria. The selected video candidates are filtered to identify inappropriate content or videos that the target user has already viewed for elimination from candidacy. The filtered video candidates are ranked based on weights of features of the video candidates. Based on the ranking, the online system selects videos above a threshold as recommendations to the target user.

Claims (95)

1. An online system for generating content recommendations for a target user of the system, comprising:

a processor; and

a non-transitory computer readable medium configured to store instructions that, when executed by the processor, cause the processor to perform steps comprising:

maintaining, by the online system, a collection of publicly available videos;

generating a plurality of sets of video candidates selected from the collection of publicly available videos by:

accessing a plurality of recommendation functions that each apply different types of selection criteria to uniquely select and rank the video candidates for the set that corresponds to that recommendation function, the video candidates each having a ranking score for ranking relative to other video candidates in the set; and

receiving, from each recommendation function, the set of video candidates selected and ranked by the recommendation function, each set of video candidates representing video content that is likely to be of interest to the target user, the sets of video candidates selected from the collection of publicly available videos to supplement a display for the target user of other video content posted by the target user's connections in the online system;

filtering the video candidates from the sets from each of the recommendation functions to remove one or more video candidates that violate a video content policy of the online system;

performing a second ranking of the filtered video candidates as a combined group from the sets by:

extracting features from the filtered video candidates;

assigning weights to the features associated with the filtered video candidates, a weight of a feature generated by a ranking model trained on the features of the video candidates, and indicating a relative importance of the feature to the target user;

generating ranking scores for the filtered video candidates based on the weights of the features associated with the filtered video candidates; and

selecting a plurality of videos from the filtered video candidates as recommendations to the target user based on the ranking scores associated with the video candidates; and

providing for display to the target user the selected videos along with other video content posted by the target user's connections in the online system.

2. The system of claim 1 , wherein the plurality of recommendation functions comprise a first recommendation function configured to:

select a plurality of other users who are connected to the target user in the online system; and

generate a first set of video candidates selected from a plurality of videos associated with the selected plurality of other users.

3. The system of claim 2 , wherein the first recommendation function is further configured to:

select the plurality of videos associated with the selected plurality of other users based on viewing history of the selected videos associated with the selected plurality of other users; and

generate the first set of video candidates based on selection of the plurality of videos associated with the selected plurality of other users.

4. The system of claim 1 , wherein the plurality recommendation functions comprise a second recommendation function configured to:

select a plurality of clusters of videos from the collection of publicly available videos, each selected cluster having a plurality of videos commonly viewed by a number of users of the online system; and

generate a second set of video candidates selected from the selected plurality of clusters of videos.

5. The system of claim 4 , wherein the second recommendation function is further configured to:

select the plurality of clusters of videos based at least on a number of users associated with each cluster of videos; and

generate the second set of video candidates based on the selection of the plurality of clusters of videos.

6. The system of claim 1 , wherein the plurality recommendation functions comprise a third recommendation function configured to:

select a plurality of clusters of other users who are connected to the target user in the online system, each cluster of other users having a same or similar interest in video content as the target user; and

generate a third set of video candidates selected from a plurality of videos associated with the selected plurality of clusters of other users.

7. The system of claim 1 , wherein the plurality recommendation functions comprise a fourth recommendation function configured to:

select a plurality of videos that are popular among users of the online system; and

generate a fourth set of video candidates selected from the plurality of popular videos.

8. The system of claim 1 , wherein the plurality recommendation functions comprise a fifth recommendation function configured to:

select a plurality of videos interacted with by the target user; and

generate a fifth set of video candidates based on the selection of the plurality of videos.

9. The system of claim 1 , wherein the filtering further comprises:

identifying one or more video candidates that were selected by more than one recommendation functions of the plurality of recommendation functions; and

removing identified duplicate video candidates from the selected video candidates.

10. A non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to perform the steps including:

maintaining, by an online system, a collection of publicly available videos;

generating a plurality of sets of video candidates selected from the collection of publicly available videos by:

accessing a plurality of recommendation functions that each apply different types of selection criteria to uniquely select and rank the video candidates for the set that corresponds to that recommendation function, the video candidates each having a ranking score for ranking relative to other video candidates in the set; and

receiving, from each recommendation function, the set of video candidates selected and ranked by the recommendation function, each set of video candidates representing video content that is likely to be of interest to the target user, the sets of video candidates selected from the collection of publicly available videos to supplement a display for the target user of other video content posted by the target user's connections in the online system;

filtering the video candidates from the sets from each of the recommendation functions to remove one or more video candidates that violate a video content policy of the online system to generate a plurality of filtered video candidates;

performing a second ranking of the filtered video candidates as a combined group from the sets by:

extracting features from the filtered video candidates;

assigning weights to the features associated with the filtered video candidates, a weight of a feature generated by a ranking model trained on the features of the video candidates, and indicating a relative importance of the feature to the target user;

generating ranking scores for the filtered video candidates based on the weights of the features associated with the filtered video candidates; and

selecting a plurality of videos from the filtered video candidates as recommendations to the target user based on the ranking scores associated with the video candidates; and

providing for display to the target user the selected videos along with other video content posted by the target user's connections in the online system.

11. The non-transitory computer readable storage medium of claim 10 , wherein generating the plurality of sets of video candidates selected from the collection of publicly available videos based on the corresponding set of selection criteria comprises:

selecting a plurality of other users who are connected to the target user in the online system; and

generating a first set of video candidates selected from a plurality of videos associated with the selected plurality of other users.

12. The non-transitory computer readable storage medium of claim 10 , wherein generating the plurality of sets of video candidates selected from the collection of publicly available videos based on the corresponding set of selection criteria comprises:

selecting a plurality of clusters of videos from the collection of publicly available videos, each selected cluster having a plurality of videos commonly viewed by a number of users of the online system; and

generating a second set of video candidates selected from the selected plurality of clusters of videos.

13. The non-transitory computer readable storage medium of claim 10 , generating the plurality of sets of video candidates selected from the collection of publicly available videos based on the corresponding set of selection criteria comprises:

selecting a plurality of clusters of other users who are connected to the target user in the online system, each cluster of other users having a same or similar interest in video content as the target user; and

generating a third set of video candidates selected from a plurality of videos associated with the selected plurality of clusters of other users.

14. The non-transitory computer readable storage medium of claim 10 , wherein generating the plurality of sets of video candidates selected from the collection of publicly available videos based on the corresponding set of selection criteria comprises:

selecting a plurality of videos that are popular among users of the online system; and

generating a fourth set of video candidates selected from the plurality of popular videos.

15. The non-transitory computer readable storage medium of claim 10 , wherein generating the plurality of sets of video candidates selected from the collection of publicly available videos based on the corresponding set of selection criteria comprises:

selecting a plurality of videos interacted with by the target user; and

generating a fifth set of video candidates based on the selection of the plurality of videos.

16. The non-transitory computer readable storage medium of claim 10 , wherein filtering the video candidates from the sets from each of the recommendation functions to remove one or more video candidates that violate the video content policy of the online system to generate the plurality of filtered video candidates further comprises:

identifying one or more video candidates that were selected by more than one recommendation functions of the plurality of recommendation functions; and

removing identified duplicate video candidates from the selected video candidates.

17. A method for generating content recommendations for a target user of an online system, comprising:

maintaining, by the online system, a collection of publicly available videos;

generating a plurality of sets of video candidates selected from the collection of publicly available videos by:

accessing a plurality of recommendation functions that each apply different types of selection criteria to uniquely select and rank the video candidates for the set that corresponds to that recommendation function, the video candidates each having a ranking score for ranking relative to other video candidates in the set; and

receiving, from each recommendation function, the set of video candidates selected and ranked by the recommendation function, each set of video candidates representing video content that is likely to be of interest to the target user, the sets of video candidates selected from the collection of publicly available videos to supplement a display for the target user of other video content posted by the target user's connections in the online system;

filtering the video candidates from the sets from each of the recommendation functions to remove one or more video candidates that violate a video content policy of the online system;

performing a second ranking of the filtered video candidates as a combined group from the sets by:

extracting features from the filtered video candidates;

assigning weights to the features associated with the filtered video candidates, a weight of a feature generated by a ranking model trained on the features of the video candidates, and indicating a relative importance of the feature to the target user;

generating ranking scores for the filtered video candidates based on the weights of the features associated with the filtered video candidates;

selecting a plurality of videos from the filtered video candidates as recommendations to the target user based on the ranking scores associated with the video candidates; and

providing for display to the target user the selected videos along with other video content posted by the target user's connections in the online system.

18. The method of claim 17 , wherein generating the plurality of sets of video candidates selected from the collection of publicly available videos based on the corresponding set of selection criteria comprises:

selecting a plurality of other users who are connected to the target user in the online system; and

generating a first set of video candidates selected from a plurality of videos associated with the selected plurality of other users.

19. The method of claim 17 , wherein generating the plurality of sets of video candidates selected from the collection of publicly available videos based on the corresponding set of selection criteria comprises:

selecting a plurality of clusters of videos from the collection of publicly available videos, each selected cluster having a plurality of videos commonly viewed by a number of users of the online system; and

generating a second set of video candidates selected from the selected plurality of clusters of videos.

20. The method of claim 17 , wherein generating the plurality of sets of video candidates selected from the collection of publicly available videos based on the corresponding set of selection criteria comprises:

selecting a plurality of clusters of other users who are connected to the target user in the online system, each cluster of other users having a same or similar interest in video content as the target user; and

generating a third set of video candidates selected from a plurality of videos associated with the selected plurality of clusters of other users.

21. The method of claim 17 , wherein generating the plurality of sets of video candidates selected from the collection of publicly available videos based on the corresponding set of selection criteria comprises:

selecting a plurality of videos that are popular among users of the online system; and

generating a fourth set of video candidates selected from the plurality of popular videos.

22. The method of claim 17 , wherein generating the plurality of sets of video candidates selected from the collection of publicly available videos based on the corresponding set of selection criteria comprises:

selecting a plurality of videos interacted with by the target user; and

generating a fifth set of video candidates based on the selection of the plurality of videos.

Assignments (2)
CHANGE OF NAME Recorded Nov 18, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058897/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2017
From: BARLASKAR, UZMA HUSSAIN; THAKER, SAHIL P.; SHAKIBI, BABAK; VISHWANATH, TIRUNELVELI R.
To: FACEBOOK, INC.
Reel/Frame 040939/0262 →