IP Library › Granted Patent US 12,259,894
Granted Patent B2
US 12,259,894 · App. 17/666,531 · Granted Mar 25, 2025

Accounting for item attributes when selecting items satisfying a query based on item embeddings and an embedding for the query

Inventors: Taesik Na (Issaquah, WA); Zhihong Xu (Sunnyvale, CA); Guanghua Shu (Sunnyvale, CA); Tejaswi Tenneti (Fremont, CA); Haixun Wang (Palo Alto, CA)
Assignee: Maplebear Inc.
G06F16/24578G06F16/2438
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 12,259,894
App. No.
17/666,531
Granted
Mar 25, 2025
Kind
B2
Abstract

An online system maintains various items and maintains values for different attributes of the items, as well as an item embedding for each item. When the online system receives a query for retrieving one or more items, the online system generates an embedding for the query. Based on measures of similarity between the embedding for the query and item embeddings, the online system selects a set of items. The online system identifies a specific attribute of items and generates a whitelist of values for the specific attribute based on measures of similarity between item embeddings for items in the selected set and the embedding for the query. The online system removes items having values for the selected attribute outside of the whitelist of values from the selected set of items to identify items more likely to be relevant to the query.

Claims (93)

1. A method for improving a search interface using embeddings extracted from a neural network, the method comprising:

receiving, at an online system, a query directed at the search interface;

applying the neural network, by the online system, to extract an embedding for the query, the embedding for the query representing the query in a latent space of the neural network, wherein applying the neural network to extract the embedding for the query comprises:

storing the query as a query feature vector,

inputting the query feature vector into the neural network, and

extracting a query latent vector in a first hidden layer of the neural network;

applying the neural network to extract item embeddings for each of a plurality of items maintained in an item database by the online system, each item embedding corresponding to an item offered by the online system and representing the item in the latent space of the neural network, wherein applying the neural network to extract an item embedding for an item comprises:

storing the item as an item feature vector,

inputting the item feature vector into the neural network, and

extracting an item latent vector in a second hidden layer of the neural network;

comparing, in the latent space of the neural network, the embedding for the query to the item embeddings to select a set of items corresponding to item embeddings that are selected in the latent space;

determining a value of a category associated with each item of the set of items from the item database;

generating a whitelist of values for the category based on the values of the category associated with each item of the set; and

generating, as a response to the query directed at the search interface that relies on the embeddings from the neural network, a query result comprising a plurality of items, wherein generating the plurality of items comprises removing one or more items having values for the category that are not included in the whitelist of values for the category.

2. The method of claim 1 , wherein generating the whitelist of values for the category from the values of the category associated with each item of the set comprises:

ranking items included in the set of items based on corresponding measures of similarity between the embedding for the query and the item embeddings corresponding to each item included in the selected set of items;

identifying items of the selected set of items having at least a threshold position in the ranking; and

generating the whitelist of values for the category as values of the category for the identified items.

3. The method of claim 1 , wherein generating the whitelist of values for the category from the values of the category associated with each item of the selected set comprises:

identifying items of the set of items corresponding to item embeddings having at least a threshold measure of similarity to the embedding for the query; and

generating the whitelist of values for the category as values of the category for the identified items.

4. The method of claim 1 , wherein generating the whitelist of values for the category from the values of the category associated with each item of the selected set comprises:

ranking items included in the set of items based on corresponding measures of similarity between the embedding for the query and the item embeddings corresponding to each item included in the selected set of items; and

generating the whitelist of values for the category as values of the category for items having at least a threshold position in the ranking and having item embeddings with at least a threshold measure of similarity to the embedding for the query.

5. The method of claim 1 , wherein comparing, in the latent space of the neural network, the embedding for the query to the item embeddings comprises:

determining distances between the embedding for the query and each item embedding; and

generating the set of items based on the determined distances.

6. The method of claim 1 , further comprising:

generating an interface displaying items from a modified set of items with the one or more items removed from the online system as results satisfying the query for transmission from the online system to a client device for display.

