IP Library › Granted Patent US 12,455,887
Granted Patent B2
US 12,455,887 · App. 17/368,544 · Granted Oct 28, 2025

Online post-processing in rankings for constrained utility maximization

Inventors: Swetasudha Panda (Burlington, MA); Ariel Kobren (Cambridge, MA); Jean-Baptiste Frederic George Tristan (Burlington, MA); Michael Louis Wick (Lexington, MA)
Assignee: Oracle International Corporation
G06F16/24578G06F16/285G06N20/00
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,455,887
App. No.
17/368,544
Granted
Oct 28, 2025
Kind
B2
Abstract

Online post-processing may be performed for rankings generated with constrained utility maximization. A stream of data items may be received. A batch of data items from the stream may be ranked according to a ranking model trained to rank data items in a descending order of relevance. The batch of data items may be associated with a current time step. A re-ranking model may be applied to generate a re-ranking of the batch of data items according to a re-ranking policy that considers the current batch and previous batches with regard to a ranking constraint. The re-ranked items may then be sent to an application.

Claims (37)

1. A system, comprising:

at least one processor;

a memory, comprising program instructions that when executed by the at least one processor cause the at least one processor to implement a ranking system providing fairness across a plurality of rankings, the ranking system configured to:

receive a stream of data items over time;

provide, as part of continuous monitoring of the ranking system, respective fair rankings of respective pluralities of data items for a plurality of time steps including a current time step and one or more time steps earlier than the current time step, wherein to provide a fair ranking for the current time step the ranking system is configured to:

apply a ranking model to generate a ranking of a plurality of data items in a batch of data items obtained from the stream of data items, wherein the batch of data items are associated with the current time step, and wherein the ranking model is a machine learning model trained to generate the ranking of the plurality of data items in the batch in a descending order of relevance for an application;

apply a re-ranking model to generate a fair ranking of the plurality of data items in the batch, wherein an order of the fair ranking is different from the descending order of relevance for the application; wherein the re-ranking model is applied according to a re-ranking policy that satisfies a fairness constraint applicable, in aggregate, to the generated ranking for the batch of data items and respective generated fair rankings for one or more other batches of data items from the stream of data items associated with different respective time steps earlier than the current time step, wherein the one or more other batches of data items were previously ranked using the ranking model and re-ranked, using the re-ranking model, with respective fair rankings of one or more further batches with respective time steps earlier than the different respective time steps of the one or more other batches before being sent to the application, wherein the fairness constraint is determined based on parity between different groups associated with individual ones of the plurality of data items; and

send the fair ranking of the plurality of data items to the application.

2. The system of claim 1 , wherein the re-ranking policy is trained by a learning to search technique that iteratively selects data items from different queues corresponding to the different groups associated with the individual ones of the plurality of data items according to a reference policy when re-ranking one or more other batches of data items from a test data set and wherein respective deviations are made from a reference policy when making individual selections from the different queues.

3. The system of claim 1 , wherein the re-ranking policy is trained by a learning to search technique that iteratively selects data items from different queues corresponding to the different groups associated with the individual ones of the plurality of data items according to a reference policy when re-ranking one or more other batches of data items from a test data set and wherein respective deviations are made from a combination of a reference policy and a previously learned policy when making individual selections from the different queues.

4. The system of claim 1 , wherein the re-ranking model applies a deterministic re-ranking policy.

5. The system of claim 4 , wherein the deterministic re-ranking policy finds a most highly ranked data item for a protected member which is below a data item for a non-protected member in the ranking of the batch of items and swaps the data item for the protected member with the most highly ranked data item for the protected member with the data item for the non-protected member in the ranking of the batch of items.

6. A method of providing fairness across a plurality of rankings, comprising:

receiving, by a ranking system, a stream of data items over time;

providing, as part of continuous monitoring of the ranking system, respective fair rankings of respective pluralities of data items for a plurality of time steps including a current time step and one or more time steps earlier than the current time step, wherein providing a fair ranking for the current time step comprises:

applying, by the ranking system, a ranking model to generate a ranking of a plurality of data items in a batch of data items obtained from the stream of data items, wherein the batch of data items are associated with the current time step, and wherein the ranking model is a machine learning model trained to generate the ranking of the plurality of data items in the batch in a descending order of relevance for an application;

applying, by the ranking system, a re-ranking model to generate a fair ranking of the plurality of data items in the batch, wherein an order of the fair ranking is different from the descending order of relevance for the application; wherein the re-ranking model is applied according to a re-ranking policy that satisfies a ranking constraint applicable, in aggregate, to the generated ranking for the batch of data items and respective generated fair rankings for one or more other batches of data items from the stream of data items associated with different respective time steps earlier than the current time step, wherein the one or more other batches of data items were previously ranked using the ranking model and re-ranked, using the re-ranking model, with respective fair rankings of one or more further batches with respective time steps earlier than the different respective time steps of the one or more other batches before being sent to the application, wherein the ranking constraint is determined based on parity between different groups associated with individual ones of the plurality of data items; and

