IP Library Granted Patent US 12,566,950
Granted Patent B2
US 12,566,950 · App. 17/142,117 · Granted Mar 3, 2026

Generation of secure synthetic data based on true-source datasets

Inventors: Eiran Shalev (Daly City, CA); Sandeep Narayanaswami (San Francisco, CA); Nicholas Mccurry (San Diego, CA); Matthew Tomaszewicz (San Francisco, CA); Omar Sharifali (San Francisco, CA); Jesse Anderson (Walnut Creek, CA); Daniel Finn (San Francisco, CA); Francisco Gutierrez (San Francisco, CA)
Assignee: Capital One Services, LLC
G06N3/08G06F18/211G06F18/29G06F18/40G06N7/01G06V10/751
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,566,950
App. No.
17/142,117
Granted
Mar 3, 2026
Kind
B2
Abstract

A system, method, and computer-readable medium for generating factual and/or counterfactual data are described. This may have the effect of improving the complexity of data available for training machine learning models. The models may include, but not limited to, a probabilistic graphical model (PGM) and/or an agent-based model (ABM). Further aspects may provide for scrubbing actual data to create a data model that does not reveal the content of the underlying source data. Yet further aspects may provide for validating a data model.

Claims (108)

1 . A computer-implemented method comprising:

receiving, over a network via an application programming interface at a cloud-based microservice, a request for a realistic dataset;

receiving, in response to the request, a true-source dataset comprising a source plurality of records with personal information, wherein the source plurality of records are arranged according to a plurality of fields and each record of the source plurality of records comprises true-source data for at least one field;

receiving a first machine-learning model configured to categorize data in a field, of a plurality of fields, as entity-specific information or not entity-specific information;

categorizing, using the first machine-learning model and based on the true-source dataset, fields of the plurality of fields, as a first field containing first sensitive data, a second field containing second sensitive data, and a third field containing non-sensitive data;

determining, based on the categorizing of the fields of the plurality of fields, a method of scrubbing the source plurality of records;

generating, based on the determined method for scrubbing the fields of the plurality of fields of the source plurality of records of the true-source dataset, a scrubbed dataset comprising a scrubbed plurality of records,

wherein the first sensitive data is replaced with first generated data that is semantically similar to the first sensitive data,

wherein the second sensitive data is replaced with second generated data that is syntactically similar to the second sensitive data, and

wherein the non-sensitive data is not modified;

determining, based on the data of the scrubbed plurality of records of the scrubbed dataset, one or more parameters for the plurality of fields of the scrubbed dataset, wherein the one or more parameters comprise one or more of statistical parameters or correlation parameters that are similar to statistical parameters or correlation parameters of the true-source dataset;

storing the one or more parameters;

generating, based on the storing of the one or more parameters, a generative model of the scrubbed dataset, wherein the generative model describes the scrubbed dataset;

generating, based on the generative model of the scrubbed dataset, a generated synthetic dataset comprising a generated plurality of records; and

outputting, via the network, the generated synthetic dataset as the realistic dataset.

2 . The computer-implemented method of claim 1 ,

wherein the categorizing comprises predicting, using the first machine-learning model, a label for one or more of the plurality of fields, and

wherein the generating of the scrubbed dataset comprises replacing, based on the label for one or more of the plurality of fields, data in the source plurality of records of the true-source dataset with replacement data.

3 . The computer-implemented method of claim 2 , wherein the replacing further comprises:

substituting, based on the label for the one or more of the plurality of fields, semantically similar data for the source plurality of records in the true-source dataset,

wherein the substituting comprises:

selecting, based on the label, a random value from a list of values associated with the label.

4 . The computer-implemented method of claim 2 , wherein the replacing further comprises:

substituting, based on the label for the one or more of the plurality of fields, syntactically similar data for the source plurality of records in the true-source dataset,

wherein the substituting comprises:

replacing, on a character-by-character basis for a first record, any alphabetical characters with random alphabetical characters; and

replacing, on a character-by-character basis for the first record, any number characters with random number characters.

5 . The computer-implemented method of claim 2 , wherein the categorizing further comprises:

receiving user input modifying the label of one of the fields of the true-source dataset.

6 . The computer-implemented method of claim 1 , wherein receiving the true-source dataset comprises:

limiting a volume of true-source data in the true-source dataset.

7 . The computer-implemented method of claim 1 , further comprising:

deleting, based on the categorizing the fields of the plurality of fields, the true-source dataset.

