IP Library Granted Patent US 11,061,883
Granted Patent B2
US 11,061,883 · App. 16/792,086 · Granted Jul 13, 2021

Automated social message stream population

Inventors: Michael Ben Fleischman (Somerville, MA); Matthew Miller (Malden, MA); Richard Douglas Whitcomb, Jr. (Winchester, MA); Mark Watabe (Cambridge, MA); Anthony Sciola (Somerville, MA)
Assignee: Twitter, Inc.
G06F16/23G06F3/0482G06Q10/10H04L51/02H04L51/16H04L51/32G06Q50/01
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 11,061,883
App. No.
16/792,086
Granted
Jul 13, 2021
Kind
B2
Abstract

A messaging system automatically populates a stream of messages using only a seed selected by the requesting account holder. In one embodiment, the seed includes the streams of one or more of the “top” accounts of the messaging system. Here, “top” is according to any one of a number of different metrics stored in the messaging system. With knowledge of the seed, the messaging system automatically populates a stream for the requesting account holder, without requiring any other input. As a result, an account holder is provided with a fully functioning stream with very little effort or knowledge required on their part.

Claims (55)

1. A method performed by a messaging system for automatically populating a stream of messages for a user, the method comprising:

providing, by the messaging system and to a client device, for presentation to and selection by a user of the client device, multiple system-selected accounts, the multiple system-selected accounts being accounts selected by the messaging system, wherein the accounts of the messaging system include first accounts, and the system-selected accounts are selected from among the first accounts;

receiving, by the messaging system, a request for content from the user of the client device, the request specifying two or more user-selected accounts, a user-selected account being an account selected by the user from among the multiple system-selected accounts provided by the messaging system to the client device;

obtaining, for each of the two or more user-selected accounts, a respective feature vector, each respective feature vector representing those first accounts to which the user-selected account is interesting, wherein the respective feature vector is a vector of real numbers;

generating, by the messaging system, a seed vector, comprising summing the respective feature vectors for each of the two or more user-selected accounts;

determining, for each first account, a respective measure of relevance of the first account to the user based on a measure of similarity between a respective feature vector for the first account and the seed vector; and

providing, by the messaging system and to the client device, a response to the request, wherein the response includes messages authored by first accounts in a ranked order according to a ranking score of each message, wherein the ranking score of each message is computed as a function of at least the determined measure of relevance of the first account that authored the message.

2. The method of claim 1 , wherein each of the first accounts is a top account, wherein top accounts are accounts that are top when measured by numbers of followers or when measured by numbers of engagements on messages by the accounts.

3. The method of claim 2 , comprising obtaining, for each of the first accounts, a respective feature vector by:

generating a follow matrix F of dimension N×T in which element (i,j) is a binary value that indicates whether the i-th account is followed by the j-th account, wherein each i-th account is one of N accounts of the messaging system, the messaging system has T top accounts and N>T, and each j-th account is one of T top accounts;

factoring the follow matrix F into a matrix product UΣV, where U is an N×A matrix, Σ is a diagonal A×A matrix, and V is an A×T matrix, wherein A is a predetermined number less than or equal to a total number of features for each top account; and

generating the respective feature vector as a respective row vector of a matrix M=(Σ·V) T corresponding to the top account.

4. The method of claim 3 , wherein generating, for each first account, the respective feature vector defining one or more respective features of the first account further comprises normalizing the row vectors of the matrix M in accordance with a computed variance for values of the row vectors.

5. The method of claim 1 ,

wherein each of the respective feature vectors is a vector of real numbers having as many elements as the number of first accounts; and

wherein the measure of similarity between two feature vectors is computed from a dot product between the vectors.

6. The method of claim 1 , wherein the content is a stream of messages, and wherein providing the messages comprises providing the messages in the ranked order as the stream of messages for display on the client device, wherein higher ranked messages are displayed before lower ranked messages.

7. The method of claim 1 , wherein the ranking score for each message is computed as a function of the determined measure of relevance of the account that authored the message, a measure of engagement with the message, and an age of the message.

8. A system comprising:

one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations performed by a messaging system for automatically populating a stream of messages for a user, the operations comprising:

providing, by the messaging system and to a client device, for presentation to and selection by a user of the client device, multiple system-selected accounts, the multiple system-selected accounts being accounts selected by the messaging system, wherein the accounts of the messaging system include first accounts, and the system-selected accounts are selected from among the first accounts;

receiving, by the messaging system, a request for content from the user of the client device, the request specifying two or more user-selected accounts, a user-selected account being an account selected by the user from among the multiple system-selected accounts provided by the messaging system to the client device;

obtaining, for each of the two or more user-selected accounts, a respective feature vector, each respective feature vector representing those first accounts to which the user-selected account is interesting, wherein the respective feature vector is a vector of real numbers;

generating, by the messaging system, a seed vector, comprising summing the respective feature vectors for each of the two or more user-selected accounts;

determining, for each first account, a respective measure of relevance of the first account to the user based on a measure of similarity between a respective feature vector for the first account and the seed vector; and

providing, by the messaging system and to the client device, a response to the request, wherein the response includes messages authored by first accounts in a ranked order according to a ranking score of each message, wherein the ranking score of each message is computed as a function of at least the determined measure of relevance of the first account that authored the message.

