IP Library Granted Patent US 10,805,252
Granted Patent B2
US 10,805,252 · App. 16/174,081 · Granted Oct 13, 2020

Prioritizing messages within a message network

Inventors: Abdur Chowdhury (San Francisco, CA); Ashish Goel (Palo Alto, CA); Ram Ravichandran (Mesa, AZ)
Assignee: Twitter, Inc.
H04L51/26H04L12/6418H04L51/32H04L67/22H04L67/26H04L51/04
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 10,805,252
App. No.
16/174,081
Granted
Oct 13, 2020
Kind
B2
Abstract

A system and a method are disclosed for recommending electronic messages in a message sharing system. Users can post messages to the message sharing system. These messages from posting users are received by the system and sent to receiving users that have subscribed to the posting users. The receiving users interact with the messages in various ways, such as by sharing the messages with other users. Interaction information is received for each of the electronic messages. The interaction information includes an indication of the number of interactions with the electronic message by receiving users. A score is determined for each electronic message based on the interaction information. Electronic messages are selected for being recommended to a user or a group of users based on the scores. The recommendations are then sent to the users, enabling users to better focus their attention on messages that are likely to be interesting.

Claims (54)

1. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving a message authored by a posting user in a social messaging system having a plurality of users, wherein the message is a candidate for presentation to a requesting user who requests a plurality of messages to be provided by the social messaging system;

obtaining a number of subscribers for the posting user, the number of subscribers for the posting user representing how many users in the social messaging system have subscribed to receive messages from the posting user;

computing an expected interaction level of subscribers of the posting user for the message according to the number of subscribers for the posting user;

obtaining observed interaction data for the message, the observed interaction data representing interactions with the message by one or more subscribers of the posting user to whom the message has been presented;

computing an observed interaction level of subscribers of the posting user based on the observed interaction data for the message;

computing an interaction level deviation between the observed interaction level of subscribers of the posting user and the expected interaction level of subscribers of the posting user;

computing a score for the message representing how likely it is that subscribers of the posting user in the social messaging system will interact with the message, the score being based on the computed interaction level deviation between the observed interaction level of subscribers of the posting user and the expected interaction level of subscribers of the posting user;

ranking the message relative to a plurality of other messages based on the computed score for the message, the plurality of other messages being candidates for presentation to the requesting user; and

providing one or more highest-ranked messages from among the plurality of other messages and the candidate message, including the candidate message, to a user device for presentation to the requesting user.

2. The system of claim 1 , wherein the computing the expected interaction level of subscribers of the posting user for the message according to the number of subscribers for the posting user comprises providing the number of subscribers for the posting user as input to a function that assigns an expected interaction level based on previous observations of other users interacting with messages posted by a plurality of posting users.

3. The system of claim 2 , wherein the function defines a plurality of ranges and assigns a respective expected number of interactions to each range of the plurality of ranges.

4. The system of claim 1 , wherein the observed interaction data for the message comprises a number of subscribers of the posting user who selected the message after the message was presented.

5. The system of claim 1 , wherein the observed interaction data for the message comprises a number of subscribers of the posting user who shared the message after the message was presented.

6. The system of claim 1 , wherein the observed interaction data for the message comprises a number of subscribers of the posting user who tagged the message as a favorite after the message was presented.

7. The system of claim 1 , wherein computing a score for the message comprises:

applying a first weight to the computed interaction level deviation;

applying a second weight to a particular attribute value of the message; and

computing a weighted sum resulting from applying the first weight to the computed interaction level deviation and applying the second weight to the particular attribute value of the message.

8. The system of claim 7 , wherein the particular attribute value of the message is a number of subscribers to the posting user.

9. A computer-implemented method comprising:

receiving a message authored by a posting user in a social messaging system having a plurality of users, wherein the message is a candidate for presentation to a requesting user who requests a plurality of messages to be provided by the social messaging system;

obtaining a number of subscribers for the posting user, the number of subscribers for the posting user representing how many users in the social messaging system have subscribed to receive messages from the posting user;

computing an expected interaction level of subscribers of the posting user for the message according to the number of subscribers for the posting user;

obtaining observed interaction data for the message, the observed interaction data representing interactions with the message by one or more subscribers of the posting user to whom the message has been presented;

