IP Library Granted Patent US 8,626,682
Granted Patent B2
US 8,626,682 · App. 13/046,266 · Granted Jan 7, 2014

Automatic data cleaning for machine learning classifiers

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 8,626,682
App. No.
13/046,266
Granted
Jan 7, 2014
Kind
B2
Abstract

Systems and techniques for improving the training of machine learning classifiers are disclosed. A classifier is trained using a set of validated documents that are accurately associated with a set of class labels. A subset of non-validated documents is also identified and is used to further train and improve accuracy of the classifier.

Claims (89)

1. A method of training an initially trained classifier (ITC), the ITC having been generated using a set of verified documents associated with a set of class labels, the set of verified documents having been divided into a training set of documents and a test set of documents, and each class of the set of class labels associated with a class list, the training set of documents having been further divided into an integer number of verified document sets (INVDS), the method comprising:

automatically inputting a set of unverified documents into the ITC, the set of unverified documents divided into an integer number of unverified document sets (UNVDS);

automatically identifying a subset of documents from the UNVDS;

automatically generating a final set of training documents based on the subset of documents and the INVDS;

clustering at least one subset of documents from the INVDS and one subset of documents from the UNVDS using a flat clustering or hierarchical clustering technique; and

training the ITC using the final set of training documents.

2. The method of claim 1 , further comprising:

executing a first loop code segment comprising a first loop construct written in a computer programming language, wherein the first loop code segment is executed at run time at least n times, wherein n is a value at run time of a first variable in a first loop termination condition;

executing a second loop code segment comprising a second loop construct written in the computer programming language, wherein the second loop code segment is executed at least p×n times, wherein p is a value at run time of a second variable in a second loop termination condition; and

executing a third loop code segment comprising a third loop construct written in the computer programming language, wherein the third loop code segment is executed p×n×q times, wherein q is a value at run time of a third variable in a third loop termination condition.

3. The method of claim 2 , further comprising, for each of the n times the first loop code is executed:

assigning a first portion of the INVDS to a first set of documents;

assigning a second portion of the INVDS to a second set of documents, the first portion different from the second portion;

training the ITC for each class associated with the set of class labels using documents in the first set of documents;

applying a plurality of classifiers to the documents in the second set of documents; and

computing a first set of F1 scores associated with documents in the second set of documents.

4. The method of claim 3 , wherein the first set of documents and the second set of documents have no documents in common.

5. The method of claim 2 , further comprising, for each of the p times the second loop code is executed:

applying at least one profile of a set of profiles to each document of the UNVDS, the at least one profile defining rule to be applied to each document of the UNVDS;

comparing at least one document of the UNVDS to all of the documents included in the first set of documents; and

deleting the at least one document from the UNVDS based on the comparison.

6. The method of claim 5 , wherein the rule defines one of a class label

retention scheme, class label addition scheme, or combination thereof.

7. The method of claim 5 , comprising applying a plurality of profiles included in the set of profiles to each document of the UNVDS in a decreasing order of profile strictness.

8. The method of claim 5 , wherein the at least one document from the UNVDS is deleted if the at least one document from the UNVDS is similar to any of the documents included in the first set of documents.

9. The method of claim 5 , wherein comparing the at least one document comprises computing a cosine similarity for the at least one document.

10. The method of claim 5 , further comprising, for each of the p times the second loop code is executed:

forming a third set of documents by merging documents included in the first set of documents with documents not deleted from the UNVDS ; and

clustering the third set of documents using the flat clustering or the hierarchical clustering technique.

11. The method of claim 2 , further comprising, for each of the q times the third loop code is executed:

applying the ITC to all documents in the UNVDS for each class defined in the set of class labels;

forming the subset of documents from the UNVDS, each document of the subset of documents having at least one class associated therewith;

training a second classifier using documents in the subset of documents and the first set of documents;

applying the second classifier to the second set of documents;

computing a second set of F1 scores associated with documents in the second set of documents;

comparing an F1 score associated with a class label from the second set of F1 scores to a corresponding F1 score associated with the class label from the first set of F1 scores;

updating a best score for the class label based on the comparison; and

adding documents from the subset of documents to a list of candidate documents based on the comparison.

12. The method of claim 11 , wherein generating the final set of training documents comprises adding at least one document associated with the list of candidate documents to the training set of documents.

13. The method of claim 1 , further comprising:

training a plurality of classifiers using the final set of training documents; and

applying the plurality of classifiers to the test set of documents.

14. A system comprising:

a data store including a set of verified documents and a set of unverified documents, the set of verified documents divided into a training set of documents and a test set of documents, the training set of documents divided into an integer number of verified document sets (INVDS), and the set of unverified documents divided into an integer number of unverified document sets (UNVDS);

a server including a processor and memory operatively coupled to the data store, the memory storing instructions that, in response to receiving a request for access to a service, cause the processor to:

automatically identify a subset of documents from the UNVDS in response to inputting the set of unverified documents into an initially trained classifier (ITC);

automatically generate a final set of training documents based on the subset of documents and the INVDS;

clustering at least one subset of documents from the INVDS and one subset of documents from the UNVDS using a flat clustering or hierarchical clustering technique; and

