IP Library Granted Patent US 11,886,399
Granted Patent B2
US 11,886,399 · App. 17/006,504 · Granted Jan 30, 2024

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 11,886,399
App. No.
17/006,504
Granted
Jan 30, 2024
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 (106)

1. A method for determining a data quality rule for values in a field of a data record in a set of data records based on a label associated with the field, the label indicating characteristics of the values of the field, the method being implemented by a data processing system and including:

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

accessing a data dictionary 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 field of a particular data record:

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

retrieving, from the data dictionary, an attribute value for the particular label, the attribute value specifying a particular requirement for the field; and

generating a data quality rule that, when executed, is configured to:

validate whether a value of the field satisfies the particular requirement represented by the attribute value, and

generate output data indicating whether the particular requirement is satisfied.

2. The method of claim 1 , wherein the data quality rule is indicative of one or more of:

an allowable deviation for the value in the field from the requirement,

one or more allowable values in the field, and

one or more prohibited values in the field.

3. The method of claim 2 , wherein the one or more allowable values or prohibited values in the field are associated with a field name of the field.

4. The method of claim 2 , wherein the field is a first field, and wherein the one or more allowable values or prohibited values in the field are determined based on a value in a second field in the particular data record, the second field being related to the first field of the particular data record.

5. The method of claim 4 , wherein the one or more allowable values or prohibited values are based on a combination of the value in the second field and the value in the first field.

6. The method of claim 2 , wherein the one or more allowable values correspond to values that satisfy a numerical function, and wherein the one or more prohibited values correspond to values that do not satisfy the numerical function.

7. The method of claim 1 , wherein the field is a first field, wherein the data record comprises a second field, wherein the data quality rule is a first data quality rule, and wherein the method comprises:

determining, based on the attribute value for the particular label, that a relationship exists between the first field and the second field; and

generating a second data quality rule for the second field based on the relationship between the second field and the first field.

8. The method of claim 7 , 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.

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

10. The method of claim 7 , further comprising obtaining validation data that validates the relationship for each value of the first field and the second field.

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

12. The method of claim 7 , wherein the second data quality rule is configured to enforce a constraint on a value of the second field based on a value of the first field.

13. The method of claim 7 , wherein determining that the relationship exists between the first field and the second field comprises determining that a value of the second field comprises a key value referenced by a value of the first field, and wherein the data quality rule is configured to require that each value of the second field is a valid key value.

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

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

16. The method of claim 1 , comprising:

determining that the attribute value associated with the particular label indicates that the field comprises primary key values for the particular data record; and

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

17. The method of claim 1 , the attribute value for the particular label represents at least one of an average for the values in the field, a maximum length for the values, a minimum length for the values, a data type for the values, and a format for the values.

18. The method of claim 1 , wherein the particular data record is a first data record, and wherein the method comprises applying the data quality rule to another field associated with the particular label in a second data record that is different than the first data record.

19. The method of claim 1 , wherein the method comprises storing data associating the data quality rule and the particular label.

20. The method of claim 1 , further comprising:

generating data for requesting approval of the data quality rule; and

approving the data quality rule in response to obtaining approval data indicative of approval of the data quality rule.

21. The method of claim 1 , wherein generating the data quality rule includes:

determining a historical trend for values in the field; and

generating a requirement based on the historical trend for the values in the field.

22. The method of claim 1 , wherein generating the data quality rule for the field includes:

identifying a historical average of a value in the field; and

generating a requirement based on the historical average of the value in the field.

23. A method for determining a data quality rule for values in one or more datasets, the method being implemented by a data processing system and comprising:

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;

associating, with the field, one or more of the identified attributes for which the confidence level satisfies a threshold level;

determining, based on the one or more attributes associated with the field, one or more constraints for values included in the field; and

based on the determined one or more constraints, determining a data quality rule for the field of the dataset, the data quality rule indicating a relationship between values of the field and the one or more constraints.

24. The method of claim 23 , wherein the data quality rule is indicative of one or more of:

an allowable deviation for the value in the field from the one or more constraints,

one or more allowable values in the field, and

one or more prohibited values in the field.

25. The method of claim 23 , wherein the field is a first field, wherein the data record includes a second field, wherein the data quality rule is a first data quality rule, and wherein the method includes:

determining, based on the one or more attributes associated with the field, that a relationship exists between the first field and the second field; and

generating a second data quality rule for the second field based on the relationship between the second field and the first field.

26. The method of claim 23 , comprising:

determining that the one or more attributes associated with the field indicates that the field includes primary key values for a particular data record; and

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

