IP Library Granted Patent US 12,242,444
Granted Patent B2
US 12,242,444 · App. 18/545,416 · Granted Mar 4, 2025

Generating rules for data processing values of data fields from semantic labels of the data fields

Inventors: John Joyce (Newton, MA); Marshall A. Isman (Newton, MA); Sandrick Melbouci (Myersville, MD)
Assignee: Ab Initio Technology LLC
G06F16/215G06F16/2228G06F16/285G06N5/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 12,242,444
App. No.
18/545,416
Granted
Mar 4, 2025
Kind
B2
Abstract

Methods and systems are configured to determine a semantic meaning for data and generate data processing rules based on the semantic meaning of the data. The semantic meaning includes syntactical or contextual meaning for the data that is determined, for example, by profiling, by the data processing system, values stored in a field included in data records of one or more datasets; applying, by the data processing system, one or more classifiers to the profiled values; identifying, based on applying the one or more classifiers, one or more attributes indicative of a logical or syntactical characteristic for the values of the field, with each of the one or more attributes having a respective confidence level that is based on an output of each of the one or more classifiers. The attributes are associated with the fields and are used for generating data processing rules and processing the data.

Claims (56)

1. A method for determining a schema of a data record, the method including:

retrieving a label index that associates a label with a set of one or more fields in the data record, wherein the label identifies a type of information expected in a field of the set of the one or more fields;

accessing an index that associates the type of information indicated by the label with a set of attribute values representing requirements for values of the one or more fields associated with the label, the requirements including logical or syntactical characteristics of the values for the one or more fields; and

for a first field of a particular data record:

identifying, by accessing the label index, a particular label associated with the first field of the particular data record;

retrieving, from the index, an attribute value for the particular label, the attribute value specifying a particular requirement for the first field;

determining that the particular requirement specified by the attribute value includes a schema feature for values included in the first field;

determining, based on the schema feature, a relationship between the first field and a second field in the data record; and

generating an output that indicates the relationship between the first field and the second field in the data record.

2. The method of claim 1 , further including:

determining, based on the schema feature, that the first field having the label includes key values being referenced by values of a second field; and

in response to the determining, updating schema data describing the particular data record to reference that the first field includes the key values being referenced by the values of the second field.

3. The method of claim 1 , further including:

determining, based on the schema feature, that the first field is a key field.

4. The method of claim 1 , wherein the relationship is indicative of a dependency of a value of the second field on a value of the first field or the value of the first field on the value of the second field.

5. The method of claim 1 , wherein the relationship is indicative of a correlation between a value of the first field and a value of the second field.

6. The method of claim 1 , further including obtaining validation data that validates the relationship for each value of the first field and the second field.

7. The method of claim 1 , wherein the relationship is validated for a threshold number of values for the first field and the second field.

8. The method of claim 1 , wherein the schema feature is configured to specify a constraint on a value of the second field based on a value of the first field.

9. The method of claim 1 , wherein the first field and the second field each includes numeric values, and wherein determining that the relationship exists between the first field and the second field includes determining a numerical function that relates values of the first field to values of the second field.

10. The method of claim 1 , wherein determining that the relationship exists between the first field and the second field includes using at least one classifier configured by a machine learning process.

11. The method of claim 1 , further including:

determining that the schema feature indicates that the first field includes primary key values for the particular data record; and

configuring a data quality rule to require that the primary key values are each unique in the first field.

12. The method of claim 1 , wherein the method includes storing data associating the schema feature and the particular label.

13. A data processing system for determining a schema of a data record, the data processing system including:

at least one processing device; and

at least one memory in communication with the at least one processing device, the at least one memory storing instructions that, when executed by the at least one processing device, cause the at least one processing device to perform operations including:

retrieving a label index that associates a label with a set of one or more fields in the data record, wherein the label identifies a type of information expected in a field of the set of the one or more fields;

accessing an index that associates the type of information indicated by the label with a set of attribute values representing requirements for values of the one or more fields associated with the label, the requirements including logical or syntactical characteristics of the values for the one or more fields; and

for a first field of a particular data record:

identifying, by accessing the label index, a particular label associated with the first field of the particular data record;

retrieving, from the index, an attribute value for the particular label, the attribute value specifying a particular requirement for the first field;

determining that the particular requirement specified by the attribute value includes a schema feature for values included in the first field;

determining, based on the schema feature, a relationship between the first field and a second field in the data record; and

generating an output that indicates the relationship between the first field and the second field in the data record.

14. The data processing system of claim 13 , the operations further including:

determining, based on the schema feature, that the first field having the label includes key values being referenced by values of a second field; and

in response to the determining, updating schema data describing the particular data record to reference that the first field includes the key values being referenced by the values of the second field.

15. The data processing system of claim 13 , the operations further including:

determining, based on the schema feature, that the first field is a key field.

16. The data processing system of claim 13 , wherein the relationship is indicative of a dependency of a value of the second field on a value of the first field or the value of the first field on the value of the second field.

17. The data processing system of claim 13 , wherein the relationship is indicative of a correlation between a value of the first field and a value of the second field.

18. The data processing system of claim 13 , further including obtaining validation data that validates the relationship for each value of the first field and the second field.

19. One or more non-transitory computer readable media storing instructions for determining a schema of a data record, wherein the instructions, when executed by at least one processing device, are configured to cause the at least one processing device to perform operations including:

retrieving a label index that associates a label with a set of one or more fields in the data record, wherein the label identifies a type of information expected in a field of the set of the one or more fields;

accessing an index that associates the type of information indicated by the label with a set of attribute values representing requirements for values of the one or more fields associated with the label, the requirements including logical or syntactical characteristics of the values for the one or more fields; and

for a first field of a particular data record:

identifying, by accessing the label index, a particular label associated with the first field of the particular data record;

retrieving, from the index, an attribute value for the particular label, the attribute value specifying a particular requirement for the first field;

determining that the particular requirement specified by the attribute value includes a schema feature for values included in the first field;

determining, based on the schema feature, a relationship between the first field and a second field in the data record; and

generating an output that indicates the relationship between the first field and the second field in the data record.

20. The one or more non-transitory computer readable media of claim 19 , the operations further including:

determining, based on the schema feature, that the first field having the label includes key values being referenced by values of a second field; and

