[go: up one dir, main page]

WO2024123204A1 - Method and system for anonymizing confidential data - Google Patents

Method and system for anonymizing confidential data Download PDF

Info

Publication number
WO2024123204A1
WO2024123204A1 PCT/RU2022/000363 RU2022000363W WO2024123204A1 WO 2024123204 A1 WO2024123204 A1 WO 2024123204A1 RU 2022000363 W RU2022000363 W RU 2022000363W WO 2024123204 A1 WO2024123204 A1 WO 2024123204A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
text
confidential
anonymized
document
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/RU2022/000363
Other languages
French (fr)
Russian (ru)
Inventor
Никита Григорьевич БАБАК
Леонид Юрьевич БЕЛОРЫБКИН
Алексей Алексеевич ТЕРЕНИН
Анастасия Игоревна ШАБРОВА
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sberbank PAO
Original Assignee
Sberbank PAO
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sberbank PAO filed Critical Sberbank PAO
Priority claimed from RU2022132305A external-priority patent/RU2804747C1/en
Publication of WO2024123204A1 publication Critical patent/WO2024123204A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Definitions

  • This technical solution in general, relates to the field of data protection, and more specifically to the anonymization of confidential data while maintaining the data structure in text documents.
  • An additional technical result is to increase the accuracy of anonymizing data in text documents by identifying sensitive data in text documents using a machine learning model.
  • text data is obtained in the form of an unstructured text document.
  • the categories of confidential data are at least one of:
  • the numerical entities represent at least one of: the main cardholder number, TIN number, telephone number, account number, insurance certificate number, IP address, MAC address.
  • named entities represent at least one of: persons, locations, organizations.
  • the data structure is consistent with the format, type and semantic content of confidential and anonymized data.
  • anonymized data for numerical entities is generated while preserving identifying characteristics.
  • anonymized data for named entities is reduced to a morphological form corresponding to confidential data.
  • duplicate confidential data is anonymized with the same data.
  • FIG. 1 illustrates a block diagram of the claimed method.
  • FIG. 2 illustrates a flowchart of a method for reversibly anonymizing data.
  • FIG. 3 illustrates a flowchart of the method for de-identifying data
  • FIG. 4 illustrates an example of a system for automatic anonymization of confidential data.
  • FIG. 5 illustrates an example of a system for automatic reversible anonymization of confidential data.
  • FIG. 6 illustrates an example of a computing device for implementing the claimed systems.
  • the claimed technical solution offers a new approach that ensures the depersonalization of confidential data in text documents.
  • the main feature of the proposed solution is to provide the ability to depersonalize confidential data in text documents while preserving the structure of the anonymized data, by preserving the stylistic structure of confidential data and depersonalizing data while preserving the semantic, lexical and morphological form of the data.
  • the implementation of this technical solution increases the accuracy of data anonymization, due to the implementation of a machine learning model based on a neural network, which ensures the search for confidential data that has not been encountered before, including in unstructured data.
  • another additional advantage achieved when using the claimed solution is the ability performing both reversible anonymization of data and irreversible anonymization of data.
  • a system means, including a computer system, a computer (electronic computer), CNC (computer numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, clearly defined sequence of operations (actions, instructions).
  • a command processing device means an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs).
  • An instruction processing device reads and executes machine instructions (programs) from one or more data storage devices, such as devices such as random access memory (RAM) and/or read only memory (ROM).
  • ROM can be, but is not limited to, hard drives (HDD), flash memory, solid-state drives (SSD), optical storage media (CD, DVD, BD, MD, etc.), etc.
  • Program - a sequence of instructions intended for execution by a computer control device or a command processing device.
  • Instructions may refer generally to software instructions or software commands that are written in a given programming language to perform a specific function, such as, for example, retrieving and processing data, generating a user profile , reception and transmission of signals, analysis of received data, user identification, etc.
  • Instructions can be implemented in a variety of ways, including, for example, object-oriented methods. For example, instructions can be implemented using the programming language C++, Java, Python, various libraries (for example, “MFC”; Microsoft Foundation Classes), etc. Instructions that implement the processes described in this solution can be transmitted either over the wire, and via wireless data transmission channels, for example, Wi-Fi, Bluetooth, USB, WLAN, LAN, etc.
  • FIG. 1 shows a block diagram of a method 100 for depersonalizing confidential data in text documents, which is disclosed step by step in more detail below.
  • Said method 100 involves performing steps to process various digital data.
  • the processing is typically performed by a system, which may be, for example, a server, a computer, a mobile device, a computing device, etc. Elements of the system are disclosed in more detail in FIG. 6. In one particular embodiment, may also be performed by system 400, which is discussed in more detail below.
  • confidential data in this solution means data to which access is limited in accordance with the security policies of organizations and/or legislation.
  • confidential data can include personal data, information constituting banking and commercial secrets, full names of employees and clients, partners and suppliers, addresses, telephone numbers, email addresses, social security numbers, bank card information, tax identification number, registration number car, BIC number, IP address, geolocation data, marriage document number, education document number, date, URL, MAC address, work book number, military ID number, OKPO code, etc., not limited to .
  • step 110 a document containing text data is received.
  • a document containing text data is received into a system, such as system 400.
  • the document may be downloaded to system 400 via a communications network such as the Internet, LAN, etc.
  • a document may be imported directly from a flash drive and/or internal memory of the system 400.
  • a document containing text data in this solution refers to any data file containing text data.
  • the document can be any unstructured document, for example, a Word file, PDF, text document, photograph, digitized document, email file, etc.
  • the text data obtained at step 110 is segmented, and during the segmentation, the data is divided along text formatting boundaries into parts of text, and assigned an ordinal position in the text to the specified parts of text.
  • formatting style is essential in certain data processing tasks, such as developing artificial intelligence (AI) models, text translation, etc.
  • AI artificial intelligence
  • known data anonymization systems do not imply or contain such a possibility due to the fact that text formatting styles are not tied directly to the text, but are contained in the accompanying document data, for example, in metadata.
  • machine learning models also take into account the formatting of the data, which consequently increases the accuracy of the training process itself.
  • This approach solves both the problem of providing third-party developers with anonymized data and ensures the formation of an accurate and as close as possible, including formatting style, sample of data for model training.
  • extracting text from a document should be understood as extracting certain parts of the text from a text document and storing these parts in the memory of the system 400, for example, in the form of a data file, i.e. at this step 120, the source text is converted into several parts, divided along the boundaries of the formatting change.
  • formatted text is understood as the result of the process of formatting a page, paragraph, line, or symbol of a document.
  • the style of text formatting can be changing the color, underlining, italics, outline, changing indents, registers, etc., of certain words, characters, paragraphs in a text document.
  • the formatting style of the text can be defined using XML (Extensible Markup Language) markup, which can be stored, for example, in a text document file, be a machine-readable attachment to the text document, etc. It is worth noting that the peculiarity of this stage is that the text is not broken into whole words and/or tokens surrounded by XML markup, but is broken precisely along the boundaries of changes in markup formatting. This approach ensures that style violations and further incorrect application of styles to impersonal parts are avoided. [45] Consider an example of text extraction in accordance with the specified stage
  • the specified parts are assigned start and end indices within the overall text. These indexes are subsequently required to convert the anonymized data into the original formatting style.
  • step 120 the text data is segmented and the specified portions of the text are assigned an ordinal position in the text.
  • Method 100 then proceeds to step 130.
  • the text data obtained at step 110 is tokenized and ordinal positions in the text are assigned to each token.
  • processing of the received text data is performed.
  • the input text is tokenized, i.e. segmented into parts, such as sentences, words or symbols.
  • a token should be understood as a sequence of characters in a document that is important for analysis.
  • tokens can be, for example, individual words, parts of words, etc.
  • Tokenization of sentences can be carried out using, for example, lexical analyzers such as razdel, rusenttokenize, NLTK, etc.
  • Lexical analysis is the process of analytically parsing an input sequence of characters into recognized groups (tokens) in order to obtain identified sequences called "tokens" as output.
  • tokenization of the input text can be done based on regular expressions.
  • text tokens are assigned a start and end index.
  • determining the position of a word in a text document can be done, for example, using text analyzers.
  • step 140 vectorization of the tokens obtained at step 130 is performed.
  • each token obtained during the tokenization process is vectorized, for example, using embeddings or one hot encoding. So, for example, during tokenization, each token is represented in the dictionary by its index, displaying position in the specified dictionary. Thus, each token represents an index in the dictionary, and accordingly the vectorization process is carried out by replacing each token with its index in the dictionary. Then the indices are grouped taking into account the sparseness of the dictionary and the semantic proximity of the tokens. It will be obvious to one skilled in the art that other vectorization algorithms can be used to vectorize tokens, such as, but not limited to, TransformersBertEmbedder, Word2vec, fastText, etc. algorithms.
  • This vectorization process is a preparatory step for data processing by a machine learning model that performs recognition of sensitive data (step 150).
  • Eta stage 150 processes vector representations of tokens using a machine learning model based on a neural network trained on sensitive data sets, during which it is determined that each token belongs to the category of confidential data.
  • NER text classification problem
  • NER Named-entity recognition
  • NER is an information extraction subtask that aims to find and classify mentions of named entities in unstructured text into predefined categories such as person names, organizations, locations, monetary values, percentages, etc. d.
  • the ML model was trained on pre-labeled data.
  • a dataset (data set) of labeled confidential data was used, consisting of more than 2 million tokens.
  • the data set was generated from original text documents containing personal data, information constituting banking and commercial secrets, etc.
  • Training the model to recognize confidential data in text documents consisted of identifying classes of named entities in the text (full name, bank card number, social security number, etc.).
  • a scheme for marking data for example, the VYU/SE-scheme, BILUO-scheme, etc. can be used, without limitation.
  • a dataset can be represented, for example, as an ordered list of tokens separated by a separator from the named entity class, for example, a space character.
  • the main metric of ML model quality is about 95.3%, which exceeds the results of automatic machine learning (AutoML) by more than 15%.
  • AutoML automatic machine learning
  • the spread between completeness (recall) and accuracy (precision) does not exceed 0.8%, which indicates a high level of quality of the model both from a security point of view - low probability of missing confidential information, and from the point of view of the end user - a small number of false detection of confidential information.
  • the degree of decline in quality metrics when augmenting texts at the character level, indicating the stability of the model does not exceed 5%.
  • the neural network may be, for example, a Transformer neural network, a recurrent neural network (RNN), etc., but is not limited to.
  • RNN recurrent neural network
  • a feature of this machine learning model is the ability to effectively recognize confidential data in text documents, including through analysis of the semantic proximity of tokens.
  • the provided trained machine learning model processes the data to recognize sensitive data.
  • the result of data processing will look like this (Table 4):
  • confidential data is extracted with the assigned category to which the specified data belongs.
  • category For example, as can be seen from Table 4, all data related to confidential data is marked with tags - short strings that one-to-one correspond to the types of confidential data.
  • Tags correspond to the category assigned to the specified data, for example, CARD - card number, NAME - name, etc. Tags are written in Latin so that they have a common appearance in all encodings.
  • the sensitive data categories that are assigned to the text data are at least a numeric entity data category and a named entity data category.
  • This step can be performed by a machine learning model and is a coarse classification where data is divided into numeric and named entities for subsequent identification of the type of sensitive data, for example, using Multiclass classification, Named Entity Recognition (NER), etc.
  • NER Named Entity Recognition
  • This division is necessary to select the correct depersonalization algorithm corresponding to the type of confidential data, and to establish more stringent requirements for preserving the morphological features of named entities.
  • the type of numeric data can be determined.
  • Numerical entities can represent the following data: Primary cardholder number (PAN), FL INN number, LE INN number, House number, DUL number, FL account number, LE account number, Telephone, OGRNIP number, OGRN number, SNILS number, Number Compulsory Medical Insurance Policy, Vehicle Passport, BIC Number, IP Address, Social Security Number SNN, Employer Identification Number EIN, Individual Taxpayer Number ITEM, Geolocation Data, Marriage Document Number, Education Document Number, Date, Work Book Number, Military Number ticket, OKPO code, IMEI, etc.
  • PAN Primary cardholder number
  • FL INN number FL INN number
  • LE INN number House number
  • DUL number FL account number
  • OGRNIP number OGRN number
  • SNILS number Number Compulsory Medical Insurance Policy
  • Vehicle Passport BIC Number
  • IP Address IP Address
  • Social Security Number SNN Employer Identification Number EIN, Individual Taxpayer Number ITEM, Geolocation Data, Marriage Document Number, Education Document Number, Date, Work Book Number, Military Number ticket, OK
  • the Luhn algorithm is an algorithm for calculating the check digit of certain types of data. It is not a cryptographic tool, but is intended primarily to identify errors caused by unintentional data corruption.
  • the check digit is used in various numbers, such as: bank card numbers, SNILS, OKPO, OGRN, INN, etc. not limited to.
  • the check bit is necessary in order to eliminate the possibility of incorrect recognition of the type of confidential data.
  • named entities can also be divided by entity type.
  • named entities can represent: persons, locations, organizations, for example, Last Name, First Name, Patronymic, Position, Full and short name of a legal entity, login, street, city, etc.
  • tokens with the same privacy tags data are combined into a single token (for example, tokens characterizing a bank card number).
  • tokens belonging to the CARD tag can be combined into a single token.
  • identical tokens with the same class can also be identified and marked for later replacement with the same anonymized values, for example, the same name occurring will be anonymized with the same value.
  • step 160 data related to sensitive data tokens is anonymized, and during anonymization, the data is replaced with data from the same category while maintaining the data structure.
  • step 160 the determined sensitive data is anonymized while preserving the structure of the data.
  • the main feature of the claimed technical solution is the ability to anonymize data while preserving morphological features, text structure and replacing identical entities with identical anonymized values. This feature allows you to use depersonalization for those tasks where the morphological features and meaning of the text are important, for example, training artificial intelligence models, text translation, etc.
  • Text structure preservation refers to the pseudonymization of sensitive data, in which sensitive or personal data is replaced with data of the same type, gender and language/region.
  • a female name is replaced by another female name common in the local culture
  • a street is replaced by a street with a similar morphological and phonetic structure, for example, Catherine is replaced by Elizabeth, etc.
  • similar attributes to the text data fragment to be replaced are determined. For example, when comparing the attributes of Ivan Ivanov, thevon Smith attribute will have a low degree of similarity, because These data have different classes (gender, male and female) and nationalities (Smith is ethnically German).
  • the attribute Petrov Peter will have a high degree of similarity, because gender and nationality are the same.
  • determining the type of data in a category can be performed at step 150 using a machine learning model.
  • a portion of the text data may be replaced by data with an equal number of letters, for example, the word "two" may be anonymized as "three.”
  • This feature can be achieved through a pre-labeled database containing indications of the above structural features of the text (for example, the database can store sections related to personal data by nationality, gender, etc.), i.e. the database may be a table with the column name and data type identified.
  • sensitive data represented by dates may be shifted by a fixed offset, such as 1 day, 10 days, etc. This feature allows you to obtain representative data, for example, for a training data set, where the date of the event may be critical, for example, in tasks of searching for anomalous events.
  • the system 400 may additionally contain data type classifiers, for example, context classifiers, morphological analysis classifiers, a combination of these classifiers, etc. These classifiers are designed to determine the specific type of data (subclass of data) to which the data belongs (nationality, geographic origin, etc.). An example of a classifier is described in more detail in an article found on the Internet, see https://arxiv.org/abs/1708.07903.
  • morphological analysis classifiers such as pymorphy2 and others may include a type classifier based on prefixes and suffixes or a type classifier based on subwords and compound words. Classification by nationality and ethnicity can be achieved, for example, by, but not limited to, NamePrism and other classifiers that use homophily patterns.
  • anonymized values preserving indirect identifying characteristics are generated for tokens related to the type and category of sensitive data.
  • values may be generated based on specified patterns. So, for example, for telephone numbers, the template will contain the country code and the number of digits of the number. For example, for Russia the country code is +7, respectively, phone numbers contained in confidential data and starting with +7 will be replaced while maintaining the specified code. It is obvious to a person skilled in the art that these features can be preserved for other numerical entities (TIN, social insurance, etc.).
  • named entities are anonymized according to the desired morphological form for tokens relating to sensitive data using an anonymized data store (eg, a database).
  • an anonymized data store eg, a database
  • the specified database or dictionary is initially filled with unique data in normal form and grouped by type of confidential information: First Name, Last Name, Position, etc.
  • the data from the text document given in the example above will be replaced with the following data (Table 5):
  • the CARD data type was anonymized while preserving the structure, namely, the first 6 digits, indicating the bank identification number, and the last 4 digits, used to identify the card and verify its authenticity using a check digit.
  • first names, last names, and names of legal entities were also anonymized while maintaining the data structure.
  • the replacement table is stored in a secure data store, memory 400.
  • a list of replacements is generated, including indications of the ordinal positions of tokens with confidential data in the text, ordinal positions of changing the formatting boundaries of parts of the text, anonymized data corresponding to confidential data.
  • a list of replacements with anonymized values for parts of the text is compiled.
  • the list of replacements contains an indication of the serial number of a part of the text, the boundary replacement indices in within a part of the text, the type of confidential data found and the anonymized meaning. If the confidential token is represented by several parts of text, then the anonymized value is divided into the appropriate number of parts.
  • the original confidential data in the text document is replaced with anonymized data according to the list of replacements, and during the replacement process, the anonymized data is formatted in accordance with the positions of changes in the formatting of parts of the text.
  • the text from the example after depersonalization will look like this: “Petrov Petrov received a card 4485 2952 7892 2810 at Gamma LLC.” Now Peter has access to online payments, for which Potap congratulated him.”
  • the system 400 stores a lookup table, for example, in a protected memory area. In this case, the system 400 is configured to recover the original entities from the anonymized values.
  • the system 400 is configured to generate a new text document and provide the specified document to the user of the system and/or upload the document to the Internet.
  • FIG. 2 a method 200 for reversibly anonymizing sensitive data in text documents while preserving structure is shown in FIG. 2.
  • step 210 the system such as system 500 receives a text document. This step is similar to step 110, and accordingly the above means can be used to obtain the document.
  • step 220 the text data obtained at step 210 is segmented, and during the segmentation, the data is divided along text formatting boundaries into parts of text, and assigns an ordinal position in the text to the specified parts of text.
  • the text data obtained at step 210 is tokenized and ordinal positions in the text are assigned to each token.
  • step 240 vectorization of the tokens obtained at step 230 is performed.
  • the vector representations of the tokens obtained at step 240 are processed using a machine learning model based on a neural network trained on sensitive data sets, which determines whether each token belongs to a category of sensitive data.
  • step 260 data related to sensitive data tokens is anonymized, and during anonymization, the data is replaced with data from the same category while maintaining the data structure.
  • a lookup table is generated that characterizes the correspondence between the confidential data and the anonymized data and stores the specified table in memory.
  • the specified substitution table is stored into the protected memory of the system 500, for example, in the data store 506. This feature allows the anonymized data to be subsequently de-identified, i.e. restore the original data in the document.
  • a list of replacements is generated, including indications of the ordinal positions of confidential data in the text, ordinal positions of changing the boundaries of the formatting of parts of the text, anonymized data corresponding to the confidential data.
  • the list may also be stored in storage 406.
  • the original confidential data is replaced with anonymized data according to the list of replacements, and during the replacement process, the anonymized data is formatted in accordance with the positions of changing the formatting of parts of the text.
  • the system 500 can generate a new text document.
  • the main feature of reversible anonymization is the ability to restore original confidential data in a text document. Such a need may arise, for example, when translating text outside the organization. So, if you need to translate a contract containing confidential data, the presence of such data will affect the context of the translation, and, accordingly, irrelevant anonymized data may lead to incorrect translation. In addition, after providing the translated document, it is necessary to restore the original data. Accordingly, in yet another particular embodiment, the claimed solution discloses a data de-anonymization method 300, disclosed in more detail in FIG. 3
  • said method 300 may be a reverse process to the steps of method 200.
  • the system receives a text document in the form of a data file, anonymized in accordance with the steps of method 200.
  • the document may be downloaded to system 500.
  • the system 500 determines the anonymized data in the text document that needs to be de-identified using a lookup table.
  • This step 320 is based on a lookup table stored during the document anonymization process.
  • all entities contained in the substitution table are defined, for example, full name, name of organization, etc. and for subsequent replacement with confidential data contained in original document. It is worth noting that the process of determining entities that are subject to de-anonymization can be performed by searching for ordinal indexes in the specified substitution table.
  • step 330 the process of replacing the anonymized data with sensitive data is carried out in accordance with the lookup table.
  • the specified document is loaded into the system 500. That is a text document is obtained, anonymized in accordance with the steps of method 200.
  • the anonymized data in the text document that needs to be de-identified is determined using a substitution table. After this, the process of replacing anonymized data with confidential data is carried out in accordance with the substitution table.
  • one of the application scenarios may be the translation of contracts, agreements and other documents of the organization by contractors.
  • the translator needs the context and semantic content of the data; in addition, the translation also takes into account the lexical and morphological features of the text.
  • the document to be translated is loaded via a user interface (eg, interface 501) into a system, such as system 500.
  • system 500 segments the text data, for example, in accordance with step 120 or step 220, tokenizes and vectorizes the raw data (steps 130 and 140 or steps 230 and 240), and processes the vectorized tokens through a machine learning model trained to recognize sensitive data (step 150 or step 250).
  • confidential data is recognized by type and data categories (step 160 or step 260). After this, the confidential data is anonymized and a list of replacements is generated (steps 170 and 180).
  • the lookup table is further stored in secure memory of the system, such as system 500 (steps 270 and 280).
  • the final step of the system 500 is to perform replacement of the sensitive data in accordance with the list of replacements in the text document (step 190 or step 290).
  • this method can also be performed by system 400, in the case of irreversible depersonalization.
  • anonymized confidential data preserves the data structure, namely, formatting style, morphological, lexical and semantic features.
  • the generated new document with anonymized data can then be displayed in the user interface and/or uploaded as a data file.
  • the specified file can then be sent to translators.
  • the modified data file can be loaded into the system to replace the anonymized data with the original confidential data.
  • formatting styles is critical in some areas. For example, some automated systems store documents in an internal representation, and the document style is taken into account by these systems, so if the document styles differ, the system will not be able to correlate the original and anonymized document. Also, styles in documents can be used as part of standardized forms or to highlight key information; for example, without saving styles, a translator will not be able to use them in his work, and therefore will not be able to produce a correct translation. Also, formatting style can be taken into account in the field of artificial intelligence development. So, in addition to the training stage itself, there is a stage of document parsing and data preparation.
  • One of the advantages of the disclosed invention is the ability to embed a new tool into existing processes where interaction with documents having certain styles occurs. Removing these styles may break operation of automated systems, decreased quality of information processing, and violation of standards.
  • FIG. 6 shows a system 600 implementing the steps of the claimed method (100).
  • system 600 includes components such as: one or more processors 601, at least one memory 602, data storage 603, input/output interfaces 604, I/O 605, networking 606, which are connected via a universal bus.
  • Processor 601 performs the basic computational operations necessary to process data when executing method 100. Processor 601 executes necessary machine-readable instructions contained in main memory 602.
  • Memory 602 is made in the form of RAM and contains the necessary program logic that provides the required functionality.
  • the data storage medium 603 can be in the form of HDD, SSD drives, raid array, flash memory, optical storage devices (CD, DVD, MD, Blue-Ray disks), etc.
  • the facilities 603 allow for long-term storage of various types of information, such as lookup table history, format table, and the like.
  • I/O interfaces 604 To organize the operation of system components 600 and organize the operation of external connected devices, various types of I/O interfaces 604 are used. The choice of appropriate interfaces depends on the specific design of the computing device, which can be, but is not limited to: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port , RJ45, RS232, etc.
  • interfaces 604 depends on the specific implementation of the system 600, which can be implemented on a wide class of devices, for example, a personal computer, mainframe, laptop, server cluster, thin client, smartphone, server, etc.
  • data I/O devices 605 keyboard, joystick, display (touch display), monitor, touch display, touch pad, mouse, light pen, stylus, touch pad, trackball, speakers, microphone, augmented reality tools, optical sensors, tablet, light indicators, projector, camera, biometric identification tools (retina scanner, fingerprint scanner, voice recognition module), etc.
  • Network communication means 606 are selected from devices that provide network reception and transmission of data, for example, an Ethernet card, WLAN/Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc. .
  • a system 600 represented in the form of a server
  • a user computing device, on which the received data (anonymized text document) can be displayed via a wired or wireless data transmission channel, for example, WAN, PAN, LAN (LAN), Intranet, Internet, WLAN, WMAN or GSM.
  • FIG. 4 shows a special case of an implementation of system 600.
  • the specified system 400 consists of a graphical user interface 401, a control module 402, an anonymization module 403, a confidential information recognition module 404.
  • Modules 402-404 may be firmware and may be at least a server, computer, etc., performing a function assigned to it.
  • the sensitive information recognition (CI) module 404 may contain a machine learning model and is designed to determine categories and types of sensitive information (step 150).
  • Module 403 is accordingly configured to replace certain sensitive data with anonymized data.
  • the specified module 403 may also contain means for classifying types of confidential information and a database with data sets for anonymization.
  • FIG. 5 shows another special case of the implementation of system 600.
  • the specified system 500 consists of a graphical user interface 501, a control module 502, an anonymization module 503, a confidential information recognition module 504, a lookup table management module 505, a data warehouse 506.
  • Modules 502-506 may be firmware and may be at least a server, computer, etc., executing its assigned function.
  • the sensitive information recognition (CI) module 504 may contain a machine learning model and is designed to determine categories and types of sensitive information (step 250).
  • Module 503 is accordingly configured to replace certain sensitive data with anonymized data.
  • the specified module 503 may also contain means for classifying types of confidential information and a database with data sets for anonymization.
  • the storage 506 may represent a remote server, on-chip secure memory, and/or a secure memory area, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Bioethics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

