# US 12,602,358 B2 · Database and data structure management systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,602,358 B2
- Document ID: US12602358B2
- Status: Granted
- Kind: B2
- Application number: 18/401,794
- Filed: 2024-01-02
- Published: 2025-07-03
- Granted: 2026-04-14
- Earliest claimed: 2023-12-29
- Assignees: Truist Bank
- Applicants: Truist Bank
- Inventors: Tufail Ahmed Khan; Pranjal Goswami; Di Hu; Changyong Wei
- Web page: https://patentgrep.com/patent/US12602358B2

## CPC

- G06F 16/215: Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/285: {Clustering or classification}
- G06F 40/30: Semantic analysis
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods access, from one or more data storage locations, a dataset; perform data analysis on the dataset to detect one or more data quality characteristics each corresponding to at least one data quality dimension including timeliness, uniqueness, accuracy, completeness, validity, or consistency; evaluate the one or more data quality characteristics present in the dataset to identify one or more common patterns; and generate one or more data quality rule recommendations based on the identified one or more common patterns.

## Claims

### Claim 1

A computing system for providing a database and data structure management, comprising:
at least one processor;
a communication interface communicatively coupled to the at least one processor; and
a memory device storing executable code that, when executed, causes the at least one processor to:
generate an interactive portal to manage a data quality rules engine;
access a plurality of data quality rules that are generated based on identified common patterns in a dataset, the plurality of data quality rules corresponding to a plurality of detected data quality characteristics, each data quality characteristic corresponding to at least one data quality dimension of a plurality of data quality dimensions comprising timeliness, accuracy, uniqueness, completeness, validity, and consistency;
compute a respective rule confidence score for each of the plurality of data quality rules;
determine the rule confidence score for a first data quality rule of the plurality of data quality rules exceeds a predetermined threshold;
request, based on the determination that the rule confidence score for the first data quality rule exceeds the predetermined threshold, input via the interactive portal regarding whether the first data quality rule should be implemented;
in response to receiving input via the interactive portal that the first data quality rule should be implemented, initiating implementation of the first data quality rule by establishing a new data filter, the implementing comprising:
receiving new data for potential inclusion into the dataset;
applying the first data quality rule to the new data to determine whether the new data correlates to the dataset, by:
determining, by a regular expression model based on a plurality of regular expressions, a semantic type of a name of each column in the new data; and
determining, by a machine learning model, a semantic type of data in each field of the new data;
in response to a determination, based at least in part on the semantic types of the names of each column in the new data and the semantic types of data in each field in the new data, that a first portion of the new data correlates to the dataset, store the first portion of the new data within the dataset; and
in response to a determination, based at least in part on the semantic types of the names of each column in the new data and the semantic types of data in each field in the new data, that a second portion of the new data does not correlate to the dataset, apply the first data quality rule to filter the second portion of the new data and refrain from storing the second portion of the new data within the dataset.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the executable code, when executed, further causes the at least one processor to:
compare the rule confidence score for the first data quality rule to the predetermined threshold.

### Claim 3 (depends on 2)

The computing system of claim 2, wherein the executable code, when executed, further causes the at least one processor to:
determine a second rule confidence score associated with the dataset for a second rule corresponding to the one or more data quality rule recommendations;
compare the second rule confidence score to the predetermined threshold;
in response to determining that the second rule confidence score does not exceed the predetermined threshold, discarding or avoiding implementation of the second rule in association with the dataset.

### Claim 4 (depends on 1)

The computing system of claim 1, wherein the executable code, when executed, further causes the at least one processor to:
for each column and field in the dataset, determine whether it allows null values or not; and
initiate implementation of the first data quality rule based on the determination whether each column and field in the dataset allows null values or not.

### Claim 5 (depends on 1)

The computing system of claim 1, wherein the executable code, when executed, further causes the at least one processor to:
for each column in the dataset, determine calculate a percentage of data allowed to be null; and
initiate implementation of the first data quality rule associated with each column and based on the percentage of data allowed to be null in each column.

### Claim 6 (depends on 1)

The computing system of claim 1, wherein the executable code, when executed, further causes the at least one processor to:
identify a type of the dataset; and
for the identified type of the dataset, determine one or more of the plurality of data quality characteristics corresponding to the identified type.

### Claim 7 (depends on 6)

The computing system of claim 6, wherein the plurality of data quality characteristics comprise email address, regular address, contact number, and numerical field patterns.

### Claim 8 (depends on 1)

The computing system of claim 1, wherein the executable code, when executed, further causes the at least one processor to:
detect any columns in the dataset for which data types do not match expected types; and
for any such detected columns, generate a new data quality rule recommendation of the plurality of data quality rule recommendations.

