IP Library Granted Patent US 12,393,972
Granted Patent B2
US 12,393,972 · App. 17/682,366 · Granted Aug 19, 2025

Method, system, and medium for attribute-based item ranking during a web session

Inventors: Congzhe Su (Irvine, CA); Amey Barapatre (Bellevue, WA); Xiaoting Zhao (Queens, NY); Diane Hu (Brooklyn, NY); Xu Liu (Bellevue, WA)
Assignee: Etsy, Inc.
G06Q30/0631G06Q30/0627G06Q30/0641
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,393,972
App. No.
17/682,366
Granted
Aug 19, 2025
Kind
B2
Abstract

Methods, systems, and apparatuses, including computer programs encoded on a computer storage medium, that rank items based on user interactions within the same web session. The method includes: providing a first content page for display on a client device; receiving a set of user interactions with one or more items of the first plurality of items; determining an affinity score representing a user interest in the attribute based on the set of user interactions; updating an attribute repository storing a second plurality of attributes and corresponding current affinity scores; identifying a second plurality of items and a corresponding third plurality of attributes; ranking the second plurality of items; and providing a second content page for display on the client device.

Claims (55)

1. A computer implemented method to improve ranking performance of items during a user web session, comprising:

providing, by a processor and during the user web session, a first content page for display on a client device, wherein the first content page includes a first plurality of items;

receiving, by the processor and during the user web session, a set of user interactions with one or more of the first plurality of items;

generating, using a first machine learning model operating on data representing the first plurality of items, a first set of attributes for the first plurality of items;

training, during the user web session, a second machine learning model to generate affinity scores, wherein training the second machine learning model comprises:

training a multi-armed bandit (MAB) using the set of user interactions from the user web session to learn attributes of interest, wherein each arm of the MAB represents one attribute of the first set of attributes, and wherein training the MAB comprises adjusting, using (i) a set of training data including the set of user interactions from the user web session and (ii) a corresponding set of labels representing positive or non-positive user interactions, a first score associated with a first attribute of the first set of attributes;

determining, using (i) the second machine learning model, (ii) the set of user interactions, and (iii) the first set of attributes for the first plurality of items, an affinity score representing a user interest in each attribute of the first set of attributes;

in response to a request by a user of the user web session for additional items during the user web session, identifying a second plurality of items;

providing, to the first machine learning model, data representing the second plurality of items;

generating, using the first machine learning model operating on the data representing the second plurality of items, a second set of attributes for the second plurality of items;

generating, using (i) the second set of attributes and (ii) the affinity scores corresponding to the first set of attributes, a set of ranking scores for the second plurality of items;

ranking, during the user web session and using the set of ranking scores for the second plurality of items, the second plurality of items; and

providing, during the user web session, a second content page for display on the client device, wherein the second content page includes the ranked second plurality of items.

2. The computer implemented method of claim 1 , wherein determining the affinity score representing the user interest comprises determining a Beta distribution for each attribute in the first set of attributes.

3. The computer implemented method of claim 2 , wherein one parameter of the Beta distribution is associated with a subset of attributes in the first set of attributes that receives the set of user interactions, and another parameter of the Beta distribution is associated with the remaining attributes in the first set of attributes that receive no positive user interactions.

4. The computer implemented method of claim 1 , wherein the set of user interactions includes one or more of: browsing the one or more items of the first plurality of items, clicking the one or more items of the first plurality of items, adding the one or more items of the first plurality of items to a shopping cart, or purchasing the one or more of the first plurality of items.

5. The computer implemented method of claim 4 , wherein determining the affinity score representing the user interest comprises assigning a different weight to each of the clicking the one or more of the first plurality of items, the adding the one or more of the first plurality of items to a shopping cart, and the purchasing the one or more of the first plurality of items.

6. The computer implemented method of claim 4 , wherein determining the affinity score representing the user interest comprises assigning a same weight to each of the clicking the one or more of the first plurality of items, the adding the one or more of the first plurality of items to a shopping cart, and the purchasing the one or more of the first plurality of items.

7. The computer implemented method of claim 1 , wherein the first set of attributes includes at least one of color, size, shape, or material.

8. The computer implemented method of claim 1 , wherein the first machine learning model comprises a machine-learned classifier.

9. A system, comprising:

one or more memory devices storing instructions; and

one or more data processing apparatuses that are configured to interact with the one or more memory devices, and upon execution of the instructions, perform operations including:

providing, during a user web session, a first content page for display on a client device, wherein the first content page includes a first plurality of items;

receiving, during the user web session, a set of user interactions with one or more of the first plurality of items;

generating, using a first machine learning model operating on data representing the first plurality of items, a first set of attributes for the first plurality of items;

