IP Library Granted Patent US 11,436,523
Granted Patent B2
US 11,436,523 · App. 16/027,161 · Granted Sep 6, 2022

Systems and methods for selecting machine learning training data

Inventors: Daniel Erenrich (Mountain View, CA); Matthew Elkherj (Menlo Park, CA)
Assignee: Palantir Technologies Inc.
G06N20/00G06N5/04
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,436,523
App. No.
16/027,161
Granted
Sep 6, 2022
Kind
B2
Abstract

Systems and methods are provided for selecting training examples to increase the efficiency of supervised active machine learning processes. Training examples for presentation to a user may be selected according to measure of the model's uncertainty in labeling the examples. A number of training examples may be selected to increase efficiency between the user and the processing system by selecting the number of training examples to minimize user downtime in the machine learning process.

Claims (70)

1. A system utilizing active learning for training a machine learning model of an entity resolution system, the system comprising:

one or more processors and a memory storing instructions that, when executed by the one or more processors, cause the system to:

obtain a machine learning model and a training dataset, the training dataset including a plurality of training examples, each training example of at least a portion of the training examples including one or more records;

determine uncertainty scores for the plurality of training examples according to the machine learning model;

determine a first machine learning model certainty level according to the uncertainty scores of the plurality of training examples of the training dataset;

select a first example batch from the plurality of training examples according to the first machine learning model certainty level;

perform a first update to the machine learning model according to at least one labeled training example of the first example batch;

select a second example batch from the plurality of training examples according to a diversity score indicative of:

a first degree of difference between the second example batch and the first example batch; and

a second degree of difference between the second example batch and one or more remaining training examples, besides the first example batch, of the plurality of training examples;

perform a second update to the machine learning model according to a labeled second training example from the second example batch; and

resolve, based at least in part on the second updated machine learning model, matching entities associated with one or more sets of sets of records.

2. The system of claim 1 , wherein the number of training examples in the first example batch is based on the first machine learning model certainty level.

3. The system of claim 1 , wherein the system is further caused to:

determine updated uncertainty scores for the plurality of training examples in response to the first update of the machine learning model;

determine a second machine learning model certainty level according to the updated uncertainty scores of the plurality of training examples of the training dataset; and

select the second example batch from the plurality of training examples further according to the second machine learning model certainty level, wherein at least one labeled training example of the second example batch is capable of being used in the second update.

4. The system of claim 3 , wherein to determine updated uncertainty scores for the plurality of training examples the system is further caused to determine updated uncertainty scores for the plurality of training examples according to the first update of the machine learning model after a threshold number of training examples of the first example batch are labeled by a user.

5. The system of claim 4 , wherein the threshold number is determined according to any of a number of training examples in the first example batch, an estimated time for a user to label a training example in the first example batch, a system processing speed, and a number of training examples in the first example batch of the training dataset.

6. The system of claim 5 , wherein the threshold number is determined such that a time to completion of labeling the threshold number of training examples of the first batch and a time to completion of determining updated uncertainty scores of the plurality of training examples of the training dataset are within a predetermined range of each other.

7. The system of claim 1 , wherein to perform the first update to the machine learning model the system is further caused to:

obtain a first label of a first training example of the first example batch from a user, wherein the first training example is selected according to the uncertainty scores of the first example batch;

perform the first update according to the first label;

determine updated uncertainty scores of the first example batch;

obtain a second label of a second training example of the first example batch from the user, wherein the second training example is selected according to the updated uncertainty scores of the first example batch; and

perform the first update according to the second label.

8. The system of claim 1 , wherein each record of the one or more records includes an entity identification field and an entity location field, and the one or more sets of records include at least a portion of the training dataset.

9. The system of claim 1 , wherein the selecting of the first example batch comprises determining a batch size based on the first machine learning model certainty level, a time consumed in labelling the first example batch, and an estimated processing or evaluation speed.

10. The system of claim 9 , wherein the batch size is inversely correlated to a frequency of selecting new batches of training examples.

11. A method for entity resolution utilizing active learning for training a machine learning model, the method being performed on a computer system having one or more physical processors programmed with computer program instructions that, when executed by the one or more physical processors, cause the computer system to perform the method, the method comprising:

obtaining a machine learning model and a training dataset, the training dataset including a plurality of training examples, each training example of at least a portion of the training examples including one or more records;

