IP Library › Granted Patent US 11,727,014
Granted Patent B2
US 11,727,014 · App. 16/712,590 · Granted Aug 15, 2023

Dynamic filter recommendations

Inventors: Navin Agarwal (San Mateo, CA); Judy Yi-Chun Hsieh (San Francisco, CA); Debbie Ayano Limongan (San Mateo, CA); Lianghao Chen (San Jose, CA); Amit Aggarwal (Los Altos, CA); Julie Bornstein (Hillsborough, CA)
Assignee: The Yes Platform, Inc.
G06F16/2457G06N20/00G06Q30/0631H04L67/535G06N3/08
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 11,727,014
App. No.
16/712,590
Granted
Aug 15, 2023
Kind
B2
Abstract

A user preference hierarchy is determined from user response to images. Images may be tagged using machine learning models trained to determine values for images. Products are clustered according to product vectors. Images of products within a cluster are clustered according to composition and groups of images are selected from image clusters for soliciting feedback regarding user preference for products of a cluster. Feedback is used to train a user preference model to estimate affinity for a product vector. A user may provide feedback regarding a price point and products are weighted according to a distribution about the price point. The distribution may be asymmetrical according to direction of movement of the price point. Filters may be dynamically defined and presented to a user based on popularity and frequency of occurrence of attribute-value pairs of search results and based on feedback regarding the search results.

Claims (49)

1. A method comprising:

receiving, by a server system, a plurality of search results responsive to a first query submitted by a user;

comparing, by the server system, at least a portion of the first query with a plurality of attribute-value pairs of an attribute map to determine a first plurality of key pairs;

determining at least one key pair from the first plurality of key pairs to form at least a portion of one or more attribute-value pairs;

selecting, by the server system, at least one attribute-value pair from among attribute-value pairs represented in the plurality of search results to form at least a portion of the one or more attribute-value pairs, wherein the at least one attribute-value pair is selected based at least in part on a number of occurrences among the attribute-value pairs represented in the plurality of search results; and

providing, by the server system, a representation of at least a portion of the plurality of search results along with one or more filter elements corresponding to the one or more attribute value pairs, the one or more filter elements programmed to invoke filtering of the plurality of search results according to the one or more attribute-value pairs upon selection by the user.

2. The method of claim 1 , wherein determining the at least one key pair from the first plurality of key pairs is based at least in part on a popularity of prior queries including the one or more attribute-value pairs.

3. The method of claim 2 , further comprising:

generating, by the server system, the attribute map for the prior queries preceding the first query, such that each entry of the attribute map includes a key attribute-value pair and one or more associated attribute-value pairs, each of the one or more associated attribute-value pairs having a relevance score associated therewith;

wherein determining the at least one key pair from the first plurality of key pairs is based at least in part on the popularity includes selecting the at least one key pair according to the relevance scores associated with the one or more attribute-value pairs in the attribute map.

4. The method of claim 3 , wherein generating the attribute map comprises, for each entry of the attribute map, the relevance score of each associated attribute-value pair of the associated attribute-value pairs is a sum of relevance scores of queries including both of the key attribute-value pair of each entry and each associated attribute-value pair.

5. The method of claim 1 , further comprising:

receiving, by the server system, an instruction from the user to implement a selected filter of the one or more filter elements; and

in response to the instructions, performing, by the server system:

removing one or more filtered items from the plurality of search results according to the selected filter.

6. The method of claim 1 , further comprising:

receiving, by the server system, feedback with respect to the plurality of search results;

selecting, by the server system, one or more additional attribute-value pairs according to the feedback;

providing one or more additional filter elements according to the one or more additional attribute-value pairs to the user.

7. The method of claim 6 , further comprising:

training a machine learning model according to the feedback and the attribute-value pairs represented in the plurality of search results; and

selecting the one or more additional attribute-value pairs according to the machine learning model.

8. The method of claim 7 , wherein the machine learning model is a logistic regression model.

9. The method of claim 6 , wherein the feedback is binary feedback.

10. A system comprising:

one or more processing devices;

one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code that, when executed by the one or more processing devices, causes the one or more processing devices to:

receive a plurality of search results responsive to a first query submitted by a user;

compare, by the server system, at least a portion of the first query with a plurality of attribute-value pairs of an attribute map to determine a first plurality of key pairs;

determine at least one key pair from the first plurality of key pairs to form at least a portion of one or more attribute-value pairs;

select at least one attribute-value pair from among attribute-value pairs represented in the plurality of search results to form at least a portion of the one or more attribute-value pairs based at least in part on a number of occurrences among the attribute-value pairs represented in the plurality of search results; and

provide a representation of the search results along with one or more filter elements corresponding to the one or more attribute value pairs, the one or more filter elements programmed to invoke filtering of the search results according to the one or more attribute-value pairs upon selection by the user.

11. The system of claim 10 , wherein the executable code, when executed by the one or more processing devices, further causes the one or more processing devices to determine the at least one key pair from the first plurality of key pairs based at least in part on a popularity of prior queries including the one or more attribute-value pairs.

12. The system of claim 11 , wherein the executable code, when executed by the one or more processing devices, further causes the one or more processing devices to:

generate the attribute map for the prior queries preceding the first query such that each entry of the attribute map includes a key attribute-value pair and one or more associated attribute-value pairs, each of the one or more associated attribute-value pairs having a relevance score associated therewith; and

determine the at least one key pair from the first plurality of key pairs based at least in part on the popularity by selecting the at least one key pair according to the relevance scores associated with the one or more attribute-value pairs in the attribute map.

13. The system of claim 12 , wherein the executable code, when executed by the one or more processing devices, further causes the one or more processing devices to generate the attribute map by, for each entry of the attribute map, the relevance score of each associated attribute-value pair of the associated attribute-value pairs is a sum of relevance scores of queries including both of the key attribute-value pair of each entry and each associated attribute-value pair.

14. The system of claim 10 , wherein the executable code, when executed by the one or more processing devices, further causes the one or more processing devices to:

receive an instruction from the user to implement a selected filter of the one or more filter elements; and

in response to the instructions, remove one or more filtered items from the plurality of search results according to the selected filter.

15. The system of claim 10 , wherein the executable code, when executed by the one or more processing devices, further causes the one or more processing devices to:

receive feedback with respect to the plurality of search results;

select one or more additional attribute-value pairs according to the feedback;

provide one or more additional filter elements according to the one or more additional attribute-value pairs to the user.

16. The system of claim 15 , wherein the executable code, when executed by the one or more processing devices, further causes the one or more processing devices to:

train a machine learning model according to the feedback and the attribute-value pairs represented in the plurality of search results; and

select the one or more additional attribute-value pairs according to the machine learning model.

17. The system of claim 16 , wherein the machine learning model is a logistic regression model.

18. The system of claim 15 , wherein the feedback is binary feedback.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2022
From: THE YES PLATFORM
To: THE YES PLATFORM, INC.
Reel/Frame 060833/0527 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2019
From: AGARWAL, NAVIN; HSIEH, JUDY YI-CHUN; LIMONGAN, DEBBIE AYANO; CHEN, LIANGHAO; AGGARWAL, AMIT; BORNSTEIN, JULIE
To: THE YES PLATFORM
Reel/Frame 051269/0296 →
Continuity (1)
Related Publication 20210182287A1 · Jun 17, 2021