# US 10,769,307 B2 · Processing system using natural language processing for performing dataset filtering and sanitization

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

- Number: US 10,769,307 B2
- Document ID: US10769307B2
- Status: Granted
- Kind: B2
- Application number: 15/992,456
- Filed: 2018-05-30
- Published: 2019-12-05
- Granted: 2020-09-08
- Earliest claimed: 2018-05-30
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Manu Kurian; Shashikant Sadashiv Jadhav
- Web page: https://patentgrep.com/patent/US10769307B2

## CPC

- G06F 21/6254: {by anonymising data, e.g. decorrelating personal data from the owner's identification}
- G06F 40/216: using statistical methods
- G06F 40/284: Lexical analysis, e.g. tokenisation or collocates
- G06F 40/295: Named entity recognition
- G06N 20/00: Machine learning
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/102: {Entity profiles}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Aspects of the disclosure relate to processing systems using natural language processing with improved dataset filtering and sanitization techniques. A computing platform may receive a dataset file and commands directing the computing platform to sanitize the dataset file. In response to the commands, the computing platform may identify confidential information contained in the dataset file using named entity recognition and one or more dynamic entity profiles, extract the confidential information, and replace the confidential information with non-confidential information to produce a sanitized dataset file. Based on identifying the confidential information contained in the dataset file, the computing platform may update the dynamic entity profiles. The computing platform may send the sanitized dataset file to the target environment host server, causing the target environment host server to use the sanitized dataset file in a testing environment that is prohibited from containing confidential information.

## Claims

### Claim 1

A computing platform, comprising:
at least one processor;
a communication interface commutatively coupled to the at least one processor; and
memory storing computing-readable instructions that, when executed by the at least one processor, cause the computing platform to:
receive, from a filtering control device, a dataset file and one or more commands directing the computing platform to sanitize the dataset file;
in response to receiving the one or more commands directing the computing platform to sanitize the dataset file, identify confidential information contained in the dataset file using named entity recognition and one or more dynamic entity profiles;
sanitize the dataset file by extracting the confidential information from the dataset file and replacing the confidential information with non-confidential information to produce a sanitized dataset file;
based on identifying the confidential information contained in the dataset file, update the one or more dynamic entity profiles;
send, to a target environment host server, the sanitized dataset file, wherein sending the sanitized dataset file to the target environment host server causes the target environment host server to use the sanitized dataset file in a testing environment that is prohibited from containing confidential information; and
update one or more of the dynamic entity profiles, wherein updating the one or more of the dynamic entity profiles comprises:
identifying that the confidential information comprises an account number containing a first number of digits,
identifying that the one or more of the dynamic entity profiles indicates that the account number should contain a second number of digits, and
modifying, based on identification of the account number containing the first number of digits, the one or more of the dynamic entity profiles to indicate that the account number should contain the first number of digits instead of the second number of digits.

### Claim 2 (depends on 1)

The computing platform of claim 1, wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to generate the one or more dynamic entity profiles by:
determining, for each data value included in the dataset file, at least one of a character count and a proximity to another data value; and
determining, using at least one machine learning algorithm and at least one machine learning dataset, a dynamic entity profile corresponding to each of the data values included in the dataset file.

### Claim 3 (depends on 2)

The computing platform of claim 2, wherein determining the dynamic entity profile corresponding to each of the data values included in the dataset file comprises determining at least one of a customer name, an organization name, a location, an address, a currency, an amount, the account number, a phone number, a SWIFT code, or an email identification.

### Claim 4 (depends on 3)

The computing platform of claim 3, wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to identify the confidential information contained in the dataset file using named entity recognition and the one or more dynamic entity profiles by:
determining, using one or more additional machine learning algorithms and one or more additional machine learning datasets, that one or more of the data values included in the dataset file corresponds to a dynamic entity profile corresponding to confidential information.

### Claim 5 (depends on 4)

The computing platform of claim 4, wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to:
determine that characteristics corresponding to one or more of the dynamic entity profiles should be updated.

### Claim 6 (depends on 1)

The computing platform of claim 1, wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to:
determine that the one or more commands directing the computing platform to sanitize the dataset file are directing the computing platform to determine whether the dataset file contains a first type of confidential information and that a second computing platform will subsequently be directed to determine whether the dataset file contains a second type of confidential information.

### Claim 7 (depends on 6)

The computing platform of claim 6, wherein sanitizing the dataset file by extracting the confidential information from the dataset file comprises extracting the confidential information from the dataset file that corresponds to the first type of confidential information.

### Claim 8 (depends on 1)

The computing platform of claim 1, wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to:
determine that the dataset file, received from the filtering control device, should be sent to a second computing platform to extract the confidential information from the dataset file that corresponds to a second type of confidential information;
establish, with the second computing platform, a wireless data connection; and
send, via the wireless data connection and to the second computing platform, the dataset file.

### Claim 9 (depends on 1)

The computing platform of claim 1, wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to:
determine, after sending the sanitized dataset file to the target environment host server, that the sanitized dataset file should be restored to the dataset file, wherein restoring the dataset file comprises extracting the non-confidential information and replacing the non-confidential information with the confidential information; and
based on determining that the sanitized dataset file should be restored to the dataset file, restore the sanitized dataset file to the dataset file.

### Claim 10 (depends on 1)

The computing platform of claim 1, wherein receiving the dataset file comprises receiving a file containing confidential information corresponding to one or more users.

### Claim 11

A method comprising:
at a computing platform comprising at least one processor, a communication interface, and memory:
receiving, by the at least one processor, from a filtering control device, a dataset file and one or more commands directing the computing platform to sanitize the dataset file;
in response to receiving the one or more commands directing the computing platform to sanitize the dataset file, identifying, by the at least one processor, confidential information contained in the dataset file using named entity recognition and one or more dynamic entity profiles;
sanitizing, by the at least one processor, the dataset file by extracting the confidential information from the dataset file and replacing the confidential information with non-confidential information to produce a sanitized dataset file;
based on identifying the confidential information contained in the dataset file, updating, by the at least one processor, the one or more dynamic entity profiles;
sending, by the at least one processor, to a target environment host server, the sanitized dataset file, wherein sending the sanitized dataset file to the target environment host server causes the target environment host server to use the sanitized dataset file in a testing environment that is prohibited from containing confidential information; and
updating, by the at least one processor, one or more of the dynamic entity profiles, wherein updating the one or more of the dynamic entity profiles comprises:
identifying that the confidential information comprises an account number containing a first number of digits,
identifying that the one or more of the dynamic entity profiles indicates that the account number should contain a second number of digits, and
modifying, by the at least one processor, based on identification of the account number containing the first number of digits, the one or more of the dynamic entity profiles to indicate that the account number should contain the first number of digits instead of the second number of digits.

### Claim 12 (depends on 11)

The method of claim 11, further comprising generating, by the at least one processor, the one or more dynamic entity profiles by:
determining, for each data value included in the dataset file, at least one of a character count and a proximity to another data value; and
determining, using at least one machine learning algorithm and at least one machine learning dataset, a dynamic entity profile corresponding to each of the data values included in the dataset file.

### Claim 13 (depends on 12)

The method of claim 12, wherein determining the dynamic entity profile corresponding to each of the data values included in the dataset file comprises determining at least one of a customer name, an organization name, a location, an address, a currency, an amount, the account number, a phone number, a SWIFT code, or an email identification.

### Claim 14 (depends on 13)

The method of claim 13, further comprising identifying, by the at least one processor, the confidential information contained in the dataset file using named entity recognition and the one or more dynamic entity profiles by:
determining, using one or more additional machine learning algorithms and one or more additional machine learning datasets, that one or more of the data values included in the dataset file corresponds to dynamic entity profile corresponding to confidential information.

### Claim 15 (depends on 14)

The method of claim 14, further comprising determining, by the at least one processor, that characteristics corresponding to one or more dynamic entity profiles should be updated.

### Claim 16 (depends on 11)

The method of claim 11, further comprising determining, by the at least one processor, that the one or more commands directing the computing platform to sanitize the dataset file are directing the computing platform to determine whether the dataset file contains a first type of confidential information and that a second computing platform will subsequently be directed to determine whether the dataset file contains a second type of confidential information.

### Claim 17 (depends on 16)

The method of claim 16, wherein sanitizing the dataset file by extracting the confidential information from the dataset file comprises extracting the confidential information from the dataset file that corresponds to the first type of confidential information.

### Claim 18 (depends on 11)

The method of claim 11, further comprising:
determining, by the at least one processor, that the dataset file, received from the filtering control device, should be sent to a second computing platform to extract the confidential information from the dataset file that corresponds to a second type of confidential information;
establishing, by the at least one processor, with the second computing platform, a wireless data connection; and
sending, by the at least one processor, via the wireless data connection and to the second computing platform, the dataset file.

### Claim 19 (depends on 11)

The method of claim 11, further comprising:
determining, by the at least one processor, after sending the sanitized dataset file to the target environment host server, that the sanitized dataset file should be restored to the dataset file, wherein restoring the dataset file comprises extracting the non-confidential information and replacing the non-confidential information with the confidential information; and
based on determining that the sanitized dataset file should be restored to the dataset file, restoring, by the at least one processor, the sanitized dataset file to the dataset file.

### Claim 20

One or more non-transitory computer-readable media storing instructions that, when executed by a computing platform comprising at least one processor, a communication interface, and memory, cause the computing platform to:
receive, from a filtering control device, a dataset file and one or more commands directing the computing platform to sanitize the dataset file;
in response to receiving the one or more commands directing the computing platform to sanitize the dataset file, identify confidential information contained in the dataset file using named entity recognition and one or more dynamic entity profiles;
sanitize the dataset file by extracting the confidential information from the dataset file and replacing the confidential information with non-confidential information to produce a sanitized dataset file;
based on identifying the confidential information contained in the dataset file, update the one or more dynamic entity profiles;
send, to a target environment host server, the sanitized dataset file, wherein sending the sanitized dataset file to the target environment host server causes the target environment host server to use the sanitized dataset file in a testing environment that is prohibited from containing confidential information; and
update one or more of the dynamic entity profiles, wherein updating the one or more of the dynamic entity profiles comprises:
identifying that the confidential information comprises an account number containing a first number of digits,
identifying that the one or more of the dynamic entity profiles indicates that the account number should contain a second number of digits, and
modifying, based on identification of the account number containing the first number of digits, the one or more of the dynamic entity profiles to indicate that the account number should contain the first number of digits instead of the second number of digits.
