Systems and methods for slate optimization with recurrent neural networks
AssigneeGoogle Inc.
InventorsOfer Pinhas Meshi, Irwan Bello, Sayali Satish Kulkarni, Sagar Jain
Life of this patent
Estimating the term…
Abstract
Systems and methods for generating a slate of ranked items are provided. In one example embodiment, a computer-implemented method includes inputting a sequence of candidate items into a machine-learned model, and obtaining, in response to inputting the sequence of candidate items into the machine-learned model, an output of the machine-learned model that includes a ranking of the candidate items that presents a diverse set of the candidate items at the top positions in the ranking such that one or more highly relevant candidate items can be demoted in the ranking.
Claims20
A computer system comprising:
- one or more processors;
- and
- one or more non-transitory computer readable media that collectively store:
- a machine-learned pointer network for generating an output sequence from a list of candidate items, wherein the output sequence comprises a ranking of the candidate items, wherein the ranking of the candidate items orders the candidate items included in the output sequence based on a respective probability of user engagement with each candidate item included in the output sequence, the machine-learned pointer network comprising:
- an encoder network configured to receive the list of candidate items and provide an output that includes a sequence of latent memory states;
- a decoder network configured to receive a previously-selected candidate item for the output sequence and provide an output vector based at least in part on the previously-selected candidate item;
- and
- an attention network configured to receive the sequence of latent memory states and a query including the output vector from the decoder network, the attention network configured to produce a probability distribution associated with a next candidate item to include in the output sequence, wherein the attention network produces the probability distribution based at least in part on candidate items that already appear in the output sequence;
- wherein the machine-learned pointer network has been trained on a training dataset comprising a plurality of training examples, wherein each training example comprises a sequence of training items and a sequence of labels respectively associated with the sequence of training items, wherein the respective label for each training item indicates a level of user engagement with the training item;
- and
- wherein the one or more non-transitory computer readable media also collectively store instructions that, when executed by the one or more processors, cause the computer system to perform operations, the operations comprising:
- providing an input associated with the list of candidate items to the machine-learned pointer network;
- implementing the machine-learned pointer network to process the list of candidate items;
- receiving an output generated by the machine-learned pointer network as a result of processing the list of candidate items;
- and
- selecting the next candidate item to include in the output sequence based at least in part on the probability distribution.
A computer-implemented method to train a machine-learned pointer network, the method comprising:
- obtaining, by one or more computing devices, data descriptive of the machine-learned pointer network configured to generate an output sequence from a list of candidate items, wherein the output sequence comprises a ranking of the candidate items, wherein the ranking of the candidate items orders the candidate items included in the output sequence based on a respective probability of user engagement with each candidate item included in the output sequence, wherein the machine-learned pointer network comprises an encoder network configured to receive the list of candidate items and provide an output that includes a sequence of latent memory states, a decoder network that operates over a plurality of decoding steps and is configured to receive a previously-selected candidate item for the output sequence and provide an output vector based at least in part on the previously-selected candidate item, and an attention network configured to receive the sequence of latent memory states and a query including the output vector from the decoder network, wherein the attention network is configured to produce a probability distribution associated with a next candidate item to include in the output sequence, and wherein, at each of the plurality of decoding steps, the attention network assigns scores to the list of candidate items as part of producing the probability distribution;
- training, by the one or more computing devices, the machine-learned pointer network based on a set of training data comprising a plurality of training examples, wherein each training example comprises a sequence of training items and a sequence of labels respectively associated with the sequence of training items, wherein the respective label for each training item indicates a level of user engagement with the training item,
- wherein training, by the one or more computing devices, the machine-learned pointer network comprises:
- determining, by the one or more computing devices, a per-step loss for two or more of the plurality of decoding steps, the per-step loss at each of the two or more of the plurality of decoding steps representing a performance evaluation of the machine-learned pointer network based on the set of training data at such decoding step, and wherein the per-step loss at each of the two or more of the plurality of decoding steps considers only training labels assigned to training items that have not been previously selected for inclusion in the output sequence;
- and
- modifying, by the one or more computing devices, one or more parameters of the machine-learned pointer network based at least in part on the per-step loss.
A computer-implemented method to generate an output sequence from a list of candidate items, the method comprising:
- ranking, by one or more computing devices, the list of candidate items to generate an initial sequence of candidate items;
- inputting, by the one or more computing devices, the initial sequence of candidate items into an encoder network configured to receive the initial sequence of candidate items and provide an output that includes a sequence of latent memory states;
- inputting, by the one or more computing devices, a previously-selected candidate item for the output sequence into a decoder network configured to receive the previously-selected candidate item and provide an output vector based at least in part on the previously-selected candidate item;
- and
- inputting the sequence of latent memory states and a query including the output vector from the decoder network into an attention network configured to receive the sequence of latent memory states and the query including the output vector from the decoder network, the attention network configured to produce a probability distribution associated with a next candidate item to include in the output sequence, wherein the output sequence comprises a ranking of the candidate items, wherein the ranking of the candidate items orders the candidate items included in the output sequence based on a respective probability of user engagement with each candidate item included in the output sequence;
- wherein the encoder network, the decoder network, and the attention network have been jointly trained on a training dataset comprising a plurality of training examples, wherein each training example comprises a sequence of training items and a sequence of labels respectively associated with the sequence of training items, wherein the respective label for each training item indicates a level of user engagement with the training item.
Dependencies are inferred from the claim text.