IP Library › Granted Patent US 12,265,987
Granted Patent B2
US 12,265,987 · App. 17/976,089 · Granted Apr 1, 2025

Position-bias correction for predictive and ranking systems

Inventors: Jialiang Mao (Mountain View, CA); Rina Siller Friedberg (San Francisco, CA); Karthik Rajkumar (Palo Alto, CA); Qian Yao (Sunnyvale, CA); Min Liu (Palo Alto, CA); YinYin Yu (Mountain View, CA)
Assignee: Microsoft Technology Licensing, LLC
G06Q30/0243G06Q30/0277
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,265,987
App. No.
17/976,089
Granted
Apr 1, 2025
Kind
B2
Abstract

Methods, systems, and computer programs are presented for eliminating bias while training an ML model using training data that includes past experimental data. One method includes accessing experiment results, for A/B testing of a first model, that comprise information regarding engagement with a first set of items presented to users, each item being presented within an ordered list of results. A position bias is calculated for positions within the ordered list of results where the items were presented. A machine-learning program is trained to obtain a second model using a training set comprising values for features that include the calculated position bias. The method includes detecting a second set of items to be ranked for presentation to a first user, and calculates, using the second model, a relevance score for the second set of items, which are ranked based on the respective relevance score and presented on a display.

Claims (59)

1. A computer-implemented method comprising:

collecting a set of items from a database;

causing a first presentation of a first plurality of the set of items on a display feed of a website, the first plurality of items including a first item;

applying a transformation to one or more of the items including the first item, wherein applying the transformation to an item includes repositioning the respective item on the display feed;

creating a first training set comprising accessed experiment results for A/B testing of an update to a first model, the experiment results comprising information regarding user engagement with the first plurality of the set of items when the first plurality of the set of items is presented to users, each item being presented within an ordered list of results on the display feed of the website, wherein the first item has a first position in the display feed that changes during A/B testing;

using the first training set, calculating, based on the experiment results, a position bias for positions within the ordered list of results;

creating a second training set comprising the calculated position biases;

training a machine-learning program using the second training set to obtain a second model having positionally debiased outputs;

detecting a second plurality of items to be ranked for presentation to a first user, the second plurality of items comprising the first item;

calculating, using the second model, a relevance score for each of the second plurality of items;

ranking the second plurality of items based on the respective relevance score; and

causing a second presentation of the ranked second plurality of items on the display feed of the website, wherein a second position of the first item in the second presentation changes from the first position in the first presentation based in part on the positionally debiased outputs of the second model.

2. The method as recited in claim 1 , wherein calculating the position bias further includes:

utilizing an instrumental variables (IV) method to estimate an effect of feed position on responses of users utilizing an instrumental variable for a past experiment that affected item position.

3. The method as recited in claim 2 , wherein the A/B testing affected positions of the first plurality of items, wherein requests in which an item was shown in different positions during the experiment are considered for calculating the position bias.

4. The method as recited in claim 1 , wherein the position bias is a difference in expected performance of an item based on a location where the item is placed within the ordered list of results.

5. The method as recited in claim 1 , wherein the first plurality of items includes candidate recommendations of people you may know (PYMK) for a viewing user, wherein the first model is for predicting a probability that one candidate will accept an invite from the viewing user.

6. The method as recited in claim 1 , wherein the first plurality of items includes ads for placement on a user feed of a viewing user, wherein the first model is for A/B testing affected ad positions based on an ad-bidding procedure.

7. The method as recited in claim 6 , wherein calculating the position bias further includes:

calculating a coefficient on experiment showing an impact of a bidding experiment for a plurality of ad campaigns, the coefficient-on-experiment reflecting an effect of the experiment on average positions of ads in a news feed.

8. The method as recited in claim 6 , wherein the position bias is a difference in click-through rate for one ad when the ad is moved from a first position to a second position.

9. The method as recited in claim 1 , wherein A/B training includes testing a first version of the first model with a first group of users and testing a second version of the first model with a second group of users.