training, during the user web session, a second machine learning model to generate affinity scores, wherein training the second machine learning model comprises:

training a multi-armed bandit (MAB) using the set of user interactions from the user web session to learn attributes of interest, wherein each arm of the MAB represents one attribute of the first set of attributes, and wherein training the MAB comprises adjusting, using (i) a set of training data including the set of user interactions from the user web session and (ii) a corresponding set of labels representing positive or non-positive user interactions, a first score associated with a first attribute of the first set of attributes;

determining, using (i) the second machine learning model, (ii) the set of user interactions, and (iii) the first set of attributes for the first plurality of items, an affinity score representing a user interest in each attribute of the first set of attributes;

in response to a request by a user of the user web session for additional items during the user web session, identifying a second plurality of items;

providing, to the first machine learning model, data representing the second plurality of items;

generating, using the first machine learning model operating on the data representing the second plurality of items, a second set of attributes for the second plurality of items;

generating, using (i) the second set of attributes and (ii) the affinity scores corresponding to the first set of attributes, a set of ranking scores for the second plurality of items;

ranking, during the user web session and using the set of ranking scores for the second plurality of items, the second plurality of items; and

providing, during the user web session, a second content page for display on the client device, wherein the second content page includes the ranked second plurality of items.

10. The system of claim 9 , wherein determining the affinity score representing the user interest comprises determining a Beta distribution for each attribute in the first set of attributes.

11. The system of claim 10 , wherein one parameter of the Beta distribution is associated with a subset of attributes in the first set of attributes that receives the set of user interactions, and another parameter of the Beta distribution is associated with the remaining attributes in the first set of attributes that receive neutral user interactions.

12. The system of claim 9 , wherein the set of user interactions includes one or more of: browsing the one or more items of the first plurality of items, clicking the one or more items of the first plurality of items, adding the one or more items of the first plurality of items to a shopping cart, or purchasing the one or more of the first plurality of items.

13. The system of claim 12 , wherein determining the affinity score representing the user interest comprises assigning a different weight to each of the clicking the one or more of the first plurality of items, the adding the one or more of the first plurality of items to a shopping cart, and the purchasing the one or more of the first plurality of items.

14. The system of claim 12 , wherein determining the affinity score representing the user interest comprises assigning a same weight to each of the clicking the one or more of the first plurality of items, the adding the one or more of the first plurality of items to a shopping cart, and the purchasing the one or more of the first plurality of items.

15. The system of claim 9 , wherein the first set of attributes includes at least one of color, size, shape, or material.

16. A non-transitory computer readable medium storing instructions that, when executed by one or more data processing apparatuses, cause the one or more data processing apparatuses to perform operations comprising:

providing, during a user web session, a first content page for display on a client device, wherein the first content page includes a first plurality of items;

receiving, during the user web session, a set of user interactions with one or more of the first plurality of items;

generating, using a first machine learning model operating on data representing the first plurality of items, a first set of attributes for the first plurality of items;

training, during the user web session, a second machine learning model to generate affinity scores, wherein training the second machine learning model comprises:

training a multi-armed bandit (MAB) using the set of user interactions from the user web session to learn attributes of interest, wherein each arm of the MAB represents one attribute of the first set of attributes, and wherein training the MAB comprises adjusting, using (i) a set of training data including the set of user interactions from the user web session and (ii) a corresponding set of labels representing positive or neutral user interactions, a first score associated with a first attribute of the first set of attributes;

determining, using (i) the second machine learning model, (ii) the set of user interactions, and (iii) the first set of attributes for the first plurality of items, an affinity score representing a user interest in each attribute of the first set of attributes;

in response to a request by a user of the user web session for additional items during the user web session, identifying a second plurality of items;

providing, to the first machine learning model, data representing the second plurality of items;

generating, using the first machine learning model operating on the data representing the second plurality of items, a second set of attributes for the second plurality of items;

generating, using (i) the second set of attributes and (ii) the affinity scores corresponding to the first set of attributes, a set of ranking scores for the second plurality of items;

ranking, during the user web session and using the set of ranking scores for the second plurality of items, the second plurality of items; and

providing, during the user web session, a second content page for display on the client device, wherein the second content page includes the ranked second plurality of items.

17. The computer readable medium of claim 16 , wherein determining the affinity score representing the user interest comprises determining a Beta distribution for each attribute in the first set of attributes, wherein one parameter of the Beta distribution is associated with a subset of attributes in the first set of attributes that receives the set of user interactions, and another parameter of the Beta distribution is associated with the remaining attributes in the first set of attributes that receive no positive user interactions.