computing an observed interaction level of subscribers of the posting user based on the observed interaction data for the message;

computing an interaction level deviation between the observed interaction level of subscribers of the posting user and the expected interaction level of subscribers of the posting user;

computing a score for the message representing how likely it is that subscribers of the posting user in the social messaging system will interact with the message, the score being based on the computed interaction level deviation between the observed interaction level of subscribers of the posting user and the expected interaction level of subscribers of the posting user;

ranking the message relative to a plurality of other messages based on the computed score for the message, the plurality of other messages being candidates for presentation to the requesting user; and

providing one or more highest-ranked messages from among the plurality of other messages and the candidate message, including the candidate message, to a user device for presentation to the requesting user.

10. The method of claim 9 , wherein the computing the expected interaction level of subscribers of the posting user for the message according to the number of subscribers for the posting user comprises providing the number of subscribers for the posting user as input to a function that assigns an expected interaction level based on previous observations of other users interacting with messages posted by a plurality of posting users.

11. The method of claim 10 , wherein the function defines a plurality of ranges and assigns a respective expected number of interactions to each range of the plurality of ranges.

12. The method of claim 9 , wherein the observed interaction data for the message comprises a number of subscribers of the posting user who selected the message after the message was presented.

13. The method of claim 9 , wherein the observed interaction data for the message comprises a number of subscribers of the posting user who shared the message after the message was presented.

14. The method of claim 9 , wherein the observed interaction data for the message comprises a number of subscribers of the posting user who tagged the message as a favorite after the message was presented.

15. The method of claim 9 , wherein computing a score for the message comprises:

applying a first weight to the computed interaction level deviation;

applying a second weight to a particular attribute value of the message; and

computing a weighted sum resulting from applying the first weight to the computed interaction level deviation and applying the second weight to the particular attribute value of the message.

16. The method of claim 15 , wherein the particular attribute value of the message is a number of subscribers to the posting user.

17. One or more non-transitory computer storage media encoded with computer program instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

receiving a message authored by a posting user in a social messaging system having a plurality of users, wherein the message is a candidate for presentation to a requesting user who requests a plurality of messages to be provided by the social messaging system;

obtaining a number of subscribers for the posting user, the number of subscribers for the posting user representing how many users in the social messaging system have subscribed to receive messages from the posting user;

computing an expected interaction level of subscribers of the posting user for the message according to the number of subscribers for the posting user;

obtaining observed interaction data for the message, the observed interaction data representing interactions with the message by one or more subscribers of the posting user to whom the message has been presented;

computing an observed interaction level of subscribers of the posting user based on the observed interaction data for the message;

computing an interaction level deviation between the observed interaction level of subscribers of the posting user and the expected interaction level of subscribers of the posting user;

computing a score for the message representing how likely it is that subscribers of the posting user in the social messaging system will interact with the message, the score being based on the computed interaction level deviation between the observed interaction level of subscribers of the posting user and the expected interaction level of subscribers of the posting user;

ranking the message relative to a plurality of other messages based on the computed score for the message, the plurality of other messages being candidates for presentation to the requesting user; and

providing one or more highest-ranked messages from among the plurality of other messages and the candidate message, including the candidate message, to a user device for presentation to the requesting user.

18. The one or more non-transitory computer storage media of claim 17 , wherein the computing the expected interaction level of subscribers of the posting user for the message according to the number of subscribers for the posting user comprises providing the number of subscribers for the posting user as input to a function that assigns an expected interaction level based on previous observations of other users interacting with messages posted by a plurality of posting users.

19. The one or more non-transitory computer storage media of claim 18 , wherein the function defines a plurality of ranges and assigns a respective expected number of interactions to each range of the plurality of ranges.

20. The one or more non-transitory computer storage media of claim 17 , wherein the observed interaction data for the message comprises a number of subscribers of the posting user who selected the message after the message was presented.

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 Apr 5, 2019
From: CHOWDHURY, ABDUR; GOEL, ASHISH; RAVICHANDRAN, RAM
To: TWITTER, INC.
Reel/Frame 048811/0256 →
Continuity (3)
Continuation 15144570 · May 2, 2016
Continuation 12898711 · Oct 6, 2010
Related Publication 20190068540A1 · Feb 28, 2019