9. The system of claim 8 , wherein each of the first accounts is a top account, wherein top accounts are accounts that are top when measured by numbers of followers or when measured by numbers of engagements on messages by the accounts.

10. The system of claim 9 , comprising obtaining, for each of the first accounts, a respective feature vector by:

generating a follow matrix F of dimension N×T in which element (i,j) is a binary value that indicates whether the i-th account is followed by the j-th account, wherein each i-th account is one of N accounts of the messaging system, the messaging system has T top accounts and N>T, and each j-th account is one of T top accounts;

factoring the follow matrix F into a matrix product UΣV, where U is an N×A matrix, Σ is a diagonal A×A matrix, and V is an A×T matrix, wherein A is a predetermined number less than or equal to a total number of features for each top account; and

generating the respective feature vector as a respective row vector of a matrix M=(Σ·V) T corresponding to the top account.

11. The system of claim 10 , wherein obtaining, for each first account, the respective feature vector defining one or more respective features of the first account further comprises normalizing the row vectors of the matrix M in accordance with a computed variance for values of the row vectors.

12. The system of claim 8 ,

wherein each of the respective feature vectors is a vector of real numbers having as many elements as the number of first accounts; and

wherein the measure of similarity between two feature vectors is computed from a dot product between the vectors.

13. The system of claim 8 , wherein the content is a stream of messages, and wherein providing the messages comprises providing the messages in the ranked order as the stream of messages for display on the client device, wherein higher ranked messages are displayed before lower ranked messages.

14. The system of claim 8 , wherein the ranking score for each message is computed as a function of the determined measure of relevance of the account that authored the message, a measure of engagement with the message, and an age of the message.

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

providing, by a messaging system and to a client device, for presentation to and selection by a user of the client device, multiple system-selected accounts, the multiple system-selected accounts being accounts selected by the messaging system, wherein the accounts of the messaging system include first accounts, and the system-selected accounts are selected from among the first accounts;

receiving, by the messaging system, a request for content from the user of the client device, the request specifying two or more user-selected accounts, a user-selected account being an account selected by the user from among the multiple system-selected accounts provided by the messaging system to the client device;

obtaining, for each of the two or more user-selected accounts, a respective feature vector, each respective feature vector representing those first accounts to which the user-selected account is interesting, wherein the respective feature vector is a vector of real numbers;

generating, by the messaging system, a seed vector, comprising summing the respective feature vectors for each of the two or more user-selected accounts;

determining, for each first account, a respective measure of relevance of the first account to the user based on a measure of similarity between a respective feature vector for the first account and the seed vector; and

providing, by the messaging system and to the client device, a response to the request, wherein the response includes messages authored by first accounts in a ranked order according to a ranking score of each message, wherein the ranking score of each message is computed as a function of at least the determined measure of relevance of the first account that authored the message.

16. The computer-readable media of claim 15 , wherein each of the first accounts is a top account, wherein top accounts are accounts that are top when measured by numbers of followers or when measured by numbers of engagements on messages by the accounts.

17. The computer-readable media of claim 16 , comprising obtaining, for each of the first accounts, a respective feature vector by:

generating a follow matrix F of dimension N×T in which element (i,j) is a binary value that indicates whether the i-th account is followed by the j-th account, wherein each i-th account is one of N accounts of the messaging system, the messaging system has T top accounts and N>T, and each j-th account is one of T top accounts;

factoring the follow matrix F into a matrix product UΣV, where U is an N×A matrix, Σ is a diagonal A×A matrix, and V is an A×T matrix, wherein A is a predetermined number less than or equal to a total number of features for each top account; and

generating the respective feature vector as a respective row vector of a matrix M=(Σ·V) T corresponding to the top account.

18. The computer-readable media of claim 17 , wherein obtaining, for each first account, the respective feature vector defining one or more respective features of the first account further comprises normalizing the row vectors of the matrix M in accordance with a computed variance for values of the row vectors.

19. The computer-readable media of claim 15 ,

wherein each of the respective feature vectors is a vector of real numbers having as many elements as the number of accounts in the plurality of accounts; and

wherein the measure of similarity between two feature vectors is computed from a dot product between the vectors.

20. The computer-readable media of claim 15 , wherein the content is a stream of messages, and wherein providing the messages comprises providing the messages in the ranked order as the stream of messages for display on the client device, wherein higher ranked messages are displayed before lower ranked messages.

21. The computer-readable media of claim 15 , wherein the ranking score for each message is computed as a function of the determined measure of relevance of the account that authored the message, a measure of engagement with the message, and an age of the 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 Jul 8, 2020
From: FLEISCHMAN, MICHAEL BEN; MILLER, MATTHEW; WHITCOMB, RICHARD DOUGLAS; WATABE, MARK; SCIOLA, ANTHONY
To: TWITTER, INC.
Reel/Frame 053157/0674 →
Continuity (4)
Continuation 16004897 · Jun 11, 2018
Continuation 14621203 · Feb 12, 2015
Provisional Application 62072638 · Oct 30, 2014
Related Publication 20200183907A1 · Jun 11, 2020