Assignments (3)
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Sep 11, 2025
From: ETSY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 072875/0103 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Mar 24, 2023
From: ETSY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 063164/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2022
From: SU, CONGZHE; BARAPATRE, AMEY; ZHAO, XIAOTING; HU, DIANE; LIU, XU
To: ETSY, INC.
Reel/Frame 060610/0250 →
Continuity (2)
Provisional Application 63154790 · Feb 28, 2021
Related Publication 20220277375A1 · Sep 1, 2022
References Cited (48)
US 10497012B1 · Majumder · 2019 [cited by examiner]
US 11551096B1 · Mishra · 2023 [cited by examiner]
US 20150149261A1 · Walkingshaw · 2015 [cited by examiner]
US 20170098236A1 · Lee · 2017 [cited by examiner]
US 20180246974A1 · Shukla · 2018 [cited by examiner]
US 20190130444A1 · Fei · 2019 [cited by examiner]
US 20190213608A1 · Ouyang · 2019 [cited by examiner]
US 20190295124A1 · Ramesh · 2019 [cited by examiner]
US 20210042796A1 · Khoury · 2021 [cited by examiner]
US 20210241349A1 · Mantha · 2021 [cited by examiner]
US 20220245162A1 · Wang · 2022 [cited by examiner]
Guanjie Zheng, Fuzheng Zhang, Zihan Zheng, Yang Xiang, Nicholas Jing Yuan, Xing Xie, Zhenhui Li, “DRN: A Deep Reinforcement Learning Framework for News Recommendation,” 2018, International World Wide Web Conference Comm… [cited by examiner]
Agrawal et al., “Analysis of thompson sampling for the multi-armed bandit problem,” In Proceedings of 25th Conference on Learning Theory, Edinburgh, Scotland, Jun. 25-27, 2012; PMLR, 2012, 23:39.1-39.26. [cited by applicant]
Auer et al., “Finite-time Analysis of the Multiarmed Bandit Problem,” Machine Learning, May 2002, 47:235-256. [cited by applicant]
Auer et al., “The Nonstochastic Multiarmed Bandit Problem,” SIAM Journal on Computing, Jan. 2003, 32(1):48-77. [cited by applicant]
Bai et al., “An Attribute-Aware Neural Attentive Model for Next Basket Recommendation,” Short Paper in The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval, Ann Arbour, MI, Jul.… [cited by applicant]
Blei et al., “Latent Dirichlet Allocation,” The Journal of Machine Learning Research, Mar. 2003, 3:993-1022. [cited by applicant]
Burges et al., “Learning to rank with nonsmooth cost function,” In Proceedings of Neural Information Processing Systems 2006, Vancoover, B.C., Canada, Dec. 4-9, 2006; Advances in Neural Information Processing Systems 19… [cited by applicant]
Chapelle et al., “An Empirical Evaluation of Thompson Sampling,” In Proceedings of Neural Information Processing Systems 2011, Granada, Spain, Dec. 12-15, 2011; Advances in Neural Information Processing Systems 24, Dec.… [cited by applicant]
Guo et al., “Debiasing Grid-based Product Search in E-commerce,” In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, Virtual Event, USA, Aug. 23-27, 2020, pp. 2852-2860. [cited by applicant]
Guo et al., “Streaming Session-Based Recommendation,” In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Anchorage, AK, Aug. 4-8, 2019, pp. 1569-1577. [cited by applicant]
Haldar et al., “Improving Deep Learning for Airbnb Search,” In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, Virtual Event, USA, Aug. 23-27, 2020, pp. 2822-2830. [cited by applicant]
Hidasi et al., “Session-based Recommendations with Recurrent Neural Networks,” In Proceedings of ICLR 2016, San Juan, PR, May 2-4, 2016; arXiv:1511.06939, Mar. 2016, 10 pages. [cited by applicant]
Hu et al., “Diversifying Personalized Recommendation with User-Session Context,” In Proceedings of the 26th International Joint Conference on Artificial Intelligence, Melbourne, Australia, Aug. 19-25, 2017, pp. 1858-186… [cited by applicant]
Hu et al., “Reinforcement Learning to Rank in E-Commerce Search Engine: Formalization, Analysis, and Application,” In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, L… [cited by applicant]
Huang et al., “Embedding-Based Retrieval in Facebook Search,” In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, Virtual Event, USA, Aug. 23-27, 2020, pp. 2553-2561. [cited by applicant]
Li et al., “Context-Aware Bandits,” arxiv.org, Feb. 2017, arXiv:1510.03164, 18 pages. [cited by applicant]
Li et al., “Contextual Combinatorial Cascading Bandits,” In Proceedings of the 33rd International Conference on International Conference on Machine Learning, New York, NY, Jun. 19-24, 2016; ICML '16, Jun. 2016, 48:1245-… [cited by applicant]
Li et al., “Learning from History and Present: Next-Item Recommendation via Discriminatively Exploiting User Behaviors,” In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Min… [cited by applicant]
Liu et al., “Interpretable Attribute-based Action-aware Bandits for Within-Session Personalization in E-commerce,” In Proceedings of KME Commerce Workshop held at WWW '21, Ljubljana, Slovenia, Apr. 19-23, 2021, 8 pages. [cited by applicant]
Liu et al., “STAMP: Short-Term Attention/Memory Priority Model for Session-Based Recommendation,” In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, London, UK, Aug. 1… [cited by applicant]
Loyola et al., “Modeling User Session and Intent with an Attention-Based Encoder- Decoder Architecture,” In Proceedings of the Eleventh ACM Conference on Recommender Systems, Como, Italy, Aug. 27-31, 2017; RecSys '17, A… [cited by applicant]
Nigam et al., “Semantic Product Search,” In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, Anchorage, AK, Aug. 4-8, 2019; KDD '19, Jul. 2019, pp. 2876-2885. [cited by applicant]
Pobrotyn et al., “Context-Aware Learning to Rank with Self-Attention,” In Proceedings of ACM SIGIR Workshop on eCommerce, Virtual Event, China, Jul. 30, 2020; arXiv:2005.10084, May 2020, 8 pages. [cited by applicant]
Qiu et al., “Rethinking the Item Order in Session-Based Recommendation with Graph Neural Networks,” In Proceedings of the 28th ACM International Conference on Information and Knowledge Management, Beijing, China, Nov. 3… [cited by applicant]
Quadrana et al., “Personalizing Session-Based Recommendations with Hierarchical Recurrent Neural Networks,” In Proceedings of the Eleventh ACM Conference on Recommender Systems, Como, Italy, Aug. 27-31, 2017; RecSys '17… [cited by applicant]
Sanz-Cruzado et al., “A Simple Multi-Armed Nearest-Neighbor Bandit for Interactive Recommendation,” In Proceedings of the 13th ACM Conference on Recommender Systems, New York, NY, Sep. 16-20, 2019, pp. 358-362. [cited by applicant]
Tan et al., “Fast Item Ranking under Neural Network Based Measures,” In Proceedings of the 13th International Conference on Web Search and Data Mining, Feb. 3-7, 2020, pp. 591-599. [cited by applicant]
Tan et al., “Improved Recurrent Neural Networks for Session-Based Recommendations,” In Proceedings of the 1st Workshop on Deep Learning for Recommender Systems, Boston, MA, Sep. 15, 2016, pp. 17-22. [cited by applicant]
Wang et al., “A theoretical analysis of NDCG ranking measures,” In Proceedings of the 26th annual Conference on Learning Theory, Princeton, NJ, Jun. 12-14, 2013; JMLR, 2013, 30:25-54. [cited by applicant]
Wang et al., “Online Interactive Collaborative Filtering Using Multi-Armed Bandit with Dependent Arms,” IEEE Transactions on Knowledge and Data Engineering, Aug. 2019, 31(8):1569-1580. [cited by applicant]
Wu et al., “Adapting boosting for information retrieval measures,” Information Retrieval, Jun. 2010, 13(3):254-270. [cited by applicant]
Wu et al., “Turning clicks into purchases: Revenue optimization for product search in e-commerce,” In Proceedings of the 41st International ACM SIGIR Conference on Research & Development in Information Retrieval, New Yo… [cited by applicant]
Yan et al., “A Practical Deep Online Ranking System in E-commerce Recommendation,” In Proceedings of ECML PKDD 2018, Dublin, Ireland, Sep. 10-14, 2018, pp. 186-201. [cited by applicant]
Yu et al., “A Dynamic Recurrent Model for Next Basket Recommendation,” In Proceedings of the 39th International ACM SIGIR Conference on Research and Development in Information Retrieval, Pisa, Italy, Jul. 17-12, 2016, p… [cited by applicant]
Zhang et al., “Deep Learning Based Recommender System: A Survey and New Perspectives,” ACM Comput. Surv., Jan. 2019, 52(1):5, 38 pages. [cited by applicant]
Zhao et al., “Maximizing Cumulative User Engagement in Sequential Recommendation: An Online Optimization Perspective,” In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining,… [cited by applicant]
Zhao et al., “The Difference Between a Click and a Cart-Add: Learning Interaction-Specific Embeddings,” In Companion Proceedings of the Web Conference 2020, Taipei, Taiwan, Apr. 20-24, 2020, pp. 454-460. [cited by applicant]