in response to the determining, updating schema data describing the particular data record to reference that the first field includes the key values being referenced by the values of the second field.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2024
From: JOYCE, JOHN; ISMAN, MARSHALL A.; MELBOUCI, SANDRICK
To: AB INITIO SOFTWARE LLC
Reel/Frame 066264/0801 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2024
From: AB INITIO SOFTWARE LLC
To: AB INITIO ORIGINAL WORKS LLC
Reel/Frame 066264/0837 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2024
From: AB INITIO ORIGINAL WORKS LLC
To: AB INITIO TECHNOLOGY LLC
Reel/Frame 066264/0882 →
Continuity (3)
Continuation 17006504 · Aug 28, 2020
Provisional Application 62981646 · Feb 26, 2020
Related Publication 20240152495A1 · May 9, 2024
References Cited (95)
US 7587636B2 · Tillman et al. · 2009 [cited by applicant]
US 7756873B2 · Gould et al. · 2010 [cited by applicant]
US 7849075B2 · Gould et al. · 2010 [cited by applicant]
US 8082243B2 · Gorelik et al. · 2011 [cited by applicant]
US 8379939B1 · Bourdev et al. · 2013 [cited by applicant]
US 8583747B2 · Buchheit · 2013 [cited by examiner]
US 8732213B2 · Sowell et al. · 2014 [cited by applicant]
US 8868580B2 · Gould et al. · 2014 [cited by applicant]
US 9792351B2 · Hernandez-Sherrington et al. · 2017 [cited by applicant]
US 10198460B2 · Gorelik · 2019 [cited by applicant]
US 10409802B2 · Spitz et al. · 2019 [cited by applicant]
US 10459954B1 · Walters et al. · 2019 [cited by applicant]
US 10489360B2 · Procops et al. · 2019 [cited by applicant]
US 10552443B1 · Wu · 2020 [cited by examiner]
US 10565177B2 · Gausman · 2020 [cited by examiner]
US 11704494B2 · Butler et al. · 2023 [cited by applicant]
US 11886399B2 · Joyce et al. · 2024 [cited by applicant]
US 20070027674A1 · Parson et al. · 2007 [cited by applicant]
US 20080027860A1 · Mullen et al. · 2008 [cited by applicant]
US 20080201172A1 · McNamar · 2008 [cited by applicant]
US 20090123419A1 · Sherman et al. · 2009 [cited by applicant]
US 20090276446A1 · Graf et al. · 2009 [cited by applicant]
US 20110196670A1 · Dang et al. · 2011 [cited by applicant]
US 20120030160A1 · Ratnam et al. · 2012 [cited by applicant]
US 20120109982A1 · Jayakody et al. · 2012 [cited by applicant]
US 20120254333A1 · Chandramouli et al. · 2012 [cited by applicant]
US 20130006914A1 · Ray et al. · 2013 [cited by applicant]
US 20130073594A1 · Jugulum et al. · 2013 [cited by applicant]
US 20140108357A1 · Procops et al. · 2014 [cited by applicant]
US 20140108460A1 · Casella dos Santos et al. · 2014 [cited by applicant]
US 20140280062A1 · Augustin et al. · 2014 [cited by applicant]
US 20150095296A1 · Nandwani · 2015 [cited by examiner]
US 20150254230A1 · Papadopoullos et al. · 2015 [cited by applicant]
US 20160042225A1 · Barak · 2016 [cited by applicant]
US 20160055427A1 · Adjaoute · 2016 [cited by applicant]
US 20160283527A1 · Vandiver et al. · 2016 [cited by applicant]
US 20160364325A1 · Ouzzani et al. · 2016 [cited by applicant]
US 20170060894A1 · Gorelik · 2017 [cited by applicant]
US 20170068891A1 · Shironoshita · 2017 [cited by applicant]
US 20170139975A1 · Chow et al. · 2017 [cited by applicant]
US 20170193838A1 · Buchenau et al. · 2017 [cited by applicant]
US 20170235848A1 · Van Dusen et al. · 2017 [cited by applicant]
US 20180060404A1 · Sun et al. · 2018 [cited by applicant]
US 20180107694A1 · Dupey et al. · 2018 [cited by applicant]
US 20180240019A1 · Sato et al. · 2018 [cited by applicant]
US 20190215331A1 · Anakata et al. · 2019 [cited by applicant]
US 20190220508A1 · Hu · 2019 [cited by applicant]
US 20200012626A1 · Walters et al. · 2020 [cited by applicant]
US 20200012666A1 · Walters et al. · 2020 [cited by applicant]
US 20200110736A1 · Bauman · 2020 [cited by examiner]
US 20200301950A1 · Lorrain-Hale et al. · 2020 [cited by applicant]
US 20200380212A1 · Butler · 2020 [cited by examiner]
US 20210192394A1 · McKay · 2021 [cited by examiner]
US 20210263900A1 · Joyce et al. · 2021 [cited by applicant]
US 20220245175A1 · Hawco et al. · 2022 [cited by applicant]
US 20230409835A1 · Butler et al. · 2023 [cited by applicant]
US 20240095219A1 · Joyce et al. · 2024 [cited by applicant]
US 20240126734A1 · Joyce et al. · 2024 [cited by applicant]
US 20240126735A1 · Joyce et al. · 2024 [cited by applicant]
CN 101802776 · 2010 [cited by applicant]
CN 106528874 · 2017 [cited by applicant]
CN 106687952 · 2017 [cited by applicant]
CN 106897424 · 2017 [cited by applicant]
CN 109635288 · 2019 [cited by applicant]
EP 3745276 · 2020 [cited by applicant]
JP 2015533436 · 2015 [cited by applicant]
JP 2018151805 · 2018 [cited by applicant]
WO WO2015084408 · 2015 [cited by applicant]
WO WO2018025706 · 2018 [cited by applicant]
[No Author Listed], “Informatica Advanced Masking Solution,” Informatica, 2018, 3 pages. [cited by applicant]
Haldeman, “Compare IBM data masking solutions: InfoSphere Optim and DataStage,” IBM Corporation, Nov. 15, 2012, 10 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2021/019572, mailed on Sep. 9, 2022, 10 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2021/019572, dated Jul. 22, 2021, 17 pages. [cited by applicant]
Invitation to Pay Additional Fees and, Where Applicable, Protest Fee in International Appln. No. PCT/US2021/019572, dated Jun. 11, 2021, 12 pages. [cited by applicant]
Office Action in Japanese Appln. No. 2022-550704, mailed on May 23, 2024, 7 pages (with Machine translation). [cited by applicant]
[No Author Listed] [online], “Get started with data profiling through automatic semantic discovery, Part II—Talend 6 Features,” Talend, Nov. 10, 2015, Internet Archive: Wayback Machine URL<https://web.archive.org/web/20… [cited by applicant]
Anonymous, “Using AI and Machine Learning to Power Data Fingerprinting,” Waterline Data, 2017, 6 pages. [cited by applicant]
Chen et al., “Generating Schema Labels through Dataset Content Analysis,” Proceedings of the Web Conference 2018, Apr. 23-27, 2018, Lyon, France, 1515-1522. [cited by applicant]
EP Extended Search Report in European Appln. No. 20177617.6, dated Sep. 7, 2020, 10 pages. [cited by applicant]
IBM.com [Online], “Semantic Concept Discovery Over Event Databases,” retrieved Dec. 10, 2019, retrieved from URL<https://www.ibm.com/blogs/research/2018/07/semantic-concept-discovery/>, 4 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2020/035226, dated Dec. 9, 2021, 9 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2020/035226, dated Aug. 19, 2020, 11 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2023/074617, mailed on Jan. 3, 2024, 11 pages. [cited by applicant]
Naumann, “Data Profiling Revisited,” ACM SIGMOD Record, Feb. 2014, 42(4):40-49. [cited by applicant]
Office Action in Canadian Appln. No. 3,142,252, mailed on Jan. 30, 2024, 8 pages. [cited by applicant]
Office Action in Chinese Appln. No. 202080039989.0, mailed on Jul. 15, 2024, 11 pages (with English Translation). [cited by applicant]
Office Action in European Appln. No. 20177617.6, dated Aug. 5, 2022, 10 pages. [cited by applicant]
Office Action in European Appln. No. 20177617.6, mailed on Oct. 31, 2023, 10 pages. [cited by applicant]
Office Action in Japanese Appln. No. 2021-571432, dated Jul. 8, 2024, 9 pages (with English Translation). [cited by applicant]
Office Action in Singapore Appln. No. 11202112388X, dated Aug. 15, 2024, 9 pages. [cited by applicant]
Pham et al., “Semantic Labeling: A Domain-Independent Approach,” Proceedings of the 15th International Semantic Web Conference, Oct. 17-21, 2016, Kobe, Japan, 446-462. [cited by applicant]
Talend [Online] “Get started with data profiling through automatic semantic discovery, Part II - Talend 6 Features,” published on Nov. 10, 2015, retrieved Dec. 10, 2019, URL<https://www.youtube.com/watch?v=EltwXhaPASM&f… [cited by applicant]
talend.com [Online] “Semantic Discovery,” retrieved Dec. 10, 2019, retrieved from URL<https://help.talend.com/reader/nAXiZWoj0H˜2˜YApZIsRFw/uLT6CFkPAjCbZ30Tf9juFw> 8 pages. [cited by applicant]
techopedia.com [Online] “Semantic Data Model—General process of adding meaning to data and the relationships that lie between them,” retrieved on Dec. 10, 2019m retrieved from URL<https://www.techopedia.com/definition/3… [cited by applicant]
Wikipedia.org [online], “Rule-based system,” May 16, 2019, retrieved on Aug. 10, 2020, retrieved from URL<https://en.wikipedia.org/w/index/php?title=Rule-based system&oldid=897374778>, 2 pages. [cited by applicant]
Cited By (2)
US 12,456,016 US 12,518,052