7. The method of claim 1 , wherein receiving, at the online system, a query directed at the search interface comprises:

receiving a request to create an order from a user, the request identifying a warehouse; and

receiving the query to identify one or more items offered by the warehouse satisfying the query.

8. The method of claim 7 , further comprising:

generating an interface displaying items of a modified set of items with the one or more items removed from the online system as results for the query for transmission to a client device for display via a customer mobile application executing on the client device.

9. A method for improving a search interface using embeddings extracted from a neural network, the method comprising:

receiving, at an online system, a query directed at the search interface;

applying the neural network, by the online system, to extract an embedding for the query, the embedding for the query representing the query in a latent space of the neural network, wherein applying the neural network to extract the embedding for the query comprises:

storing the query as a query feature vector,

inputting the query feature vector into the neural network, and

extracting a query latent vector in a first hidden layer of the neural network;

applying the neural network to extract item embeddings for each of a plurality of items maintained in an item database by the online system, each item embedding representing an item maintained by the online system in the latent space of the neural network, wherein applying the neural network to extract an item embedding for an item comprises:

storing the item as an item feature vector,

inputting the item feature vector into the neural network, and

extracting an item latent vector in a second hidden layer of the neural network;

comparing, in the latent space of the neural network, the embedding for the query to the item embeddings to select a set of items corresponding to item embeddings that are selected in the latent space;

identifying a specific attribute associated with items maintained by the online system;

determining a value of the specific attribute associated with each item of the selected set of items from the item database;

generating a whitelist of values for the specific attribute based on the values of the specific attribute associated with items of the selected set; and

generating, as a response to the query directed at the search interface that relies on the embeddings from the neural network, a query result comprising a plurality of items, wherein generating the plurality of items comprises removing one or more items having particular values for the specific attribute that do not match at least one value included in the whitelist of values for the specific attribute.

10. The method of claim 9 , wherein generating the whitelist of values for the specific attribute based on the values of the specific attribute associated items of the selected set comprises:

ranking items included in the selected set of items based on corresponding measures of similarity between the embedding for the query and the item embeddings corresponding to each item included in the selected set of items;

identifying items of the selected set of items having at least a threshold position in the ranking; and

generating the whitelist of values for the specific attribute as values of the specific attribute for the identified items.

11. The method of claim 9 , wherein generating the whitelist of values for the specific attribute based on the values of the specific attribute associated items of the selected set comprises:

identifying items of the set of items corresponding to item embeddings having at least a threshold measure of similarity to the embedding for the query; and

generating the whitelist of values for the specific attribute as values of the specific attribute for the identified items.

12. The method of claim 9 , wherein generating the whitelist of values for the specific attribute based on the values of the specific attribute associated items of the selected set comprises:

ranking items included in the set of items based on corresponding measures of similarity between the embedding for the query and the item embeddings corresponding to each item included in the selected set of items; and

generating the whitelist of values for the specific attributes as values of the specific attribute for items having at least a threshold position in the ranking and having item embeddings with at least a threshold measure of similarity to the embedding for the query.

13. The method of claim 9 , wherein comparing, in the latent space of the neural network, the embedding for the query to the item embeddings comprises:

determining distances between the embedding for the query and each item embedding; and

generating the set of items based on the determined distances.

14. The method of claim 9 , further comprising:

generating an interface displaying items from a modified set of items with the one or more items removed from the online system as results satisfying the query for transmission from the online system to a client device for display.

15. A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon, the instructions for improving a search interface using embeddings extracted from a neural network, wherein the instructions, when executed by a processor, cause the processor to:

receive, at an online system, a query directed at the search interface;

apply the neural network, by the online system, to extract an embedding for the query, the embedding for the query representing the query in a latent space of the neural network, wherein applying the neural network to extract the embedding for the query comprises:

storing the query as a query feature vector,

inputting the query feature vector into the neural network, and

extracting a query latent vector in a first hidden layer of the neural network;

