IP Library Granted Patent US 9,753,923
Granted Patent B2
US 9,753,923 · App. 14/664,719 · Granted Sep 5, 2017

Topic and time based media affinity estimation

Inventors: Michael Ben Fleischman (Somerville, MA); Deb Kumar Roy (Arlington, MA); Jeremy Rishel (Maynard, MA); Anjali Midha (Winchester, MA); Matthew Miller (Malden, MA)
Assignee: BLUEFIN LABS, INC.
G06F17/30017G06F17/30029G06Q30/0278G06Q50/01G06F17/30528
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,753,923
App. No.
14/664,719
Granted
Sep 5, 2017
Kind
B2
Abstract

An affinity server estimates an affinity between two different time based media events (e.g., TV, radio, social media content stream), between a time based media event and a specific topic, or between two different topics, where the affinity score represents an intersection between the populations of social media users who have authored social media content items regarding the two different events and/or topics. The affinity score represents an estimation of the real world affinity between the real world population of people who have an interest in both time based media events, both topics, or in a time based media event and a topic. One possible threshold for including a social media user in a population may be based on a confidence score that indicates the confidence that one or more social media content items authored by the social media user are relevant to the topic or event in question.

Claims (85)

1. A computer-executed method, comprising:

accessing a plurality of content items authored by users of a social networking system;

accessing a plurality of annotated events of time based broadcast media, the events having been aired during segments of time, the annotated events comprising metadata instances that have semantic information about the events;

generating mappings between the content items and the annotated events, and between the content items and a plurality of topics;

determining a first affinity score between a first population of the users who authored content items mapped to a first one of the events or a first one of the topics and a second population of the users who authored content items mapped to a second one of the events or a second one of the topics;

determining a second affinity score between a third population of the users who authored content items mapped to a third one of the events or a third one of the topics and a fourth population of the users who authored content items mapped to a fourth one of the events or a fourth one of the topics;

determining a third affinity score between the second population and the fourth population; and

inferring a fourth affinity score between the first population and third population based on the first, second, and third affinity scores.

2. The computer-executed method of claim 1 , wherein generating the mappings comprises

performing a feature extraction process on pairs including one of the content items and one of the events or one of the topics, the feature extraction generating content features that identify co-occurring textual information between the content item and the metadata instances of the annotated event or one or more keywords associated with the topic of the pair; and

generating scores for the content features indicating whether the content items refers to the annotated events or topics using a feature specific sub-function for the content feature.

3. The computer-executed method of claim 1 , further comprising:

accessing programming information regarding the events of time based broadcast media; and

annotating the events using an alignment function to estimate the likelihood that the events are described by the metadata instances.

4. The computer-executed method of claim 1 , wherein determining one of the affinity scores comprises:

determining an intersecting population of the users between one of the populations mapped to one of the events or topics, and another one of the populations mapped to the one of the events or topics;

determining the affinity score based on the intersecting population.

5. The computer-executed method of claim 4 , wherein determining one of the affinity scores comprises calculating a weighted sum over the users in the intersecting population.

6. The computer-executed method of claim 5 ,

wherein a weight is assigned to each user in the intersecting population, and

wherein each of the weights is determined based on at least one from the group consisting of:

a number of times the user has authored one of the content items associated with one of the mappings, and

a probability that the user will author a content item relevant to either the event or topic associated with one of the populations forming the intersecting population.

7. The computer-executed method of claim 5 , wherein determining the affinity score comprises normalizing the weighted sum by an average probability of users to author content items regarding the topics or events associated with intersecting population.

8. The computer-executed method of claim 5 , wherein determining the affinity score comprises normalizing the affinity score based on a number of users in the populations forming the intersecting population.

9. The computer-executed method of claim 8 , wherein determining the affinity score comprises normalizing the affinity score based on at least one from the group consisting of:

a cardinality of the union between the users of the populations forming the intersecting population and

a product of the cardinality between the populations forming the intersecting population.

10. A non-transitory computer-readable storage medium comprising instructions that when executed cause a processor to:

access a plurality of content items authored by users of a social networking system;

access a plurality of annotated events of time based broadcast media, the events having been aired during segments of time, the annotated events comprising metadata instances that have semantic information about the events;

generate mappings between the content items and the annotated events, and between the content items and a plurality of topics;

determine a first affinity score between a first population of the users who authored content items mapped to a first one of the events or a first one of the topics and a second population of the users who authored content items mapped to a second one of the events or a second one of the topics;

determine a second affinity score between a third population of the users who authored content items mapped to a third one of the events or a third one of the topics and a fourth population of the users who authored content items mapped to a fourth one of the events or a fourth one of the topics;

determine a third affinity score between the second population and the fourth population; and

infer a fourth affinity score between the first population and third population based on the first, second, and third affinity scores.

11. The medium of claim 10 , wherein generating the mappings comprises