A method for anonymizing confidential data in text documents while preserving the structure of the data comprises the steps of: receiving a document containing text data (110); segmenting and tokenizing the text data (120, 130); vectorizing the tokens (140); determining, with the aid of a machine learning model, whether each token belongs to a category of confidential data (150); anonymizing the data related to tokens containing confidential data (160), wherein during anonymization, said data is replaced with data of the same category while preserving the structure of the original data; generating a list of replacements (170); replacing the original confidential data in the text document with anonymized data in accordance with the list of replacements (180), wherein during the process of replacement, the anonymized data is formatted according to the positions of formatting changes occurring in the corresponding parts of the text. The method is intended to make it possible to preserve the stylistic, semantic, lexical and morphological structure of data in text documents while anonymizing same.

Description

СПОСОБ И СИСТЕМА ОБЕЗЛИЧИВАНИЯ КОНФИДЕНЦИАЛЬНЫХ ДАННЫХ METHOD AND SYSTEM FOR DE-PERSONALIZING CONFIDENTIAL DATA

ОБЛАСТЬ ТЕХНИКИ TECHNICAL FIELD

[1] Настоящее техническое решение, в общем, относится к области защиты данных, а более конкретно к обезличиванию конфиденциальных данных с сохранением структуры данных в текстовых документах. [1] This technical solution, in general, relates to the field of data protection, and more specifically to the anonymization of confidential data while maintaining the data structure in text documents.

УРОВЕНЬ ТЕХНИКИ BACKGROUND OF THE ART

[2] В настоящее время в любой организации существуют ограничения на хранение и обработку конфиденциальных данных. Так, организации обязаны хранить и обрабатывать конфиденциальные данные в определенных базах данных и обеспечивать полную сохранность таких данных, например, в соответствии с законодательными актами, такими как Федеральный закон "О персональных данных", Федеральный закон "О банках и банковской деятельности" и т.д. Конфиденциальные данные содержат персональные данные клиентов и сотрудников, сведения, составляющие банковскую и коммерческую тайну, сведения о медицинском страховании, медицинские записи и т.д., что объясняет такие высокие требования к их обработке и распространению, и, соответственно, не позволяет использовать такие данные во внешних структурах. При этом, у организаций сохраняется потребность и необходимость в применении таких данных, например, при разработке и тестировании программного обеспечения, для передачи третьим лицам, таким как агентства по переводу документов, консалтинговые, аудиторские компании, для использования в разработке моделей искусственного интеллекта и т.д. [2] Currently, in any organization there are restrictions on the storage and processing of confidential data. Thus, organizations are obliged to store and process confidential data in certain databases and ensure the complete safety of such data, for example, in accordance with legislative acts such as the Federal Law “On Personal Data”, the Federal Law “On Banks and Banking Activities”, etc. d. Confidential data contains personal data of clients and employees, information constituting banking and commercial secrets, information about health insurance, medical records, etc., which explains such high requirements for their processing and distribution, and, accordingly, does not allow the use of such data in external structures. At the same time, organizations continue to need and need to use such data, for example, when developing and testing software, for transfer to third parties, such as document translation agencies, consulting, auditing companies, for use in the development of artificial intelligence models, etc. d.

