IP Library Granted Patent US 11,675,833
Granted Patent B2
US 11,675,833 · App. 14/983,663 · Granted Jun 13, 2023

Method and system for recommending content

Inventors: Shiyu Chang (San Jose, CA); Jiliang Tang (San Jose, CA); Dawei Yin (San Jose, CA); Yi Chang (Sunnyvale, CA)
Assignee: YAHOO ASSETS LLC
G06F16/735G06F16/24578G06F16/435G06F16/738G06F16/78G06F16/90324H04L67/02H04L67/1085
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,675,833
App. No.
14/983,663
Granted
Jun 13, 2023
Kind
B2
Abstract

The present teaching relates to recommending content by analyzing the streamed data. A request is received from a user requesting one or more recommendations from a set of items. A first distribution indicative of an interest distribution of the user in a plurality of topics is obtained. For each item, a second distribution indicative of a classification distribution of the item with respect to the plurality of topics is obtained. A score is estimated based on the first distribution and the second distribution, wherein the score indicates likelihood that the user is interested in the item. The scores associated with the set of items are ranked. The one or more recommendations are presented based on the ranked scores.

Claims (80)

1. A method implemented on a computer device having at least one processor, storage, and a communication platform connected to a network for recommending content, the method comprising:

receiving, by an engine, a request from a user for one or more recommendations from a set of items;

obtaining, by the engine, in response to the request, an interest distribution having a first plurality of values each representing an interest of the user in a respective one of a plurality of topics, wherein the interest distribution is determined by a first initiation model based on activities of the user related to the set of items observed prior to receiving the request;

obtaining, by the engine, in response to the request, for each of the set of items, a classification distribution having a second plurality of values each representing a frequency of the item being classified into a respective one of the plurality of topics, wherein the classification distribution is determined by a second initiation model based on activities performed with respect to the item by one or more other users observed prior to receiving the request;

estimating, by the engine with respect to the set of items, a set of correlation values based on the interest distribution and the classification distribution, wherein the set of correlation values is estimated in real-time to incorporate a perturbation factor observed up to a moment when the request is received, wherein the perturbation factor indicates a variation of a rating of the interest of the user with respect to each item, and wherein each of the set of correlation values indicates a rating of the user to each of the set of items;

retrieving, by the engine, historical data from a database;

comparing, by the engine, the set of correlation values with the retrieved historical data to determine a shift of the user's interest from one of the plurality of topics to another one of the plurality of topics within a predetermined time period;

adjusting, by the engine, the set of correlation values based on the shift of the user's interest;

selecting, by the engine, at least one item from the set of items to be recommended to the user based on the adjusted set of correlation values and information indicating previously provided ratings by the user with respect to at least some items;

providing, by the engine to the user, the one or more recommendations comprising the at least one item selected by the engine;

updating, by the engine, the database based on the adjusted set of correlation values;

receiving information associated with a new user;

obtaining a first reference distribution indicative of an average interest distribution of existing users in the plurality of topics, wherein the existing users comprise the one or more other users;

assigning the first reference distribution to the new user;

updating the existing users to include the new user;

receiving a new rating from the new user; and

updating data associated with the existing users indicative of the average interest distribution of the existing users in the plurality of topics based on the new rating.

2. The method of claim 1 , wherein the interest distribution is determined in real-time based on the activities of the user related to the set of items observed up to a moment when the request is received.

3. The method of claim 1 , wherein the classification distribution is determined in real-time based on the activities of the user and the activities performed with respect to each item of the set of items by the one or more other users observed up to a moment when the request is received.

4. The method of claim 1 , further comprising:

receiving information associated with a new item;

obtaining a second reference distribution indicative of an average classification distribution of existing items with respect to the plurality of topics;

assigning the second reference distribution to the new item; and

updating the existing items to include the new item.

5. The method of claim 1 , further comprising:

receiving a new rating of an existing item from an existing user;

updating the interest distribution associated with the existing user based on the new rating;

updating the classification distribution associated with the existing item based on the new rating; and

updating information related to the new rating indicative of the interest of the existing user in the existing item.

6. A system having at least one processor, storage, and a communication platform for recommending content, the system comprising:

a data interface, of an engine, implemented with the at least one processor and configured to receive a request from a user for one or more recommendations from a set of items, wherein the data interface is further configured to receive information associated with a new user;

a user interest distribution retriever, of the engine, implemented with the at least one processor and configured to obtain, in response to the request, an interest distribution having a first plurality of values each representing of an interest of the user in a respective one of a plurality of topics, wherein the interest distribution is determined based on activities of the user related to the set of items observed prior to receiving the request;

an item classification distribution retriever, of the engine, implemented with the at least one processor and configured to obtain, in response to the request, for each of the set of items, a classification distribution having a second plurality of values each representing a frequency of the item being classified into a respective one of the plurality of topics, wherein the classification distribution is determined by a second initiation model based on activities performed with respect to the item by one or more other users observed prior to receiving the request;

a user-item correlation estimating module, of the engine, implemented with the at least one processor and configured to:

estimate, with respect to the set of items, a set of correlation values based on the interest distribution and the classification distribution, wherein the set of correlation values is estimated in real-time to incorporate a perturbation factor observed up to a moment when the request is received, wherein the perturbation factor indicates a variation of a rating of the interest of the user with respect to each item, and wherein each of the set of correlation values indicates a rating of the user to each of the set of items,

