Pre-filtering in a messaging platform
First Claim
1. A computer-implemented method comprising:
- receiving, from a client device accessing a real-time messaging platform using a first account of a plurality of accounts, one or more signals indicating a request for a message stream, wherein the first account is associated with one or more account features;
identifying a set of two or more candidate messages each associated with one or more message features;
selecting, based on a machine learning model, a subset of features that includes at least one of the one or more message features and at least one of the one or more account features, wherein only message features and account features included in the subset of features are used to preliminarily evaluate the candidate messages in the set of two or more candidate messages, thereby reducing an amount of processing needed to preliminarily select candidate messages for inclusion in the message stream, wherein the subset of features includes fewer features than a total of the one or more account features and the one or more message features;
determining, based on the machine learning model and ranking data representing past rankings of candidate messages for the plurality of accounts, account ranking weights for the at least one of the one or more account features associated with the first account and that are included in the subset of features, the past rankings used to select one or more candidate messages to present in message streams associated with the plurality of accounts;
for each candidate message of the set of two or more candidate messages;
determining, based on the ranking data and the machine learning model, message ranking weights for the at least one of the one or more message features associated with the candidate message that are included in the subset of features;
determining, by a processor, a value representing a likelihood of the candidate message ranking above a ranking threshold for the first account, the likelihood based at least on the message ranking weights and the account ranking weights; and
in response to the determined value being less than a threshold likelihood value, removing the candidate message from the set of two or more candidate messages to generate a set of remaining candidate messages;
selecting at least one of the set of remaining candidate messages for inclusion in a message stream of the first account; and
sending the message stream to the client device for display on the client device, wherein the message stream includes the selected at least one candidate message of the set of remaining candidate messages.
4 Assignments
0 Petitions
Accused Products
Abstract
A real-time messaging platform allows advertiser accounts to pay to insert candidate messages into the message streams requested by account holders. To accommodate multiple advertisers, the messaging platform controls an auction process that determines which candidate messages are selected for inclusion in a requested account holder'"'"'s message stream. Selection is based on a bid for the candidate message, the message stream that is requested, and a variety of other factors that vary depending upon the implementation. The process for selection of candidate messages generally includes the following steps, though any given step may be omitted or combined into another step in a different implementation: targeting, filtering, prediction, ranking, and selection.
-
Citations
31 Claims
-
1. A computer-implemented method comprising:
-
receiving, from a client device accessing a real-time messaging platform using a first account of a plurality of accounts, one or more signals indicating a request for a message stream, wherein the first account is associated with one or more account features; identifying a set of two or more candidate messages each associated with one or more message features; selecting, based on a machine learning model, a subset of features that includes at least one of the one or more message features and at least one of the one or more account features, wherein only message features and account features included in the subset of features are used to preliminarily evaluate the candidate messages in the set of two or more candidate messages, thereby reducing an amount of processing needed to preliminarily select candidate messages for inclusion in the message stream, wherein the subset of features includes fewer features than a total of the one or more account features and the one or more message features; determining, based on the machine learning model and ranking data representing past rankings of candidate messages for the plurality of accounts, account ranking weights for the at least one of the one or more account features associated with the first account and that are included in the subset of features, the past rankings used to select one or more candidate messages to present in message streams associated with the plurality of accounts; for each candidate message of the set of two or more candidate messages; determining, based on the ranking data and the machine learning model, message ranking weights for the at least one of the one or more message features associated with the candidate message that are included in the subset of features; determining, by a processor, a value representing a likelihood of the candidate message ranking above a ranking threshold for the first account, the likelihood based at least on the message ranking weights and the account ranking weights; and in response to the determined value being less than a threshold likelihood value, removing the candidate message from the set of two or more candidate messages to generate a set of remaining candidate messages; selecting at least one of the set of remaining candidate messages for inclusion in a message stream of the first account; and sending the message stream to the client device for display on the client device, wherein the message stream includes the selected at least one candidate message of the set of remaining candidate messages. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium comprising instructions executable by a processor, the instructions for:
-
receiving, from a client device accessing a real-time messaging platform using a first account of a plurality of accounts, one or more signals indicating a request for a message stream, wherein the first account is associated with one or more account features; identifying a set of two or more candidate messages each associated with one or more message features; selecting, based on a machine learning model, a subset of features that includes at least one of the one or more message features and at least one of the one or more account features, wherein only message features and account features included in the subset of features are used to preliminarily evaluate the candidate messages in the set of two or more candidate messages, thereby reducing an amount of processing needed to preliminarily select candidate messages for inclusion in the message stream, wherein the subset of features includes fewer features than a total of the one or more account features and the one or more message features; determining, based on the machine learning model and ranking data representing past rankings of candidate messages for the plurality of accounts, account ranking weights for the at least one of the one or more account features associated with the first account and that are included in the subset of features, the past rankings used to select one or more candidate messages to present in message streams associated with the plurality of accounts; for each candidate message of the set of two or more candidate messages; determining, based on the ranking data and the machine learning model, message ranking weights for the at least one of the one or more message features associated with the candidate message that are included in the subset of features; determining a value representing a likelihood of the candidate message ranking above a ranking threshold for the first account, the likelihood based at least on the message ranking weights and the account ranking weights; and in response to the determined value being less than a threshold likelihood value, removing the candidate message from the set of two or more candidate messages to generate a set of remaining candidate messages; selecting at least one of the set of remaining candidate messages for inclusion in a message stream of the first account; and sending the message stream to the client device for display on the client device, wherein the message stream includes the selected at least one candidate message of the set of remaining candidate messages. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A device comprising:
- at least one processor; and
at least one non-transitory computer-readable storage medium storing instructions that are executable by the at least one processor to; receive, from a client device accessing a real-time messaging platform using a first account of a plurality of accounts, one or more signals indicating a request for a message stream, wherein the first account is associated with one or more account features; identify a set of two or more candidate messages each associated with one or more message features; select, based on a machine learning model, a subset of features that includes at least one of the one or more message features and at least one of the one or more account features, wherein only message features and account features included in the subset of features are used to preliminarily evaluate the candidate messages in the set of two or more candidate messages, thereby reducing an amount of processing needed to preliminarily select candidate messages for inclusion in the message stream, wherein the subset of features include fewer features than a total of the one or more account features and the one or more message features; determine, based on the machine learning model and ranking data representing past rankings of candidate messages for the plurality of accounts, account ranking weights for the at least one of the one or more account features associated with the first account and that are included in the subset of features, the past rankings used to select one or more candidate messages to present in message streams associated with the plurality of accounts; for each candidate message of the set of two or more candidate messages; determine, based on the ranking data and the machine learning model, message ranking weights for the at least one of the one or more message features associated with the candidate message that are included in the subset of features; determine a value representing a likelihood of the candidate message ranking above a ranking threshold for the first account, the likelihood based at least on the message ranking weights and the account ranking weights; and in response to the determined value being less than a threshold likelihood value, remove the candidate message from the set of two or more candidate messages to generate a set of remaining candidate messages; select at least one of the set of remaining candidate messages for inclusion in a message stream of the first account; and send the message stream to the client device for display on the client device, wherein the message stream includes the selected at least one candidate message of the set of remaining candidate messages. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
- at least one processor; and
Specification