IP Library › Granted Patent US 11,204,973
Granted Patent B2
US 11,204,973 · App. 16/449,149 · Granted Dec 21, 2021

Two-stage training with non-randomized and randomized data

Inventors: Daniel Sairom Krishnan Hewlett (Sunnyvale, CA); Dan Liu (Santa Clara, CA); Qi Guo (Sunnyvale, CA); Wenxiang Chen (Sunnyvale, CA); Xiaoyi Zhang (Sunnyvale, CA); Lester Gilbert Cottle, III (Sunnyvale, CA); Xuebin Yan (Sunnyvale, CA); Yu Gong (Santa Clara, CA); Haitong Tian (San Jose, CA); Siyao Sun (Mountain View, CA); Pei-Lun Liao (Sunnyvale, CA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/9538G06F40/205G06N3/04G06N20/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 11,204,973
App. No.
16/449,149
Granted
Dec 21, 2021
Kind
B2
Abstract

In an example embodiment, position bias and other types of bias may be compensated for by using two-phase training of a machine-learned model. In a first phase, the machine-learned model is trained using non-randomized training data. Since certain types of machine-learned models, such as those involving deep learning (e.g., neural networks) require a lot of training data, this allows the bulk of the training to be devoted to training using non-randomized training data. However, since this non-randomized training data may be biased, a second training phase is then used to revise the machine-learned model based on randomized training data to remove the bias from the machine-learned model. Since this randomized training data may be less plentiful, this allows the deep learning machine-learned model to be trained to operate in an unbiased manner without the need to generate additional randomized training data.

Claims (63)

1. A system for returning search results in an online computer system, the system comprising:

a computer readable medium having instructions stored there on, which, when executed by a processor, cause the system to:

retrieve training data, the training data comprising a plurality of search results, a plurality of sample labels, and activity and usage information pertaining to actions taken by users on the search results on an online service, the training data comprising randomized and non-randomized training data, the randomized training data derived from historical presentation of a first subset of the plurality of search results using a randomized ranking and the non-randomized training data derived from historical presentation of a second subset of the plurality of search results using a non-randomized ranking;

for each sample search result in a plurality of sample search results in the non-randomized training data:

parse the sample search result and the activity and usage information pertaining to the sample search result in the non-randomized training data to extract a first set of one or more features;

feed a sample member label corresponding to the sample search result and the extracted first set of one or more features into a first machine learning algorithm to train a machine-learned model to output a score indicative of a probability that an action will be taken, in the online service, pertaining to the sample search result;

for each sample search result in a plurality of sample search results in the randomized training data:

parse the sample search result and the activity and usage information pertaining to the sample search result in the randomized training data to extract a second set of one or more features; and

feed a sample member label corresponding to the sample search result in the randomized training data and the extracted second set of one or more features into the first machine learning algorithm to revise the machine-learned model.

2. The system of claim 1 , wherein the instructions further cause the system to:

obtain a plurality of candidate search results in response to a query corresponding to a searcher;

for each candidate search result from the plurality of candidate search results:

obtain activity and usage information for the candidate search result;

parse the candidate search result and the activity and usage information corresponding to the candidate search result to extract a third set of one or more features;

feed the extracted third set of one or more features into the machine-learned model, outputting a score for the candidate search result;

rank the plurality of candidate search results by their corresponding scores; and

return one or more of the plurality of candidate search results based on the ranking.

3. The system of claim 1 , wherein the non-randomized training data is more plentiful than the randomized training data.

4. The system of claim 1 , wherein the machine-learned model is a neural network.

5. The system of claim 1 , wherein the machine-learned model is a deep learning model.

6. The system of claim 1 , wherein the sample search results and candidate search results are member profiles in the online service.

7. The system of claim 6 , wherein the actions taken by users on the search results are responses to communication requests from searchers.

8. A computer-implemented method for returning search results in an online computer system, the method comprising:

retrieving training data, the training data comprising a plurality of search results, a plurality of sample labels, and activity and usage information pertaining to actions taken by users on the search results on an online service, the training data comprising randomized and non-randomized training data, the randomized training data derived from historical presentation of a first subset of the plurality of search results using a randomized ranking and the non-randomized training data derived from historical presentation of a second subset of the plurality of search results using a non-randomized ranking;

for each sample search result in a plurality of sample search results in the non-randomized training data:

parsing the sample search result and the activity and usage information pertaining to the sample search result in the non-randomized training data to extract a first set of one or more features;

feeding a sample member label corresponding to the sample search result and the extracted first set of one or more features into a first machine learning algorithm to train a machine-learned model to output a score indicative of a probability that an action will be taken, in the online service, pertaining to the sample search result;

for each sample search result in a plurality of sample search results in the randomized training data:

parsing the sample search result and the activity and usage information pertaining to the sample search result in the randomized training data to extract a second set of one or more features; and

feeding a sample member label corresponding to the sample search result in the randomized training data and the extracted second set of one or more features into the first machine learning algorithm to revise the machine-learned model.

9. The method of claim 8 , further comprising:

obtaining a plurality of candidate search results in response to a query corresponding to a searcher;

for each candidate search result from the plurality of candidate search results:

obtaining activity and usage information for the candidate search result;

parsing the candidate search result and the activity and usage information corresponding to the candidate search result to extract a third set of one or more features;

feeding the extracted third set of one or more features into the machine-learned model, outputting a score for the candidate search result;

ranking the plurality of candidate search results by their corresponding scores; and

returning one or more of the plurality of candidate search results based on the ranking.

10. The method of claim 8 , wherein the non-randomized training data is more plentiful than the randomized training data.

11. The method of claim 8 , wherein the machine-learned model is a neural network.

12. The method of claim 8 , wherein the machine-learned model is a deep learning model.

13. The method of claim 8 , wherein the sample search results and candidate search results are member profiles in the online service.

14. The method of claim 13 , wherein the actions taken by users on the search results are responses to communication requests from searchers.

15. A non-transitory machine-readable storage medium comprising instructions, which when implemented by one or more machines, cause the one or more machines to perform operations comprising:

retrieving training data, the training data comprising a plurality of search results, a plurality of sample labels, and activity and usage information pertaining to actions taken by users on the search results on an online service, the training data comprising randomized and non-randomized training data, the randomized training data derived from historical presentation of a first subset of the plurality of search results using a randomized ranking and the non-randomized training data derived from historical presentation of a second subset of the plurality of search results using a non-randomized ranking;

for each sample search result in a plurality of sample search results in the non-randomized training data:

parsing the sample search result and the activity and usage information pertaining to the sample search result in the non-randomized training data to extract a first set of one or more features;

feeding a sample member label corresponding to the sample search result and the extracted first set of one or more features into a first machine learning algorithm to train a machine-learned model to output a score indicative of a probability that an action will be taken, in the online service, pertaining to the sample search result;

for each sample search result in a plurality of sample search results in the randomized training data:

parsing the sample search result and the activity and usage information pertaining to the sample search result in the randomized training data to extract a second set of one or more features; and

feeding a sample member label corresponding to the sample search result in the randomized training data and the extracted second set of one or more features into the first machine learning algorithm to revise the machine-learned model.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the instructions further comprise:

obtaining a plurality of candidate search results in response to a query corresponding to a searcher;

for each candidate search result from the plurality of candidate search results:

obtaining activity and usage information for the candidate search result;

parsing the candidate search result and the activity and usage information corresponding to the candidate search result to extract a third set of one or more features;

feeding the extracted third set of one or more features into the machine-learned model, outputting a score for the candidate search result;

ranking the plurality of candidate search results by their corresponding scores; and

returning one or more of the plurality of candidate search results based on the ranking.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the non-randomized training data is more plentiful than the randomized training data.

18. The non-transitory machine-readable storage medium of claim 15 , wherein the machine-learned model is a neural network.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the machine-learned model is a deep learning model.

20. The non-transitory machine-readable storage medium of claim 15 , wherein the sample search results and candidate search results are member profiles in the online service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2019
From: HEWLETT, DANIEL SAIROM KRISHNAN; LIU, DAN; GUO, QI; CHEN, WENXIANG; ZHANG, XIAOYI; COTTLE, LESTER GILBERT, III; YAN, XUEBIN; GONG, YU; TIAN, HAITONG; SUN, SIYAO; LIAO, PEI-LUN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 050017/0640 →
Continuity (1)
Related Publication 20200401644A1 · Dec 24, 2020