retrieve historical data from a database,

compare the set of correlation values with the retrieved historical data to determine a shift of the user's interest from one of the plurality of topics to another one of the plurality of topics within a predetermined time period, and

adjust the set of correlation values based on the shift of the user's interest;

a ranking module, of the engine, implemented with the at least one processor and configured to select at least one item from the set of items to be recommended to the user based on the adjusted set of correlation values and information indicating previously provided ratings by the user with respect to at least some items;

a recommendation module, of the engine, implemented with the at least one processor and configured to provide the one or more recommendations comprising the at least one item selected by the engine;

an updating module, of the engine, implemented with the at least one processor and configured to update the database based on the adjusted set of correlation values;

a user interest reference retriever implemented with the at least one processor and configured to obtain a first reference distribution indicative of an average interest distribution of existing users in the plurality of topics, wherein the existing users comprise the one or more other users;

a user interest initializing module implemented with the at least one processor and configured to assign the first reference distribution to the new user; and

a first updating module implemented with the at least one processor and configured to update the existing users to include the new user, wherein:

a new rating is received from the new user, and

data associated with the existing users indicative of the average interest distribution of the existing users in the plurality of topics is updated based on the new rating.

7. The system of claim 6 , wherein the interest distribution is determined in real-time based on the activities of the user related to the set of items observed up to a moment when the request is received.

8. The system of claim 6 , wherein the classification distribution is determined in real-time based on the activities of the user and the activities performed with respect to each item of the set of items by the one or more other users observed up to a moment when the request is received.

9. The system of claim 6 , wherein the data interface is further configured to receive information associated with a new item, and the system further comprises:

an item classification reference retriever configured to obtain a second reference distribution indicative of an average classification distribution of existing items with respect to the plurality of topics;

an item classification initializing module implemented with the at least one processor and configured to assign the second reference distribution to the new item; and

a second updating module implemented with the at least one processor and configured to update the existing items to include the new item.

10. The system of claim 6 , wherein the data interface is further configured to receive a new rating of an existing item from an existing user, and the system further comprises:

a first updating module implemented with the at least one processor and configured to update the interest distribution associated with the existing user based on the new rating;

a second updating module implemented with the at least one processor and configured to update the classification distribution associated with the existing item based on the new rating; and

a third updating module implemented with the at least one processor and configured to update information related to the new rating indicative of the interest of the existing user in the existing item based on the new rating.

11. A non-transitory machine-readable medium having information recorded thereon for recommending content, wherein the information, when read by an engine, effectuate operations comprising:

receiving, by the engine, a request from a user requesting one or more recommendations from a set of items;

obtaining, by the engine, in response to the request, an interest distribution having a first plurality of values each representing an interest of the user in a respective one of a plurality of topics, wherein the interest distribution is determined by a first initiation model based on activities of the user related to the set of items observed prior to receiving the request;

obtaining, by the engine, for each of the set of items, a classification distribution having a second plurality of values each representing a frequency of the item being classified into a respective one of the plurality of topics, wherein the classification distribution is determined by a second initiation model based on activities performed with respect to the item by one or more other users observed prior to receiving the request;

estimating, by the engine with respect to the set of items, a set of correlation values based on the interest distribution and the classification distribution, wherein the set of correlation values is estimated in real-time to incorporate a perturbation factor observed up to a moment when the request is received, wherein the perturbation factor indicates a variation of a rating of the interest of the user with respect to each item, and wherein each of the set of correlation values indicates a rating of the user to each of the set of items;

retrieving, by the engine, historical data from a database;

comparing, by the engine, the set of correlation values with the retrieved historical data to determine a shift of the user's interest from one of the plurality of topics to another one of the plurality of topics within a predetermined time period;

adjusting, by the engine, the set of correlation values based on the shift of the user's interest;

selecting, by the engine, at least one item from the set of items to be recommended to the user based on the adjusted set of correlation values and information indicating previously provided ratings by the user with respect to at least some items;

providing, by the engine, the one or more recommendations comprising the at least one item selected by the engine;

updating, by the engine, the database based on the adjusted set of correlation values;

receiving information associated with a new user;

obtaining a first reference distribution indicative of an average interest distribution of existing users in the plurality of topics, wherein the existing users comprise the one or more other users;

assigning the first reference distribution to the new user;

updating the existing users to include the new user;

receiving a new rating from the new user; and

updating data associated with the existing users indicative of the average interest distribution of the existing users in the plurality of topics based on the new rating.

12. The medium of claim 11 , wherein the interest distribution is determined in real-time based on the activities of the user related to the set of items observed up to a moment when the request is received.

13. The medium of claim 11 , wherein the classification distribution is determined in real-time based on the activities of the user and the activities performed with respect to each item of the set of items by the one or more other users observed up to a moment when the request is received.

14. The medium of claim 11 , wherein the operations further comprise:

receiving information associated with a new item;

obtaining a second reference distribution indicative of an average classification distribution of existing items with respect to the plurality of topics;

assigning the second reference distribution to the new item; and

updating the existing items to include the new item.

Assignments (6)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2015
From: CHANG, SHIYU; TANG, JILIANG; YIN, DAWEI; CHANG, YI
To: YAHOO! INC.
Reel/Frame 037380/0921 →