[3] Одним из способов применения конфиденциальных данных во внешних источниках, известный из уровня техники, является обезличивание конфиденциальных данных. Так, конфиденциальные данные подвергаются необратимой модификации, исключающей возможность отнести эти данные к конкретному субъекту прямым или косвенным образом. [3] One of the ways to use confidential data in external sources, known from the prior art, is to depersonalize confidential data. Thus, confidential data is subject to irreversible modification, excluding the possibility of attributing this data to a specific subject directly or indirectly.

[4] Однако, такой подход неприменим в сферах, где требуется сохранение целостности структуры данных, таких как высокая релевантность, синтаксические и морфологические особенности данных, например, при создании А1-моделей, переводе документов подрядчиками, прототипировании аналитического приложения или витрины данных, ввиду невозможности корректного перевода и/или точного обучения модели. [4] However, this approach is not applicable in areas where maintaining the integrity of the data structure is required, such as high relevance, syntactic and morphological features of data, for example, when creating A1 models, translating documents by contractors, prototyping an analytical application or data marts, due to the impossibility of correct translation and/or accurate training of the model.

[5] Так, из уровня техники, также известно решение, раскрытое в заявке на патент США № US 2012131075 Al (MAWDSLEY GARY [GB], et al.), опубл. 24.05.2012. Указанное решение, в частности, раскрывает способ обратимой анонимизации персональных данных, хранящихся в базе данных, в котором для подмножества элементов данных определяют отклонение каждого из указанных элементов данных в подмножестве относительно справочных элементов данных и присваивают идентификаторы отклонения каждому из указанных определенных отклонений в указанных данных для анонимизации элементов данных в указанном подмножестве данных; создают таблицу преобразования, отображающую указанные элементы данных в указанном подмножестве на указанные идентификаторы отклонения; сохраняют упомянутую таблицу перевода; и хранят упомянутые идентификаторы отклонения, определяющих упомянутые анонимизированные элементы данных. [5] Thus, from the prior art, the solution disclosed in US patent application No. US 2012131075 Al (MAWDSLEY GARY [GB], et al.), publ. 05/24/2012. This solution, in particular, discloses a method for reversibly anonymizing personal data stored in a database, in which, for a subset of data elements, the deviation of each of the specified data elements in the subset relative to the reference data elements is determined and deviation identifiers are assigned to each of the specified deviations in the specified data for anonymizing data elements in the specified subset of data; creating a conversion table mapping said data elements in said subset to said variance identifiers; storing said translation table; and storing said deviation identifiers defining said anonymized data elements.

[6] Недостатками такого решения является низкая точность и эффективность обезличивания данных в сферах, где требуется сохранение целостности данных, из-за невозможности применения способа на неструктурированных данных, осуществления распознавания конфиденциальной информации на основе правил, что может привести к пропуску данных, которые не учтены в правилах, а также невозможности сохранения форматирования данных и их семантических и морфологических особенностей. [6] The disadvantages of this solution are the low accuracy and efficiency of data anonymization in areas where maintaining data integrity is required, due to the impossibility of applying the method on unstructured data and recognizing confidential information based on rules, which can lead to missing data that is not taken into account in the rules, as well as the inability to preserve data formatting and its semantic and morphological features.

[7] Общими недостатками существующих решений является отсутствие точного и эффективного способа обезличивания данных в текстовых документах, обеспечивающего возможность сохранения формата стиля и структуры данных, а также позволяющего обнаруживать данные, которые раньше не встречалась. Кроме того, такого рода решение должно обеспечивать семантическую структуру данных и осуществлять проверку контрольных разрядов некоторых типов данных. Также, такое решение должно обеспечивать возможность выполнения обратимого обезличивания. [7] A common shortcoming of existing solutions is the lack of an accurate and efficient way to anonymize data in text documents, providing the ability to preserve the format of the style and structure of the data, and also allowing the discovery of data that has not been encountered before. In addition, this kind of solution must provide a semantic structure of the data and check the check bits of certain types of data. Also, such a solution should provide the ability to perform reversible anonymization.

РАСКРЫТИЕ ИЗОБРЕТЕНИЕ DISCLOSURE INVENTION

[8] Данное техническое решение направлено на устранение недостатков, присущих существующим решениям, известным из уровня техники. [9] Решаемой технической проблемой в данном техническом решении является создание нового и эффективного способа обезличивания конфиденциальных данных в текстовых документах. [8] This technical solution is aimed at eliminating the disadvantages inherent in existing solutions known from the prior art. [9] The technical problem solved in this technical solution is the creation of a new and effective way to anonymize confidential data in text documents.

[10] Основным техническим результатом, проявляющимся при решении вышеуказанной проблемы, является обеспечение возможности сохранения стилистической, семантической, лексической и морфологической структуры данных в текстовых документах при их обезличивании. [10] The main technical result that appears when solving the above problem is to ensure the ability to preserve the stylistic, semantic, lexical and morphological structure of data in text documents when they are anonymized.

[11] Дополнительным техническим результатом, является повышение точности обезличивания данных в текстовых документах, за счет определения конфиденциальных данных в текстовых документах с помощью модели машинного обучения. [11] An additional technical result is to increase the accuracy of anonymizing data in text documents by identifying sensitive data in text documents using a machine learning model.

[12] Указанные технические результаты достигаются благодаря осуществлению способа обезличивания конфиденциальных данных в текстовых документах с сохранением структуры данных, содержащий этапы, на которых: a) получают документ, содержащий текстовые данные; b) сегментируют текстовые данные, полученные на этапе а), причем в ходе сегментации данные разбиваются по границам изменения форматирования текста на части текста, и присваивают указанным частям текста порядковую позицию в тексте; c) токенизируют текстовые данные, полученные на этапе а), и присваивают порядковые позиции в тексте каждому токену; d) выполняют векторизацию токенов, полученных на этапе с); e) осуществляют обработку векторных представлений токенов, полученных на этапе d), с помощью модели машинного обучения на базе нейронной сети, обученной на наборах конфиденциальных данных, в ходе которой осуществляется определение принадлежности каждого токена к категории конфиденциальных данных; f) обезличивают данные, относящиеся к токенам с конфиденциальными данными, причем в ходе обезличивания данные заменяют на данные из той же категории с сохранением структуры данных; g) формируют список замен, включающий указания порядковых позиций токенов с конфиденциальными данными в тексте, порядковых позиций изменения границ форматирования частей текста, обезличенные данные, соответствующие конфиденциальным данным; h) заменяют исходные конфиденциальные данные в текстовом документе, на обезличенные данные по списку замен, причем в процессе замены обезличенные данные форматируют в соответствии с позициями изменения форматирования частей текста. [12] The specified technical results are achieved by implementing a method for depersonalizing confidential data in text documents while preserving the data structure, containing the stages of: a) obtaining a document containing text data; b) segmenting the text data obtained at step a), and during segmentation the data is divided along the boundaries of changes in text formatting into parts of the text, and assigning an ordinal position in the text to the specified parts of the text; c) tokenize the text data obtained in step a) and assign ordinal positions in the text to each token; d) vectorize the tokens obtained in step c); e) process the vector representations of the tokens obtained in step d) using a machine learning model based on a neural network trained on sensitive data sets, during which it is determined that each token belongs to the category of confidential data; f) depersonalize data related to tokens with confidential data, and during depersonalization, the data is replaced with data from the same category while maintaining the data structure; g) generate a list of replacements, including indications of the ordinal positions of tokens with confidential data in the text, ordinal positions of changes in the formatting boundaries of parts of the text, anonymized data corresponding to confidential data; h) replace the original confidential data in a text document with anonymized data according to the list of replacements, and during the replacement process, the anonymized data is formatted in accordance with the positions of changing the formatting of parts of the text.

[13] В одном из частных примеров осуществления способа текстовые данные получают в виде неструктурированного текстового документа. [13] In one of the particular examples of the method, text data is obtained in the form of an unstructured text document.

[14] В другом частном примере осуществления способа категории конфиденциальных данных представляют собой, по меньшей мере, одно из: [14] In another particular example of the method, the categories of confidential data are at least one of:

• числовые сущности; • numerical entities;

• именованные сущности. • named entities.

[15] В другом частном примере осуществления способа числовые сущности представляют, по меньшей мере, одно из: основной номер держателя карты, номер ИНН, номер телефона, номер счета, номер страхового свидетельства, IP - адрес, МАС - адрес. [15] In another particular example of the method, the numerical entities represent at least one of: the main cardholder number, TIN number, telephone number, account number, insurance certificate number, IP address, MAC address.

[16] В другом частном примере осуществления способа именованные сущности представляют собой, по меньшей мере, одно из: персоны, локации, организации. [16] In another particular example of the method, named entities represent at least one of: persons, locations, organizations.

[17] В другом частном примере осуществления способа структурой данных является соответствие формата, вида и смыслового содержания конфиденциальных и обезличенных данных. [17] In another particular example of the method, the data structure is consistent with the format, type and semantic content of confidential and anonymized data.

[18] В другом частном примере осуществления способа обезличенные данные для числовых сущностей генерируются с сохранением идентифицирующих признаков. [18] In another particular example of the method, anonymized data for numerical entities is generated while preserving identifying characteristics.

[19] В другом частном примере осуществления способа обезличенные данные для именованных сущностей приводятся к соответствующей конфиденциальным данным морфологической форме. [19] In another particular example of the method, anonymized data for named entities is reduced to a morphological form corresponding to confidential data.

[20] В другом частном примере осуществления способа повторяющиеся конфиденциальные данные обезличиваются одинаковыми данными. [20] In another particular example of the method, duplicate confidential data is anonymized with the same data.

[21] Кроме того, заявленные технические результаты достигаются за счет системы обезличивания конфиденциальных данных в текстовых документах с сохранением структуры данных, содержащих: [21] In addition, the stated technical results are achieved through a system for depersonalizing confidential data in text documents while preserving the data structure containing:

• по меньшей мере один процессор; • at least one processor;

• по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа обезличивания конфиденциальных данных в текстовых документах с сохранением структуры данных. • at least one memory coupled to the processor, which contains machine-readable instructions that, when executed by at least one processor, carry out the method depersonalization of confidential data in text documents while maintaining the data structure.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ BRIEF DESCRIPTION OF THE DRAWINGS

[22] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей, на которых: [22] The features and advantages of the present technical solution will become apparent from the following detailed description and the accompanying drawings, in which:

[23] Фиг. 1 иллюстрирует блок-схему выполнения заявленного способа. [23] FIG. 1 illustrates a block diagram of the claimed method.

[24] Фиг. 2 иллюстрирует блок-схему выполнения способа обратимого обезличивания данных. [24] FIG. 2 illustrates a flowchart of a method for reversibly anonymizing data.

[25] Фиг. 3 иллюстрирует блок-схему выполнения способа деобезличивания данных [25] FIG. 3 illustrates a flowchart of the method for de-identifying data

[26] Фиг. 4 иллюстрирует пример системы автоматического обезличивания конфиденциальных данных. [26] FIG. 4 illustrates an example of a system for automatic anonymization of confidential data.

[27] Фиг. 5 иллюстрирует пример системы автоматического обратимого обезличивания конфиденциальных данных. [27] FIG. 5 illustrates an example of a system for automatic reversible anonymization of confidential data.

[28] Фиг. 6 иллюстрирует пример вычислительного устройства для реализации заявленных систем. [28] FIG. 6 illustrates an example of a computing device for implementing the claimed systems.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ IMPLEMENTATION OF THE INVENTION

[29] Заявленное техническое решение предлагает новых подход, обеспечивающий обезличивание конфиденциальных данных в текстовых документах. Основной особенностью заявленного решения является обеспечение возможности обезличивания конфиденциальных данных в текстовых документах с сохранением структуры обезличенных данных, за счет сохранения стилистической структуры конфиденциальных данных и обезличивания данных с сохранением семантической, лексической и морфологической формы данных. Кроме того, реализация настоящего технического решения, повышает точность обезличивания данных, за счет реализации модели машинного обучения на базе нейронной сети, обеспечивающей поиск конфиденциальных данных, которые раньше не встречались, в том числе в неструктурированных данных. Также, еще одним дополнительным преимуществом, достигаемым при использовании заявленного решения, является возможность выполнения как обратимого обезличивания данных, так и необратимого обезличивания данных. [29] The claimed technical solution offers a new approach that ensures the depersonalization of confidential data in text documents. The main feature of the proposed solution is to provide the ability to depersonalize confidential data in text documents while preserving the structure of the anonymized data, by preserving the stylistic structure of confidential data and depersonalizing data while preserving the semantic, lexical and morphological form of the data. In addition, the implementation of this technical solution increases the accuracy of data anonymization, due to the implementation of a machine learning model based on a neural network, which ensures the search for confidential data that has not been encountered before, including in unstructured data. Also, another additional advantage achieved when using the claimed solution is the ability performing both reversible anonymization of data and irreversible anonymization of data.

[30] Заявленное техническое решение может выполняться, например, системой, машиночитаемым носителем, сервером и т.д. В данном техническом решении под системой подразумевается, в том числе компьютерная система, ЭВМ (электронно- вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций). [30] The claimed technical solution can be implemented, for example, by a system, machine-readable medium, server, etc. In this technical solution, a system means, including a computer system, a computer (electronic computer), CNC (computer numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, clearly defined sequence of operations (actions, instructions).

[31] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы). [31] A command processing device means an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs).

[32] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных, например, таких устройств, как оперативно запоминающие устройства (ОЗУ) и/или постоянные запоминающие устройства (ПЗУ). В качестве ПЗУ могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, твердотельные накопители (SSD), оптические носители данных (CD, DVD, BD, MD и т.п.) и др. [32] An instruction processing device reads and executes machine instructions (programs) from one or more data storage devices, such as devices such as random access memory (RAM) and/or read only memory (ROM). ROM can be, but is not limited to, hard drives (HDD), flash memory, solid-state drives (SSD), optical storage media (CD, DVD, BD, MD, etc.), etc.

[33] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд. [33] Program - a sequence of instructions intended for execution by a computer control device or a command processing device.