performing a feature extraction process on pairs including one of the content items and one of the events or one of the topics, the feature extraction generating content features that identify co-occurring textual information between the content item and the metadata instances of the annotated event or one or more keywords associated with the topic of the pair; and

generating scores for the content features indicating whether the content items refers to the annotated events or topics using a feature specific sub-function for the content feature.

12. The medium of claim 10 , wherein the instructions further cause the processor to:

access programming information regarding the events of time based broadcast media; and

annotate the events using an alignment function to estimate the likelihood that the events are described by the metadata instances.

13. The medium of claim 10 , wherein determining one of the affinity scores comprises:

determining an intersecting population of the users between one of the populations mapped to one of the events or topics, and another one of the populations mapped to the one of the events or topics;

determining the affinity score based on the intersecting population.

14. The medium of claim 13 , wherein determining one of the affinity scores comprises calculating a weighted sum over the users in the intersecting population.

15. The medium of claim 14 ,

wherein a weight is assigned to each user in the intersecting population, and

wherein each of the weights is determined based on at least one from the group consisting of:

a number of times the user has authored one of the content items associated with one of the mappings, and

a probability that the user will author a content item relevant to either the event or topic associated with one of the populations forming the intersecting population.

16. The medium of claim 14 , wherein determining the affinity score comprises normalizing the weighted sum by an average probability of users to author content items regarding the topics or events associated with intersecting population.

17. The medium of claim 14 , wherein determining the affinity score comprises normalizing the affinity score based on a number of users in the populations forming the intersecting population.

18. The medium of claim 17 , wherein determining the affinity score comprises normalizing the affinity score based on at least one from the group consisting of:

a cardinality of the union between the users of the populations forming the intersecting population and

a product of the cardinality between the populations forming the intersecting population.

19. A system comprising:

a computer server comprising a processor and a database, the computer server configured to:

access a plurality of content items authored by users of a social networking system;

access a plurality of annotated events of time based broadcast media, the events having been aired during segments of time, the annotated events comprising metadata instances that have semantic information about the events;

generate mappings between the content items and the annotated events, and between the content items and a plurality of topics;

determine a first affinity score between a first population of the users who authored content items mapped to a first one of the events or a first one of the topics and a second population of the users who authored content items mapped to a second one of the events or a second one of the topics;

determine a second affinity score between a third population of the users who authored content items mapped to a third one of the events or a third one of the topics and a fourth population of the users who authored content items mapped to a fourth one of the events or a fourth one of the topics;

determine a third affinity score between the second population and the fourth population; and

infer a fourth affinity score between the first population and third population based on the first, second, and third affinity scores.

20. The system of claim 19 , wherein generating the mappings comprises

performing a feature extraction process on pairs including one of the content items and one of the events or one of the topics, the feature extraction generating content features that identify co-occurring textual information between the content item and the metadata instances of the annotated event or one or more keywords associated with the topic of the pair; and

generating scores for the content features indicating whether the content items refers to the annotated events or topics using a feature specific sub-function for the content feature.

21. The system of claim 19 , wherein the computer server is further configured to:

access programming information regarding the events of time based broadcast media; and

annotate the events using an alignment function to estimate the likelihood that the events are described by the metadata instances.

22. The system of claim 19 , wherein determining one of the affinity scores comprises:

determining an intersecting population of the users between one of the populations mapped to one of the events or topics, and another one of the populations mapped to the one of the events or topics;

determining the affinity score based on the intersecting population.

23. The system of claim 22 , wherein determining one of the affinity scores comprises calculating a weighted sum over the users in the intersecting population.

24. The system of claim 23 ,

wherein a weight is assigned to each user in the intersecting population, and

wherein each of the weights is determined based on at least one from the group consisting of:

a number of times the user has authored one of the content items associated with one of the mappings, and

a probability that the user will author a content item relevant to either the event or topic associated with one of the populations forming the intersecting population.

25. The system of claim 23 , wherein determining the affinity score comprises normalizing the weighted sum by an average probability of users to author content items regarding the topics or events associated with intersecting population.

26. The system of claim 23 , wherein determining the affinity score comprises normalizing the affinity score based on a number of users in the populations forming the intersecting population.

27. The system of claim 26 , wherein determining the affinity score comprises normalizing the affinity score based on at least one from the group consisting of:

a cardinality of the union between the users of the populations forming the intersecting population and

a product of the cardinality between the populations forming the intersecting population.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2015
From: FLEISCHMAN, MICHAEL BEN; ROY, DEB KUMAR; RISHEL, JEREMY; MIDHA, ANJALI; MILLER, MATTHEW
To: BLUEFIN LABS, INC.
Reel/Frame 036789/0865 →
Continuity (4)
Continuation 14067589 · Oct 30, 2013
Continuation 13548901 · Jul 13, 2012
Provisional Application 61507520 · Jul 13, 2011
Related Publication 20150193437A1 · Jul 9, 2015