Machine learning and rule-based identification, anonymization, and de-anonymization of sensitive structured and unstructured data

In some examples, machine learning and rule-based identification, anonymization, and de-anonymization of sensitive structured and unstructured data may include receiving input data that is to be masked, and determining, for the input data, at least one type '1 of entity extraction from a plurality of types of entity extractions to be performed on the input data. The at least one determined type of entity extraction may be performed on the input data, and at least one entity may be extracted from the input data. At least one replacement strategy may be determined from a plurality of replacement strategies for the at least one extracted entity. Further, the at least one determined replacement strategy may be applied to the at least one extracted entity to generate masked data.

BACKGROUND

In some cases, data may need to be modified to remove or otherwise obscure personal and confidential information. One such technique for the removal of personal and confidential information may include data masking. With respect to data masking, the masked data may be used for various purposes without disclosing the personal and confidential information.

DETAILED DESCRIPTION

Machine learning and rule-based identification, anonymization, and de-anonymization of sensitive structured and unstructured data apparatuses, methods for machine learning and rule-based identification, anonymization, and de-anonymization of sensitive structured and unstructured data, and non-transitory computer readable media having stored thereon machine readable instructions to provide machine learning and rule-based identification, anonymization, and de-anonymization of sensitive structured and unstructured data are disclosed herein. The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for users to upload images or text files. Using optical character recognition for image to text conversion, and machine translation for multi-language text, the apparatuses, methods, and non-transitory computer readable media disclosed herein provide for entity extraction for text using the selected search strategies including pre-built and custom regular expressions, named entity recognition, dictionary based entity search outside of language vocabulary, and custom blacklist words and phrases. Once the sensitive data extraction is complete, a user may be allowed to confirm and deselect extracted entities followed by selection of a masking strategy such as redact, hash, and pseudonymized the sensitive information. The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for masking of structured database fields with specific formatting strings. The apparatuses, methods, and non-transitory computer readable media disclosed herein may be configured to unmask certain values based on configurations set by a user. Further, the apparatuses, methods, and non-transitory computer readable media disclosed herein may include artificial intelligence based techniques and features that allow users to customize fields based on training data.

With respect to data masking generally, for applications that require large amounts of data for machine learning and artificial intelligence models, it is technically challenging to obtain the data, for example, from a user without extensive legal reviews. Further, it is technically challenging to share personal or sensitive data due to privacy and security concerns.

The apparatuses, methods, and non-transitory computer readable media address at least the aforementioned technical challenges, and may be implemented in various industries and scenarios, such as, for example, data sharing with development and testing teams, preserving of user data after contract is over for artificial intelligence models, open-source datasets to share with community; providing for processing of data via cloud application programming interfaces (APIs), and creation of responsible artificial intelligence data models.

With respect to data sharing with development and testing teams, certain users may require sharing of sensitive data with their technology teams or third-party teams for development and testing of software. The apparatuses, methods; and non-transitory computer readable media disclosed herein may provide for masking of sensitive data before providing the teams with the data.

With respect to preserving of user data after a contract is over for artificial intelligence models, in some cases, user contracts require all the data provided to be deleted after the contract ends. The primary reason for this is because the data may contain some sensitive information. The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for masking of data so that the rest of the data can be retained, which may be useful to train artificial intelligence models across various domains.

With respect to open-source datasets to share with community, the apparatuses, methods, and non-transitory computer readable media disclosed herein may provide for collecting and storing data which does not have sensitive information, which may be useful to consolidate as an asset and make it publicly available to the artificial intelligence community for training artificial intelligence models.

With respect to allowing processing of data via cloud APIs, there are many privacy concerns on uploading data to the cloud servers or using cloud-based APIs on client sensitive data. The apparatuses, methods, and non-transitory computer readable media disclosed herein may provide for masking of such data.