[34] Термин «инструкции», используемый в этой заявке, может относиться, в общем, к программным инструкциям или программным командам, которые написаны на заданном языке программирования для осуществления конкретной функции, такой как, например, получение и обработка данных, формирование профиля пользователя, прием и передача сигналов, анализ принятых данных, идентификация пользователя и т.п. Инструкции могут быть осуществлены множеством способов, включающих в себя, например, объектно-ориентированные методы. Например, инструкции могут быть реализованы, посредством языка программирования C++, Java, Python, различных библиотек (например, “MFC”; Microsoft Foundation Classes) и т. д. Инструкции, осуществляющие процессы, описанные в этом решении, могут передаваться как по проводным, так и по беспроводным каналам передачи данных, например, Wi-Fi, Bluetooth, USB, WLAN, LAN и т. п. [35] На Фиг. 1 представлена блок схема способа 100 обезличивания конфиденциальных данных в текстовых документах, который раскрыт поэтапно более подробно ниже. Указанный способ 100 заключается в выполнении этапов, направленных на обработку различных цифровых данных. Обработка, как правило, выполняется с помощью системы, которая может представлять, например, сервер, компьютер, мобильное устройство, вычислительное устройство и т. д. Более подробно элементы системы раскрыты на Фиг. 6. В одном частном варианте осуществления, также может выполняться системой 400, которая более подробно раскрыта ниже. [34] The term "instructions" as used in this application may refer generally to software instructions or software commands that are written in a given programming language to perform a specific function, such as, for example, retrieving and processing data, generating a user profile , reception and transmission of signals, analysis of received data, user identification, etc. Instructions can be implemented in a variety of ways, including, for example, object-oriented methods. For example, instructions can be implemented using the programming language C++, Java, Python, various libraries (for example, “MFC”; Microsoft Foundation Classes), etc. Instructions that implement the processes described in this solution can be transmitted either over the wire, and via wireless data transmission channels, for example, Wi-Fi, Bluetooth, USB, WLAN, LAN, etc. [35] In FIG. 1 shows a block diagram of a method 100 for depersonalizing confidential data in text documents, which is disclosed step by step in more detail below. Said method 100 involves performing steps to process various digital data. The processing is typically performed by a system, which may be, for example, a server, a computer, a mobile device, a computing device, etc. Elements of the system are disclosed in more detail in FIG. 6. In one particular embodiment, may also be performed by system 400, which is discussed in more detail below.

[36] Под термином конфиденциальные данные в данном решении стоит понимать данные, доступ к которым ограничен в соответствии с политиками безопасности организаций и/или законодательными актами. Так, конфиденциальные данные могут представлять персональные данные, сведения, составляющие банковскую и коммерческую тайну, ФИО сотрудников и клиентов, партнеров и поставщиков, адреса, номера телефонов, адреса электронных почтовый ящиков, номера социального страхования, информация о банковских картах, номер ИНН, регистрационный номер машины, номер БИК, IP-адрес, данные геолокации, номер документа о браке, номер документа об образовании, дата, URL-адрес, МАС-адрес, номер трудовой книжки, номер военного билета, код ОКПО и т.д., не ограничиваясь. [36] The term confidential data in this solution means data to which access is limited in accordance with the security policies of organizations and/or legislation. Thus, confidential data can include personal data, information constituting banking and commercial secrets, full names of employees and clients, partners and suppliers, addresses, telephone numbers, email addresses, social security numbers, bank card information, tax identification number, registration number car, BIC number, IP address, geolocation data, marriage document number, education document number, date, URL, MAC address, work book number, military ID number, OKPO code, etc., not limited to .

[37] Обезличивание данных - действия, в результате которых становится невозможным без использования дополнительной информации определить принадлежность конфиденциальных данных конкретному субъекту конфиденциальных данных. [37] Depersonalization of data - actions as a result of which it becomes impossible, without the use of additional information, to determine the ownership of confidential data to a specific subject of confidential data.

[38] На этапе 110 происходит получение документа, содержащего текстовые данные. [38] At step 110, a document containing text data is received.

[39] На указанном этапе 110 документ, содержащий текстовые данные, поступает в систему, например, систему 400. В одном частном варианте осуществления, документ может быть загружен в систему 400 посредством сети связи, такой как Интернет, ЛВС и т.д. В еще одном частном варианте осуществления, документ может быть импортирован непосредственно из флэш-накопителя и/или встроенной памяти системы 400. Под документом, содержащим текстовые данные в данном решении следует понимать любой файл данных, содержащий текстовые данные. Так, документ может представлять собой любой неструктурированный документ, например, файл формата Word, PDF, текстовый документ, фотографию, оцифрованный документ, файл электронной почты и т.д. [40] Далее способ 100 переходит к этапу 120. [39] At step 110, a document containing text data is received into a system, such as system 400. In one particular embodiment, the document may be downloaded to system 400 via a communications network such as the Internet, LAN, etc. In yet another particular embodiment, a document may be imported directly from a flash drive and/or internal memory of the system 400. A document containing text data in this solution refers to any data file containing text data. Thus, the document can be any unstructured document, for example, a Word file, PDF, text document, photograph, digitized document, email file, etc. [40] Method 100 then proceeds to step 120.

[41] На этапе 120 сегментируют текстовые данные, полученные на этапе 110, причем в ходе сегментации данные разбиваются по границам изменения форматирования текста на части текста, и присваивают указанным частям текста порядковую позицию в тексте. [41] At step 120, the text data obtained at step 110 is segmented, and during the segmentation, the data is divided along text formatting boundaries into parts of text, and assigned an ordinal position in the text to the specified parts of text.

[42] Как уже отмечалось выше, стиль форматирования является существенным в определенных задачах, связанных с обработкой данных, например, при разработке моделей искусственного интеллекта (ИИ), переводе текста и т.д. При этом, известные системы обезличивания данных не предполагают и не содержат такой возможности в связи с тем, что стили форматирования текста не привязаны непосредственно к тексту, а содержатся в сопутствующих данных документа, например, в метаданных. Кроме того, некоторые модели машинного обучения также учитывают форматирование данных, что соответственно повышает точность самого процесса обучения. [42] As noted above, formatting style is essential in certain data processing tasks, such as developing artificial intelligence (AI) models, text translation, etc. At the same time, known data anonymization systems do not imply or contain such a possibility due to the fact that text formatting styles are not tied directly to the text, but are contained in the accompanying document data, for example, in metadata. In addition, some machine learning models also take into account the formatting of the data, which consequently increases the accuracy of the training process itself.

[43] Соответственно, для реализации указанной возможности в заявленном способе предложен следующий подход. Указанный подход, в одном частном варианте осуществления, решает, как проблему предоставления сторонним разработчикам обезличенных данных, так и обеспечивает формирование точной и максимально приближенной, в том числе и по стилю форматирования, выборки данных для обучения модели. [43] Accordingly, to implement this possibility in the claimed method, the following approach is proposed. This approach, in one particular embodiment, solves both the problem of providing third-party developers with anonymized data and ensures the formation of an accurate and as close as possible, including formatting style, sample of data for model training.

[44] После получения текстового документа системой 400, указанная система 400, извлекает текст из документа частями так, чтобы сохранить исходные стили форматирования документа. Под извлечением текста из документа в данном решении следует понимать выделение из текстового документа определенных частей текста и сохранение указанных частей в памяти системы 400, например, в виде файла данных, Т.е. на указанном этапе 120 исходный текст преобразуется в несколько частей, разбитых по границам изменения форматирования. Под форматированным текстом в данном решении понимается результат процесса оформления страницы, абзаца, строки, символа документа. Так, стилем форматирования текста может являться изменение цвета, подчеркивание, выделение курсивом, начертание, изменение отступов, регистров и т.д., определенных слов, символов, абзацев в текстовом документе. Стиль форматирования текста может определяться посредством разметки XML («расширяемый язык разметки»), которая может хранится, например, в файле текстового документа, являться машиночитаемым приложением к текстовому документу и т.д. Стоит отметить, что особенностью данного этапа является то, что текст разбивается не на целые слова и/или токены окруженные разметкой XML, а разбивается именно по границам изменения форматирования разметки. Такой подход обеспечивает избегание нарушения стилей и дальнейшее неправильное применение стилей к обезличенным частям. [45] Рассмотрим пример извлечения текста в соответствии с указанным этапом[44] Upon receipt of a text document by system 400, said system 400 extracts text from the document in portions so as to preserve the document's original formatting styles. In this solution, extracting text from a document should be understood as extracting certain parts of the text from a text document and storing these parts in the memory of the system 400, for example, in the form of a data file, i.e. at this step 120, the source text is converted into several parts, divided along the boundaries of the formatting change. In this solution, formatted text is understood as the result of the process of formatting a page, paragraph, line, or symbol of a document. Thus, the style of text formatting can be changing the color, underlining, italics, outline, changing indents, registers, etc., of certain words, characters, paragraphs in a text document. The formatting style of the text can be defined using XML (Extensible Markup Language) markup, which can be stored, for example, in a text document file, be a machine-readable attachment to the text document, etc. It is worth noting that the peculiarity of this stage is that the text is not broken into whole words and/or tokens surrounded by XML markup, but is broken precisely along the boundaries of changes in markup formatting. This approach ensures that style violations and further incorrect application of styles to impersonal parts are avoided. [45] Consider an example of text extraction in accordance with the specified stage

120. Так, следующий текст: «Иванов Иван получил карту 4485 2911 2679 2812 в ООО «Бетта». Теперь Ивану доступны онлайн платежи, с чем его поздравил Андрей.» будет преобразован на несколько частей, разбитых по границам изменения форматирования (таблица 1). Таблица120. Thus, the following text: “Ivan Ivanov received card 4485 2911 2679 2812 from Betta LLC.” Now Ivan has access to online payments, for which Andrey congratulated him.” will be converted into several parts, divided according to the boundaries of the formatting changes (Table 1). Table

1

Figure imgf000011_0001
1
Figure imgf000011_0001

146] Как видно из таблицы 1 , символ Б является частью слова Бетта, однако имеет другой стиль форматирования, и, соответственно, вынесен в отдельную часть текста. Для специалиста в данной области техники будет очевидно, что, хотя пример приведен на основе регистра и подчеркивания символа, данный подход применим для любого изменения форматирования текста. 146] As can be seen from table 1, the symbol B is part of the word Betta, but has a different formatting style, and, accordingly, is placed in a separate part of the text. It will be apparent to one skilled in the art that while the example is based on case and character underlining, this approach is applicable to any text formatting change.

[47] После получения частей текста, указанным частям присваиваются индексы начала и конца в рамках общего текста. Указанные индексы в дальнейшем необходимы для преобразования обезличенных данных в исходный стиль форматирования. [47] After receiving parts of the text, the specified parts are assigned start and end indices within the overall text. These indexes are subsequently required to convert the anonymized data into the original formatting style.

[48] В качестве инструмента определения начала и конца части текста (длина текста), могут использоваться как внутренние средства документа, обеспечивающие подсчет символов в тексте, например, текстовые редакторы, так и инструменты, например, программные средства для анализа текстовых документов, в том числе и встроенные в систему 400. [48] As a tool for determining the beginning and end of a part of text (text length), both internal document tools that provide counting of characters in the text, for example, text editors, and tools, for example, software for analyzing text documents, including including 400 built into the system.

[49] Итак, продолжая предыдущий пример, указанным частям текста будут присвоены следующие индексы (таблица 2): Таблица[49] So, continuing the previous example, the following indices will be assigned to the indicated parts of the text (Table 2): Table

2

Figure imgf000012_0001
Figure imgf000013_0001
2
Figure imgf000012_0001
Figure imgf000013_0001

[50] Таким образом, на указанном этапе 120 выполняют сегментацию текстовых данных и присваивают указанным частям текста порядковую позицию в тексте. [50] Thus, at step 120, the text data is segmented and the specified portions of the text are assigned an ordinal position in the text.

[51] Далее способ 100 переходит к этапу 130. [51] Method 100 then proceeds to step 130.

[52] На этапе 130 выполняют токенизацию текстовых данных, полученных на этапе 110, и присваивают порядковые позиции в тексте каждому токену. [52] At step 130, the text data obtained at step 110 is tokenized and ordinal positions in the text are assigned to each token.

[53] На этапе 130 выполняется обработка полученных текстовых данных. Входной текст токенизируется, т.е. сегментируется на части, например, на предложения, слова или символы. Под токеном в данном решении следует понимать последовательность символов в документе, которая имеет значение для анализа. Так, токенами могут являться, например, отдельные слова, части слов и т.д. Токенизация на предложения может проводиться при помощи, например, лексических анализаторов, таких как razdel, rusenttokenize, NLTK и т.д. Лексический анализ - это процесс аналитического разбора входной последовательности символов на распознанные группы (лексемы) с целью получения на выходе идентифицированных последовательностей, называемых «токенами». Кроме того, токенизация входного текста может быть осуществлена на основе регулярных выражений. Для специалиста в данной области техники очевидно, что может быть применен любой лексический анализатор известный из уровня техники и данное решение не ограничивается приведенными выше примерами. После процесса токенизации, по аналогии с присвоением индексов начала и конца на этапе 120, токенам текста присваиваются начальный и конечный индекс. Как указывалось выше, определение позиции слова в текстовом документе может быть выполнено, например, при помощи анализаторов текста. [53] At step 130, processing of the received text data is performed. The input text is tokenized, i.e. segmented into parts, such as sentences, words or symbols. In this solution, a token should be understood as a sequence of characters in a document that is important for analysis. Thus, tokens can be, for example, individual words, parts of words, etc. Tokenization of sentences can be carried out using, for example, lexical analyzers such as razdel, rusenttokenize, NLTK, etc. Lexical analysis is the process of analytically parsing an input sequence of characters into recognized groups (tokens) in order to obtain identified sequences called "tokens" as output. In addition, tokenization of the input text can be done based on regular expressions. It is obvious to a person skilled in the art that any lexical analyzer known in the art can be used and this solution is not limited to the above examples. Following the tokenization process, similar to the assignment of start and end indices in step 120, text tokens are assigned a start and end index. As mentioned above, determining the position of a word in a text document can be done, for example, using text analyzers.

[54] При этом, стоит отметить, что в процессе токенизации текста стили форматирования текста будут стерты, т.к. указанный процесс не может учитывать стиль текста в документе. [54] At the same time, it is worth noting that in the process of text tokenization, text formatting styles will be erased, because the specified process cannot take into account the style of text in the document.