10. The method as recited in claim 1 , wherein results obtained by the second model during operation are used to improve the training set and using the improved training set to generate a newer version of the second model.

11. A system comprising:

a memory comprising instructions; and

one or more computer processors, wherein the instructions, when executed by the one or more computer processors, cause the system to perform operations comprising:

collecting a set of items from a database;

causing a first presentation of a first plurality of the set of items on a display feed of a website, the first plurality of items including a first item;

applying a transformation to one or more of the items including the first item, wherein applying the transformation to an item includes repositioning the respective item on the display feed;

creating a first training set comprising accessed experiment results for A/B testing of an update to a first model, the experiment results comprising information regarding user engagement with the first plurality of the set of items when the first plurality of the set of items is presented to users, each item being presented within an ordered list of results on the display feed of the website, wherein the first item has a first position in the display feed that changes during A/B testing;

using the first training set, calculating, based on the experiment results, a position bias for positions within the ordered list of results;

creating a second training set comprising the calculated position biases;

training a machine-learning program using the second training set to obtain a second model having positionally debiased outputs;

detecting a second plurality of items to be ranked for presentation to a first user, the second plurality of items comprising the first item;

calculating, using the second model, a relevance score for each of the second plurality of items;

ranking the second plurality of items based on the respective relevance score; and

causing a second presentation of the ranked second plurality of items on the display feed of the website, wherein a second position of the first item in the second presentation changes from the first position in the first presentation based in part on the positionally debiased outputs of the second model.

12. The system as recited in claim 11 , wherein calculating the position bias further includes:

utilizing an instrumental variables (IV) method to estimate an effect of feed position on responses of users utilizing an instrumental variable for a past experiment that affected item position.

13. The system as recited in claim 12 , wherein the A/B testing affected positions of the first plurality of items, wherein requests in which an item was shown in different positions during the experiment are considered for calculating the position bias.

14. The system as recited in claim 11 , wherein the position bias is a difference in expected performance of an item based on a location where the item is placed within the ordered list of results.

15. The system as recited in claim 11 , wherein the first plurality of items includes candidate recommendations of people you may know (PYMK) for a viewing user, wherein the first model is for predicting a probability that one candidate will accept an invite from the viewing user.

16. A tangible non-transitory machine-readable storage medium including instructions that, when executed by a machine, cause the machine to perform operations comprising:

collecting a set of items from a database;

causing a first presentation of a first plurality of the set of items on a display feed of a website, the first plurality of items including a first item;

applying a transformation to one or more of the items including the first item, wherein applying the transformation to an item includes repositioning the respective item on the display feed;

creating a first training set comprising accessed experiment results for A/B testing of an update to a first model, the experiment results comprising information regarding user engagement with the first plurality of the set of items when the first plurality of the set of items is presented to users, each item being presented within an ordered list of results on the display feed of the website, wherein the first item has a first position in the display feed that changes during A/B testing;

using the first training set, calculating, based on the experiment results, a position bias for positions within the ordered list of results;

creating a second training set comprising the calculated position biases;

training a machine-learning program using the second training set to obtain a second model having positionally debiased outputs;

detecting a second plurality of items to be ranked for presentation to a first user, the second plurality of items comprising the first item;

calculating, using the second model, a relevance score for each of the second plurality of items;

ranking the second plurality of items based on the respective relevance score; and

causing a second presentation of the ranked second plurality of items on the display feed of the website, wherein a second position of the first item in the second presentation changes from the first position in the first presentation based in part on the positionally debiased outputs of the second model.

17. The tangible non-transitory machine-readable storage medium as recited in claim 16 , wherein calculating the position bias further includes:

utilizing an instrumental variables (IV) method to estimate an effect of feed position on responses of users utilizing an instrumental variable for a past experiment that affected item position.

18. The tangible non-transitory machine-readable storage medium as recited in claim 17 , wherein the A/B testing affected positions of the first plurality of items, wherein requests in which an item was shown in different positions during the experiment are considered for calculating the position bias.

19. The tangible non-transitory machine-readable storage medium as recited in claim 16 , wherein the position bias is a difference in expected performance of an item based on a location where the item is placed within the ordered list of results.