With respect to creation of responsible artificial intelligence data models, responsible artificial intelligence may pertain to how historical data can heavily cause artificial intelligence models to be biased and not generalize well. The apparatuses, methods, and non-transitory computer readable media disclosed herein may provide for masking of sensitive information, for example, gender and location, to help remove some underlying biases that may exist in the data.

The apparatuses, methods, and non-transitory computer readable media disclosed herein further address at least the aforementioned technical challenges by providing for data masking by removing personal and confidential information from structured databases and unstructured data sources for data sharing with development and testing teams, for preserving of user data after a contract is over for artificial intelligence models, for sharing of open-source datasets with a community, for processing of data via cloud application programming interfaces, and for creation of responsible artificial intelligence data models (e.g., models that do not have personal information). The data masking may be particularly important because users may be hesitant when it comes to sharing of personal or sensitive data due to privacy and security concerns. The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for enablement of all of the above use cases by masking and redacting not only generic sensitive information but also customizing entities and blacklist terms specific for each application and user. By configuring various search strategies for entity extraction and masking techniques, a user may utilize the apparatuses, methods, and non-transitory computer readable media disclosed herein to anonymize sensitive data and provide masked data for the above use cases. The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for anonymizing of sensitive data in unstructured natural language data, as well as database fields and structured data as well for various applications, Yet further, the apparatuses, methods, and non-transitory computer readable media disclosed herein may include a modular structure to enable integration of required features into existing application pipelines.

The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for customization, recommendation of selection strategy, masked value persistence, dictionary lookup for domain knowledge, multi-language support and continuous learning integration.

The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for anonymizing of unstructured and structured data and database fields (e.g., including formats of input data such as image, pdf, email, Excel™ spreadsheet, databases, etc.).

The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for a continuous learning framework that includes a human-in-the-loop to monitor and review the entities extracted, and feed it back to the system.

The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for anonymizing of data on original documents (e.g., upload pdf document, extraction of entities, pseudonymize, go to the document, generate image, and overlap the original look).

The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for recommendations associated with data masking.

The apparatuses, methods, and non-transitory computer readable media disclosed herein provide a domain specific dictionary reflecting domain specific knowledge, for example, a mechanism to customize masking of user specific fields and data (artificial intelligence/machine learning approaches).

The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for support of multiple languages.

The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for maintenance of consistency of masked entities within a masking dataset.

The apparatuses, methods, and non-transitory computer readable media disclosed herein provide for leveraging of context for entity conflict resolution.

For the apparatuses, methods, and non-transitory computer readable media disclosed herein, the elements of the apparatuses, methods, and non-transitory computer readable media disclosed herein may be any combination of hardware and programming to implement the functionalities of the respective elements. In some examples described herein, the combinations of hardware and programming may be implemented in a number of different ways. For example, the programming for the elements may be processor executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the elements may include a processing resource to execute those instructions. In these examples, a computing device implementing such elements may include the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separately stored and accessible by the computing device and the processing resource. In some examples, some elements may be implemented in circuitry.

FIG.1illustrates a layout of an example machine learning and rule-based identification, anonymization, and de-anonymization of sensitive structured and unstructured data apparatus (hereinafter also referred to as “apparatus100”).

Referring toFIG.1, the apparatus100may include an entity extractor102that is executed by at least one hardware processor (e.g., the hardware processor2402ofFIG.4, and/or the hardware processor2604ofFIG.26) to receive input data104that is to be masked, and determine, for the input data104, at least one type of entity extraction106from a plurality of types of entity extractions108to be performed on the input data104, The entity extractor102may perform, based on the at least one determined type of entity extraction106, the at least one determined type of entity extraction106on the input data104. The entity extractor102may extract, based on the performance of the at least one determined type of entity extraction106on the input data104, at least one entity110from the input data104.

According to examples disclosed herein, the entity extractor102may determine, for the input data104, at least one type of entity extraction106that includes at least two of a regular expression based entity extraction, a language dictionary based entity extraction, a named entity recognition based entity extraction, a custom blacklist based entity extraction, or a machine learning model based entity extraction.

