Scoring stream items in real time
First Claim
Patent Images
1. A method for generating a stream of content for a user in real time, the method comprising:
- generating a model based on at least one interest of the user and at least one prior action from a group of heterogeneous data sources;
receiving a request from the user for a real-time content stream;
determining contextual cues surrounding the request including a time of day and a geographic location of the user associated with the request;
retrieving fresh content items from the heterogeneous data sources based upon recency;
storing and indexing the fresh content items in a real-time index;
querying the heterogeneous data sources using search terms based on the real-time index and the contextual cues for a set of candidate content items;
determining interestingness of each candidate content item to the user based on social relevance and an interest match of each item to the user;
computing a first score for each candidate content item in the set using the model and based upon the interestingness of each candidate content item to the user;
computing a threshold based at least in part on an extent of an increase in popularity within a geographic area and quality of content items having a similar subject in the geographic area;
determining whether the first score for each candidate content item in the set exceeds the threshold;
generating the stream of content in real-time from the set of candidate content items responsive to the first score for each candidate content item in the set exceeding the threshold; and
adjusting the threshold based on activities including generating the stream of content.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for generating a real-time stream of content from heterogeneous data sources and a real-time index. The heterogeneous data sources include search, entertainment, social activity and activity on third-party sites. A fetching unit retrieves recent content that is indexed in the real-time index according to keywords. A model generation engine generates a model based on user activities. The mixer compares candidate content items from the heterogeneous data sources and the real-time index to the model to generate scores for each item and generates a stream of content based on the scores.
98 Citations
28 Claims
-
1. A method for generating a stream of content for a user in real time, the method comprising:
-
generating a model based on at least one interest of the user and at least one prior action from a group of heterogeneous data sources; receiving a request from the user for a real-time content stream; determining contextual cues surrounding the request including a time of day and a geographic location of the user associated with the request; retrieving fresh content items from the heterogeneous data sources based upon recency; storing and indexing the fresh content items in a real-time index; querying the heterogeneous data sources using search terms based on the real-time index and the contextual cues for a set of candidate content items; determining interestingness of each candidate content item to the user based on social relevance and an interest match of each item to the user; computing a first score for each candidate content item in the set using the model and based upon the interestingness of each candidate content item to the user; computing a threshold based at least in part on an extent of an increase in popularity within a geographic area and quality of content items having a similar subject in the geographic area; determining whether the first score for each candidate content item in the set exceeds the threshold; generating the stream of content in real-time from the set of candidate content items responsive to the first score for each candidate content item in the set exceeding the threshold; and adjusting the threshold based on activities including generating the stream of content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus for generating a stream of content for a user in real time, the apparatus comprising:
-
one or more processors; a contextual module stored on a memory and executable by the one or more processors, the contextual module for receiving a request from the user for a real-time content stream and determining contextual cues surrounding the request including a time of day and a geographic location of the user associated with the request; a model generation engine stored on a memory and executable by the one or more processors, the model generation engine for generating a model based on at least one interest of the user and at least one prior action from a group of heterogeneous data sources, the model having an input for modifying the model and an output for providing content items; a fetching unit stored on the memory and executable by the one or more processors, the fetching unit for retrieving fresh content items from the heterogeneous data sources based upon recency, the fetching unit coupled to the heterogeneous data sources; a real-time index stored on the memory and executable by the one or more processors, the real-time index coupled to the fetching unit to receive the fresh content items from the fetching unit, the real-time index for storing and indexing the fresh content items; and a mixer stored on the memory and executable by the one or more processors, the mixer coupled to the model generation engine, the heterogeneous data sources and an indexed data store, the mixer for querying the heterogeneous data sources using search terms based on the real-time index and the contextual cues for a set of candidate content items, for determining interestingness of each candidate content item to the user based on social relevance and an interest match of each item to the user, for computing a first score for each candidate content item in the set using the model and based upon the interestingness of each candidate content item to the user, for computing a threshold based at least in part on an extent of an increase in popularity within a geographic area and quality of content items having a similar subject in the geographic area, for determining whether the first score for each candidate content item in the set exceeds the threshold, for generating the stream of content for the user in real time from the set of candidate content items responsive to the first score for each candidate content item in the set exceeding the threshold, and for adjusting the threshold based on activities including generating the stream of content. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer program product comprising a non-transitory computer useable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
-
generate a model based on at least one interest of a user and at least one prior action from a group of heterogeneous data sources; receive a request from the user for a real-time content stream; determine contextual cues surrounding the request including a time of day and a geographic location of the user associated with the request; retrieve fresh content items from the heterogeneous data sources based upon recency; store and index the fresh content items in a real-time index; query the heterogeneous data sources using search terms based on the real-time index and the contextual cues for a set of candidate content items; determine interestingness of each candidate content item to the user based on social relevance and an interest match of each item to the user; compute a score for each candidate content item in the set using the model and based upon the interestingness of each candidate content item to the user; compute a threshold based at least in part on an extent of an increase in popularity within a geographic area and quality of content items having a similar subject in the geographic area; determine whether the score for each candidate content item in the set exceeds the threshold; generate a stream of content in real-time from the set of candidate content items responsive to the score for each candidate content item in the set exceeding the threshold; and adjust the threshold based on activities including generating the stream of content.
-
Specification