8 . The computer-implemented method of claim 1 , further comprising:

receiving user input modifying one or more parameters;

modifying, based on the modified one or more parameters, the generative model;

generating, based on the modifying of the generative model, a second generated synthetic dataset; and

outputting the second generated synthetic dataset.

9 . The computer-implemented method of claim 1 ,

wherein one of the one or more statistical parameters comprises a distribution parameter of one of the plurality of fields of the scrubbed dataset, and

wherein the distribution parameter comprises one of a normal distribution, Benford distribution, Bernoulli distribution, beta distribution, binomial distribution, chi-squared distribution, Dirichlet distribution, exponential distribution, F distribution, gamma distribution, lognormal distribution, multinomial, Poisson distribution, power distribution, Student's t distribution, triangular distribution, or uniform distribution.

10 . The computer-implemented method of claim 1 ,

wherein one of the one or more statistical parameters comprises, of one of the plurality of fields of the scrubbed dataset, a minimum, maximum, mean, mode, standard deviation, symmetry, skewness, or kurtosis.

11 . The computer-implemented method of claim 1 ,

wherein one of the one or more correlation parameters comprises a degree of correlation between two or more fields of the scrubbed dataset.

12 . The computer-implemented method of claim 2 ,

wherein the label identifies the first field or the second field as containing data of one or more of persons' names, email addresses, physical addresses, city, state, ZIP Codes, country codes, credit card numbers, Social Security numbers, drivers' license numbers, other identifying numbers, telephone numbers, internet addresses (e.g., IPV4, IPV6), uniform resource locators, dates, times, combinations of dates and time, months, integers, FICO scores, random data, and noise.

13 . The computer-implemented method of claim 1 , wherein one of the one or more statistical parameters is a first distribution parameter of one of the plurality of fields of the scrubbed dataset, the method further comprising:

determining, based on one of a second plurality of fields of the generated synthetic dataset, a second distribution parameter;

comparing the second distribution parameter with the first distribution parameter;

modifying, based on comparing the second distribution parameter with the first distribution parameter, the generative model to include a modified distribution parameter;

generating, based on the modifying of the generative model, a second generated synthetic dataset; and

outputting the second generated synthetic dataset.

14 . The computer-implemented method of claim 1 ,

wherein the generative model comprises a probabilistic graphical model comprising two or more nodes and one or more edges, wherein at least one of the two or more nodes is based on the one or more statistical parameters, and wherein the one or more edges are based on the one or more correlation parameters, and

wherein the method further comprises:

generating a graphical user interface representing the probabilistic graphical model;

receiving user interactions with the graphical user interface, the user interactions modifying a statistical parameter node of the two or more nodes of the probabilistic graphical model;

generating, based on the modified probabilistic graphical model, a second generated synthetic dataset; and

outputting the second generated synthetic dataset.

15 . The computer-implemented method of claim 1 ,

wherein the generative model comprises a probabilistic graphical model comprising two or more nodes and one or more edges, wherein at least one of the two or more nodes is based on the one or more statistical parameters, and wherein the one or more edges are based on the one or more correlation parameters, and

wherein the method further comprises:

generating a graphical user interface representing the probabilistic graphical model;

receiving user interactions with the graphical user interface, the user interactions modifying a correlation edge of the one or more edges of the probabilistic graphical model;

generating, based on the modified probabilistic graphical model, a second generated synthetic dataset; and

outputting the second generated synthetic dataset.

16 . The computer-implemented method of claim 1 , wherein the cloud-based microservice is configured to only send the generated synthetic dataset and not the true-source dataset.

17 . An apparatus comprising:

one or more processors; and

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

receive, over a network via an application programming interface at a cloud-based microservice, a request for a realistic dataset;

receive, in response to the request, a true-source dataset comprising a source plurality of records with personal information, wherein the source plurality of records are arranged according to a plurality of fields and each record of the source plurality of records comprises true-source data for at least one field;

receive a first machine-learning model configured to categorize data in a field, of a plurality of fields, as entity-specific information or not entity-specific information;

categorize, using the first machine-learning model and based on the true-source dataset, fields as a first field containing first sensitive data, a second field containing second sensitive data, and a third field as containing non-sensitive data;

determine, based on the categorizing of the fields of the plurality of fields, a method of scrubbing the source plurality of records;