A replacement strategy selector112that is executed by at least one hardware processor (e.g., the hardware processor2402ofFIG.4, and/or the hardware processor2604ofFIG.26) may determine, for the at least one extracted entity110, at least one replacement strategy114from a plurality of replacement strategies116. The replacement strategy selector112may apply, to the at least one extracted entity110, the at least one determined replacement strategy114.

According to examples disclosed herein, the replacement strategy selector112may determine, for the at least one extracted entity, at least one replacement strategy114from the plurality of replacement strategies116by determining, for the at least one extracted entity110, at least one replacement strategy114from the plurality of replacement strategies116that include at least two of redaction, masking, pseudonymization, or encryption.

A masked data generator118that is executed by at least one hardware processor (e.g., the hardware processor2402ofFIG.4, and/or the hardware processor2604ofFIG.26) may generate, based on the application of the at least one determined replacement strategy114to the at least one extracted entity110, masked data120. In this regard, the masked data120may protect information from accidental and intentional threats by ensuring that sensitive information is not available beyond a production environment. The masked data120may also provide for compliance with various data protection laws. For example, a specified protection law such as General Data Protection Regulation may require that organizations practice data minimization, which is that they collect and use data limited to what is necessary for a specific purpose, retain it no longer than necessary, and not make it available to an indefinite number of people. The masked data120may also provide for improvement in machine learning performance by ensuring that data is standardized. For example, data may be shared with development and testing teams, with original user data being preserved after a usage contract ends for artificial intelligence models. The masked data120may provide open-source datasets to share with a community. The masked data120may also allow for processing of data via cloud application programming interfaces. Further, the asked data120may be utilized to create responsible artificial intelligence data models. Moreover, the masked data120may protect information from accidental and intentional threats and also ensure compliance with policies and requirements.

According to examples disclosed herein, the input data104may include a text format and/or an image format.

A language translator122that is executed by at least one hardware processor (e.g., the hardware processor2402ofFIG.4, and/or the hardware processor2604ofFIG.26) may detect a language of the input data104. The language translator122may determine whether the detected language Spanish) is different than a specified language (e.g., English). Based on a determination that the detected language is different than the specified language, the language translator122may translate the detected language to the specified language.

An entity conflict resolver124that is executed by at least one hardware processor (e.g., the hardware processor2402ofFIG.4, and/or the hardware processor2604ofFIG.26) may analyze the at least one extracted entity110for a conflict with a plurality of labels associated with the at least one extracted entity110. The entity conflict resolver124may generate, based on the analysis of the at least one extracted entity110, a resolution to the conflict with the plurality of labels associated with the at least one extracted entity110.

An entity unmasker126that is executed by at least one hardware processor (e.g., the hardware processor2402ofFIG.4, and/or the hardware processor2604ofFIG.26) may receive further input data that is to be unmasked. The entity unmasker126may determine, for the further input data, at least one type of entity to unmask from a plurality of types of entities to unmask. Further, the entity unmasker126may generate, based on unmasking of the at least one determined type of entity to unmask, unmasked data128.

FIG.2illustrates a logical flow for masking to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.2, with respect to masking, at200, the language translator122may receive the input data104that includes either a text document202or a scanned image204from which text has been extracted at206.

At208, the entity extractor102may determine, for the input data104, at least one type of entity extraction106(e.g., from210) that includes a regular expression based entity extraction at212, a language dictionary based entity extraction at214, a named entity recognition based entity extraction at216, a custom blacklist based entity extraction at218, and/or a machine learning model based entity extraction at220.

The regular expressions at212may be used to identify confidential information in specific formats (e.g., phone numbers, tax IDs, dates, etc.). This may be of two types, generic and user specific.

With respect to dictionary comparison at214, confidential information may be identified by comparing every word in a text document with a corresponding dictionary in a target language. For example, in English, each word may be compared against the Merriam-Webster dictionary. Any word not found in a dictionary may be potentially considered as confidential information.