[55] Продолжая приведенный выше пример, представленный текст будет разбит на следующие токены, которым будут присвоены следующие индексы (таблица 3): [55] Continuing with the example above, the presented text would be broken down into the following tokens, which would be assigned the following indices (Table 3):

ТаблицаTable

3

Figure imgf000014_0001
3
Figure imgf000014_0001

[56] На этапе 140 выполняют векторизацию токенов, полученных на этапе 130. [56] At step 140, vectorization of the tokens obtained at step 130 is performed.

[57] На указанном этапе 140 выполняется векторизация каждого токена, полученного в процессе токенизации, например, с помощью эмбеддингов (embeddings) или прямого кодирования (one hot encoding). Так, например, при токенизации, каждый токен, представлен в словаре своим индексом, отображающий позицию в указанном словаре. Таким образом, каждый токен представляет индекс в словаре, и, соответственно процесс векторизации осуществляется путем замены каждого токена на его индекс в словаре. Затем индексы группируются с учётом разряженности словаря и семантической близости токенов. Для специалиста в данной области техники будет очевидно, что для векторизации токенов могут применять и другие алгоритмы векторизации, например, с помощью алгоритмов TransformersBertEmbedder, Word2vec, fastText и т. д., не ограничиваясь. Указанный процесс векторизации является подготовительным этапом к обработке данных моделью машинного обучения, выполняющей распознавание конфиденциальных данных (этап 150). [57] At this step 140, each token obtained during the tokenization process is vectorized, for example, using embeddings or one hot encoding. So, for example, during tokenization, each token is represented in the dictionary by its index, displaying position in the specified dictionary. Thus, each token represents an index in the dictionary, and accordingly the vectorization process is carried out by replacing each token with its index in the dictionary. Then the indices are grouped taking into account the sparseness of the dictionary and the semantic proximity of the tokens. It will be obvious to one skilled in the art that other vectorization algorithms can be used to vectorize tokens, such as, but not limited to, TransformersBertEmbedder, Word2vec, fastText, etc. algorithms. This vectorization process is a preparatory step for data processing by a machine learning model that performs recognition of sensitive data (step 150).

[58] Eta этапе 150 осуществляют обработку векторных представлений токенов, с помощью модели машинного обучения на базе нейронной сети, обученной на наборах конфиденциальных данных, в ходе которой осуществляется определение принадлежности каждого токена к категории конфиденциальных данных. [58] Eta stage 150 processes vector representations of tokens using a machine learning model based on a neural network trained on sensitive data sets, during which it is determined that each token belongs to the category of confidential data.

[59] Для обработки неструктурированных данных и определения в неструктурированном тексте конфиденциальных данных была разработана и применена модель машинного обучения. Указанная модель предназначена для решения задачи классификации текста (задача NER). Распознавание именованных сущностей (Named-entity recognition, NER) — это подзадача извлечения информации, которая направлена на поиск и классификацию упоминаний именованных сущностей в неструктурированном тексте по заранее определенным категориям, таким как имена лиц, организации, местоположения, денежные значения, проценты и т. д. [59] A machine learning model was developed and applied to process unstructured data and identify sensitive data in unstructured text. The specified model is designed to solve the text classification problem (NER problem). Named-entity recognition (NER) is an information extraction subtask that aims to find and classify mentions of named entities in unstructured text into predefined categories such as person names, organizations, locations, monetary values, percentages, etc. d.

[60] Обучение модели МО производилось на заранее размеченных данных. На момент создания модели был использован датасет (набор данных) из размеченных конфиденциальных данных, состоящий из более чем 2 миллионов токенов. Набор данных сформирован по оригинальным текстовым документам, содержащим персональные данные, сведения, составляющие банковскую и коммерческую тайну, и т.д. Обучение модели распознаванию конфиденциальных данных в текстовых документах заключалось в определении классов именованных сущностей в тексте (ФИО, номер банковской карты, номер социального страхования и т.д.). В качестве схемы для разметки данных может применятся, например, ВЮ/ЮВ-схема, BILUO- схема и т.д., не ограничиваясь. Датасет может быть представлен, например, в виде упорядоченного списка токенов, отделённых разделителем от класса именованной сущности, например, символом пробела. Для специалиста в данной области техники очевидно, что может быть применена любая схема разметки и представления датасета известная из уровня техники и данное решение не ограничивается приведенными выше примерами. Для обучения модели МО использовалось 80% токенов из датасета, а для расчёта метрик качества - 20%. [60] The ML model was trained on pre-labeled data. At the time of creation of the model, a dataset (data set) of labeled confidential data was used, consisting of more than 2 million tokens. The data set was generated from original text documents containing personal data, information constituting banking and commercial secrets, etc. Training the model to recognize confidential data in text documents consisted of identifying classes of named entities in the text (full name, bank card number, social security number, etc.). As a scheme for marking data, for example, the VYU/SE-scheme, BILUO-scheme, etc. can be used, without limitation. A dataset can be represented, for example, as an ordered list of tokens separated by a separator from the named entity class, for example, a space character. For a person skilled in the art It is obvious that any layout and presentation scheme for the dataset known from the prior art can be applied and this solution is not limited to the examples given above. To train the ML model, 80% of the tokens from the dataset were used, and 20% were used to calculate quality metrics.

[61] Основная метрика качества модели МО, взвешенная по классам F1 мера, составляет около 95,3%, что превышает результаты автоматического машинного обучения (AutoML) более чем на 15%. При этом разброс между полнотой (recall) и точностью (precision) не превышает 0,8%, что говорит о высоком уровне качества модели как с точки зрения безопасности - низкая вероятность пропустить конфиденциальную информацию, так и с точки зрения конечного пользователя - малое количество ложных обнаружений конфиденциальной информации. Степень падения метрики качества при аугментации текстов на уровне символов, показывающая стабильность модели, не превышает 5%. [61] The main metric of ML model quality, the class-weighted F1 measure, is about 95.3%, which exceeds the results of automatic machine learning (AutoML) by more than 15%. At the same time, the spread between completeness (recall) and accuracy (precision) does not exceed 0.8%, which indicates a high level of quality of the model both from a security point of view - low probability of missing confidential information, and from the point of view of the end user - a small number of false detection of confidential information. The degree of decline in quality metrics when augmenting texts at the character level, indicating the stability of the model, does not exceed 5%.

[62] Указанная модель машинного обучения на базе нейронной сети была успешно внедрена и протестирована в организации в рабочих процессах подразделений. [62] The specified machine learning model based on a neural network was successfully implemented and tested in the organization in the work processes of departments.

[63] В одном частном варианте осуществления, в качестве нейронной сети может быть использована, например, нейронная сеть архитектуры трансформер (Transformer), рекуррентная нейронная сеть (RNN) и т.д., не ограничиваясь. Особенностью указанной модели машинного обучения является возможность эффективного распознавания конфиденциальных данных в текстовых документах, в том числе благодаря анализу семантической близости токенов. [63] In one particular embodiment, the neural network may be, for example, a Transformer neural network, a recurrent neural network (RNN), etc., but is not limited to. A feature of this machine learning model is the ability to effectively recognize confidential data in text documents, including through analysis of the semantic proximity of tokens.

[64] Таким образом, на этапе 150 выполняют, с помощью представленной обученной модели машинного обучения, обработку данных, осуществляя распознавание конфиденциальных данных. Продолжая пример, результат обработки данных будет иметь следующий вид (таблица 4): [64] Thus, at step 150, the provided trained machine learning model processes the data to recognize sensitive data. Continuing the example, the result of data processing will look like this (Table 4):

ТаблицаTable

4

Figure imgf000016_0001
Figure imgf000017_0001
4
Figure imgf000016_0001
Figure imgf000017_0001

[65] Так, из указанных текстовых данных извлекаются конфиденциальные данные с присвоенной категорией, к которой указанные данные относятся. Например, как видно из таблицы 4, все данные, относящиеся к конфиденциальным, помечены тегами - короткими строками, которые взаимно однозначно соответствуют видам конфиденциальных данных. Тэги соответствуют категории, присвоенной указанным данным, например, CARD - номер карты, NAME - имя и т.д. Тэги пишутся на латинице, для того, чтобы они имели общий вид на всех кодировках. [65] Thus, from the specified text data, confidential data is extracted with the assigned category to which the specified data belongs. For example, as can be seen from Table 4, all data related to confidential data is marked with tags - short strings that one-to-one correspond to the types of confidential data. Tags correspond to the category assigned to the specified data, for example, CARD - card number, NAME - name, etc. Tags are written in Latin so that they have a common appearance in all encodings.

[66] В одном частном варианте осуществления, категории конфиденциальных данных, которые присваиваются текстовым данным представляют собой, по меньшей мере категорию данных числовых сущностей и категорию данных именованных сущностей. Указанный этап может выполняться моделью машинного обучения и является грубой классификацией, когда данные разделяют на числовые и именованные сущности, для последующей идентификации типа конфиденциальных данных, например, с помощью мультиклассовой классификации (Multiclass classification), распознавания именованных сущностей (NER) и т.д. Указанное разделение необходимо для выбора корректного алгоритма обезличивания, соответствующего типу конфиденциальных данных, и для установления более жёстких требований к сохранению морфологических особенностей именованных сущностей. Так, после отнесения данных к числовым, может быть определен тип числовых данных. Числовые сущности могут представлять, следующие данные: Основной номер держателя карты (PAN), Номер ИНН ФЛ, Номер ИНН ЮЛ, Номер дома, Номер ДУЛ, Номер счёта ФЛ, Номер счёта ЮЛ, Телефон, Номер ОГРНИП, Номер ОГРН, Номер СНИЛС, Номер полиса ОМС, Паспорт транспортного средства, Номер БИК, IP-адрес, Номер социального страхования SNN, Идентификационный номер работодателя EIN, Индивидуальный номер налогоплательщика ITEM, Данные геолокации, Номер документа о браке, Номер документа об образовании, Дата, Номер трудовой книжки, Номер военного билета, Код ОКПО, IMEI и т.д. Для повышения точности распознавания конфиденциальных данных, в настоящем решении, также применяется процедура проверки контрольных разрядов к числовым сущностям. Алгоритм проверки контрольных разрядов проверяет данные на соответствие контрольным разрядам, которые обычно вычисляются с помощью алгоритма Луна или других алгоритмов. Алгоритм Луна - алгоритм вычисления контрольной цифры некоторых видов данных. Не является криптографическим средством, а предназначен в первую очередь для выявления ошибок, вызванных непреднамеренным искажением данных. Контрольный разряд используется в различных номерах, таких как: номера банковских карт, СНИЛС, ОКПО, ОГРН, ИНН и т.д. не ограничиваясь. Контрольный разряд необходим, для того, чтобы исключить вероятность некорректного распознавания типа конфиденциальных данных. [66] In one particular embodiment, the sensitive data categories that are assigned to the text data are at least a numeric entity data category and a named entity data category. This step can be performed by a machine learning model and is a coarse classification where data is divided into numeric and named entities for subsequent identification of the type of sensitive data, for example, using Multiclass classification, Named Entity Recognition (NER), etc. This division is necessary to select the correct depersonalization algorithm corresponding to the type of confidential data, and to establish more stringent requirements for preserving the morphological features of named entities. Thus, after classifying the data as numeric, the type of numeric data can be determined. Numerical entities can represent the following data: Primary cardholder number (PAN), FL INN number, LE INN number, House number, DUL number, FL account number, LE account number, Telephone, OGRNIP number, OGRN number, SNILS number, Number Compulsory Medical Insurance Policy, Vehicle Passport, BIC Number, IP Address, Social Security Number SNN, Employer Identification Number EIN, Individual Taxpayer Number ITEM, Geolocation Data, Marriage Document Number, Education Document Number, Date, Work Book Number, Military Number ticket, OKPO code, IMEI, etc. To increase the accuracy of recognition of confidential data, this solution also applies a procedure for checking check digits for numeric entities. The check bit checking algorithm checks the data against the check bits, which are typically calculated using the Luhn algorithm or other algorithms. The Luhn algorithm is an algorithm for calculating the check digit of certain types of data. It is not a cryptographic tool, but is intended primarily to identify errors caused by unintentional data corruption. The check digit is used in various numbers, such as: bank card numbers, SNILS, OKPO, OGRN, INN, etc. not limited to. The check bit is necessary in order to eliminate the possibility of incorrect recognition of the type of confidential data.

[67] Соответственно, именованные сущности также могут быть поделены по типу сущностей. Так, именованные сущности могут представлять: персоны, локации, организации, например, Фамилия, Имя, Отчество, Должность, Полное и краткое наименование юридического лица, логин, улица, город и т.д. [67] Accordingly, named entities can also be divided by entity type. Thus, named entities can represent: persons, locations, organizations, for example, Last Name, First Name, Patronymic, Position, Full and short name of a legal entity, login, street, city, etc.

[68] Указанные извлеченные сущности могут сохраняться, например, в защищенной памяти системы 400 для дальнейшего их обезличивания. В одном частном варианте осуществления, токены с одинаковыми тегами конфиденциальных данных объединяются в единый токен (например, токены, характеризующие номер банковской карты). Так, токены, принадлежащие тегу CARD могут быть объединены в единый токен. Кроме того, в еще одном частном варианте осуществления, одинаковые токены с одинаковым классом также могут быть идентифицированы и помечены для дальнейшей заменены на одинаковые обезличенные значения, например, одно и тоже встречающееся имя будет обезличено одним и тем же значением. [68] These extracted entities may be stored, for example, in a secure memory of the system 400 for further anonymization. In one particular embodiment, tokens with the same privacy tags data are combined into a single token (for example, tokens characterizing a bank card number). Thus, tokens belonging to the CARD tag can be combined into a single token. Additionally, in yet another particular embodiment, identical tokens with the same class can also be identified and marked for later replacement with the same anonymized values, for example, the same name occurring will be anonymized with the same value.

[69] Таким образом, на указанном этапе 150 из текстового документа извлекаются все сущности, содержащие конфиденциальную информацию. [69] Thus, at the specified step 150, all entities containing sensitive information are extracted from the text document.

[70] Далее, на этапе 160 выполняется обезличивание данных, относящихся к токенам с конфиденциальными данными, причем в ходе обезличивания данные заменяют на данные из той же категории с сохранением структуры данных. [70] Next, at step 160, data related to sensitive data tokens is anonymized, and during anonymization, the data is replaced with data from the same category while maintaining the data structure.