generate, based on the determined method for scrubbing the fields of the plurality of fields of the source plurality of records of the true-source dataset, a scrubbed dataset comprising a scrubbed plurality of records,

wherein the first sensitive data is replaced with first generated data that is semantically similar to the first sensitive data,

wherein the second sensitive data is replaced with second generated data that is or syntactically similar to the second sensitive data, and

wherein the non-sensitive data is not modified;

determine, based on the data of the scrubbed plurality of records of the scrubbed dataset, one or more parameters for the plurality of fields of the scrubbed dataset, wherein the one or more parameters comprise one or more of statistical parameters or correlation parameters that are similar to statistical parameters or correlation parameters of the true-source dataset;

store the one or more parameters;

generate, based on the stored one or more parameters, a generative model of the scrubbed dataset, wherein the generative model describes the scrubbed dataset;

cause display of a graphical interface of the generative model;

receive user interactions with the graphical interface, wherein the user interactions are to modify a specific parameter;

modify, of the generative model, the specific parameter;

generate, based on the modified generative model of the scrubbed dataset, a generated synthetic dataset comprising a generated plurality of records; and

output, via the network, the generated synthetic dataset as the realistic dataset.

18 . The apparatus of claim 17 , wherein the cloud-based microservice is configured to only send the generated synthetic dataset and not the true-source dataset.

19 . One or more non-transitory media storing instructions that, when executed by one or more processors, cause the one or more processors to perform steps comprising:

receiving, over a network via an application programming interface at a cloud-based microservice, a request for a realistic dataset;

receiving, in response to the request, a true-source dataset comprising a source plurality of records with personal information, wherein the source plurality of records are arranged according to a plurality of fields and each record of the source plurality of records comprises true-source data for at least one field;

receiving a first machine-learning model configured to categorize data in a field, of a plurality of fields, as entity-specific information or not entity-specific information;

categorizing, using the first machine-learning model and based on the true-source dataset, fields of the plurality of fields as a first field containing first sensitive data, a second field containing second sensitive data, and a third field as containing non-sensitive data;

determining, based on the categorizing of the fields of the plurality of fields, a method of scrubbing the source plurality of records;

generating, based on the determined method for scrubbing the fields of the plurality of fields of the source plurality of records of the true-source dataset, a scrubbed dataset comprising a scrubbed plurality of records,

wherein the first sensitive data is replaced with first generated data that is semantically similar to the first sensitive data,

wherein the second sensitive data is replaced with second generated data that is syntactically similar to the second sensitive data, and

wherein the non-sensitive data is not modified;

determining, based on the data of the scrubbed plurality of records of the scrubbed dataset, one or more parameters for the plurality of fields of the scrubbed dataset, wherein the one or more parameters comprise one or more of statistical parameters or correlation parameters that are similar to statistical parameters or correlation parameters of the true-source dataset;

storing the one or more parameters;

generating, based on the storing of the one or more parameters, a generative model of the scrubbed dataset, wherein the generative model describes the scrubbed dataset;

causing display of a graphical interface of the generative model;

receiving user interactions with the graphical interface, wherein the user interactions are to modify a specific parameter;

modifying, of the generative model, the specific parameter;

generating, based on the modifying of the generative model of the scrubbed dataset, a generated synthetic dataset comprising a generated plurality of records; and

outputting, via the network, the generated synthetic dataset as the realistic dataset.

