# US 2021/0279366 A1 · Anonymizing relational and textual data

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

- Number: US 2021/0279366 A1
- Document ID: US20210279366A1
- Status: Published application
- Kind: A1
- Application number: 16/809,661
- Filed: 2020-03-05
- Published: 2021-09-09
- Earliest claimed: 2020-03-05
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Olivia Choudhury; ARIS GKOULALAS-DIVANIS
- Web page: https://patentgrep.com/patent/US20210279366A1

## CPC

- G06F 21/6254: {by anonymising data, e.g. decorrelating personal data from the owner's identification}
- G06F 16/24573: {using data annotations, e.g. user-defined metadata}
- G06F 16/288: {Entity relationship models}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In an approach for anonymizing data, a processor receives a mixed-type dataset with at least two relational attributes and at least one textual attribute. A processor runs the mixed-type dataset through a text annotator to discover a set of personally identifiable information (PII). A processor creates a set of ghost attributes to add to the mixed-type dataset. A processor anonymizes data of the at least two relational attributes and the set of ghost attributes. A processor replaces each PII in the textual attribute with the corresponding anonymized data in the at least two relational attributes or the set of ghost attributes to create an anonymized mixed-type dataset. A processor removes the set of ghost attributes from the anonymized mixed-type dataset. A processor shuffles records of the anonymized mixed-type dataset to create a shuffled anonymized mixed-type dataset. A processor outputs the shuffled anonymized mixed-type dataset.

## Claims

### Claim 1

A computer-implemented method for anonymizing data, the computer-implemented method comprising:
receiving, by one or more processors, a mixed-type dataset with at least two relational attributes and at least one textual attribute;
running, by one or more processors, the mixed-type dataset through a text annotator to discover a set of personally identifiable information (PII);
creating, by one or more processors, a set of ghost attributes to add to the mixed-type dataset, wherein each ghost attribute of the set of ghost attributes corresponds to a PII of the set of PII discovered by the text annotator;
anonymizing, by one or more processors, data of the at least two relational attributes and the set of ghost attributes;
replacing, by one or more processors, each PII of the set of PII in the textual attribute with the corresponding anonymized data in the at least two relational attributes or the set of ghost attributes to create an anonymized mixed-type dataset;
removing, by one or more processors, the set of ghost attributes from the anonymized mixed-type dataset;
shuffling, by one or more processors, records of the anonymized mixed-type dataset based on equivalence classes to create a shuffled anonymized mixed-type dataset; and
outputting, by one or more processors, the shuffled anonymized mixed-type dataset.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining, by one or more processors, that a relational attribute of the at least two relational attributes and a ghost attribute of the set of ghost attributes identify equivalent PII or PII of two different levels of granularity.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, further comprising:
responsive to determining that the relational attribute of the at least two relational attributes and the ghost attribute of the set of ghost attributes identify equivalent PII, maintaining, by one or more processors, one of the respective two attributes and corresponding attribute data; and
removing, by one or more processors, a second attribute of the respective two attributes and corresponding attribute data.

### Claim 4 (depends on 2)

The computer-implemented method of claim 2, further comprising:
responsive to determining that the relational attribute of the at least two relational attributes and the ghost attribute of the set of ghost attributes identify PII of two different levels of granularity, maintaining, by one or more processors, a first attribute and corresponding attribute data that has a higher level of granularity; and
removing, by one or more processors, a second attribute and corresponding attribute data that has a lower level of granularity.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein anonymizing the at least two relational attributes and the set of ghost attributes to create anonymized data for the at least two relational attributes and the set of ghost attributes comprises:
using, by one or more processors, K-anonymity algorithm to create the anonymized data for the at least two relational attributes and the set of ghost attributes.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein anonymizing the at least two relational attributes and the set of ghost attributes to create anonymized data for the at least two relational attributes and the set of ghost attributes comprises:
anonymizing, by one or more processors, data for each quasi-identifier attribute using a binary search tree to select a closest or lowest common ancestor for each piece of data of a set of data for a respective quasi-identifier attribute based on the set of data for the respective quasi-identifier attribute.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein anonymizing the at least two relational attributes and the set of ghost attributes to create anonymized data for the at least two relational attributes and the set of ghost attributes comprises:
anonymizing, by one or more processors, data for each direct identifier attribute by replacing each piece of data of a set of data for a respective direct identifier attribute with a generalized name of the respective direct identifier attribute.

### Claim 8

A computer program product for anonymizing data, the computer program product comprising:
one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:
program instructions to receive a mixed-type dataset with at least two relational attributes and at least one textual attribute;
program instructions to running, by one or more processors, the mixed-type dataset through a text annotator to discover a set of personally identifiable information (PII);
program instructions to create a set of ghost attributes to add to the mixed-type dataset, wherein each ghost attribute of the set of ghost attributes corresponds to a PII of the set of PII discovered by the text annotator;
program instructions to anonymize data of the at least two relational attributes and the set of ghost attributes;
program instructions to replace each PII of the set of PII in the textual attribute with the corresponding anonymized data in the at least two relational attributes or the set of ghost attributes to create an anonymized mixed-type dataset;
program instructions to remove the set of ghost attributes from the anonymized mixed-type dataset;
program instructions to shuffle records of the anonymized mixed-type dataset based on equivalence classes to create a shuffled anonymized mixed-type dataset; and
program instructions to output the shuffled anonymized mixed-type dataset.

### Claim 9 (depends on 8)

The computer program product of claim 8, further comprising:
program instructions to determine that a relational attribute of the at least two relational attributes and a ghost attribute of the set of ghost attributes identify equivalent PII or PII of two different levels of granularity.

### Claim 10 (depends on 9)

The computer program product of claim 9, further comprising:
responsive to determining that the relational attribute of the at least two relational attributes and the ghost attribute of the set of ghost attributes identify equivalent PII, program instructions to maintain a first attribute of the respective two attributes and corresponding attribute data; and
program instructions to remove a second attribute of the respective two attributes and corresponding attribute data.

### Claim 11 (depends on 9)

The computer program product of claim 9, further comprising:
responsive to determining that the relational attribute of the at least two relational attributes and a ghost attribute of the set of ghost attributes identify PII of two different levels of granularity, program instructions to maintain a first attribute and corresponding attribute data that has a higher level of granularity; and
program instructions to remove a second attribute and corresponding attribute data that has a lower level of granularity.

### Claim 12 (depends on 8)

The computer program product of claim 8, wherein the program instructions to anonymize the at least two relational attributes and the set of ghost attributes to create anonymized data for the at least two relational attributes and the set of ghost attributes comprise:
program instructions to use K-anonymity algorithm to create the anonymized data for the at least two relational attributes and the set of ghost attributes.

### Claim 13 (depends on 8)

The computer program product of claim 8, wherein the program instructions to anonymize the at least two relational attributes and the set of ghost attributes to create anonymized data for the at least two relational attributes and the set of ghost attributes comprises:
program instructions to anonymize data for each quasi-identifier attribute using a binary search tree to select a closest or lowest common ancestor for each piece of data of a set of data for a respective quasi-identifier attribute based on the set of data for the respective quasi-identifier attribute.

### Claim 14 (depends on 8)

The computer program product of claim 8, wherein the program instructions to anonymize the at least two relational attributes and the set of ghost attributes to create anonymized data for the at least two relational attributes and the set of ghost attributes comprises:
program instructions to anonymize data for each direct identifier attribute by replacing each piece of data of a set of data for a respective direct identifier attribute with a generalized name of the respective direct identifier attribute.

### Claim 15

A computer system for anonymizing data, the computer system comprising:
one or more computer processors;
one or more computer readable storage media;
program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:
program instructions to receive a mixed-type dataset with at least two relational attributes and at least one textual attribute;
program instructions to running, by one or more processors, the mixed-type dataset through a text annotator to discover a set of personally identifiable information (PII);
program instructions to create a set of ghost attributes to add to the mixed-type dataset, wherein each ghost attribute of the set of ghost attributes corresponds to a PII of the set of PII discovered by the text annotator;
program instructions to anonymize data of the at least two relational attributes and the set of ghost attributes;
program instructions to replace each PII of the set of PII in the textual attribute with the corresponding anonymized data in the at least two relational attributes or the set of ghost attributes to create an anonymized mixed-type dataset;
program instructions to remove the set of ghost attributes from the anonymized mixed-type dataset;
program instructions to shuffle records of the anonymized mixed-type dataset based on equivalence classes to create a shuffled anonymized mixed-type dataset; and
program instructions to output the shuffled anonymized mixed-type dataset.

### Claim 16 (depends on 15)

The computer system of claim 15, further comprising:
program instructions to determine that a relational attribute of the at least two relational attributes and a ghost attribute of the set of ghost attributes identify equivalent PII or PII of two different levels of granularity.

### Claim 17 (depends on 16)

The computer system of claim 16, further comprising:
responsive to determining that the relational attribute of the at least two relational attributes and the ghost attribute of the set of ghost attributes identify equivalent PII, program instructions to maintain a first attribute of the respective two attributes and corresponding attribute data; and
program instructions to remove a second attribute of the respective two attributes and corresponding attribute data.

### Claim 18 (depends on 16)

The computer system of claim 16, further comprising:
responsive to determining that the relational attribute of the at least two relational attributes and a ghost attribute of the set of ghost attributes identify PII of two different levels of granularity, program instructions to maintain a first attribute and corresponding attribute data that has a higher level of granularity; and
program instructions to remove a second attribute and corresponding attribute data that has a lower level of granularity.

### Claim 19 (depends on 15)

The computer system of claim 15, wherein the program instructions to anonymize the at least two relational attributes and the set of ghost attributes to create anonymized data for the at least two relational attributes and the set of ghost attributes comprise:
program instructions to use K-anonymity algorithm to create the anonymized data for the at least two relational attributes and the set of ghost attributes.

### Claim 20 (depends on 15)

The computer system of claim 15, wherein the program instructions to anonymize the at least two relational attributes and the set of ghost attributes to create anonymized data for the at least two relational attributes and the set of ghost attributes comprises:
program instructions to anonymize data for each quasi-identifier attribute using a binary search tree to select a closest or lowest common ancestor for each piece of data of a set of data for a respective quasi-identifier attribute based on the set of data for the respective quasi-identifier attribute.
