×

Pre-filtering in a messaging platform

  • US 10,248,667 B1
  • Filed: 03/14/2014
  • Issued: 04/02/2019
  • Est. Priority Date: 03/15/2013
  • Status: Active Grant
First Claim
Patent Images

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 all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×