providing, by the ranking system, the fair ranking of the plurality of data items to the application.

7. The method of claim 6 , wherein the re-ranking policy is trained by a learning to search technique that iteratively selects data items from different queues corresponding to different groups of data items according to a reference policy when re-ranking one or more other batches of data items from a test data set and wherein respective deviations are made from a reference policy when making individual selections from the different queues.

8. The method of claim 6 , wherein the re-ranking policy is trained by a learning to search technique that iteratively selects data items from different queues corresponding to the different groups associated with the individual ones of the plurality of data items according to a reference policy when re-ranking one or more other batches of data items from a test data set and wherein respective deviations are made from a combination of a reference policy and a previously learned policy when making individual selections from the different queues.

9. The method of claim 6 , wherein the re-ranking model applies a deterministic re-ranking policy.

10. The method of claim 9 , wherein the deterministic re-ranking policy finds a most highly ranked data item associated with a first group which is below a data item associated with a second group in the ranking of the batch of items and swaps the data item associated with the second group with the most highly ranked data item in the ranking of the batch of items.

11. The method of claim 6 , wherein the re-ranking policy satisfies a plurality of ranking constraints applicable to the batch of data items and one or more other batches of data items from the stream of data items including the ranking constraint.

12. The method of claim 6 , wherein the ranking constraint is a fairness constraint.

13. The method of claim 12 , wherein the fairness constraint is demographic disparity.

14. One or more non-transitory, computer-readable storage media, storing program instructions that when executed on or across one or more computing devices, cause the one or more computing devices to implement a ranking system providing fairness across a plurality of rankings, comprising:

receiving, by a ranking system, a stream of data items over time;

providing, as part of continuous monitoring of the ranking system, respective fair rankings of respective pluralities of data items for a plurality of time steps including a current time step and one or more time steps earlier than the current time step, wherein providing a fair ranking for the current time step comprises:

performing, by the ranking system, a first ranking of a plurality of data items in a batch of data items obtained from the stream of data items, wherein the batch of data items are associated with the current time step, and wherein the initial ranking is generated using a ranking model that is a machine learning model trained to generate the first ranking of the plurality of data items in the batch in a descending order of relevance for an application;

re-ranking, by the ranking system, the first ranking of the plurality of data items in the batch to generate a second ranking of the plurality of data items in the batch according to a re-ranking policy that satisfies a ranking constraint applicable, in aggregate, to both the batch of data items and one or more other batches of data items from the stream of data items associated with different respective time steps earlier than the current time step, wherein the one or more other batches of data items were previously ranked using the ranking model and re-ranked, using the re-ranking model, with respective rankings of one or more further batches with respective time steps earlier than the different respective time steps of the one or more other batches before being sent to the application, wherein the ranking constraint is determined based on parity between different groups associated with individual ones of the plurality of data items; and

sending, by the ranking system, the re-ranking of the plurality of data items to the application.

15. The one or more non-transitory, computer-readable storage media of claim 14 , wherein the re-ranking policy is trained by a learning to search technique that iteratively selects data items from different queues corresponding to the different groups associated with the individual ones of the plurality of data items according to a reference policy when re-ranking one or more other batches of data items from a test data set and wherein respective deviations are made from a reference policy when making individual selections from the different queues.

16. The one or more non-transitory, computer-readable storage media of claim 14 , wherein the re-ranking policy is trained by a learning to search technique that iteratively selects data items from different queues corresponding to different groups associated with the individual ones of the plurality of data items according to a reference policy when re-ranking one or more other batches of data items from a test data set and wherein respective deviations are made from a combination of a reference policy and a previously learned policy when making individual selections from the different queues.

17. The one or more non-transitory, computer-readable storage media of claim 14 , wherein the re-ranking policy is a deterministic re-ranking policy.

18. The one or more non-transitory, computer-readable storage media of claim 17 , wherein the deterministic re-ranking policy finds a most highly ranked data item associated with a first group which is below a data item associated with a second group in the ranking of the batch of items and swaps the data item associated with the second group with the most highly ranked data item in the ranking of the batch of items.

19. The one or more non-transitory, computer-readable storage media of claim 14 , wherein the re-ranking policy satisfies a plurality of ranking constraints applicable to the batch of data items and one or more other batches of data items from the stream of data items including the ranking constraint.