With respect to database comparison, words hi a document may be compared against specific databases to identify specific entities in the text. For example, to identify names, the words in a document may be compared against the national names database from the census bureau. Any matching word may be potentially considered to be a name.

With respect to named entity extraction at216, confidential information may also be identified by applying machine learning and natural language processing libraries for entity extraction. In this manner, entities such as names, addresses, phone numbers, etc., may be identified, Entity extraction algorithms may include algorithms that extract generic entities such as the ones previously mentioned, and those that may be custom built to extract specific entities of interest for users using approaches such as conditional random fields.

Ensemble approaches may include applying two or more of the above-mentioned approaches and merging the independent outputs with a probabilistic method to increase the quality of the masking.

At222, the entity conflict resolver124may analyze the at least one extracted entity110for a conflict with a plurality of labels associated with the at least one extracted entity110.

At224, artificial intelligence output and human corrections may be performed based on input from a labeling tool226and a continuous learning framework228.

The replacement strategy selector112at230may determine, for the at least one extracted entity110, at least one replacement strategy114from a plurality of replacement strategies116(e.g., redaction at236, masking at238, pseudonymization at240, and encryption at242). The replacement strategy selector112may apply, to the at least one extracted entity110, the at least one determined replacement strategy114.

The masked data generator118at232may generate, based on the application of the at least one determined replacement strategy114to the at least one extracted entity110, the masked data120at234,

FIG.3illustrates a logical flow for unmasking to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.3, with respect to unmasking, at300, the language translator122may receive either a text document302or a scanned image304(e.g., further input data) from which text has been extracted at306. The entity unmasker126at312may determine, for the further input data, at least one type of entity to unmask (e.g., at308) from a plurality of types of entities (e.g., from310) to unmask. Further, the entity unmasker126may generate, based on unmasking of the at least one determined type of entity to unmask, unmasked data128at314.

FIG.4illustrates replacement strategies to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.4, with respect to original data at400(e.g., input data104), examples of replaced data (e.g., masked data120) based on replacement strategies for redaction, masking, pseudonymization, encryption, custom dictionary, and ensemble are respectively shown at402-412. In this regard, the replacement strategy selector112may generate a recommendation that includes the most optimal replacement strategy among a list of replacement strategies. This recommendation may be determined based on the input received regarding the use case of the input data as well as the learned scored from historical records of the replacement strategies. Replacement strategies such as pseudonymization may utilize natural language tools to replace entities with semantically and structurally similar values to maintain the semantic integrity of the data, which may be specifically advantageous for building artificial intelligence models using this data.

FIG.5illustrates database fields for anonymization of structured and unstructured data to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.5, with respect to database fields for anonymization of structured and unstructured data, examples of anonymization for input data104that includes images and scanned PDFs is shown at500, Excel™ and structured data is shown at502, and text document is shown at504.

FIG.6illustrates a human-in-the-loop feedback mechanism for custom machine learning model training to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.6, with respect to human-in-the-loop feedback mechanism for custom machine learning model training, at600, custom machine learning model training may be performed with respect to inputs from corrections driven model testing602and in-production model performance computation604. In this regard, the in-production model performance computation604may be fed to a model performance monitoring dashboard at606. Moreover, as shown at608, continuous learning steps for personnel610are shown.

FIG.7illustrates anonymization of data on an original document to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.7, with respect to anonymization of data on an original document (e.g., the input data104), a PDF file700may be anonymized at702by the masked data generator118. In this regard, the anonymization at702may include unstructured and structured data and database fields (e.g. including formats of input data such as image, pdf, email, excel spreadsheet, databases, etc.). The resulting “.img” anonymized file is shown at704, and converted to a PDF file at706.

FIG.8illustrates replacement of sensitive information in real time to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.8, with respect to replacement of sensitive information in real time, as shown at800, sensitive information802may be replaced in real time by the masked data generator118.