20 . The one or more non-transitory media of claim 19 , wherein the cloud-based microservice is configured to only send the generated synthetic dataset and not the true-source dataset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2021
From: SHALEV, EIRAN; NARAYANASWAMI, SANDEEP; MCCURRY, NICHOLAS; TOMASZEWICZ, MATTHEW; SHARIFALI, OMAR; ANDERSON, JESSE; FINN, DANIEL; GUTIERREZ, FRANCISCO
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 054831/0904 →
Continuity (1)
Related Publication 20220215242A1 · Jul 7, 2022
References Cited (85)
US 7181438B1 · Szabo · 2007 [cited by applicant]
US 7720779B1 · Perry et al. · 2010 [cited by applicant]
US 7809660B2 · Friedlander et al. · 2010 [cited by applicant]
US 8055603B2 · Angell et al. · 2011 [cited by applicant]
US 8423494B2 · Barrett et al. · 2013 [cited by applicant]
US 8533182B1 · Charboneau · 2013 [cited by applicant]
US 8606608B2 · Bottou et al. · 2013 [cited by applicant]
US 8739137B2 · Siskind et al. · 2014 [cited by applicant]
US 8838511B2 · Kristal et al. · 2014 [cited by applicant]
US 9098805B2 · Ellis et al. · 2015 [cited by applicant]
US 9256700B1 · Kozlovsky et al. · 2016 [cited by applicant]
US 10043035B2 · LaFever et al. · 2018 [cited by applicant]
US 10241969B2 · Akitomi · 2019 [cited by applicant]
US 10460235B1 · Truong et al. · 2019 [cited by applicant]
US 11888679B2 · Grammel et al. · 2024 [cited by applicant]
US 20120004893A1 · Vaidyanathan et al. · 2012 [cited by applicant]
US 20130246336A1 · Ahuja et al. · 2013 [cited by applicant]
US 20140244418A1 · Ausubel et al. · 2014 [cited by applicant]
US 20150235143A1 · Eder · 2015 [cited by applicant]
US 20150278157A1 · Srivastava · 2015 [cited by applicant]
US 20160239532A1 · Gould et al. · 2016 [cited by applicant]
US 20170323329A1 · Katariya et al. · 2017 [cited by applicant]
US 20180153495A1 · Itu et al. · 2018 [cited by applicant]
US 20180181541A1 · Yao · 2018 [cited by applicant]
US 20180275303A1 · Zhan et al. · 2018 [cited by applicant]
US 20190041202A1 · Saraswatula et al. · 2019 [cited by applicant]
US 20190179926A1 · Das et al. · 2019 [cited by applicant]
US 20190180841A1 · Douglas et al. · 2019 [cited by applicant]
US 20190188243A1 · Sun et al. · 2019 [cited by applicant]
US 20190220733A1 · Fisher et al. · 2019 [cited by applicant]
US 20190236189A1 · Jindal et al. · 2019 [cited by applicant]
US 20190287680A1 · O'Connor et al. · 2019 [cited by applicant]
US 20190327501A1 · Walters et al. · 2019 [cited by applicant]
US 20190354643A1 · Shum et al. · 2019 [cited by applicant]
US 20200012933A1 · Truong · 2020 [cited by examiner]
US 20200027157A1 · Xu et al. · 2020 [cited by applicant]
US 20200050893A1 · Suresh et al. · 2020 [cited by applicant]
US 20200167214A1 · Shah et al. · 2020 [cited by applicant]
US 20200193230A1 · Greven et al. · 2020 [cited by applicant]
US 20210370972A1 · Bagschik et al. · 2021 [cited by applicant]
US 20220035965A1 · Liebman et al. · 2022 [cited by applicant]
US 20220083855A1 · Choi et al. · 2022 [cited by applicant]
US 20220083871A1 · Nemirovsky et al. · 2022 [cited by applicant]
US 20220086054A1 · Soramäki et al. · 2022 [cited by applicant]
US 20220188692A1 · Chakraborty et al. · 2022 [cited by applicant]
US 20220207536A1 · Tian · 2022 [cited by examiner]
CN 101888318A · 2010 [cited by applicant]
CN 101964019A · 2011 [cited by applicant]
CN 109716346A · 2019 [cited by applicant]
EP 3413092A1 · 2018 [cited by applicant]
JP 2009096519A · 2009 [cited by applicant]
KR 20200063960A · 2020 [cited by applicant]
WO 2013067437A1 · 2013 [cited by applicant]
WO 2020033967A1 · 2020 [cited by applicant]
Generative model Wikipedia, https://en.wikipedia.org/wiki/Generative_model, printed Jan. 5, 2021, pp. 1-5. [cited by applicant]
Goodfellow et al. “Generative Adversarial Nets”, pp. 1-9. [cited by applicant]
“Microsoft/AirSim: Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research”, https://github.com/microsoft/AirSim, printed Jan. 5, 2021, pp. 1-6. [cited by applicant]
“Mostly AI—The world's Synthetic Data Platform”, https://mostly.ai, printed Jan. 5, 2021, pp. 1-7. [cited by applicant]
“How Statice works—Statice understands your data and generates synthetic data which behaves like real data”, https://www.statice.ai/how-statice-works, printed Jan. 5, 2021, pp. 1-4. [cited by applicant]
“Netlogo—The NetLogo 6.1.1 User Manual”. [cited by applicant]
Murphy “An introduction to graphical models”, May 10, 2011, pp. 1-19. [cited by applicant]
Samanidou et al., “Agent-based models of financial markets” Reports on Progress in Physics, Rep. Prog. Phys. 70 (2007) pp. 409-450. [cited by applicant]
Sargent “Verification and Validation of Simulation Models”, Syracuse University, Department of Electrical Engineering and Computer Science, Proceedings of the 2011 Winter Simulation Conference, pp. 183-198. [cited by applicant]
Scibior et al. “Practical Probabilistic Programming with Monads” Haskell'15, Sep. 3-4, 2015, Vancouver, BC, Canada, pp. 165-176. [cited by applicant]
“Simydyne Agent Simulation” https://demo.simudyne.com/#Credit-Card-Model, printed Jan. 5, 2021. [cited by applicant]
Chawla et al. “SMOTE: Synthetic Minority Over-sampling Technique”, Journal of Artificial Intelligence Research 16 (2002) pp. 321-357. [cited by applicant]
Walonoski et al. “Synthea: An approach, method, and software mechanism for generating synthetic patients and the synthetic electronic health care record”, Journal of the American Medical Informatics Association, 25(3), … [cited by applicant]
Chen et al. “The validity of synthetic clinical data: a validation study of a leading synthetic data generator (Synthea) using clinical quality measures” BMC Medical Informatics and Decision Making. [cited by applicant]
Fritz et al. “Verification and Validation of Simulation Models” (1995). Electrical Engineering and Computer Science. 113, https://surface.syr.edu/eecs/113. [cited by applicant]
Luis Enrique Sucar, “Probalistic Graphical Models, Principles and Applications” Advances in Computer Vision and Pattern Recognition (2d ed., 2015). [cited by applicant]
Jun. 6, 2022—(WO) International Search Report and Written Opinion—App No. PCT/US22/11253. [cited by applicant]
Mannino et al. “Is this real? generating synthetic data that looks real”, In Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology, 2019, pp. 549-561 [online], [retrieved on May 4, 2022]… [cited by applicant]
Andreea Sistrunk et al. “On synthetic data generation for anomaly detection in complex social networks” arxiv.org Cornell University Library, 201 Olin Library Cornell University, Ithaca, NY 14853, Oct. 25, 2020, XP08179… [cited by applicant]
Dongjun Kim et al. “Automatic Calibration of Dynamic and Heterogeneous Parameters in Agent-based Model” arxiv.org Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Aug. 9, 2019, XP0814588… [cited by applicant]
Jun. 11, 2024—(EP) Extended European Search Report—App No. 22737018.6. [cited by applicant]
Daniel Nemirovsky et al., “Countergan: Generating Realistic Counterfactuals with Residual Generative Adversarial Nets” arXiv, Sep. 11, 2020, pp. 1-12. [cited by applicant]
Patki, et al., “The Synethetic Data Vault,” 2016 IEEE International Conference on Data Science and Advanced Analytics (DSAA), Montreal, QC, Canada, 2016, pp. 399-410, doi: 10.1109/DSAA.2016.49. (Year: 2016), 12 pages. [cited by applicant]
Sargent, “Verification and validation of simulation models,” Proceedings of the 2010 Winter Simulation Conference, Baltimore, MD, USA, 2010, pp. 166-183, doi: 10.1109/WSC.2010.5679166. (Year: 2016), 18 pages. [cited by applicant]
Bellot, et al., “Conditional Independence Testing using Generative Adversarial Networks,” arXiv preprint arXiv: 1907.04068 (2019). (Year: 2019), 10 pages. [cited by applicant]
IEEE Dictionary at p. 428 (2000) (definition of “field”) (Year:2000). [cited by applicant]
Branislav Hollander, “Introduction to Probabilistic Graphical Models,” Towards Data Science (Feb. 23, 2020) (Year: 2020). [cited by applicant]
Chongxuan Li et al. “Graphical Generative Adversarial Networks” 32nd Conference on Neural Information Processing Systems (Year 2018). [cited by applicant]
Saatci et al. “Bayesian gan” Advances in neural information processing systems 30 (Year 2017). [cited by applicant]
Averitt et al. “The Counterfactual X-Gan: Finding comparable cohorts in observational health data” Journal of Biomedical Informatics, vol. 109, Sep. 2020. [cited by applicant]
Nikita Jaipuria et al. “Deflating Dataset Bias Using Synthetic Data Augmentation” arXiv:2004.13866v1, Apr. 28, 2020, 17 pages. [cited by applicant]