20. The tangible machine-readable storage medium as recited in claim 16 , wherein the first plurality of items includes candidate recommendations of people you may know (PYMK) for a viewing user, wherein the first model is for predicting a probability that one candidate will accept an invite from the viewing user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2022
From: YAO, QIAN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 061920/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2022
From: MAO, JIALIANG; FRIEDBERG, RINA SILLER; RAJKUMAR, KARTHIK; LIU, MIN; YU, YINYIN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 061581/0925 →
Continuity (1)
Related Publication 20240152955A1 · May 9, 2024
References Cited (20)
US 10497012B1 · Majumder · 2019 [cited by examiner]
US 20090265290A1 · Ciaramita · 2009 [cited by examiner]
US 20170177579A1 · Li · 2017 [cited by examiner]
US 20210319033A1 · Zhang · 2021 [cited by examiner]
US 20220374483A1 · Hunt · 2022 [cited by examiner]
F. Friedberg et al., “Causal Estimation of Position Bias in Recommender Systems Using Marketplace Instruments”, cited in IDS (Year: 2022). [cited by examiner]
“Ordered logit”, Retrieved From: https://en.wikipedia.org/wiki/Ordered_logit, Retrieved on: Oct. 17, 2022, 3 Pages. [cited by applicant]
Narayanan, et al., “Position Effects in Search Advertising and their Moderators: A Regression Discontinuity Approach”, In Journal of Marketing Science, vol. 34, Issue 3, May 1, 2015, pp. 388-407. [cited by applicant]
Agarwal, et al., “Estimating Position bias without Intrusive Interventions”, In Proceedings of the Twelfth ACM International Conference on Web Search and Data Mining, Feb. 11, 2019, pp. 474-482. [cited by applicant]
Aggarwal, et al., “General Auction Mechanism for Search Advertising”, In Conference of World Wide Web, Apr. 20, 2009, pp. 241-250. [cited by applicant]
Angrist, et al., “Identification of Causal Effects Using Instrumental Variables”, In Journal of the American Statistical Association, vol. 91, Issue 434, Jun. 1996, pp. 444-455. [cited by applicant]
Athey, et al., “Generalized Random Forests”, In Repository of arXiv:1610.01271v4, Apr. 5, 2018, pp. 1-49. [cited by applicant]
Craswell, et al., “An Experimental Comparison of Click Position-Bias Models”, In Proceedings of the International Conference on Web Search and Data Mining, Feb. 11, 2008, pp. 87-94. [cited by applicant]
Friedberg, et al., “Causal Estimation of Position Bias in Recommender Systems Using Marketplace Instruments”, In Repository of arXiv:2205.06363v1, May 12, 2022, pp. 1-17. [cited by applicant]
Wang, et al., “Position bias Estimation for Unbiased Learning to Rank in Personal Search”, In Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining, Feb. 5, 2018, pp. 610-618. [cited by applicant]
Joachims, et al., “Unbiased Learning-to-Rank with Biased Feedback”, In Proceedings of the Tenth ACM International Conference on Web Search and Data Mining, Feb. 2017, pp. 781-789. [cited by applicant]
Li, et al., “Handling Position Bias for Unbiased Learning to Rank in Hotels Search”, In Repository of arXiv:2002.12528v1, Feb. 28, 2020, pp. 1-7. [cited by applicant]
Pandey, et al., “Shuffling a Stacked Deck: The Case for Partially Randomized Ranking of Search Engine Results”, In Repository of arXiv:cs/0503011v1, Mar. 4, 2005, 25 Pages. [cited by applicant]
Rosenman, et al., “Designing Experiments Informed by Observational Studies”, In Journal of Causal Inference, Jul. 15, 2021, pp. 147-171. [cited by applicant]
Swaminathan, et al., “Counterfactual Risk Minimization: Learning from Logged Bandit Feedback”, In Proceedings of the 32nd International Conference on Machine Learning, Jul. 6, 2015, 10 Pages. [cited by applicant]