20. The one or more non-transitory, computer-readable storage media of claim 14 , wherein the ranking constraint is a fairness constraint.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2022
From: PANDA, SWETASUDHA; KOBREN, ARIEL; TRISTAN, JEAN-BAPTISTE FREDERIC GEORGE; WICK, MICHAEL LOUIS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 058553/0499 →
Continuity (2)
Provisional Application 63066044 · Aug 14, 2020
Related Publication 20220050848A1 · Feb 17, 2022
References Cited (42)
US 11003672B2 · Chan · 2021 [cited by examiner]
US 20120059686A1 · Williams · 2012 [cited by examiner]
US 20130151495A1 · Bennett · 2013 [cited by examiner]
US 20180075034A1 · Wang · 2018 [cited by examiner]
US 20200151191A1 · Agrawal · 2020 [cited by examiner]
US 20200372406A1 · Wick et al. · 2020 [cited by applicant]
US 20200372472A1 · Kenthapadi · 2020 [cited by examiner]
US 20210125108A1 · Metzler, Jr. · 2021 [cited by examiner]
US 20210383268A1 · Miroshnikov · 2021 [cited by examiner]
Fairness-Aware Ranking in Search & Recommendation Systems with Application to LinkedIn Talent Search (Year: 2019). [cited by examiner]
Abolfazl Asudeh, HV Jagadish, Julia Stoyanovich, and Gautam Das. 2019. “Designing Fair Ranking Schemes”. In Proceedings of the 2019 International Conference on Management of Data. 1259-1276, arXiv e-print: arXiv:1712.09… [cited by applicant]
Alex Beutel, Jilin Chen, Tulsee Doshi, Hai Qian, Li Wei, Yi Wu, Lukasz Heldt, Zhe Zhao, Lichan Hong, Ed H. Chi, and Cristos Goodrow. 2019. “Fairness in Recommendation Ranking through Pairwise Comparisons”. arXiv e-pint:… [cited by applicant]
Asia J Biega, Krishna P Gummadi, and Gerhard Weikum. 2018. “Equity of attention: Amortizing individual fairness in rankings”. © 2018 Association for Computing Machinery. In The 41st international ACM SIGIR conference on… [cited by applicant]
Jaime Carbonell and Jade Goldstein. 1998. “The Use of MMR, Diversity-Based Reranking for Reordering Documents and Producing Summaries”. In Proceedings of the 21st annual international ACM SIGIR conference on Research an… [cited by applicant]
L Elisa Celis, Anay Mehrotra, and Nisheeth K Vishnoi. 2020. “Interventions for ranking in the presence of implicit bias”. In Proceedings of the 2020 Conference on Fairness, Accountability, and Transparency (369-380), ar… [cited by applicant]
L Elisa Celis, Damian Straszak, and Nisheeth K Vishnoi. 2017. “Ranking with Fairness Constraints”. arXiv preprint arXiv:1704.06840 (2017), pp. 1-32. [cited by applicant]
Kai-Wei Chang, Akshay Krishnamurthy, Alekh Agarwal, John Langford, and Hal Daumé III. “Learning to search better than your teacher”. In Proceedings of the 32nd International Conference on Machine Learning, PMLR 37:pp. 2… [cited by applicant]
Alexandra Chouldechova and Aaron Roth. 2018. “The Frontiers of Fairness in Machine Learning”. arXiv preprint arXiv:1810.08810 (2018), pp. 1-13. [cited by applicant]
Sam Corbett-Davies and Sharad Goel. 2018. “The Measure and Mismeasure of Fairness: A Critical Review of Fair Machine Learning”. arXiv preprint arXiv:1808.00023 (2018), pp. 1-25. [cited by applicant]
Yifan Guan, et al. “Mithraranking: A system for responsible ranking design”. © 2019 Association for Computing Machinery, In Proceedings of the 2019 International Conference on Management of Data. Jun. 2019, pp. 1913-191… [cited by applicant]
Moritz Hardt, Eric Price, and Nathan Srebro. 2016. “Equality of Opportunity in Supervised Learning”. Part of Advances in Neural Information Processing Systems 29 (NIPS 2016), abs/1610.02413, arXiv preprint arXiv:1610.02… [cited by applicant]
Hans Hofmann. 1994. “Statlog (german credit data) data set,” printed from the UCI Repository of Machine Learning Databases at http://archive.ics.uci.edu/ml/datasets/Statlog+%28German+Credit+Data%29, (1994), pp. 1-5. [cited by applicant]
Thorsten Joachims, Adith Swaminathan, and Tobias Schnabel. 2016. “Unbiased Learning-to-Rank with Biased Feedback”. arXiv:1608.04468 [cs.IR], pp. 1-10. [cited by applicant]
Matthew Kay, Cynthia Matuszek, and Sean A Munson. “Unequal repre-sentation and gender stereotypes in image search results for occupations”. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing … [cited by applicant]
Caitlin Kuhlman, MaryAnn VanValkenburg, and Elke Rundensteiner. “FARE: Diagnostics for Fair Ranking using Pairwise Error Metrics”. In The World Wide Web Conference, ACM, May 2019, pp. 2936-2942. [cited by applicant]
Juhi Kulshrestha, Motahhare Eslami, Johnnatan Messias, Muhammad Bilal Zafar, Saptarshi Ghosh, Krishna P Gummadi, and Karrie Karahalios. “Quantifying search bias: Investigating sources of bias for political searches in s… [cited by applicant]
Matevž Kunaver and Tomaž Požrl. 2“Diversity in recommender systems—A survey”. Science Direct, Elsevier, Knowledge-Based Systems v. 123, May 2017, pp. 154-162. [cited by applicant]
Swetasudha Panda, J. Tristan, M. Wick, Haniyeh Mahmoudian, and P. Kanani. “Using Bayes Factors to Control for Fairness Case Study on Learning To Rank”, 33rd Conference on Neural Information Processing Systems (NeurIPS 2… [cited by applicant]
Steffen Rendle, Christoph Freudenthaler, Zeno Gantner, and Lars Schmidt-Thieme. 2012. “BPR: Bayesian Personalized Ranking from Implicit Feedback”. Appears in Proceedings of the Twenty-Fifth Conference on Uncertainty in … [cited by applicant]
Tetsuya Sakai and Ruihua Song. “Evaluating diversified search results using per-intent graded relevance”. In Proceedings of the 34th international ACM SIGIR conference on Research and development in Information Retrieva… [cited by applicant]
Piotr Sapiezynski, Wesley Zeng, Ronald E Robertson, Alan Mislove, and Christo Wilson. “Quantifying the Impact of User Attention on Fair Group Representation in Ranked Lists”. WWW '19: Companion Proceedings of The 2019 W… [cited by applicant]
Hinrich Schutze, Christopher D Manning, and Prabhakar Raghavan. 2008. “Introduction to information retrieval”. vol. 39. Cambridge University Press Cambridge 2008, Online (2009) version, pp. 1-568. [cited by applicant]
Ashudeep Singh and Thorsten Joachims. “Fairness of Exposure in Rankings,” In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, Jul. 2018, pp. 2219-2228. [cited by applicant]
Ashudeep Singh and Thorsten Joachims. 2019. “Policy learning for fairness in ranking”. In Advances in Neural Information Processing Systems. pp. 5426-5436. [cited by applicant]
Julia Stoyanovich, Ke Yang, and HV Jagadish. 2018. “Online set selection with fairness and diversity constraints”. In Proceedings of the EDBT Conference, pp. 241-252. [cited by applicant]
Ke Yang and Julia Stoyanovich. “Measuring fairness in ranked outputs,” In Proceedings of the 29th International Conference on Scientific and Statistical Database Management, Jun. 2017, arXiv preprint: arXiv:1610.08559, … [cited by applicant]
Muhammad Bilal Zafar, Isabel Valera, Manuel Gomez-Rodriguez, and Krishna P Gummadi. 2019. “Fairness Constraints: A Flexible Approach for Fair Classification,” Journal of Machine Learning Research 20 (2019), pp. 1-42. [cited by applicant]
Muhammad Bilal Zafar, Isabel Valera, Manuel Gomez Rogriguez, and Krishna P Gummadi. “Fairness constraints: Mechanisms for fair classification,” In Proceedings of the 20th International Conference on Artificial Intellige… [cited by applicant]
Meike Zehlike, Francesco Bonchi, Carlos Castillo, Sara Hajian, Mohamed Megahed, and Ricardo Baeza-Yates, “FA*IR: A Fair Top-k Ranking Algorithm”. In Proceedings of the 2017 ACM on Conference on Information and Knowledge… [cited by applicant]
Meike Zehlike and Carlos Castillo. “Reducing disparate exposure in ranking: A learning to rank approach”. In Proceedings of The Web Conference 2020, Apr. 2020, pp. 2849-2855. [cited by applicant]
Rich Zemel, Yu Wu, Kevin Swersky, Toni Pitassi, and Cynthia Dwork. “Learning fair representations”, Proceedings of the 30th International Conference on Machine Learning, PMLR 28(3): 2013, pp. 325-333. [cited by applicant]
U.S. Appl. No. 16/914,099, filed Jun. 26, 2020, Tristan, et al. [cited by applicant]