Multi-attribute matching for candidate selection in recommendation systems
AssigneeMicrosoft Technology Licensing, LLC
InventorsShaghayegh Gharghabi, Huichao Xue
Life of this patent
Estimating the term…
Abstract
Described herein is a candidate selection technique for an online recommendation system or service. Upon receiving a request to generate recommendations for an end-user, attributes of the end-user are obtained. The end-user attributes are then provided as an input to a trained machine learned model, which generates for each attribute a score indicating the predictive power of the attribute in recommending a relevant content item (e.g., an online job posting). Then, a weighted-OR query is derived from a combination of attributes having scores that exceed a predetermined threshold. The query is expressed, such that, content items satisfying the query include at least “k” attributes specified by the query.
Claims20
A computer-implemented method comprising:
- with training data, training a machine learning model to receive as input a plurality of attributes associated with an end-user of an online service and to generate as output a score for each attribute, the score for an attribute indicating the predictive power of the attribute when used as a term of a query for use in selecting candidate job postings to recommend to the end-user, the training data comprising a plurality of attributes i) obtained for an end-user and job posting pair for which the end-user has previously applied for a job, associated with the job posting, and ii) having at least “k” attributes for the end-user matching corresponding attributes of the job posting;
- subsequent to training the machine learning model:
- receiving a request to generate a plurality of job posting recommendations for a first end-user of the online service;
- responsive to receiving the request, obtaining a plurality of attributes associated with the first end-user;
- providing the plurality of attributes associated with the first end-user as input to the machine learning model to generate for each attribute a score indicating the predictive power of the attribute when used as a term of a query for use in selecting candidate job postings to recommend to the end-user;
- deriving a query for fetching candidate job postings, the query i) including a term for each attribute in the plurality of attributes for which the machine learning model generated a score that exceeds a predetermined threshold, and ii) when executed against a plurality of job postings, fetches as candidate job postings those job postings in the plurality of job postings that have at least “k” attributes matching attributes expressed in the terms of the query;
- executing the query to fetch a plurality of candidate job postings;
- processing the plurality of candidate job postings to derive a ranking score for each job posting;
- and
- based at least in part on the ranking scores of the plurality of candidate job postings, selecting a subset of the plurality of job postings for presentation as recommendations to the first end-user.
A system comprising:
- a processor configured to execute computer-readable instructions;
- and
- a memory storage device storing computer-readable instructions, which, when executed by the processor, cause the system to:
- with training data, train a machine learning model to receive as input a plurality of attributes associated with an end-user of an online service and to generate as output a score for each attribute, the score for an attribute indicating the predictive power of the attribute when used as a term of a query for use in selecting candidate job postings to recommend to the end-user, the training data comprising a plurality of attributes i) obtained for an end-user and job posting pair for which the end-user has previously applied for a job, associated with the job posting, and ii) having at least “k” attributes for the end-user matching corresponding attributes of the job posting;
- subsequent to training the machine learning model:
- receive a request to generate a plurality of job posting recommendations for a first end-user of the online service;
- responsive to receiving the request, obtain a plurality of attributes associated with the first end-user;
- provide the plurality of attributes associated with the first end-user as input to the machine learning model to generate for each attribute a score indicating the predictive power of the attribute when used as a term of a query for use in selecting candidate job postings to recommend to the end-user;
- derive a query for fetching candidate job postings, the query i) including a term for each attribute in the plurality of attributes for which the machine learning model generated a score that exceeds a predetermined threshold, and ii) when executed against a plurality of job postings, fetches as candidate job postings those job postings in the plurality of job postings that have at least “k” attributes matching attributes expressed in the terms of the query;
- execute the query to fetch a plurality of candidate job postings;
- process the plurality of candidate job postings to derive a ranking score for each job posting;
- and
- based at least in part on the ranking scores of the plurality of candidate job postings, select a subset of the plurality of job postings for presentation as recommendations to the first end-user.
A system comprising:
- means for training a machine learning model, with training data, to receive as input a plurality of attributes associated with an end-user of an online service and to generate as output a score for each attribute, the score for an attribute indicating the predictive power of the attribute when used as a term of a query for use in selecting candidate job postings to recommend to the end-user, the training data comprising a plurality of attributes i) obtained for an end-user and job posting pair for which the end-user has previously applied for a job, associated with the job posting, and ii) having at least “k” attributes for the end-user matching corresponding attributes of the job posting;
- subsequent to training the machine learning model:
- means for receiving a request to generate a plurality of job posting recommendations for a first end-user of the online service;
- means for obtaining a plurality of attributes associated with the first end-user, responsive to receiving the request;
- means for providing the plurality of attributes associated with the first end-user as input to the machine learning model to generate for each attribute a score indicating the predictive power of the attribute when used as a term of a query for use in selecting candidate job postings to recommend to the end-user;
- means for deriving a query for fetching candidate job postings, the query i) including a term for each attribute in the plurality of attributes for which the machine learning model generated a score that exceeds a predetermined threshold, and ii) when executed against a plurality of job postings, fetches as candidate job postings those job postings in the plurality of job postings that have at least “k” attributes matching attributes expressed in the terms of the query;
- means for executing the query to fetch a plurality of candidate job postings;
- means for processing the plurality of candidate job postings to derive a ranking score for each job posting;
- and
- means for selecting a subset of the plurality of job postings for presentation as recommendations to the first end-user, based at least in part on the ranking scores of the plurality of candidate job postings.
Dependencies are inferred from the claim text.