FIG.9illustrates a recommendation generator to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.9, the recommendation generator900, which may include the entity extractor102and the replacement strategy selector112, may generate various recommendations that include, for example, entity customization recommendation at902, entity search strategy recommendation at904, and replacement strategy recommendation at906.

Entity customization recommendation at902may include, for example, providing an option of using the apparatus100as is or provide customization recommendations if any unique identifiers or potential custom entity types are detected along with generic entity types.

Entity search strategy recommendation at904may include recommendations of search strategies based on feedback from a user and the entity types detected. Examples may include regular expressions, named entity recognition, etc.

Replacement strategy recommendation906may be based on the entity types detected in a document to recommend a single or an ensemble of replacement strategies that would provide the most optimal level of anonymization. Examples may include redaction, masking, etc.

FIG.10illustrates a use case for the recommendation generator900ofFIG.9to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.10, at1000, the recommendation generator900may receive input data104, such as insurance policies1002and responses to a questionnaire1004. At1006,1008,1010and1012, the recommendation generator900may generate recommendations. One of the recommendations may be implemented with respect to the masked policies at1014, With respect to the recommendations1006-1012, open source data may be used to identify different entity types and their common entity extraction methods. Similarly, common replacement strategies may be identified for specific entity types. The recommendation generator900may rank the search strategies and replacement techniques based on entities identified, questionnaire responses and knowledge from open-source data.

FIG.11illustrates a search strategy based use case for the recommendation generator ofFIG.9to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.11, with respect to search strategy based use case for the recommendation generator900, the recommendation generator900may receive the input data104from a questionnaire1100, and a resume1102. The input data104from the questionnaire1100, and the resume1102may be used to generate features at1104, feedback based historical data1106, and entity type historical data1108.

FIG.12illustrates further details of the search strategy based use case for the recommendation generator ofFIG.9to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.12, with respect to search strategy based use case for the recommendation generator900, the recommendation generator900may utilize an aggregation algorithm to determine final scores with respect to search strategies. For example, based on the final scores at1200, the search strategies associated with customized blacklist and named entity recognition may be specified as115and72respectively, such that customized blacklist and named entity recognition are ranked the highest as shown at1202,

FIG.13illustrates a replacement strategy based use case for the recommendation generator ofFIG.9to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.13, with respect to the replacement strategy based use case for the recommendation generator900, based on the input data104that includes the questionnaire at1300and the search strategy at1302, the recommendation generator900may generate features at1304, feedback based historical data at1306, and search strategy feedback data at1308, With respect to the generation of features at1304, with respect to derivatives such as risk, if the purpose of artificial intelligence is to make decisions of high impact, A high risk score may be assigned to the replacement strategies accordingly. The risk score may be used to determine the final weighted scores based on use case. The historical data may be coupled with learned risk scores for a given use case and application, and then weighted to produce the final recommendations.

FIG.14illustrates further details of the replacement strategy based use case for the recommendation generator ofFIG.9to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.14, with respect to the replacement strategy based use case for the recommendation generator900, the recommendation generator900may generate a ranked list of search strategies. As shown at1400, for the ranked list example ofFIG.14, the search strategies redact and encrypt may be specified as the highest replacement strategy.

FIG.15illustrates recommendation of replacement strategies to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.15, with respect to recommendation of replacement strategies, information from input data104that includes the data source1500and questionnaire1502may be received by the recommendation generator900at1504to generate replacement strategies1506that include redaction, masking, pseudonymization, encryption, and custom dictionary.

FIG.16illustrates further details of recommendation of replacement strategies to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.16, with respect to recommendation of replacement strategies, information from the input data104that includes the insurance policies1600and questionnaire1602may be received by the recommendation generator900at1604to generate the best replacement strategy that includes custom dictionary,

FIG.17illustrates domain specific directory and customization for client's training data to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.17, with respect to domain specific directory and customization for client's training data, based on the custom dictionary of blacklist terms and regular expressions as shown at1700, the input data104at1702may be converted to output data1704as shown. In this regard, the masked data generator118may generate, based on the application of the at least one determined replacement strategy114to the at least one extracted entity110, the masked data120at1704.

