IP Library Granted Patent US 9,298,812
Granted Patent B1
US 9,298,812 · App. 13/975,515 · Granted Mar 29, 2016

Content resonance

Inventors: Ashish Goel (Palo Alto, CA); Srinivasan Rajgopal (Sunnyvale, CA); Utkarsh Srivastava (Menlo Park, CA); Anamitra Banerji (San Francisco, CA)
Assignee: Twitter, Inc.
G06F17/30705G06F17/30309G06F17/30433G06F17/30469G06F17/30598G06Q10/10
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,298,812
App. No.
13/975,515
Granted
Mar 29, 2016
Kind
B1
Abstract

A real-time messaging platform and method is disclosed which classifies messages in accordance with a combination of user engagement events as modified to reflect the temporal structure of the user engagement events. A message can be assigned a metric based, for example, on a weighted combination of user engagement rates, decayed with time to reflect an intuition that recent interactions by one or more users with the message will have a greater impact than older interactions with the message. Different types of interaction by one or more users with the message can be assigned different weights when the different engagement events are combined and, also, can be assigned different temporal characteristics.

Claims (70)

1. A method of classifying messages in a real-time messaging platform comprising:

receiving engagement events associated with a message broadcast by a real-time messaging platform to a plurality of computing devices associated with users of the platform, the message authored by one of the users of the platform, each engagement event transmitted from one of the computing devices to the platform and indicating an interaction between the associated user and the message, each engagement event including a time when the interaction occurred;

generating a combination of the engagement events, the combination comprising weights for each of a plurality of different engagement types based on the engagement events and their associated times of interaction; and

classifying the message at least in part based on the combination, wherein classifying the message includes determining a relevance of the message to a user of the real-time messaging platform based on the classification of the message.

2. The method of claim 1 , wherein the combination of engagement events is modified by decaying with time the combination of engagement events.

3. The method of claim 2 , wherein the combination of engagement events is decayed exponentially based on a difference between a first time associated with a previous engagement event and a current time.

4. The method of claim 1 , wherein the generating step further comprises modifying the combination of engagement events based on a size of a dataset of the engagement events.

5. The method of claim 1 , wherein generating the combination of the engagement events comprises:

identifying from the engagement events one or more positive interaction events that each indicates that the interaction between the user and the message is an action taken by the user on the message; and

identifying from the engagement events one or more impression events that each indicates that the interaction between the user and the message is a viewing of the message by the user.

6. The method of claim 5 , further comprising:

generating a positive interaction total based on a total number of the one or more positive interaction events;

generating an impression total based on a total number of the one or more impression events; and

combining with different weights the positive interaction total and the impression total to generate the combination of the engagement events.

7. The method of claim 6 , wherein generating the positive interaction total comprises:

identifying an interaction type for each of the one or more positive interaction events based on the interaction indicated by the positive interaction event, each interaction type associated with a different weight depending on a level of interaction indicated by the interaction type;

weighting each of the one or more positive interaction events based on the weight associated with the interaction type for the positive interaction event; and

combining the weighted one or more positive interaction events to generate the positive interaction total.

8. The method of claim 1 , wherein generating the combination of the user engagement events comprises:

determining that a total number of the user engagement events is below a threshold number of engagement events needed to accurately classify the message;

identifying a second message having a same type as the message; and

generating the combination of the engagement events further based on a set of engagement events associated with the second message.

9. A non-transitory computer readable storage medium storing instructions for classifying messages in a real-time messaging platform, the instructions when executed by a processor cause the processor to:

receive engagement events associated with a message in broadcast by a real-time messaging platform to a plurality of computing devices associated with users of the platform,

the message authored by one of the users of the platform,

each engagement event transmitted from one of the computing devices to the platform and indicating an interaction between the associated user and the message,

each engagement event including a time when the interaction occurred;

generate a combination of the engagement events,

the combination comprising weights for each of a plurality of different engagement types based on the engagement events and their associated times of interaction; and

classify the message at least in part based on the combination,

wherein classifying the message includes determining a relevance of the message to a user of the real-time messaging platform based on the classification of the message.

10. The computer readable storage medium of claim 9 , wherein the combination of engagement events is modified by decaying with time the combination of engagement events.