apply the neural network to extract item embeddings for each of a plurality of items maintained in an item database by the online system, each item embedding representing an item maintained by the online system in the latent space of the neural network, wherein applying the neural network to extract an item embedding for an item comprises:

storing the item as an item feature vector,

inputting the item feature vector into the neural network, and

extracting an item latent vector in a second hidden layer of the neural network;

compare, in the latent space of the neural network, the embedding for the query to the item embeddings to select a set of items corresponding to item embeddings that are selected in the latent space;

identify a specific attribute associated with items maintained by the online system;

determine a value of the specific attribute associated with each item of the selected set of items from the item database;

generate a whitelist of values for the specific attribute based on the values of the specific attribute associated with items of the selected set; and

generate, as a response to the query directed at the search interface that relies on the embeddings from the neural network, a query result comprising a plurality of items, wherein generating the plurality of items comprises removing one or more items having particular values for the specific attribute that do not match at least one value included in the whitelist of values for the specific attribute.

16. The computer program product of claim 15 , wherein generate the whitelist of values for the specific attribute based on the values of the specific attribute associated items of the selected set comprises:

rank items included in the selected set of items based on corresponding measures of similarity between the embedding for the query and the item embeddings corresponding to each item included in the selected set of items;

identify items of the selected set of items having at least a threshold position in the ranking; and

generate the whitelist of values for the specific attribute as values of the specific attribute for the identified items.

17. The computer program product of claim 15 , wherein generate the whitelist of values for the specific attribute based on the values of the specific attribute associated items of the selected set comprises:

identify items of the set of items corresponding to item embeddings having at least a threshold measure of similarity to the embedding for the query; and

generate the whitelist of values for the specific attribute as values of the specific attribute for the identified items.

18. The computer program product of claim 15 , wherein generate the whitelist of values for the specific attribute based on the values of the specific attribute associated items of the selected set comprises:

rank items included in the set of items based on corresponding measures of similarity between the embedding for the query and the item embeddings corresponding to each item included in the selected set of items; and

generate the whitelist of values for the specific attributes as values of the specific attribute for items having at least a threshold position in the ranking and having item embeddings with at least a threshold measure of similarity to the embedding for the query.

19. The computer program product of claim 15 , wherein compare, in the latent space of the neural network, the embedding for the query to the item embeddings comprises:

determine distances between the embedding for the query and each item embedding; and

generating the set of items based on the determined distances.

20. The method of claim 1 , wherein the first hidden layer of the neural network is the second hidden layer of the neural network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2022
From: NA, TAESIK; XU, ZHIHONG; SHU, GUANGHUA; TENNETI, TEJASWI; WANG, HAIXUN
To: MAPLEBEAR INC. (DBA INSTACART)
Reel/Frame 062158/0200 →
Continuity (1)
Related Publication 20230252032A1 · Aug 10, 2023
References Cited (14)
US 10902009B1 · Lenz, Jr. · 2021 [cited by examiner]
US 20050234972A1 · Zeng et al. · 2005 [cited by applicant]
US 20090112593A1 · Konig · 2009 [cited by examiner]
US 20110191374A1 · Bengio · 2011 [cited by examiner]
US 20160055563A1 · Grandhi · 2016 [cited by applicant]
US 20180096071A1 · Green · 2018 [cited by examiner]
US 20180349492A1 · Levy · 2018 [cited by examiner]
US 20190311375A1 · Sapoznik et al. · 2019 [cited by applicant]
US 20210133596A1 · Canim · 2021 [cited by examiner]
US 20220245706A1 · Chaidaroon · 2022 [cited by examiner]
US 20230080205A1 · Singh · 2023 [cited by examiner]
Bordawekar, R. et al. “Using Word Embedding to Enable Semantic Queries in Relational Databases,” [cited by applicant]
Jbene, M. et al. “Deep Neural Network and Boosting Based Hybrid Quality Ranking for e-Commerce Product Search,” [cited by applicant]
Nigam, P. et al. “Semantic Product Search,” [cited by applicant]