FIG.18illustrates support of multiple languages to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.18, with respect to support of multiple languages, data at1800may be received by a multi-language model1802(e.g., the language translator122) to detect a language type (e.g., Spanish). Based on the detected language, entities may be extracted by the entity extractor102at1804and forwarded to a masking pipeline1806.

FIG.19illustrates maintenance of consistency of masked entities within a masking dataset to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.19, with respect to maintenance of consistency of masked entities within a masking dataset, within the same database, masked values of same entities are persisted, (e.g., Steve Allen LLC at1900will be replaced at1902by the masked data generator118at1904with the same masked value within the document and across all documents in the same database).

FIG.20illustrates leveraging context for entity conflict resolution to illustrate operation of the apparatus100, hi accordance with an example of the present disclosure.

Referring toFIG.20, with respect to leveraging context for entity conflict resolution, when a word is identified as two different entities, the entity conflict resolver124may determine which entity the word should be assigned to. In this regard, since Steven Paul Jobs and Stephen Gary Wozniak co-founded Apple in 1976 to sell personal computers, apple may be ORG in NEIL at2000, and a FRUIT in database lookup at2002. In this regard, the entity conflict resolver124may implement K nearest neighbors and a priority list of search strategies as disclosed herein with reference toFIG.21.

FIG.21illustrates further details of leveraging context for entity conflict resolution to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.21, with respect to leveraging context for entity conflict resolution, a token may be detected as two different entity types in a document. In this regard, sentences around the tokens may be extracted, and embeddings of these sentences may be created to visualize the sentences in semantic vector space. The closest embeddings may be selected using semantic similarity. In this regard, either a classification or clustering approach may be implemented to determine the most similar topic or keywords for the entity and the surrounding context. At2100, the confidence may be determined for the K nearest neighbors using the semantic similarity scores and the priority weights of the respective search strategies. Based on the highest score (e.g.,0.9for the example ofFIG.21), the final entity type may be selected.

FIG.22illustrates data masking to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.22, with respect to data masking, for original data2200, examples of data masking for redaction, masking, pseudonymization, and encryption are respectively shown at2002-2008.

FIG.23illustrates a data masking architecture to illustrate operation of the apparatus100, in accordance with an example of the present disclosure.