11. The computer readable storage medium of claim 10 , wherein the combination of engagement events is decayed exponentially based on a difference between a first time associated with a previous engagement event and a current time.

12. The computer readable storage medium of claim 9 , wherein the generating step further comprises modifying the combination of engagement events based on a size of a dataset of the engagement events.

13. The computer readable storage medium of claim 9 , wherein generating the combination of the user engagement events comprises:

identifying from the engagement events one or more positive interaction events that each indicates that the interaction between the user and the message is an action taken by the user on the message; and

identifying from the engagement events one or more impression events that each indicates that the interaction between the user and the message is a viewing of the message by the user.

14. The computer readable storage medium of claim 13 , further comprising:

generating a positive interaction total based on a total number of the one or more positive interaction events;

generating an impression total based on a total number of the one or more impression events; and

combining with different weights the positive interaction total and the impression total to generate the combination of the engagement events.

15. The computer readable storage medium of claim 14 , wherein generating the positive interaction total comprises:

identifying an interaction type for each of the one or more positive interaction events based on the interaction indicated by the positive interaction event, each interaction type associated with a different weight depending on a level of interaction indicated by the interaction type;

weighting each of the one or more positive interaction events based on the weight associated with the interaction type for the positive interaction event; and

combining the weighted one or more positive interaction events to generate the positive interaction total.

16. The computer readable storage medium of claim 9 , wherein generating the combination of the engagement events comprises:

determining that a total number of the engagement events is below a threshold number of engagement events needed to accurately classify the message;

identifying a second message having a same type as the message; and

generating the combination of the engagement events further based on a set of engagement events associated with the second message.

17. A computer system for classifying messages in a real-time messaging platform, the computer system comprising a processor and a computer readable medium, the computer readable medium including computer program code for:

receiving engagement events associated with a message broadcast by a real-time messaging platform to a plurality of computing devices associated with users of the platform, the message authored by one of the users of the platform, each engagement event transmitted from one of the computing devices to the platform and indicating an interaction between the associated user and the message, each engagement event including a time when the interaction occurred;

generating a combination of the engagement events, the combination comprising weights for each of a plurality of different engagement types based on the engagement events and their associated times of interaction; and

classifying the message at least in part based on the combination, wherein classifying the message includes determining a relevance of the message to a user of the real-time messaging platform based on the classification of the message.

18. The computer system of claim 17 , wherein the combination of engagement events is modified by decaying with time the combination of engagement events.

19. The computer system of claim 18 , wherein the combination of engagement events is decayed exponentially based on a difference between a first time associated with a previous engagement event and a current time.

20. The computer system of claim 17 , wherein generating the combination of the engagement events comprises:

identifying from the engagement events one or more positive interaction events that each indicates that the interaction between the user and the message is an action taken by the user on the message; and

identifying from the engagement events one or more impression events that each indicates that the interaction between the user and the message is a viewing of the message by the user.

21. The computer system of claim 20 , further comprising:

generating a positive interaction total based on a total number of the one or more positive interaction events;

generating an impression total based on a total number of the one or more impression events; and

combining with different weights the positive interaction total and the impression total to generate the combination of the user engagement events.

22. The computer system of claim 21 , wherein generating the positive interaction total comprises:

identifying an interaction type for each of the one or more positive interaction events based on the interaction indicated by the positive interaction event, each interaction type associated with a different weight depending on a level of interaction indicated by the interaction type;

weighting each of the one or more positive interaction events based on the weight associated with the interaction type for the positive interaction event; and

combining the weighted one or more positive interaction events to generate the positive interaction total.

23. The computer system of claim 17 , wherein generating the combination of the engagement events comprises:

determining that a total number of the engagement events is below a threshold number of engagement events needed to accurately classify the message;

identifying a second message having a same type as the message; and

generating the combination of the engagement events further based on a set of engagement events associated with the second message.

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 Sep 24, 2015
From: GOEL, ASHISH; RAJGOPAL, SRINIVASAN; SRIVASTAVA, UTKARSH; BANERJI, ANAMITRA
To: TWITTER, INC.
Reel/Frame 036651/0447 →
Continuity (2)
Continuation 13433217 · Mar 28, 2012
Provisional Application 61470385 · Mar 31, 2011