US 11,989,770 B2
Personalized recommendation of complementary items to a user for inclusion in an order for fulfillment by an online concierge system based on embeddings for a user and for items
Negin Entezari, Riverside, CA (US); Sharath Rao Karikurve, Berkeley, CA (US); Shishir Kumar Prasad, Fremont, CA (US); and Haixun Wang, Palo Alto, CA (US)
Assigned to Maplebear Inc., San Francisco, CA (US)
Filed by Maplebear Inc., San Francisco, CA (US)
Filed on Aug. 18, 2021, as Appl. No. 17/406,027.
Prior Publication US 2023/0056148 A1, Feb. 23, 2023
Int. Cl. G06Q 30/00 (2023.01); G06Q 10/087 (2023.01); G06Q 30/0601 (2023.01)
CPC G06Q 30/0633 (2013.01) [G06Q 10/087 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, performed at a computer system comprising a processor and a computer-readable medium, comprising:
obtaining an inventory of items offered by one or more warehouses, the inventory identifying a warehouse offering an item and attributes of the item;
retrieving prior orders received from users of the computer system, each order including one or more items;
generating, from the prior orders, a tensor having more than two dimensions, each element of the tensor corresponding to a user, an item, and an additional item and having a value specifying a number of times the user corresponding to an identifier has included both the item and the additional item in one or more orders that were fulfilled by the computer system;
applying a trained tensor decomposition model to the tensor to generate an item embedding for each item and a user embedding for each user, wherein the item embedding and the user embedding occupy a common latent space;
receiving, via a user interface of a client device, a request from a user for an order, the request identifying the warehouse;
receiving selections of one or more items included in the order from the user;
generating an order embedding for the order from item embeddings for the one or more items included in the order;
identifying a set of candidate items offered by the warehouse identified by the order;
generating a score for each candidate item of the set, the score for a candidate item of the set based on the order embedding for the order and an item embedding of the candidate item;
selecting one or more candidate items based on the generated scores; and
transmitting an interface to the client device of the user including information describing the selected one or more candidate items.