IP Library Granted Patent US 12,298,948
Granted Patent B2
US 12,298,948 · App. 18/134,913 · Granted May 13, 2025

Systems and/or methods for reinforced data cleaning and learning in machine learning inclusive computing environments

Inventor: Mohamed Osman Mohamed Abdelaal (Stuttgart, DE)
Assignee: SOFTWARE GmbH
G06F16/215
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,298,948
App. No.
18/134,913
Granted
May 13, 2025
Kind
B2
Abstract

A reinforcement learning based approach is used for data cleaning operations that are used in data preparation operations where machine learning (ML) technology is implemented. Features are extracted from a dirty dataset. A batch is sampled from the dirty dataset. A set of one or more repair tools is selected from available repair tools, provided that the sampled batch is determined to include at least one error. The sampled batch is repaired using the selected set of repair tools. The ML model is trained based on the repaired sampled batch. A feedback metric is calculated based on performance of the trained ML model in connection with a validation dataset. The trained ML model is adjusted based on the calculated feedback metric (a loss). The approach is repeated such that the selection of the set of repair tools is modified based on the calculated feedback metric (a reward).

Claims (54)

1. A computer-based method of preparing a dirty dataset for use with an application that leverages a machine learned (ML) model, at least some of the data in the dirty dataset including errors, the method comprising:

storing, to non-transitory memory, a plurality of available computer-implemented repair tools that include different types of repair tools that are separately executable program code;

(a) extracting features from the dirty dataset;

(b) sampling a batch from the dirty dataset;

(c) selecting, via a neural network, a set of one or more computer-implemented repair tools from a plurality of available computer-implemented repair tools, provided that the sampled batch is determined to include at least one error;

(d) executing each one of the computer-implemented repair tools of the selected set, with the sampled batch being used as input to the set of one or more computer-implemented repair tools to generate a repaired sampled batch;

(e) training the ML model based on the repaired sampled batch;

(f) calculating a first loss metric based on performance of the trained ML model and a validation dataset;

(g) adjusting the trained ML model based on the first loss metric

(h) calculating a second loss metric that is based on a difference between the first loss metric of the ML model and a moving average of previous losses;

(i) updating weights of the neural network based on the calculated second loss metric; and

(j) repeating (b)-(i) such that which repair tools are selected via the neural network for the set of one or more computer-implemented repair tools in (c) is modified based on how the weights of the neural network have been updated.

2. The method of claim 1 , wherein the features are extracted from the dirty dataset using a term frequency-inverse document frequency (TF-IDF) based algorithm.

3. The method of claim 1 , wherein the sampling is random sampling of records from the dirty dataset.

4. The method of claim 1 , wherein the trained ML model is adjusted by altering weights thereof based on the first loss metric.

5. The method of claim 1 , wherein the selecting in (c) is performed using the neural network that takes as input batches from the dirty dataset and predicts which repair tool(s) from the plurality of available computer-implemented repair tools will best clean the dirty dataset, the prediction of the tool(s) from the plurality of available computer-implemented repair tools that will best clean the dirty dataset being used in (d) to repair the sampled batch.

6. The method of claim 5 , wherein the weights of the neural network are updated based on the calculated second loss metric using a policy gradient algorithm.

7. The method of claim 5 , wherein the adjusting of the trained ML model in (g) is based on an estimation of the current loss of the MI model obtained using the validation dataset.

8. The method of claim 1 , wherein the plurality of available computer-implemented repair tools includes a plurality of baseline methods and a plurality of variations of the baseline methods, the variations having configured parameters different from their respective baseline methods.

9. The method of claim 1 , further comprising deploying the ML model for the application once the dirty dataset has been cleaned.

10. A non-transitory computer readable storage medium storing instructions that, when executed by at least one processor, prepare a dirty dataset for use with an application that leverages a machine learned (ML) model, by performing operations comprising:

storing, to non-transitory memory, a plurality of available computer-implemented repair tools that include different types of repair tools that are separately executable program code;

(a) extracting features from the dirty dataset;

(b) sampling a batch from the dirty dataset;

(c) selecting, via a neural network, a set of one or more computer-implemented repair tools from a plurality of available computer-implemented repair tools, provided that the sampled batch is determined to include at least one error;

(d) executing each one of the computer-implemented repair tools of the selected set, with the sampled batch being used as input to the set of one or more computer-implemented repair tools to generate a repaired sampled batch;

(e) training the ML model based on the repaired sampled batch;

(f) calculating a first loss metric based on performance of the trained ML model in connection with a validation dataset;

(g) adjusting the trained ML model based on the first loss metric;

(h) calculating a second loss metric that is based on a difference between the first loss metric of the ML model and a moving average of previous losses,

(i) updating weights of the neural network based on the calculated second loss metric; and

(j) repeating (b)-(i) such that which repair tools are selected via the neural network for the set of one or more computer-implemented repair tools in (c) is modified based on how the weights of the neural network have been updated.

11. The non-transitory computer readable storage medium of claim 10 , wherein the selecting in (c) is performed using the neural network that takes as input batches from the dirty dataset and predicts which repair tool(s) from the plurality of available computer-implemented repair tools will best clean the dirty dataset, the prediction of the tool(s) from the plurality of available computer-implemented repair tools that will best clean the dirty dataset being used in (d) to repair the sampled batch.

12. The non-transitory computer readable storage medium of claim 11 , wherein the adjusting of the trained ML model in (g) is based on an estimation of the current loss of the ML model obtained using the validation dataset.

13. A system for preparing a dirty dataset for use with an application that leverages a machine learned (ML) model, at least some of the data in the dirty dataset including errors, the system comprising:

at least one processor and a memory operably coupled thereto, the at least one processor being configured to execute instructions stored in the memory to perform operations comprising:

storing, to non-transitory memory, a plurality of available computer-implemented repair tools that include different types of repair tools that are separately executable program code;

(a) extracting features from the dirty dataset;

(b) sampling a batch from the dirty dataset;

(c) selecting, via a neural network, a set of one or more computer-implemented repair tools from a plurality of available computer-implemented repair tools, provided that the sampled batch is determined to include at least one error;

(d) executing each one of the computer-implemented repair tools of the selected set, with the sampled batch being used as input to the set of one or more computer-implemented repair tools to generate a repaired sampled batch;

(e) training the ML model based on the repaired sampled batch;

(f) calculating a first loss metric based on performance of the trained ML model in connection with a validation dataset;

(g) adjusting the trained ML model based on the first loss metric;

(h) calculating a second loss metric that is based on a difference between the first loss metric of the ML model and a moving average of previous losses;

(i) updating weights of the neural network based on the calculated second loss metric; and

(j) repeating (b)-(i) such that which repair tools are selected via the neural network for the set of one or more computer-implemented repair tools in (c) is modified based on how the weights of the neural network have been updated.

14. The system of claim 13 , wherein the features are extracted from the dirty dataset using a term frequency-inverse document frequency (TF-IDF) based algorithm.

15. The system of claim 13 , wherein the sampling is random sampling of records from the dirty dataset.

16. The system of claim 13 , wherein the trained ML model is adjusted by altering weights thereof based on the first loss metric.

17. The system of claim 13 , wherein the selecting in (c) is performed using the neural network that takes as input batches from the dirty dataset and predicts which repair tool(s) from the plurality of available computer-implemented repair tools will best clean the dirty dataset, the prediction of the tool(s) from the plurality of available computer-implemented repair tools that will best clean the dirty dataset being used in (d) to repair the sampled batch.

18. The system of claim 17 , wherein the weights of the neural network are updated based on the calculated second loss metric using a policy gradient algorithm.

19. The system of claim 17 , wherein the adjusting of the trained ML model in (g) is based on an estimation of the current loss of the ML model.

20. The system of claim 13 , wherein the plurality of available computer-implemented repair tools includes a plurality of baseline methods and a plurality of variations of the baseline methods, the variations having configured parameters different from their respective baseline methods.

Assignments (3)
MERGER Recorded Dec 17, 2024
From: SOFTWARE AG
To: MOSEL BIDCO AG
Reel/Frame 069888/0666 →
CHANGE OF NAME Recorded Dec 17, 2024
From: MOSEL BIDCO AG
To: SOFTWARE GMBH
Reel/Frame 069888/0673 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2023
From: ABDELAAL, MOHAMED OSMAN MOHAMED
To: SOFTWARE AG
Reel/Frame 063348/0853 →
Continuity (1)
Related Publication 20240346002A1 · Oct 17, 2024
References Cited (19)
US 20120296879A1 · Yakout · 2012 [cited by examiner]
US 20210383170A1 · Alshawabkeh · 2021 [cited by examiner]
US 20220207007A1 · Solanki · 2022 [cited by examiner]
P. Li, X. Rao, J. Blase, Y. Zhang, X. Chu and C. Zhang, “CleanML: A Study for Evaluating the Impact of Data Cleaning on ML Classification Tasks,” Apr. 19-22, 2021, IEEE 37th International Conference on Data Engineering … [cited by examiner]
“How to Improve Your Data Quality,” Jul. 14, 2021, Contributor: Manasi Sakpal, Gartner, pp. 1-10. [cited by applicant]
Krishnan et al., “ActiveClean: Interactive Data Cleaning For Statistical Modeling,” vol. 9, No. 12, 2016, pp. 1-12. [cited by applicant]
Minh et al., “Automated Image Data Preprocessing with Deep Reinforcement Learning,” Apr. 29, 2021, pp. 1-9. [cited by applicant]
Krishnan et al., “BoostClean: Automated Error Detection and Repair for Machine Learning,” Nov. 3, 2017, pp. 1-15. [cited by applicant]
Neutatz et al., “ED2: Two-stage Active Learning for Error Detection—Technical Report,” Aug. 17, 2019, pp. 1-10. [cited by applicant]
Rekatsinas et al., “HoloClean: Holistic Data Repairs with Probabilistic Inference,” Feb. 2, 2017, pp. 1-13. [cited by applicant]
Laure Berti-Equille, “Learn2Clean: Optimizing the Sequence of Tasks for Web Data Preparation,” May 2019, pp. 2580-2586. [cited by applicant]
Henke et al., McKinsey Global Institute, “The Age of Analytics: Competing in a Data-Driven World,” Dec. 2016, pp. 1-136. [cited by applicant]
Karlas et al., “Nearest Neighbor Classifiers over Incomplete Information: From Certain Answers to Certain Predictions,” May 12, 2020, pp. 1-34. [cited by applicant]
Liu et al., “Picket: Guarding Against Corrupted Data in Tabular Data during Learning and Inference,” Jul. 26, 2021, pp. 1-23. [cited by applicant]
Mahdavi et al., “Raha: A Configuration-Free Error Detection System,” MIT Open Access Articles, Jun.-Jul. 2019, pp. 1-19. [cited by applicant]
Sutton et al., “Reinforcement Learning: An Introduction,” 2014, 2015, The MIT Press, pp. 1-352. [cited by applicant]
Williams, “Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning,” Machine Learning, 8, 229-256 (1992), pp. 5-32. [cited by applicant]
UCI: Machine Learning Repository, Airfoil Self-Noise Data Set, https://archive.ics.uci.edu/ml/datasets/airfoil+self+noise#. [cited by applicant]
UCI: Machine Learning Repository, Wine Quality Data Set, https://archive.ics.uci.edu/ml/datasets/wine+quality. [cited by applicant]