[71] Так, после определения типа конфиденциальных данных, способ 100 переходит к этапу 160. На этапе 160 выполняется обезличивание определенных конфиденциальных данных с сохранением структуры данных. Основной особенностью заявленного технического решения является возможность обезличивания данных с сохранением морфологических особенностей, структуры текста и с заменой одинаковых сущностей на одинаковые обезличенные значения. Указанная возможность позволяет использовать обезличивание для тех задач, где важны морфологические особенности и смысл текста, например, обучение моделей искусственного интеллекта, перевод текста и т.д. Под сохранением структуры текста понимается псевдонимизация конфиденциальных данных, при которой конфиденциальные или личные данные заменяются данными того же типа, пола и языка/региона. Например, женское имя заменяется другим женским именем, распространенным в местной культуре, улица заменяется на улицу со схожей морфологической и фонетической структурой, например, Екатерина заменяется на Елизавету, и т.д. Для указанного процесса на основе типа конфиденциальных данных в словаре, например, базе данных системы 400, содержащий набор данных для обезличивания, определяются схожие атрибуты с фрагментом текстовых данных, подлежащему замене. Например, при сопоставлении атрибутов Иванова Ивана, атрибут Елена Смит будет обладать низкой степенью схожести, т.к. указанные данные обладают разными классами (пол. муж. и жен.) и национальностями (Смит этнически принадлежит к немецкой национальности). При этом, атрибут Петров Пётр будет иметь высокую степень схожести, т.к. пол и национальность совпадает. Как указывалось выше, определение типа данных в категории может быть выполнено на этапе 150 с помощью модели машинного обучения. Кроме того, в одном частном варианте осуществления, часть текстовых данных может быть заменена данными с равнозначным количеством букв, например, слово «два» может быть обезличено как «три». Указанная особенность может быть достигнута посредством заранее размеченной базы данных, содержащей указания на вышеперечисленные структурные особенности текста (например, база данных может хранить разделы, относящиеся к персональным данным по национальностям, половому признаку и т.д.), т.е. база данных может представлять собой таблицу с идентифицированными именем столбца и типом данных. [71] Thus, after determining the type of sensitive data, method 100 proceeds to step 160. At step 160, the determined sensitive data is anonymized while preserving the structure of the data. The main feature of the claimed technical solution is the ability to anonymize data while preserving morphological features, text structure and replacing identical entities with identical anonymized values. This feature allows you to use depersonalization for those tasks where the morphological features and meaning of the text are important, for example, training artificial intelligence models, text translation, etc. Text structure preservation refers to the pseudonymization of sensitive data, in which sensitive or personal data is replaced with data of the same type, gender and language/region. For example, a female name is replaced by another female name common in the local culture, a street is replaced by a street with a similar morphological and phonetic structure, for example, Catherine is replaced by Elizabeth, etc. For this process, based on the type of sensitive data in the dictionary, for example, the database of the system 400 containing the data set to be anonymized, similar attributes to the text data fragment to be replaced are determined. For example, when comparing the attributes of Ivan Ivanov, the Elena Smith attribute will have a low degree of similarity, because These data have different classes (gender, male and female) and nationalities (Smith is ethnically German). At the same time, the attribute Petrov Peter will have a high degree of similarity, because gender and nationality are the same. How As noted above, determining the type of data in a category can be performed at step 150 using a machine learning model. Additionally, in one particular embodiment, a portion of the text data may be replaced by data with an equal number of letters, for example, the word "two" may be anonymized as "three." This feature can be achieved through a pre-labeled database containing indications of the above structural features of the text (for example, the database can store sections related to personal data by nationality, gender, etc.), i.e. the database may be a table with the column name and data type identified.

[72] Кроме того, в еще одном частном варианте осуществления, конфиденциальные данные, представленные датами, могут сдвигаются на фиксированное смещение, например, на 1, 10 дней и т.д. Указанная особенность позволяет получить репрезентативные данные, например, для обучающего набора данных, где дата совершения события может являться критичной, например, в задачах поиска аномальных событий. [72] Additionally, in yet another particular embodiment, sensitive data represented by dates may be shifted by a fixed offset, such as 1 day, 10 days, etc. This feature allows you to obtain representative data, for example, for a training data set, where the date of the event may be critical, for example, in tasks of searching for anomalous events.

[73] Стоит отметить, что для указанных задач анонимизации в системе 400 дополнительно могут содержаться классификаторы типов данных, например, контекстные классификаторы, классификаторы морфологического анализа, комбинация указанных классификаторов и т.д. Указанные классификаторы выполнены с возможностью определения конкретного типа данных (подкласса данных), к которым относятся данные (национальность, географическая принадлежность и т.д.). Более подробно пример классификатора раскрыт в статье, найденной в Интернет, см. https://arxiv.org/abs/1708.07903. Так, например, классификаторы морфологического анализа такие как pymorphy2 и др. могут включать в себя классификатор типов на основе префиксов и суффиксов или классификатор типов на основе подслов и составных слов. Классификация по национальности и этнической принадлежности может осуществляться, например, с помощью NamePrism и других классификаторов, использующих закономерности гомофилии, но не ограничивающихся ими. [73] It is worth noting that for these anonymization tasks, the system 400 may additionally contain data type classifiers, for example, context classifiers, morphological analysis classifiers, a combination of these classifiers, etc. These classifiers are designed to determine the specific type of data (subclass of data) to which the data belongs (nationality, geographic origin, etc.). An example of a classifier is described in more detail in an article found on the Internet, see https://arxiv.org/abs/1708.07903. For example, morphological analysis classifiers such as pymorphy2 and others may include a type classifier based on prefixes and suffixes or a type classifier based on subwords and compound words. Classification by nationality and ethnicity can be achieved, for example, by, but not limited to, NamePrism and other classifiers that use homophily patterns.

[74] Так, продолжая этап 160, обезличенные значения с сохранением косвенно идентифицирующих признаков генерируются для токенов, относящихся к типу и категории конфиденциальных данных. В одном частном варианте осуществления, для числовых сущностей значения могут генерироваться на основе заданных шаблонов. Так, например, для номеров телефонов, шаблон будет содержать код страны и количество цифр номера. Например, для России код страны является +7, соответственно номера телефонов, содержащиеся в конфиденциальных данных и начинающиеся на +7, будут заменены с сохранением указанного кода. Для специалиста в данной области техники очевидно, что указанные особенности могут быть сохранены и для других числовых сущностей (ИНН, социальное страхование и Т.Д.). [74] Thus, continuing at step 160, anonymized values preserving indirect identifying characteristics are generated for tokens related to the type and category of sensitive data. In one particular embodiment, for numeric entities, values may be generated based on specified patterns. So, for example, for telephone numbers, the template will contain the country code and the number of digits of the number. For example, for Russia the country code is +7, respectively, phone numbers contained in confidential data and starting with +7 will be replaced while maintaining the specified code. It is obvious to a person skilled in the art that these features can be preserved for other numerical entities (TIN, social insurance, etc.).

[75] В еще одном частном варианте осуществления, как указывалось выше, именованные сущности обезличиваются в соответствии с нужной морфологической формой для токенов, относящихся к конфиденциальным данным с помощью хранилища обезличенных данных (например, базы данных). Так, указанная база данных или словарь изначально наполнены уникальными данными в нормальной форме и сгруппированы по видам конфиденциальной информации: Имя, Фамилия, Должность и т.д. [76] Так, данные из текстового документа, приведенные в примере выше, будут заменены на следующие данные (таблица 5): [75] In yet another particular embodiment, as discussed above, named entities are anonymized according to the desired morphological form for tokens relating to sensitive data using an anonymized data store (eg, a database). Thus, the specified database or dictionary is initially filled with unique data in normal form and grouped by type of confidential information: First Name, Last Name, Position, etc. [76] Thus, the data from the text document given in the example above will be replaced with the following data (Table 5):

ТаблицаTable

5

Figure imgf000021_0001
Figure imgf000022_0001
5
Figure imgf000021_0001
Figure imgf000022_0001

[77] Как видно из таблицы, тип данных CARD, был обезличен с сохранением структуры, а именно были сохранены первые 6 цифр, обозначающие банковский идентификационный номер, и последние 4 цифры, служащие для идентификации карты и проверки её подлинности с помощью контрольного разряда. Кроме того, имена, фамилии, названия юридического лица также были обезличены с сохранением структуры данных. [77] As can be seen from the table, the CARD data type was anonymized while preserving the structure, namely, the first 6 digits, indicating the bank identification number, and the last 4 digits, used to identify the card and verify its authenticity using a check digit. In addition, first names, last names, and names of legal entities were also anonymized while maintaining the data structure.

[78] Стоит отметить, что в одном частном варианте реализации, при обратимом процессе обезличивания данных, таблица замен сохраняется в защищенное хранилище данных, памяти 400. [78] It is worth noting that in one particular implementation, with a reversible data anonymization process, the replacement table is stored in a secure data store, memory 400.

[79] Таким образом, на указанном этапе 160 выполняют обезличивание данных, относящихся к токенам с конфиденциальными данными, причем в ходе обезличивания данные заменяют на данные из той же категории с сохранением структуры данных (пола, национальной принадлежности и т.д.). [79] Thus, at the specified stage 160, data related to tokens with confidential data are anonymized, and during anonymization, the data is replaced with data from the same category while maintaining the data structure (gender, nationality, etc.).

[80] Далее способ переходит к этапу 170. [80] The method then proceeds to step 170.

[81] На этапе 170 формируют список замен, включающий указания порядковых позиций токенов с конфиденциальными данными в тексте, порядковых позиций изменения границ форматирования частей текста, обезличенные данные, соответствующие конфиденциальным данным. [81] At step 170, a list of replacements is generated, including indications of the ordinal positions of tokens with confidential data in the text, ordinal positions of changing the formatting boundaries of parts of the text, anonymized data corresponding to confidential data.

[82] На этапе 170, на основе сформированной таблицы замен, таблицы форматирования и порядковых позиций токенов в тексте (индексы начала и конца), составляется список замен на обезличенные значения для частей текста. Список замен содержит указание на порядковый номер части текста, граничные индексы замены в рамках части текста, вид найденных конфиденциальных данных и обезличенное значение. Если конфиденциальный токен представлен несколькими частями текста, то обезличенное значение разбивается на соответствующее количество частей. [82] At step 170, based on the generated replacement table, format table and ordinal positions of tokens in the text (start and end indexes), a list of replacements with anonymized values for parts of the text is compiled. The list of replacements contains an indication of the serial number of a part of the text, the boundary replacement indices in within a part of the text, the type of confidential data found and the anonymized meaning. If the confidential token is represented by several parts of text, then the anonymized value is divided into the appropriate number of parts.

[83] Указанный список также может быть сформирован в системе 400. [84] Список замен для приведенного примера будет выглядеть следующим образом (таблица 6): [83] This list may also be generated in the system 400. [84] The list of replacements for the given example would look like this (Table 6):

ТаблицаTable

6

Figure imgf000023_0001
[85] На этапе 180 заменяют исходные конфиденциальные данные в текстовом документе, на обезличенные данные по списку замен, причем в процессе замены обезличенные данные форматируют в соответствии с позициями изменения форматирования частей текста. 6
Figure imgf000023_0001
[85] At step 180, the original confidential data in the text document is replaced with anonymized data according to the list of replacements, and during the replacement process, the anonymized data is formatted in accordance with the positions of changes in the formatting of parts of the text.

[86] Так, в исходном документе части текста заменяются на обезличенные значения по списку замен, который был сформирован на этапе 170. Таким образом сохраняется исходное форматирование документа. [86] Thus, in the source document, parts of the text are replaced with anonymized values according to the list of replacements that was generated at step 170. Thus, the original formatting of the document is preserved.

[87] Например, текст из примера после обезличивания будет выглядеть следующим образом: «Петров Петр получил карту 4485 2952 7892 2810 в ООО «Гамма». Теперь Петру доступны онлайн платежи, с чем его поздравил Потап.» [88] В одном частном варианте осуществления, если выбран обратимый режим обезличивания, то, как указывалось выше, в системе 400 сохраняется таблица подстановок, например, в защищенной области памяти. В этом случае система 400 выполнена с возможностью восстановления исходных сущностей из обезличенных значений. [87] For example, the text from the example after depersonalization will look like this: “Petrov Petrov received a card 4485 2952 7892 2810 at Gamma LLC.” Now Peter has access to online payments, for which Potap congratulated him.” [88] In one particular embodiment, if the reversible anonymization mode is selected, then, as discussed above, the system 400 stores a lookup table, for example, in a protected memory area. In this case, the system 400 is configured to recover the original entities from the anonymized values.

[89] После замены частей текста, содержащих конфиденциальные данные, на обезличенные данные, система 400 выполнена с возможностью формирования нового текстового документа и предоставления указанного документа пользователю системы и/или выгрузки документа в сеть Интернет. [89] After replacing parts of the text containing confidential data with anonymized data, the system 400 is configured to generate a new text document and provide the specified document to the user of the system and/or upload the document to the Internet.

[90] Рассмотрим более подробно вариант реализации заявленного изобретения, относящийся к обратимому обезличиванию. [90] Let us consider in more detail an embodiment of the claimed invention related to reversible depersonalization.

[91] Более подробно способ 200 обратимого обезличивания конфиденциальных данных в текстовых документах с сохранением структуры показан на фиг. 2. [91] In more detail, a method 200 for reversibly anonymizing sensitive data in text documents while preserving structure is shown in FIG. 2.

[92] На этапе 210 система, такая так система 500 получает текстовый документ. Указанный этап аналогичен этапу 110, и, соответственно, для получения документа могут быть использованы приведенные выше средства. [92] At step 210, the system such as system 500 receives a text document. This step is similar to step 110, and accordingly the above means can be used to obtain the document.

[93] На этапе 220 выполняется сегментация текстовых данных, полученные на этапе 210, причем в ходе сегментации данные разбиваются по границам изменения форматирования текста на части текста, и присваивают указанным частям текста порядковую позицию в тексте. [93] At step 220, the text data obtained at step 210 is segmented, and during the segmentation, the data is divided along text formatting boundaries into parts of text, and assigns an ordinal position in the text to the specified parts of text.

[94] На этапе 230 выполняют токенизацию текстовых данных, полученные на этапе 210, и присваивают порядковые позиции в тексте каждому токену. [94] At step 230, the text data obtained at step 210 is tokenized and ordinal positions in the text are assigned to each token.

[95] На этапе 240 выполняют векторизацию токенов, полученных на этапе 230. [95] At step 240, vectorization of the tokens obtained at step 230 is performed.