determining uncertainty scores for the plurality of training examples according to the machine learning model;

determining a first machine learning model certainty level according to the uncertainty scores of the plurality of training examples of the training dataset;

selecting a first example batch from the plurality of training examples according to the first machine learning model certainty level;

performing a first update to the machine learning model according to at least one labeled training example of the first example batch;

selecting a second example batch from the plurality of training examples according to a diversity score indicative of:

a first degree of difference between the second example batch and the first example batch; and

a second degree of difference between the second example batch and one or more remaining training examples, besides the first example batch, of the plurality of training examples;

performing a second update to the machine learning model according to a labeled second training example from the second example batch; and

resolving, based at least in part on the second updated machine learning model, matching entities associated with one or more sets of sets of records.

12. The method of claim 11 , wherein the number of training examples in the first example batch is based on the first machine learning model certainty level.

13. The method of claim 11 , wherein the method further comprises:

determining updated uncertainty scores for the plurality of training examples in response to the first update of the machine learning model;

determining a second machine learning model certainty level according to the updated uncertainty scores of the plurality of training examples of the training dataset; and

selecting the second example batch from the plurality of training examples further according to the second machine learning model certainty level, wherein at least one labeled training example of the second example batch is capable of being used in the second update.

14. The method of claim 13 , wherein to determine updated uncertainty scores for the plurality of training examples the system is further caused to determine updated uncertainty scores for the plurality of training examples according to the first update of the machine learning model after a threshold number of training examples of the first example batch are labeled by a user.

15. The method of claim 14 , wherein the threshold number is determined according to any of a number of training examples in the first example batch, an estimated time for a user to label a training example in the first example batch, a system processing speed, and a number of training examples in the first example batch of the training dataset.

16. The method of claim 15 , wherein the threshold number is determined such that a time to completion of labeling the threshold number of training examples of the first batch and a time to completion of determining updated uncertainty scores of the plurality of training examples of the training dataset are within a predetermined range of each other.

17. The method of claim 11 , further comprising:

obtaining a first label of a first training example of the first example batch from a user, wherein the first training example is selected according to the uncertainty scores of the first example batch;

performing the first update to the machine learning model according to the first label;

determining updated uncertainty scores of the first example batch;

obtaining a second label of a second training example of the first example batch from the user, wherein the second training example is selected according to the updated uncertainty scores of the first example batch; and

performing the first update to the machine learning model according to the second label.

18. The method of claim 11 , wherein each record of the one or more records includes an entity identification field and an entity location field, and the one or more sets of records include at least a portion of the training dataset.

19. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:

obtaining a machine learning model and a training dataset, the training dataset including a plurality of training examples, each training example of at least a portion of the training examples including one or more records;

determining uncertainty scores for the plurality of training examples according to the machine learning model;

determining a first machine learning model certainty level according to the uncertainty scores of the plurality of training examples of the training dataset;

selecting a first example batch from the plurality of training examples according to the first machine learning model certainty level;

performing a first update to the machine learning model according to at least one labeled training example of the first example batch;

selecting a second example batch from the plurality of training examples according to a diversity score indicative of:

a first degree of difference between the second example batch and the first example batch; and

a second degree of difference between the second example batch and one or more remaining training examples, besides the first example batch, of the plurality of training examples;

performing a second update to the machine learning model according to a labeled second training example from the second example batch; and

resolving, based at least in part on the second updated machine learning model, matching entities associated with one or more sets of sets of records.

20. The non-transitory computer readable medium of claim 19 , wherein the instructions further cause the one or more processors to perform:

determining updated uncertainty scores for the plurality of training examples according to the updated machine learning model;

determining a second machine learning model certainty level according to the updated uncertainty scores of the plurality of training examples of the training dataset; and

selecting a second example batch from the plurality of training examples according to the second machine learning model certainty level, at least one labeled training example of the second example batch capable of being used in an update of the updated machine learning model.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2018
From: ERENRICH, DANIEL; ELKHERJ, MATTHEW
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 046263/0571 →
Continuity (3)
Continuation 15644231 · Jul 7, 2017
Provisional Application 62475689 · Mar 23, 2017
Related Publication 20180330280A1 · Nov 15, 2018
Cited By (1)
US 12,282,854