train the ITC using the final set of training documents.

15. The system of claim 14 , wherein the memory stores instructions that, in response to receiving the request, cause the processor to:

execute a first loop code segment comprising a first loop construct, wherein the first loop code segment is executed at run time at least n times, wherein n is a value at run time of a first variable in a first loop termination condition;

execute a second loop code segment comprising a second loop construct, wherein the second loop code segment is executed at least p×n times, wherein p is a value at run time of a second variable in a second loop termination condition; and

execute a third loop code segment comprising a third loop construct, wherein the third loop code segment is executed p×n×q times, wherein q is a value at run time of a third variable in a third loop termination condition.

16. The system of claim 15 , wherein the memory stores instructions that, for each of the n times the processor executes the first loop, cause the processor to:

assign a first portion of the INVDS to a first set of documents;

assign a second portion of the INVDS to a second set of documents, the first portion different from the second portion;

train the ITC for each class associated with the set of class labels using documents in the first set of documents;

apply a plurality of classifiers to the documents in the second set of documents; and

compute a first set of F1 scores associated with documents in the second set of documents.

17. The system of claim 16 , wherein the first set of documents and the second set of documents have no documents in common.

18. The system of claim 15 , wherein the memory stores instructions that, for each of the p times the second loop code is executed, cause the processor to:

apply at least one profile of a set of profiles to each document of the UNVDS, the at least one profile defining a rule to be applied to each document of the UNVDS;

compare at least one document of the UNVDS to all of the documents included in the first set of documents; and

delete the at least one document from the UNVDS based on the comparison.

19. The system of claim 18 , wherein the rule defines a class label retention scheme, class label addition scheme, or combination thereof.

20. The system of claim 18 , wherein the memory stores instructions that cause the processor to apply a plurality of profiles included in the set of profiles to each document of the UNVDS in a decreasing order of profile strictness.

21. The system of claim 18 , wherein the memory stores instructions that cause the processor to delete the at least one document from the UNVDS if the at least one document from the UNVDS is similar to any of the documents included in the first set of documents.

22. The system of claim 18 , wherein the memory stores instructions that cause the processor to compute a cosine similarity for the at least one document to be used during the comparison.

23. The system of claim 18 , wherein the memory stores instructions that, for each of the p times the second loop code is executed, cause the processor to:

form a third set of documents by merging documents included in the first set of documents with documents not deleted from the UNVDS ; and

cluster the third set of documents using the flat clustering or hierarchical clustering technique.

24. The system of claim 15 , wherein the memory stores instructions that, for each of the q times the third loop code is executed, cause the processor to:

apply the ITC to all documents in the UNVDS for each class defined in the set of class labels;

form the subset of documents from the UNVDS, each document of the subset of documents having at least one class associated therewith;

train a second classifier using documents in the subset of documents and the first set of documents;

apply the second classifier to the second set of documents;

compute a second set of F1 scores associated with documents in the second set of documents;

compare an F1 score associated with a class label from the second set of F1 scores to a corresponding F1 score associated with the class label from the first set of F1 scores;

update a best score for the class label based on the comparison; and

add documents from the subset of documents to a list of candidate documents based on the comparison.

25. The system of claim 24 , wherein the memory stores instructions that, in response to receiving the request, cause the processor to add at least one document associated with the list of candidate documents to the training set of documents to form the final set of training documents.

26. The system of claim 14 , wherein the memory stores instructions that, in response to receiving the request, cause the processor to:

train a plurality of classifiers using the final set of training documents; and

apply the plurality of classifiers to the test set of documents.

27. An article comprising a non-transitory machine-readable medium storing machine-readable instructions that, when applied to the machine, cause the machine to:

automatically identify a subset of documents from an integer number of unverified document sets (UNVDS) in response to inputting the UNVDS into an initially trained classifier (ITC);

automatically generate a final set of training documents based on the subset of documents and the INVDS;

clustering at least one subset of documents from the INVDS and one subset of documents from the UNVDS using a flat clustering or hierarchical clustering technique; and

train the ITC using the final set of training documents.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS NOTES COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0811 →
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0836 →
CHANGE OF NAME Recorded Mar 22, 2019
From: THOMSON REUTERS (GRC) LLC
To: REFINITIV US ORGANIZATION LLC
Reel/Frame 048676/0110 →
CHANGE OF NAME Recorded Dec 19, 2018
From: THOMSON REUTERS (GRC) INC.
To: THOMSON REUTERS (GRC) LLC
Reel/Frame 048553/0148 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
To: THOMSON REUTERS (GRC) INC.
Reel/Frame 047909/0874 →
SECURITY AGREEMENT Recorded Oct 3, 2018
From: THOMSON REUTERS (GRC) INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 047187/0316 →
SECURITY AGREEMENT Recorded Oct 2, 2018
From: THOMSON REUTERS (GRC) INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047185/0215 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2018
From: OLOF-ORS, MANS
To: THOMSON REUTERS GLOBAL RESOURCES
Reel/Frame 044572/0489 →
CHANGE OF NAME Recorded Aug 15, 2017
From: THOMSON REUTERS GLOBAL RESOURCES
To: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
Reel/Frame 043297/0028 →