[96] На этапе 250 осуществляют обработку векторных представлений токенов, полученных на этапе 240, с помощью модели машинного обучения на базе нейронной сети, обученной на наборах конфиденциальных данных, в ходе которой осуществляется определение принадлежности каждого токена к категории конфиденциальных данных. [96] At step 250, the vector representations of the tokens obtained at step 240 are processed using a machine learning model based on a neural network trained on sensitive data sets, which determines whether each token belongs to a category of sensitive data.

[97] На этапе 260 обезличивают данные, относящиеся к токенам с конфиденциальными данными, причем в ходе обезличивания данные заменяют на данные из той же категории с сохранением структуры данных. [97] At step 260, data related to sensitive data tokens is anonymized, and during anonymization, the data is replaced with data from the same category while maintaining the data structure.

[98] На этапе 270 формируют таблицу подстановок, характеризующую соответствие конфиденциальных данных и обезличенных данных, и сохраняют указанную таблицу в память. В частности, указанную таблицу подстановок сохраняют в защищенную память системы 500, например, в хранилище данных 506. Указанная особенность позволяет в дальнейшем деобезличить обезличенные данные, т.е. восстановить исходные данные в документе. [98] At step 270, a lookup table is generated that characterizes the correspondence between the confidential data and the anonymized data and stores the specified table in memory. In particular, the specified substitution table is stored into the protected memory of the system 500, for example, in the data store 506. This feature allows the anonymized data to be subsequently de-identified, i.e. restore the original data in the document.

[99] На этапе 280 формируют список замен, включающий указания порядковых позиций конфиденциальных данных в тексте, порядковых позиций изменения границ форматирования частей текста, обезличенные данные, соответствующие конфиденциальным данным. Указанный список также может быть сохранен в хранилище 406. [99] At step 280, a list of replacements is generated, including indications of the ordinal positions of confidential data in the text, ordinal positions of changing the boundaries of the formatting of parts of the text, anonymized data corresponding to the confidential data. The list may also be stored in storage 406.

[ЮО] На этапе 290 заменяют исходные конфиденциальные данные, на обезличенные данные по списку замен, причем в процессе замены обезличенные данные форматируют в соответствии с позициями изменения форматирования частей текста. После замены конфиденциальных данных на обезличенные, система 500 может сформировать новый текстовый документ. [YO] At step 290, the original confidential data is replaced with anonymized data according to the list of replacements, and during the replacement process, the anonymized data is formatted in accordance with the positions of changing the formatting of parts of the text. After replacing sensitive data with non-personal data, the system 500 can generate a new text document.

[Ю1] Как было указано выше, основной особенностью обратимого обезличивания является возможность восстановления в текстовом документе исходных конфиденциальных данных. Такая потребность может возникать, например, при переводе текста за пределами организации. Так, если требуется перевести договор, содержащий конфиденциальные данные, наличие таких данных будет влиять на контекст перевода, и, соответственно, нерелевантные обезличенные данные могут привести к некорректному переводу. Кроме того, после предоставления переведенного документа, требуется восстановить исходные данные. Соответственно, в еще одном частном варианте осуществления заявленное решение раскрывает способ 300 деобезличивания данных, раскрытый более подробно на Фиг. 3 [Y1] As stated above, the main feature of reversible anonymization is the ability to restore original confidential data in a text document. Such a need may arise, for example, when translating text outside the organization. So, if you need to translate a contract containing confidential data, the presence of such data will affect the context of the translation, and, accordingly, irrelevant anonymized data may lead to incorrect translation. In addition, after providing the translated document, it is necessary to restore the original data. Accordingly, in yet another particular embodiment, the claimed solution discloses a data de-anonymization method 300, disclosed in more detail in FIG. 3

[Ю2] Так, указанный способ 300 может являться обратным процессом к этапам способа 200. [Y2] Thus, said method 300 may be a reverse process to the steps of method 200.

[103] На этапе 310 в систему, например, систему 500 поступает текстовый документ в виде файла данных, обезличенный в соответствии с этапами способа 200. В одном частном варианте, документ может быть загружен в систему 500. [103] At step 310, the system, for example, system 500, receives a text document in the form of a data file, anonymized in accordance with the steps of method 200. In one particular embodiment, the document may be downloaded to system 500.

[Ю4] На этапе 320 система 500, определяет в текстовом документе обезличенные данные, которые необходимо деобезличить, с помощью таблицы подстановок. [U4] At step 320, the system 500 determines the anonymized data in the text document that needs to be de-identified using a lookup table.

[Ю5] Указанный этап 320 основан на таблице подстановок, сохраненной в процессе обезличивания документа. Так, в текстовом документе определяются все сущности, содержащиеся в таблице подстановок, например, ФИО, название организации и т.д. и для последующей замены на конфиденциальные данные, которые содержались в исходном документе. Стоит отметить, что процесс определения сущностей, подлежащих деобезличиванию может быть выполнен с помощью поиска порядковых индексов по указанной таблице подстановок. [05] This step 320 is based on a lookup table stored during the document anonymization process. Thus, in a text document, all entities contained in the substitution table are defined, for example, full name, name of organization, etc. and for subsequent replacement with confidential data contained in original document. It is worth noting that the process of determining entities that are subject to de-anonymization can be performed by searching for ordinal indexes in the specified substitution table.

[106] Далее, на этапе 330 осуществляют процесс замены обезличенных данных на конфиденциальные данные в соответствии с таблицей подстановок. [106] Next, at step 330, the process of replacing the anonymized data with sensitive data is carried out in accordance with the lookup table.

[Ю7] На указанном этапе 330 все обезличенные значения заменяют на исходные конфиденциальные данные. В ходе процесса деобезличивания стиль документа не затрагивается, что обеспечивает получение исходного документа с сохранением стиля форматирования. [U7] At this step 330, all anonymized values are replaced with the original confidential data. During the de-anonymization process, the document's style is not affected, ensuring that the original document is returned with the same formatting style.

[Ю8] Так, например, после преобразования обезличенного документа третьими лицами, указанный документ загружают в систему 500. Т.е. получают текстовый документ, обезличенный в соответствии с этапами способа 200. Далее, на основе списка замен, хранящегося в системе, определяют в текстовом документе обезличенные данные, которые необходимо деобезличить, с помощью таблицы подстановок. После этого, осуществляют процесс замены обезличенных данных на конфиденциальные данные в соответствии с таблицей подстановок. [Y8] So, for example, after converting an anonymized document by third parties, the specified document is loaded into the system 500. That is a text document is obtained, anonymized in accordance with the steps of method 200. Next, based on the list of replacements stored in the system, the anonymized data in the text document that needs to be de-identified is determined using a substitution table. After this, the process of replacing anonymized data with confidential data is carried out in accordance with the substitution table.

[Ю9] Таким образом, в вышеприведенных материалах был описан способ обезличивания конфиденциальных данных в текстовых документах с сохранением структуры данных. [Y9] Thus, the above materials described a method for depersonalizing confidential data in text documents while maintaining the data structure.

[110] Теперь рассмотрим сценарий применения некоторых вариантов заявленного решения. [110] Now let’s consider a scenario for using some variants of the claimed solution.

[1И] Так, одним из сценариев применения может являться перевод подрядчиками договоров, соглашений и других документов организации. Как было отмечено ранее, для осуществления перевода, переводчику требуется контекст и смысловое содержание данных, кроме того, при переводе также учитываются лексические и морфологические особенности текста. [1I] Thus, one of the application scenarios may be the translation of contracts, agreements and other documents of the organization by contractors. As noted earlier, to carry out translation, the translator needs the context and semantic content of the data; in addition, the translation also takes into account the lexical and morphological features of the text.

[И2] Таким образом, для реализации заявленного изобретения, документ, подлежащий переводу, загружается посредством интерфейса пользователя (например, интерфейса 501) в систему, такую как система 500. Далее, система 500 сегментирует текстовые данные, например, в соответствии с этапом 120 или этапом 220, токенизирует и векторизует исходные данные (этапы 130 и 140 или этапы 230 и 240) и выполняет обработку векторизованных токенов посредством модели машинного обучения, обученной на распознавание конфиденциальных данных (этап 150 или этап 250). Причем конфиденциальные данные распознаются по типам и категориям данных (этап 160 или этап 260). После этого, выполняется обезличивание конфиденциальных данных и формирование списка замен (этапы 170 и 180). Кроме того, если выбрано обратимое обезличивание, то в таком случае таблица подстановок дополнительно сохраняется в защищенную память системы, например, системы 500. (этапы 270 и 280). Последним этапом работы системы 500 является осуществление замены конфиденциальных данных в соответствии со списком замен в текстовом документе (этап 190 или этап 290). Как видно из представленного описания примера, указанный способ может быть выполнен и системой 400, в случае необратимого обезличивания. При этом, обезличенные конфиденциальные данные сохраняют структуру данных, а именно, стиль форматирования, морфологические, лексические и семантические особенности. Сформированный новый документ с обезличенными данными далее может быть отображен в пользовательском интерфейсе и/или выгружен в виде файла данных. Указанный файл далее может быть направлен переводчикам. [I2] Thus, to implement the claimed invention, the document to be translated is loaded via a user interface (eg, interface 501) into a system, such as system 500. Next, system 500 segments the text data, for example, in accordance with step 120 or step 220, tokenizes and vectorizes the raw data (steps 130 and 140 or steps 230 and 240), and processes the vectorized tokens through a machine learning model trained to recognize sensitive data (step 150 or step 250). Moreover, confidential data is recognized by type and data categories (step 160 or step 260). After this, the confidential data is anonymized and a list of replacements is generated (steps 170 and 180). In addition, if reversible anonymization is selected, then the lookup table is further stored in secure memory of the system, such as system 500 (steps 270 and 280). The final step of the system 500 is to perform replacement of the sensitive data in accordance with the list of replacements in the text document (step 190 or step 290). As can be seen from the presented description of the example, this method can also be performed by system 400, in the case of irreversible depersonalization. At the same time, anonymized confidential data preserves the data structure, namely, formatting style, morphological, lexical and semantic features. The generated new document with anonymized data can then be displayed in the user interface and/or uploaded as a data file. The specified file can then be sent to translators.

[ИЗ] Соответственно, после выполнения перевода, измененный файл данных может быть загружен в систему для замены обезличенных данных на исходные конфиденциальные данные. [FROM] Accordingly, after the translation is completed, the modified data file can be loaded into the system to replace the anonymized data with the original confidential data.

[114] Кроме того, стоит отметить, что сохранение стилей форматирования является критичным для некоторых сфер. Так, например, некоторые автоматизированные системы хранят документы во внутреннем представлении, причем стиль документа учитывается указанными системами, поэтому если стили документов будут отличаться, то система не сможет соотнести исходный и обезличенный документ. Также, стили в документах могут использоваться как часть стандартизированных форм или для выделения ключевой информации, например, без сохранения стилей переводчик не сможет применять их в своей работе, а значит не сможет выдать корректный перевод. Также, стиль форматирования может учитываться в области разработки искусственного интеллекта. Так, кроме самого этапа обучения существует этап парсинга документа и подготовки данных. Если не сохранять стили, то они и не будут учитываться при парсинге, что в дальнейшем приведёт к некорректной подготовке данных и неправильному обучению моделей. Т.е. одним из преимуществ раскрытого изобретения является возможность встраивания нового инструмента в уже существующие процессы, где происходит взаимодействие с документами, имеющими определенные стили. Удаление этих стилей может привести к нарушению работы автоматизированных систем, снижению качества обработки информации, нарушению стандартов. [114] It is also worth noting that maintaining formatting styles is critical in some areas. For example, some automated systems store documents in an internal representation, and the document style is taken into account by these systems, so if the document styles differ, the system will not be able to correlate the original and anonymized document. Also, styles in documents can be used as part of standardized forms or to highlight key information; for example, without saving styles, a translator will not be able to use them in his work, and therefore will not be able to produce a correct translation. Also, formatting style can be taken into account in the field of artificial intelligence development. So, in addition to the training stage itself, there is a stage of document parsing and data preparation. If you do not save styles, they will not be taken into account during parsing, which will subsequently lead to incorrect data preparation and incorrect training of models. Those. One of the advantages of the disclosed invention is the ability to embed a new tool into existing processes where interaction with documents having certain styles occurs. Removing these styles may break operation of automated systems, decreased quality of information processing, and violation of standards.

[И5] На Фиг. 6 представлена система 600, реализующая этапы заявленного способа (100). [I5] In Fig. 6 shows a system 600 implementing the steps of the claimed method (100).

[П6] В общем случае система 600 содержит такие компоненты, как: один или более процессоров 601, по меньшей мере одну память 602, средство хранения данных 603, интерфейсы ввода/вывода 604, средство В/В 605, средство сетевого взаимодействия 606, которые объединяются посредством универсальной шины. [A6] In general, system 600 includes components such as: one or more processors 601, at least one memory 602, data storage 603, input/output interfaces 604, I/O 605, networking 606, which are connected via a universal bus.

[117] Процессор 601 выполняет основные вычислительные операции, необходимые для обработки данных при выполнении способа 100. Процессор 601 исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти 602. [117] Processor 601 performs the basic computational operations necessary to process data when executing method 100. Processor 601 executes necessary machine-readable instructions contained in main memory 602.

[И8] Память 602, как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал. [I8] Memory 602, as a rule, is made in the form of RAM and contains the necessary program logic that provides the required functionality.

[119] Средство хранения данных 603 может выполняться в виде HDD, SSD дисков, рейд массива, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средства 603 позволяют выполнять долгосрочное хранение различного вида информации, например, истории таблицы подстановок, таблицы форматирования и т.п. [119] The data storage medium 603 can be in the form of HDD, SSD drives, raid array, flash memory, optical storage devices (CD, DVD, MD, Blue-Ray disks), etc. The facilities 603 allow for long-term storage of various types of information, such as lookup table history, format table, and the like.

[120] Для организации работы компонентов системы 600 и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В 604. Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п. [120] To organize the operation of system components 600 and organize the operation of external connected devices, various types of I/O interfaces 604 are used. The choice of appropriate interfaces depends on the specific design of the computing device, which can be, but is not limited to: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port , RJ45, RS232, etc.

[121] Выбор интерфейсов 604 зависит от конкретного исполнения системы 600, которая может быть реализована на базе широко класса устройств, например, персональный компьютер, мейнфрейм, ноутбук, серверный кластер, тонкий клиент, смартфон, сервер и т.п. [121] The choice of interfaces 604 depends on the specific implementation of the system 600, which can be implemented on a wide class of devices, for example, a personal computer, mainframe, laptop, server cluster, thin client, smartphone, server, etc.

