Ranking of user contacts to facilitate efficient user interfaces
AssigneeFacebook, Inc.
InventorXiangyang Liu
Life of this patent
Estimating the term…
Abstract
A request for a ranked list of contacts of the user is received from a client device associated with a user. The request identifies a purpose for the ranked list of contacts. A list of the user's contacts is retrieved from a data store and a subset of the user's contacts that are likely to interact with the user in a specified future time period is identified. Ranking scores are calculated for the subset of the user's contacts, each ranking score indicating a probability that the user will interact with a corresponding one of the subset of the user's contacts in a manner consistent with the purpose. A ranked list of contacts is determined based on the ranking scores and sent to the client device.
Claims20
A method comprising:
- receiving, from a client device associated with a user, a request for a ranked list of contacts of the user, the request identifying a purpose for the ranked list of contacts;
- retrieving a list of the user's contacts from a data store;
- identifying a subset of the user's contacts that are likely to interact with the user in a specified future time period, identifying the subset comprising:
- identifying an initial subset of the user's contacts;
- identifying a message thread associated with a contact in the initial subset;
- obtaining a set of features associated with the message thread;
- applying a machine-learned global ranking model to the set of features to generate a likelihood that the contact will interact with the user in the specified future time period;
- and
- refining the initial subset to identify the subset based on the likelihood;
- calculating ranking scores for the subset of the user's contacts, each ranking score indicating a probability that the user will interact with a corresponding one of the subset of the user's contacts in a manner consistent with the purpose;
- and
- sending the ranked list of contacts to the client device, the ranked list of contacts based on the ranking scores.
A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations comprising:
- receiving, from a client device associated with a user, a request for a ranked list of contacts of the user, the request identifying a purpose for the ranked list of contacts;
- retrieving a list of the user's contacts from a data store;
- identifying a subset of the user's contacts that are likely to interact with the user in a specified future time period, the identifying comprising steps:
- identifying an initial subset of the user's contacts;
- identifying a message thread associated with a contact in the initial subset;
- obtaining a set of features associated with the message thread;
- applying a machine-learned global ranking model to the set of features to generate a likelihood that the contact will interact with the user in the specified future time period;
- and
- refining the initial subset to identify the subset based on the likelihood;
- calculating ranking scores for the subset of the user's contacts, each ranking score indicating a probability that the user will interact with a corresponding one of the subset of the user's contacts in a manner consistent with the purpose;
- and
- sending the ranked list of contacts to the client device, the ranked list of contacts based on the ranking scores.
A system comprising:
- a computer processor for executing computer program instructions;
- and
- a non-transitory computer-readable storage medium storing computer program instructions executable by the processor to perform operations comprising:
- receiving, from a client device associated with a user, a request for a ranked list of contacts of the user, the request identifying a purpose for the ranked list of contacts;
- retrieving a list of the user's contacts from a data store;
- identifying a subset of the user's contacts that are likely to interact with the user in a specified future time period, the identifying comprising steps:
- identifying an initial subset of the user's contacts;
- identifying a message thread associated with a contact in the initial subset;
- obtaining a set of features associated with the message thread;
- applying a machine-learned global ranking model to the set of features to generate a likelihood that the contact will interact with the user in the specified future time period;
- and
- refining the initial subset to identify the subset based on the likelihood;
- calculating ranking scores for the subset of the user's contacts, each ranking score indicating a probability that the user will interact with a corresponding one of the subset of the user's contacts in a manner consistent with the purpose;
- and
- sending the ranked list of contacts to the client device, the ranked list of contacts based on the ranking scores.
Dependencies are inferred from the claim text.