### Claim 9 (depends on 1)

The computing system of claim 1, wherein the executable code, when executed, further causes the at least one processor to:
detect any columns in the dataset within which duplicate values exist;
determine whether duplicate values are allowed in the detected columns; and
based on the determination, generate a new data quality rule recommendation of the plurality of data quality rule recommendations.

### Claim 10 (depends on 1)

The computing system of claim 1, wherein the executable code, when executed, further causes the at least one processor to:
define relationships between columns within the dataset;
validate the relationships for consistency; and
based on the defined relationships and their validity, generate a new data quality rule recommendation of the plurality of data quality rule recommendations.

### Claim 11 (depends on 1)

The computing system of claim 1, wherein the executable code, when executed, further causes the at least one processor to:
identify invalid data values using one or more statistical rules.

### Claim 12 (depends on 1)

The computing system of claim 1, wherein the statistical rules comprise mean and standard deviation.

### Claim 13

A method comprising:
accessing a plurality of data quality rules that are generated based on identified common patterns in a dataset, the plurality of data quality rules corresponding to a plurality of detected data quality characteristics, each data quality characteristic corresponding to at least one data quality dimension of a plurality of data quality dimensions comprising timeliness, accuracy, uniqueness, completeness, validity, and consistency;
compute a respective rule confidence score for each of the plurality of data quality rules;
determine the rule confidence score for a first data quality rule of the plurality of data quality rules exceeds a predetermined threshold;
determining, based on the determination that the rule confidence score for the first data quality rule exceeds the threshold, that the first data quality rule should be implemented;
initiating implementation of the first data quality rule by establishing a new data filter, the implementing comprising:
receiving new data for potential inclusion into the dataset;
applying the first data quality rule to the new data to determine whether the new data correlates to the dataset, by:
determining, by a regular expression model based on a plurality of regular expressions, a semantic type of a name of each column in the new data; and
determining, by a machine learning model, a semantic type of data in each field of the new data;
in response to a determination, based at least in part on the semantic types of the names of each column in the new data and the semantic types of data in each field in the new data, that a first portion of the new data correlates to the dataset, store the first portion of the new data within the correlated dataset; and
in response to a determination, based at least in part on the semantic types of the names of each column in the new data and the semantic types of data in each field in the new data, that a second portion of the new data does not correlate to the datasets, apply the first data quality rule to filter the second portion of the new data and reject the second portion of the new data and avoid associating the second portion of the new data with the dataset.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
comparing the rule confidence score for the first data quality rule to the predetermined threshold.

### Claim 15 (depends on 13)

The method of claim 13, further comprising:
for each column and field in the dataset, determine whether it allows null values or not; and
initiate implementation of a first rule based on the determination whether each column and field in the dataset allows null values or not.

### Claim 16 (depends on 13)

The method of claim 13, wherein the regular expression model classifies, based on the plurality of regular expressions, the name of each column into one of a plurality of semantic types of names including the semantic type of the name, wherein the machine learning model classifies each field of the new data into one of a plurality of semantic types of data including the semantic type of the data.

### Claim 17 (depends on 16)

The method of claim 16, wherein the first portion of the new data is correlated to the dataset based on: (i) the regular expression model classifying the name of the first portion of the new data as a first semantic type of name of the plurality of semantic types of names, and (ii) the machine learning model classifying the first portion of the new data into a first semantic type of data of the plurality of semantic types of data.

### Claim 18 (depends on 17)

The method of claim 17, wherein the second portion of the new data is filtered based on: (i) the regular expression model not classifying the name of the second portion of the new data as any of the plurality of semantic types of names, and (ii) the machine learning model not classifying the second portion of the new data into any of the plurality of semantic types of data, wherein the plurality of semantic types of names are associated with the dataset, wherein the plurality of semantic types of data are associated with the dataset.

### Claim 19 (depends on 18)

The method of claim 18, wherein the regular expression model classifies a third portion of the new data as a second semantic type of name of the plurality of semantic types of names, wherein the machine learning model classifies the third portion of the new data as a second semantic type of data of the plurality of semantic types of data, the method further comprising:
computing, for the third portion of the new data based on the second semantic type of name and the second semantic type of data, a semantic type score reflecting whether the second semantic type of name and the second semantic type of data are correct.

### Claim 20 (depends on 19)

The method of claim 19, wherein the semantic type score is based on a first weight applied to the second semantic type of name and a second weight applied to the second semantic type of data, wherein the first weight and the second weight are different, the method further comprising:
generating, based on the semantic type score, a confidence label; and
associating the confidence label with the third portion of the new data.