[122] В качестве средств В/В данных 605 может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), монитор, сенсорный дисплей, тач-пад, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п. [122] The following can be used as data I/O devices 605: keyboard, joystick, display (touch display), monitor, touch display, touch pad, mouse, light pen, stylus, touch pad, trackball, speakers, microphone, augmented reality tools, optical sensors, tablet, light indicators, projector, camera, biometric identification tools (retina scanner, fingerprint scanner, voice recognition module), etc.

[123] Средства сетевого взаимодействия 606 выбираются из устройств, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств 606 обеспечивается организация обмена данными между, например, системой 600, представленной в виде сервера и вычислительным устройством пользователя, на котором могут отображаться полученные данные (обезличенный текстовый документ) по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM. [123] Network communication means 606 are selected from devices that provide network reception and transmission of data, for example, an Ethernet card, WLAN/Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc. . Using tools 606, the organization of data exchange is ensured between, for example, a system 600, represented in the form of a server, and a user’s computing device, on which the received data (anonymized text document) can be displayed via a wired or wireless data transmission channel, for example, WAN, PAN, LAN (LAN), Intranet, Internet, WLAN, WMAN or GSM.

[124] На фиг. 4 показан частный случай реализации системы 600. [124] In FIG. 4 shows a special case of an implementation of system 600.

[125] Указанная система 400 состоит из графического пользовательского интерфейса 401, модуля управления 402, модуля обезличивания 403, модуля распознавания конфиденциальной информации 404. [125] The specified system 400 consists of a graphical user interface 401, a control module 402, an anonymization module 403, a confidential information recognition module 404.

[126] Модули 402-404 могут являться программно-аппаратными средствами и могут представлять собой, по меньшей мере, сервер, компьютер и т.д., выполняющий предписанную ему функцию. Кроме того, для специалиста очевидно, что указанные модули могут быть реализованы с помощью по меньшей мере одного процессора и могут являться логическими модулями. Так, модуль распознавания конфиденциальной информации (КИ) 404 может содержать модель машинного обучения и предназначен для определения категорий и типов конфиденциальной информации (этап 150). Модуль 403 соответственно выполнен с возможностью замены определенных конфиденциальных данных на обезличенные данные. В одном частном варианте осуществления, указанный модуль 403 также может содержать средства классификации типов конфиденциальной информации и базу данных с наборами данных для обезличивания. [126] Modules 402-404 may be firmware and may be at least a server, computer, etc., performing a function assigned to it. In addition, it will be obvious to a person skilled in the art that said modules can be implemented using at least one processor and can be logical modules. Thus, the sensitive information recognition (CI) module 404 may contain a machine learning model and is designed to determine categories and types of sensitive information (step 150). Module 403 is accordingly configured to replace certain sensitive data with anonymized data. In one particular embodiment, the specified module 403 may also contain means for classifying types of confidential information and a database with data sets for anonymization.

[127] На фиг. 5 показан еще один частный случай реализации системы 600. [127] In FIG. 5 shows another special case of the implementation of system 600.

[128] Указанная система 500 состоит из графического пользовательского интерфейса 501, модуля управления 502, модуля обезличивания 503, модуля распознавания конфиденциальной информации 504, модуля управления таблицей подстановок 505, хранилища данных 506. [128] The specified system 500 consists of a graphical user interface 501, a control module 502, an anonymization module 503, a confidential information recognition module 504, a lookup table management module 505, a data warehouse 506.

[129] Модули 502-506 могут являться программно-аппаратными средствами и могут представлять собой, по меньшей мере, сервер, компьютер и т.д., выполняющий предписанную ему функцию. Кроме того, для специалиста очевидно, что указанные модули могут быть реализованы с помощью по меньшей мере одного процессора и могут являться логическими модулями. Так, модуль распознавания конфиденциальной информации (КИ) 504 может содержать модель машинного обучения и предназначен для определения категорий и типов конфиденциальной информации (этап 250). Модуль 503 соответственно выполнен с возможностью замены определенных конфиденциальных данных на обезличенные данные. В одном частном варианте осуществления, указанный модуль 503 также может содержать средства классификации типов конфиденциальной информации и базу данных с наборами данных для обезличивания. Хранилище 506 может представлять удаленный сервер, встроенную защищенную память и/или защищенную область в памяти и т.д. [130] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области. [129] Modules 502-506 may be firmware and may be at least a server, computer, etc., executing its assigned function. In addition, it will be obvious to a person skilled in the art that said modules can be implemented using at least one processor and can be logical modules. Thus, the sensitive information recognition (CI) module 504 may contain a machine learning model and is designed to determine categories and types of sensitive information (step 250). Module 503 is accordingly configured to replace certain sensitive data with anonymized data. In one particular embodiment, the specified module 503 may also contain means for classifying types of confidential information and a database with data sets for anonymization. The storage 506 may represent a remote server, on-chip secure memory, and/or a secure memory area, etc. [130] The submitted application materials disclose preferred examples of implementation of a technical solution and should not be interpreted as limiting other, particular examples of its implementation that do not go beyond the scope of the requested legal protection, which are obvious to specialists in the relevant field.

Claims

ФОРМУЛА FORMULA 1. Способ обезличивания конфиденциальных данных в текстовых документах с сохранением структуры данных, содержащий этапы, на которых: a) получают документ, содержащий текстовые данные; b) сегментируют текстовые данные, полученные на этапе а), причем в ходе сегментации данные разбиваются по границам изменения форматирования текста на части текста, и присваивают указанным частям текста порядковую позицию в тексте; c) токенизируют текстовые данные, полученные на этапе а), и присваивают порядковые позиции в тексте каждому токену; d) выполняют векторизацию токенов, полученных на этапе с); e) осуществляют обработку векторных представлений токенов, полученных на этапе d), с помощью модели машинного обучения на базе нейронной сети, обученной на наборах конфиденциальных данных, в ходе которой осуществляется определение принадлежности каждого токена к категории конфиденциальных данных; f) обезличивают данные, относящиеся к токенам с конфиденциальными данными, причем в ходе обезличивания данные заменяют на данные из той же категории с сохранением структуры данных; g) формируют список замен, включающий указания порядковых позиций токенов с конфиденциальными данными в тексте, порядковых позиций изменения границ форматирования частей текста, обезличенные данные, соответствующие конфиденциальным данным; h) заменяют исходные конфиденциальные данные в текстовом документе на обезличенные данные по списку замен, причем в процессе замены обезличенные данные форматируют в соответствии с позициями изменения форматирования частей текста. 1. A method for depersonalizing confidential data in text documents while preserving the data structure, containing the steps of: a) obtaining a document containing text data; b) segmenting the text data obtained at step a), and during segmentation the data is divided along the boundaries of changes in text formatting into parts of the text, and assigning an ordinal position in the text to the specified parts of the text; c) tokenize the text data obtained in step a) and assign ordinal positions in the text to each token; d) vectorize the tokens obtained in step c); e) process the vector representations of the tokens obtained in step d) using a machine learning model based on a neural network trained on sensitive data sets, during which it is determined that each token belongs to the category of confidential data; f) depersonalize data related to tokens with confidential data, and during depersonalization, the data is replaced with data from the same category while maintaining the data structure; g) generate a list of replacements, including indications of the ordinal positions of tokens with confidential data in the text, ordinal positions of changes in the formatting boundaries of parts of the text, anonymized data corresponding to confidential data; h) replace the original confidential data in the text document with anonymized data according to the list of replacements, and during the replacement process, the anonymized data is formatted in accordance with the positions of changing the formatting of parts of the text. 2. Способ по п. 1, характеризующийся тем, что текстовые данные получают в виде неструктурированного текстового документа. 2. The method according to claim 1, characterized in that the text data is received in the form of an unstructured text document. 3. Способ по п. 1, характеризующийся тем, что категории конфиденциальных данных представляют собой, по меньшей мере, одно из: 3. The method according to claim 1, characterized in that the categories of confidential data are at least one of: • числовые сущности; • numerical entities; • именованные сущности. • named entities. 29 29 4. Способ по п. 3, характеризующийся тем, что числовые сущности представляют, по меньшей мере, одно из: основной номер держателя карты, номер ИНН, номер телефона, номер счета, номер страхового свидетельства, IP - адрес. 4. The method according to claim 3, characterized in that the numeric entities represent at least one of: the main cardholder number, TIN number, telephone number, account number, insurance certificate number, IP address. 5. Способ по п. 3, характеризующийся тем, что именованные сущности представляют собой, по меньшей мере, одно из: персоны, локации, организации. 5. The method according to claim 3, characterized in that the named entities represent at least one of: persons, locations, organizations. 6. Способ по п. 1, характеризующиеся тем, что структурой данных является соответствие формата, вида и смыслового содержания конфиденциальных и обезличенных данных. 6. The method according to claim 1, characterized by the fact that the data structure is consistent with the format, type and semantic content of confidential and anonymized data. 7. Способ по п. 3, характеризующийся тем, что обезличенные данные для числовых сущностей генерируются с сохранением идентифицирующих признаков. 7. The method according to claim 3, characterized in that anonymized data for numerical entities is generated while preserving identifying characteristics. 8. Способ по п. 3, характеризующийся тем, что обезличенные данные для именованных сущностей приводятся к соответствующей конфиденциальным данным морфологической форме. 8. The method according to claim 3, characterized in that anonymized data for named entities is reduced to a morphological form corresponding to confidential data. 9. Способ по п. 1, характеризующийся тем, что повторяющиеся конфиденциальные данные обезличиваются одинаковыми данными. 9. The method according to claim 1, characterized in that repeated confidential data is anonymized with the same data. 10. Система обезличивания конфиденциальных данных в текстовых документах с сохранением структуры данных, содержащая: 10. A system for depersonalizing confidential data in text documents while preserving the data structure, containing: • по меньшей мере один процессор; • at least one processor; • по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа по любому из пп. 1-9 • at least one memory coupled to the processor, which contains machine-readable instructions that, when executed by at least one processor, enable execution of the method according to any one of claims. 1-9 30 thirty
PCT/RU2022/000363 2022-12-09 2022-12-09 Method and system for anonymizing confidential data Ceased WO2024123204A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2022132305A RU2804747C1 (en) 2022-12-09 Method and system for depersonalization of confidential data
RU2022132305 2022-12-09

Publications (1)

Publication Number Publication Date
WO2024123204A1 true WO2024123204A1 (en) 2024-06-13

Family

ID=91379839

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2022/000363 Ceased WO2024123204A1 (en) 2022-12-09 2022-12-09 Method and system for anonymizing confidential data

Country Status (1)

Country Link
WO (1) WO2024123204A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386550B2 (en) * 2005-08-12 2008-06-10 Xerox Corporation Document anonymization apparatus and method
US20120131075A1 (en) * 2010-11-23 2012-05-24 Kube Partners Limited Private information storage system
RU2629445C2 (en) * 2014-12-29 2017-08-29 Российская Федерация, от имени которой выступает Федеральная служба по техническому и экспортному контролю (ФСТЭК России) Method of guaranteed depersonalization of electronic documents
RU2661327C1 (en) * 2017-10-04 2018-07-13 Общество с ограниченной ответственностью "Электронный архив" Confidentiality ensuring method during the paper documents continuous electronic processing by operator and software for its implementation
US20200334381A1 (en) * 2019-04-16 2020-10-22 3M Innovative Properties Company Systems and methods for natural pseudonymization of text
RU2754967C1 (en) * 2020-06-19 2021-09-08 Акционерное общество "Лаборатория Касперского" Method of transferring anonymous data to an untrusted party

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386550B2 (en) * 2005-08-12 2008-06-10 Xerox Corporation Document anonymization apparatus and method
US20120131075A1 (en) * 2010-11-23 2012-05-24 Kube Partners Limited Private information storage system
RU2629445C2 (en) * 2014-12-29 2017-08-29 Российская Федерация, от имени которой выступает Федеральная служба по техническому и экспортному контролю (ФСТЭК России) Method of guaranteed depersonalization of electronic documents
RU2661327C1 (en) * 2017-10-04 2018-07-13 Общество с ограниченной ответственностью "Электронный архив" Confidentiality ensuring method during the paper documents continuous electronic processing by operator and software for its implementation
US20200334381A1 (en) * 2019-04-16 2020-10-22 3M Innovative Properties Company Systems and methods for natural pseudonymization of text
RU2754967C1 (en) * 2020-06-19 2021-09-08 Акционерное общество "Лаборатория Касперского" Method of transferring anonymous data to an untrusted party

Similar Documents

Publication Publication Date Title
US12340319B2 (en) System and method for determining a structured representation of a form document utilizing multiple machine learning models
US11003796B2 (en) Artificial intelligence based document processor
CN109213870B (en) Document processing
CN107644011B (en) System and method for fine-grained medical entity extraction
US10706045B1 (en) Natural language querying of a data lake using contextualized knowledge bases
KR20210024365A (en) System and method for analysing legal documents based on artificial intelligence
US20050182736A1 (en) Method and apparatus for determining contract attributes based on language patterns
US10733675B2 (en) Accuracy and speed of automatically processing records in an automated environment
US20140212040A1 (en) Document Alteration Based on Native Text Analysis and OCR
US20230067069A1 (en) Document digitization, transformation and validation
EP4511762A1 (en) Machine learning for data anonymization
RU2755606C2 (en) Method and system for classifying data for identifying confidential information in the text
Ren et al. A novel framework for Chinese personal sensitive information detection
RU2802549C1 (en) Method and system for depersonalization of confidential data
RU2804747C1 (en) Method and system for depersonalization of confidential data
US12380150B1 (en) Secure AI-based sharing and transmission of data
WO2024123204A1 (en) Method and system for anonymizing confidential data
EA044779B1 (en) METHOD AND SYSTEM FOR DE-PERSONALIZING CONFIDENTIAL DATA
CN117312904A (en) Data classification and classification method and related products
RU2841161C1 (en) Method and system for recognizing information constituting trade secret
CN114780602A (en) Data tracing analysis method and device, computer equipment and storage medium
RU2837785C1 (en) Method and system for identifying data subject to deanonymisation in impersonal data set
RU2838508C2 (en) Method and system for detecting confidential data
WO2025188207A1 (en) Method and system for recognizing information representing a trade secret
US20250245554A1 (en) System for quality control of data by double blinded verification and a method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22967997

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22967997

Country of ref document: EP

Kind code of ref document: A1