IP Library Granted Patent US 9,858,275
Granted Patent B1
US 9,858,275 · App. 14/842,554 · Granted Jan 2, 2018

Scoring stream items in real time

Inventors: Andrew Tomkins (San Jose, CA); Dandapani Sivakumar (Cupertino, CA); Sangsoo Sung (Palo Alto, CA); Justin Kosslyn (Mountain View, CA); Todd Jackson (San Francisco, CA); Andre Rohe (Mountain View, CA); Ya Luo (Milpitas, CA); Andrew Bunner (Belmont, CA); Alexander Sobol (Mountain View, CA); Luca de Alfaro (Mountain View, CA)
Assignee: Google LLC
G06F17/30029G06F17/3005G06F17/30867
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 9,858,275
App. No.
14/842,554
Granted
Jan 2, 2018
Kind
B1
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.

Claims (50)

1. A computer-implemented method comprising:

generating a first global score for a content item obtained from heterogeneous data sources, the first global score being independent from users and indicating popularity or importance of the content item within a source stream that produced the content item;

generating a second global score by normalizing the first global score across a plurality of source streams;

determining a first candidate user for the content item based on the second global score and by querying a social graph using metadata associated with the content item;

computing, based on a model, a first user score for a pair of the first candidate user and the content item to evaluate a probability that the content item appears in a stream of content of the first candidate user;

determining whether a threshold is satisfied based on a volume and a quality of other content items on a same topic as the content item; and

determining whether to present the content item in the stream of content of the first candidate user based on the first user score and whether the threshold is satisfied.

2. The computer-implemented method of claim 1 , further comprising:

determining a second candidate user for the content item based on the second global score and a social connection of the second candidate user to the content item;

computing, based on the model, a second user score for a pair of the second candidate user and the content item to evaluate a probability that the content item shows in a stream of content of the second candidate user; and

determining whether to present the content item in the stream of content of the second candidate user based on the second user score.

3. The computer-implemented method of claim 1 , further comprising generating the model using a log of activities from the heterogeneous data sources.

4. The computer-implemented method of claim 1 , wherein the model includes information about user consumption patterns, user preferences for freshness of content items and user statistics for resharing the content items.

5. The computer-implemented method of claim 1 , further comprising receiving content items from a stream of content of other users with whom the first candidate user has a relationship and generating additional content items for the stream of content of the first candidate user based on the received content items.

6. The computer-implemented method of claim 5 , wherein generating the additional content items comprises weighting the additional content items based on user interactions between the first candidate user and the other users.

7. The computer-implemented method of claim 1 , further comprising generating an expandable explanation for the content item in the stream of content of the first candidate user.

8. 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 first global score for a content item obtained from heterogeneous data sources, the first global score being independent from users and indicating popularity or importance of the content item within a source stream that produced the content item;

generate a second global score by normalizing the first global score across a plurality of score streams;

determine a first candidate user for the content item based on the second global score and by querying a social graph using metadata associated with the content item;

compute, based on a model, a first user score for a pair of the first candidate user and the content item to evaluate a probability that the content item shows in a stream of content of the first candidate user;

determine whether a threshold is satisfied based on a volume and a quality of other content items on a same topic as the content item; and

determine whether to present the content item in the stream of content of the first candidate user based on the first user score and whether the threshold is satisfied.

9. The computer program product of claim 8 , wherein the computer readable program when executed on the computer also causes the computer to:

determine a second candidate user for the content item based on the second global score and a social connection of the second candidate user to the content item;

compute, based on the model, a second user score for a pair of the second candidate user and the content item to evaluate a probability that the content item shows in a stream of content of the second candidate user; and

determine whether to present the content item in the stream of content of the second candidate user based on the second user score.

10. The computer program product of claim 8 , wherein the computer readable program when executed on the computer also causes the computer to generate the model using a log of activities from the heterogeneous data sources.

11. The computer program product of claim 8 , wherein the model includes information about user consumption patterns, user preferences for freshness of content items and user statistics for resharing the content items.

12. The computer program product of claim 8 , wherein the computer readable program when executed on the computer also causes the computer to receive content items from a stream of content of other users with whom the first candidate user has a relationship and generate additional content items for the stream of content of the first candidate user based on the received content items.

13. The computer program product of claim 12 , wherein generating the additional content items comprises weighting the additional content items based on user interactions between the first candidate user and the other users.

14. The computer program product of claim 8 , wherein the computer readable program when executed on the computer also causes the computer to generate an expandable explanation for the content item in the stream of content of the first candidate user.

15. A system comprising:

one or more processors; and

a memory storing instructions that, when executed, cause the system to:

generate a first global score for a content item obtained from heterogeneous data sources, the first global score being independent from users and indicating popularity or importance of the content item within a source stream that produced the content item;

generate a second global score by normalizing the first global score across a plurality of source streams;

determine a first candidate user for the content item based on the second global score and by querying a social graph using metadata associated with the content item;

compute, based on a model, a first user score for a pair of the first candidate user and the content item to evaluate a probability that the content item shows in a stream of content of the first candidate user;

determine whether a threshold is satisfied based on a volume and a quality of other content items on a same topic as the content item; and

determine whether to present the content item in the stream of content of the first candidate user based on the first user score and whether the threshold is satisfied.

16. The system of claim 15 , wherein the system is further configured to:

determine a second candidate user for the content item based on the second global score and a social connection of the second candidate user to the content item;

compute, based on the model, a second user score for a pair of the second candidate user and the content item to evaluate a probability that the content item shows in a stream of content of the second candidate user; and

determine whether to present the content item in the stream of content of the second candidate user based on the second user score.

17. The system of claim 15 , wherein the system is further configured to generate the model using a log of activities from the heterogeneous data sources.

18. The system of claim 15 , wherein the model includes information about user consumption patterns, user preferences for freshness of content items and user statistics for resharing the content items.

19. The system of claim 15 , wherein the system is further configured to receive content items from a stream of content of other users with whom the first candidate user has a relationship and generate additional content items for the stream of content of the first candidate user based on the received content items.

20. The system of claim 19 , wherein generating the additional content items comprises weighting the additional content items based on user interactions between the first candidate user and the other users.

21. The system of claim 15 , wherein the system is further configured to generate an expandable explanation for the content item in the stream of content of the first candidate user.

Assignments (2)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2015
From: TOMKINS, ANDREW; SIVAKUMAR, DANDAPANI; SUNG, SANGSOO; KOSSLYN, JUSTIN; JACKSON, TODD; LUO, YA; BUNNER, ANDREW; DE ALFARO, LUCA; ROHE, ANDRE; SOBOL, ALEXANDER
To: GOOGLE INC.
Reel/Frame 037052/0163 →
Continuity (2)
Continuation 13098110 · Apr 29, 2011
Provisional Application 61424636 · Dec 18, 2010