Referring toFIG.23, with respect to the data masking architecture, the apparatus100may include the entity extractor102to extract, at2300, information from input data104at2302. For example, the information may be extracted using regular expressions (e.g., generic entities), dictionary based entity search outside of language vocabulary (e.g., Merriam Webster, Oxford, etc.), databases (e.g., census names, national addresses, nationalities, etc.), and open source entity extraction (names, addresses, etc.). In a similar manner, the entity extractor102may extract, at2304, custom information based on custom regular expressions (e.g., domain specific formats such as customer ID, etc.), custom databases (e.g., client products, services, etc.), custom open source entity extraction (foreign names and addresses, etc., and custom machine learning entity extraction (e.g., product name, medication formula, etc.). The masked data generator118may generate the masked data120at2306by performing, using the replacement strategies selected by the replacement strategy selector112at2308, operations such as redaction, masking, pseudonymization, and hashing.

FIGS.24-26respectively illustrate an example block diagram2400, a flowchart of an example method2500, and a further example block diagram2600for machine learning and rule-based identification, anonymization, and de-anonymization of sensitive structured and unstructured data, according to examples. The block diagram2400, the method2500, and the block diagram2600may be implemented on the apparatus100described above with reference toFIG.1by way of example and not of limitation. The block diagram2400, the method2500, and the block diagram2600may be practiced in other apparatus. In addition to showing the block diagram2400,FIG.24shows hardware of the apparatus100that may execute the instructions of the block diagram2400. The hardware may include a processor2402, and a memory2404storing machine readable instructions that when executed by the processor cause the processor to perform the instructions of the block diagram2400. The memory2404may represent a non-transitory computer readable medium.FIG.25may represent an example method for machine learning and rule-based identification, anonymization, and de-anonymization of sensitive structured and unstructured data, and the steps of the method.FIG.26may represent a non-transitory computer readable medium2602having stored thereon machine readable instructions to provide machine learning and rule-based identification, anonymization, and de-anonymization of sensitive structured and unstructured data according to an example. The machine readable instructions, when executed, cause a processor2604to perform the instructions of the block diagram2600also shown inFIG.26.

The processor2402ofFIG.24and/or the processor2604ofFIG.26may include a single or multiple processors or other hardware processing circuit, to execute the methods, functions and other processes described herein. These methods, functions and other processes may be embodied as machine readable instructions stored on a computer readable medium, which may be non-transitory (e.g., the non-transitory computer readable medium2602ofFIG.26), such as hardware storage devices (e.g., RAM (random access memory), ROM (read only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), hard drives, and flash memory). The memory2404may include a RAM, where the machine readable instructions and data for a processor may reside during runtime.

Referring toFIGS.1-24, and particularly to the block diagram2400shown inFIG.24, the memory2404may include instructions2406to receive input data104that is to be masked.

The processor2402may fetch, decode, and execute the instructions2408to determine, for the input data104, at least one type of entity extraction106from a plurality of types of entity extractions108to be performed on the input data104.

The processor2402may fetch, decode, and execute the instructions2410to perform, based on the at least one determined type of entity extraction106, the at least one determined type of entity extraction106on the input data104.

The processor2402may fetch, decode, and execute the instructions2412to extract, based on the performance of the at least one determined type of entity extraction106on the input data104, at least one entity110from the input data104.

The processor2402may fetch, decode, and execute the instructions2414to determine, for the at least one extracted entity110, at least one replacement strategy114from a plurality of replacement strategies116.

The processor2402may fetch, decode, and execute the instructions2416to apply, to the at least one extracted entity110, the at least one determined replacement strategy114.

The processor2402may fetch, decode, and execute the instructions2418to generate, based on the application of the at least one determined replacement strategy114to the at least one extracted entity110, masked data120.

Referring toFIGS.1-23and25, and particularlyFIG.25, for the method2500, at block2502, the method may include receiving input data104that is to be masked.

At block2504, the method may include determining, for the input data104, at least one type of entity extraction106from a plurality of types of entity extractions108to be performed on the input data104.

At block2506, the method may include performing, based on the at least one determined type of entity extraction106, the at least one determined type of entity extraction106on the input data104.

At block2508, the method may include extracting, based on the performance of the at least one determined type of entity extraction106on the input data104, at least one entity110from the input data104.

At block2510, the method may include determining, for the at least one extracted entity110, at least one replacement strategy114from a plurality of replacement strategies116.

At block2512, the method may include applying, to the at least one extracted entity110, the at least one determined replacement strategy114.

At block2514, the method may include generating, based on the application of the at least one determined replacement strategy114to the at least one extracted entity110, masked data120.

Referring toFIGS.1-23and26, and particularlyFIG.26, for the block diagram2600, the non-transitory computer readable medium2602may include instructions2606to receive input data104that is to be masked.

The processor2604may fetch, decode, and execute the instructions2608to extract, based on performance of at least one determined type of entity extraction106on the input data104, at least one entity110from the input data104.

The processor2604may fetch, decode, and execute the instructions2610to apply, to the at least one extracted entity110, at least one determined replacement strategy114.

The processor2604may fetch, decode, and execute the instructions2612to generate, based on the application of the at least one determined replacement strategy114to the at least one extracted entity110, masked data120.

In some examples, entity resolution may be included with respect toFIG.26. In this regard, if keywords are tagged with more than one entity type, disambiguation may be performed to resolve a conflict using context as disclosed herein with respect toFIG.21.