IP Library Granted Patent US 12705667
Granted Patent B2
US 12705667 · App. 18/416,823 · Granted Aug 11, 2026

Selecting item attributes to display in a limited screen area of a user interface based on predicted engagement from a machine learning model

Inventors: Shih-Ting Lin (Santa Clara, CA); Saurav Manchanda (Seattle, WA); Prithvishankar Srinivasan (Seattle, WA); Amirali Darvishzadeh (San Jose, CA); Min Xie (Santa Clara, CA); Shishir Kumar Prasad (Fremont, CA); Danna Weintraub (New York, NY); Satish Boggarapu (Media, PA)
Assignee: Maplebear Inc.
G06Q30/0641G06N3/084
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12705667
App. No.
18/416,823
Granted
Aug 11, 2026
Kind
B2
Abstract

An online concierge system maintains various attributes for each item. To optimize information about items displayed in an interface, the online concierge system selects a subset of attributes of an item for display based on an item category including the item. The online concierge system applies an attribute selection model to combinations of an item category and attributes associated with the item category. The attribute selection model selects one or more attributes for an item category using one or more of an engagement model trained from prior interactions by customers and an output of a large language model prompted to select relevant attributes based on the item category. When generating an interface including an item, the online concierge system includes the subset of attributes selected for an item category including the item in conjunction with the item.

Claims (85)

1 . A method, performed at a computer system comprising a processor and a computer-readable storage medium, comprising:

receiving a request from a user device to display an interface, the interface including an item along with a plurality of additional items;

in response to the request, retrieving the items for display in the interface;

identifying an item category for the item;

selecting a group of attributes corresponding to the identified item category;

selecting, based on application of an attribute selection model to the group of attributes, a subset of attributes from the group, by:

generating a score for each of the group of attributes by applying the attribute selection model to each of the group of attributes, the attribute selection model comprising an engagement model generating an engagement score for an attribute of the group, the engagement model trained by:

obtaining a training dataset including a plurality of training examples, each training example including a combination of a training item category and a value for a training attribute of an item in the training item category, each training example having a label indicating a rate at which one or more users performed a specific action with one or more items of the training item category having the value for the training attribute;

applying the engagement model to each training example of the training dataset to generate a predicted probability of the user performing the specific action with one or more items of the training item category having the value for the training attribute;

scoring the engagement model using a loss function and the label of the training example; and

updating one or more parameters of the engagement model by backpropagation based on the scoring until one or more criteria are satisfied; and

selecting, based on the generated scores, the subset of attributes from the group of attributes;

generating the interface for display to the user, the interface displaying the item and, in conjunction with the item, the selected subset of attributes for the item category of the item; and

sending the generated interface to the user device, wherein sending the generated interface to the user device causes the user device to display the generated interface.

2 . The method of claim 1 , wherein selecting, based on application of an attribute selection model to the group of attributes, the subset of attributes from the group further comprises:

inputting a prompt to a large language model, the prompt including the item category, an identifier of each attribute of the group, a description of each attribute of the group, and a request to select a specific number of attributes from the group of attributes; and

including the attributes output by the large language model in the subset of attributes from the group.

3 . The method of claim 2 , wherein inputting the description of an attribute of the group comprises inputting a text description of the attribute of the group and a data type of the attribute of the group.

4 . The method of claim 3 , wherein inputting the prompt further comprises inputting one or more characteristics of the user.

5 . The method of claim 4 , wherein inputting the one or more characteristics of the user comprises inputting one or more values of attributes of items the user included in orders fulfilled by the computer system with at least a threshold frequency.

6 . The method of claim 1 , wherein selecting, based on application of an attribute selection model to the group of attributes, the subset of attributes from the group comprises:

generating a score for each attribute of the group by applying the attribute selection model to an attribute of the group, the attribute selection model generating the score based on a relevance score for the attribute of the group based on a large language model and an engagement score from an engagement model for the attribute of the group, the engagement model trained by:

obtaining a training dataset including a plurality training examples, each training example including a combination of a training item category and a value for a training attribute of an item in the training item category, each score training example having a label indicating a rate at which one or more users performed a specific action with one or more items of the training item category having the value for the training attribute;

applying the engagement model to each training example of the training dataset to generate a predicted probability of the user performing the specific action with one or more items of the training item category having the value for the training attribute;

scoring the engagement model using a loss function and the label of the training example; and

updating one or more parameters of the engagement model by backpropagation based on the scoring until one or more criteria are satisfied; and

selecting the subset of attributes of the group based on the scores.

7 . The method of claim 6 , wherein generating the score for each attribute of the group by applying the attribute selection model to the attribute of the group comprises:

generating a set of engagement scores for the attribute of the group, each engagement score corresponding to a different value for the attribute;

selecting an engagement score from the set of engagement scores; and

generating the score for the attribute of the group by combining the selected engagement score for the attribute of the group with the relevance score for the attribute of the group.

8 . The method of claim 6 , wherein the relevance score for the attribute of the group based on the large language model has a particular value in response to the attribute of the group being included in a set of attributes output by the large language model in response to a prompt including the item category and has an alternative value in response to the attribute of the group being included in a set of attributes output by the large language model in response to the prompt including the item category.

9 . The method of claim 8 , wherein generating the score for the attribute of the group by combining the selected engagement score for the attribute of the group with the relevance score for the attribute of the group comprises:

adding the selected engagement score for the attribute of the group with the relevance score for the attribute of the group.

10 . A computer program product comprising a non-transitory computer readable medium having instructions encoded thereon that, when executed by a processor, cause the processor to perform steps comprising:

receiving a request from a user device to display an interface, the interface including an item along with a plurality of additional items;

in response to the request, retrieving the items for display in the interface;

identifying an item category for the item;

selecting a group of attributes corresponding to the identified item category;

selecting, based on application of an attribute selection model to the group of attributes, a subset of attributes from the group, by:

generating a score for each of the group of attributes by applying the attribute selection model to each of the group of attributes, the attribute selection model comprising an engagement model generating an engagement score for an attribute of the group, the engagement model trained by:

obtaining a training dataset including a plurality of training examples, each training example including a combination of a training item category and a value for a training attribute of an item in the training item category, each training example having a label indicating a rate at which one or more users performed a specific action with one or more items of the training item category having the value for the training attribute;

applying the engagement model to each training example of the training dataset to generate a predicted probability of the user performing the specific action with one or more items of the training item category having the value for the training attribute;

scoring the engagement model using a loss function and the label of the training example; and

updating one or more parameters of the engagement model by backpropagation based on the scoring until one or more criteria are satisfied; and

selecting, based on the generated scores, the subset of attributes from the group of attributes;

generating the interface for display to the user, the interface displaying the item and, in conjunction with the item, the selected subset of attributes for the item category of the item; and

sending the generated interface to the user device, wherein sending the generated interface to the user device causes the user device to display the generated interface.

11 . The computer program product of claim 10 , wherein selecting, based on application of an attribute selection model to the group of attributes, the subset of attributes from the group further comprises:

inputting a prompt to a large language model, the prompt including the item category, an identifier of each attribute of the group, a description of each attribute of the group, and a request to select a specific number of attributes from the group of attributes; and

including the attributes output by the large language model in the subset of attributes from the group.

12 . The computer program product of claim 11 , wherein inputting the description of an attribute of the group comprises inputting a text description of the attribute of the group and a data type of the attribute of the group.

13 . The computer program product of claim 12 , wherein inputting the prompt further comprises inputting one or more characteristics of the user.

14 . The computer program product of claim 13 , wherein inputting the one or more characteristics of the user comprises inputting one or more values of attributes of items the user included in orders fulfilled by a computer system with at least a threshold frequency.

15 . The computer program product of claim 10 , wherein selecting, based on application of an attribute selection model to the group of attributes, the subset of attributes from the group comprises:

generating a score for each attribute of the group by applying the attribute selection model to an attribute of the group, the attribute selection model generating the score based on a relevance score for the attribute of the group based on a large language model and an engagement score from an engagement model for the attribute of the group, the engagement model trained by:

obtaining a training dataset including a plurality training examples, each training example including a combination of a training item category and a value for a training attribute of an item in the training item category, each score training example having a label indicating a rate at which one or more users performed a specific action with one or more items of the training item category having the value for the training attribute;

applying the engagement model to each training example of the training dataset to generate a predicted probability of the user performing the specific action with one or more items of the training item category having the value for the training attribute;

scoring the engagement model using a loss function and the label of the training example; and

updating one or more parameters of the engagement model by backpropagation based on the scoring until one or more criteria are satisfied; and

selecting the subset of attributes of the group based on the scores.

16 . The computer program product of claim 15 , wherein determining the score for each attribute of the group by applying the attribute selection model to the attribute of the group comprises:

generating a set of engagement scores for the attribute of the group, each engagement score corresponding to a different value for the attribute;

selecting an engagement score from the set of engagement scores; and

generating the score for the attribute of the group by combining the selected engagement score for the attribute of the group with the relevance score for the attribute of the group.

17 . The computer program product of claim 15 , wherein the relevance score for the attribute of the group based on the large language model has a particular value in response to the attribute of the group being included in a set of attributes output by the large language model in response to a prompt including the item category and has an alternative value in response to the attribute of the group being included in a set of attributes output by the large language model in response to the prompt including the item category.

18 . A system comprising:

a processor; and

a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by the processor, cause the processor to perform steps comprising:

receiving a request from a user device to display an interface, the interface including an item along with a plurality of additional items;

in response to the request, retrieving the items for display in the interface;

identifying an item category for the item;

selecting a group of attributes corresponding to the identified item category;

selecting, based on application of an attribute selection model to the group of attributes, a subset of attributes from the group, by:

generating a score for each of the group of attributes by applying the attribute selection model to each of the group of attributes, the attribute selection model comprising an engagement model generating an engagement score for an attribute of the group, the engagement model trained by:

obtaining a training dataset including a plurality of training examples, each training example including a combination of a training item category and a value for a training attribute of an item in the training item category, each training example having a label indicating a rate at which one or more users performed a specific action with one or more items of the training item category having the value for the training attribute;

applying the engagement model to each training example of the training dataset to generate a predicted probability of the user performing the specific action with one or more items of the training item category having the value for the training attribute;

scoring the engagement model using a loss function and the label of the training example; and

updating one or more parameters of the engagement model by backpropagation based on the scoring until one or more criteria are satisfied; and

selecting, based on the generated scores, the subset of attributes from the group of attributes;

generating the interface for display to the user, the interface displaying the item and, in conjunction with the item, the selected subset of attributes for the item category of the item; and

sending the generated interface to the user device, wherein sending the generated interface to the user device causes the user device to display the generated interface.

19 . The system of claim 18 , wherein selecting, based on application of an attribute selection model to the group of attributes, the subset of attributes from the group further comprises:

inputting a prompt to a large language model, the prompt including the item category, an identifier of each attribute of the group, a description of each attribute of the group, and a request to select a specific number of attributes from the group of attributes; and

including the attributes output by the large language model in the subset of attributes from the group.