27. The method of claim 23 , the one or more attributes associated with the field represents at least one of an average for the values in the field, a maximum length for the values, a minimum length for the values, a data type for the values, and a format for the values.

28. The method of claim 23 , wherein the method includes applying the data quality rule to another field in another data record.

29. A data processing system for determining a data quality rule for values in a field of a data record in a set of data records based on a label associated with the field, the label indicating the characteristics of the values of the field, 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 a data record, wherein the label identifies a type of information expected in each field of the set of one or more fields;

accessing a data dictionary 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 field of a particular data record:

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

retrieving, from the data dictionary, an attribute value for the particular label, the attribute value specifying a particular requirement for the field; and

generating a data quality rule that, when executed, is configured to:

validate whether a value of the field satisfies the particular requirement represented by the attribute value, and

generate output data indicating whether the particular requirement is satisfied.

30. The data processing system of claim 29 , wherein the data quality rule is indicative of one or more of:

an allowable deviation for the value in the field from the requirement,

one or more allowable values in the field, and

one or more prohibited values in the field.

31. The data processing system of claim 29 , wherein the field is a first field, wherein the data record includes a second field, wherein the data quality rule is a first data quality rule, and wherein the operations include:

determining, based on the attribute value for the particular label, that a relationship exists behiveen the first field and the second field; and

generating a second data quality rule for the second field based on the relationship between the second field and the first field.

32. The data processing system of claim 29 , the operations including:

determining that the attribute value associated with the particular label indicates that the field includes primary key values for the particular data record; and

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

33. The data processing system of claim 29 , the attribute value for the particular label represents at least one of an average for the values in the field, a maximum length for the values, a minimum length for the values, a data type for the values, and a format for the values.

34. The data processing system of claim 29 , wherein the particular data record is a first data record, and wherein the operations include applying the data quality rule to another field associated with the particular label in a second data record that is different than the first data record.

35. One or more non-transitory computer readable media storing instructions for determining a data quality rule for values in a field of a data record in a set of data records based on a label associated with the field, the label indicating the characteristics of the values of the field, the one or more instructions that, 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 a data record, wherein the label identifies a type of information expected in each field of the set of one or more fields;

accessing a data dictionary 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 field of a particular data record:

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

retrieving, from the data dictionary, an attribute value for the particular label, the attribute value specifying a particular requirement for the field; and

generating a data quality rule that, when executed, is configured to:

validate whether a value of the field satisfies the particular requirement represented by the attribute value, and

generate output data indicating whether the particular requirement is satisfied.

36. The one or more non-transitory computer readable media of claim 35 , wherein the data quality rule is indicative of one or more of:

an allowable deviation forthe value in the field from the requirement,

one or more allowable values in the field, and

one or more prohibited values in the field.

37. The one or more non-transitory computer readable media of claim 35 , wherein the field is a first field, wherein the data record includes a second field, wherein the data quality rule is a first data quality rule, and wherein the operations include:

determining, based on the attribute value for the particular label, that a relationship exists between the first field and the second field; and

generating a second data quality rule for the second field based on the relationship between the second field and the first field.

38. The one or more non-transitory computer readable media of claim 35 , the operations including:

determining that the attribute value associated with the particular label indicates that the field includes primary key values for the particular data record; and

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

39. The one or more non-transitory computer readable media of claim 35 , the attribute value for the particular label represents at least one of an average for the values in the field, a maximum length for the values, a minimum length for the values, a data type for the values, and a format for the values.

40. The one or more non-transitory computer readable media of claim 35 , wherein the particular data record is a first data record, and wherein the operations include applying the data quality rule to another field associated with the particular label in a second data record that is different than the first data record.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2020
From: JOYCE, JOHN; ISMAN, MARSHALL A.; MELBOUCI, SANDRICK
To: AB INITIO SOFTWARE LLC
Reel/Frame 053798/0045 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2020
From: AB INITIO SOFTWARE LLC
To: AB INITIO ORIGINAL WORKS LLC
Reel/Frame 053798/0110 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2020
From: AB INITIO ORIGINAL WORKS LLC
To: AB INITIO TECHNOLOGY LLC
Reel/Frame 053798/0155 →
Continuity (2)
Provisional Application 62981646 · Feb 26, 2020
Related Publication 20210263900A1 · Aug 26, 2021
Cited By (7)
US 12,242,442 US 12,242,443 US 12,242,444 US 12,327,282 US 12,456,016 US 12,566,878 US 12,608,352