RU2804747C1 - Method and system for depersonalization of confidential data - Google Patents

Method and system for depersonalization of confidential data Download PDF

Info

Publication number
RU2804747C1
RU2804747C1 RU2022132305A RU2022132305A RU2804747C1 RU 2804747 C1 RU2804747 C1 RU 2804747C1 RU 2022132305 A RU2022132305 A RU 2022132305A RU 2022132305 A RU2022132305 A RU 2022132305A RU 2804747 C1 RU2804747 C1 RU 2804747C1
Authority
RU
Russia
Prior art keywords
data
text
confidential
anonymized
document
Prior art date
Application number
RU2022132305A
Other languages
Russian (ru)
Inventor
Никита Григорьевич Бабак
Леонид Юрьевич Белорыбкин
Алексей Алексеевич Теренин
Анастасия Игоревна Шаброва
Original Assignee
Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Filing date
Publication date
Application filed by Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) filed Critical Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Application granted granted Critical
Publication of RU2804747C1 publication Critical patent/RU2804747C1/en

Links

Images

Abstract

FIELD: data protection.
SUBSTANCE: specifically the depersonalization of confidential data while maintaining the data structure in text documents. The method for depersonalizing confidential data in text documents while preserving the data structure comprises the following steps: receiving a document with text data; segmenting and tokenizing text data; performing token vectorization; determining whether each token belongs to the category of confidential data using a machine learning model; depersonalizing data related to tokens with confidential data while maintaining the data structure; forming a list of replacements; replacing the original confidential data in the text document with depersonalized data according to the list of replacements, and in the process of replacement, the depersonalized data is formatted in accordance with the positions of formatting changes of parts of the text.
EFFECT: providing the possibility of preserving the stylistic, semantic, lexical and morphological structure of data in text documents when depersonalizing them, increasing the accuracy of depersonalizing data in text documents by identifying confidential data in text documents using a machine learning model.
10 cl, 6 dwg, 6 tbl

Description

ОБЛАСТЬ ТЕХНИКИ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] Однако, такой подход неприменим в сферах, где требуется сохранение целостности структуры данных, таких как высокая релевантность, синтаксические и морфологические особенности данных, например, при создании AI-моделей, переводе документов подрядчиками, прототипировании аналитического приложения или витрины данных, ввиду невозможности корректного перевода и/или точного обучения модели.[4] However, this approach is not applicable in areas where it is necessary to maintain the integrity of the data structure, such as high relevance, syntactic and morphological features of data, for example, when creating AI models, translating documents by contractors, prototyping an analytical application or data mart, due to the impossibility correct translation and/or accurate model training.

[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] Данное техническое решение направлено на устранение недостатков, присущих существующим решениям, известным из уровня техники.[8] This technical solution is aimed at eliminating the disadvantages inherent in existing solutions known from the prior art.

[9] Решаемой технической проблемой в данном техническом решении является создание нового и эффективного способа обезличивания конфиденциальных данных в текстовых документах.[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] Указанные технические результаты достигаются благодаря осуществлению способа обезличивания конфиденциальных данных в текстовых документах с сохранением структуры данных, содержащий этапы, на которых:[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) получают документ, содержащий текстовые данные;a) receive a document containing text data;

b) сегментируют текстовые данные, полученные на этапе а), причем в ходе сегментации данные разбиваются по границам изменения форматирования текста на части текста, и присваивают указанным частям текста порядковую позицию в тексте;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) токенизируют текстовые данные, полученные на этапе а), и присваивают порядковые позиции в тексте каждому токену;c) tokenize the text data obtained in step a) and assign ordinal positions in the text to each token;

d) выполняют векторизацию токенов, полученных на этапе с);d) vectorize the tokens obtained in step c);

e) осуществляют обработку векторных представлений токенов, полученных на этапе d), с помощью модели машинного обучения на базе нейронной сети, обученной на наборах конфиденциальных данных, в ходе которой осуществляется определение принадлежности каждого токена к категории конфиденциальных данных;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) обезличивают данные, относящиеся к токенам с конфиденциальными данными, причем в ходе обезличивания данные заменяют на данные из той же категории с сохранением структуры данных;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) формируют список замен, включающий указания порядковых позиций токенов с конфиденциальными данными в тексте, порядковых позиций изменения границ форматирования частей текста, обезличенные данные, соответствующие конфиденциальным данным;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) заменяют исходные конфиденциальные данные в текстовом документе, на обезличенные данные по списку замен, причем в процессе замены обезличенные данные форматируют в соответствии с позициями изменения форматирования частей текста.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.

[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 - адрес, MAC - адрес.[15] In another particular example of the method, the numeric 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 that contains machine-readable instructions that, when executed by at least one processor, implement a method for de-identifying sensitive data in text documents while preserving 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 to perform 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] Термин «инструкции», используемый в этой заявке, может относиться, в общем, к программным инструкциям или программным командам, которые написаны на заданном языке программирования для осуществления конкретной функции, такой как, например, получение и обработка данных, формирование профиля пользователя, прием и передача сигналов, анализ принятых данных, идентификация пользователя и т.п.Инструкции могут быть осуществлены множеством способов, включающих в себя, например, объектно-ориентированные методы. Например, инструкции могут быть реализованы, посредством языка программирования С++, Java, Python, различных библиотек (например, "MFC"; Microsoft Foundation Classes) и т.д. Инструкции, осуществляющие процессы, описанные в этом решении, могут передаваться как по проводным, так и по беспроводным каналам передачи данных, например, Wi-Fi, Bluetooth, USB, WLAN, LAN и т.п.[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 carry out the processes described in this solution can be transmitted over both wired and wireless data channels, for example, Wi-Fi, Bluetooth, USB, WLAN, LAN, etc.

[35] На Фиг. 1 представлена блок схема способа 100 обезличивания конфиденциальных данных в текстовых документах, который раскрыт поэтапно более подробно ниже. Указанный способ 100 заключается в выполнении этапов, направленных на обработку различных цифровых данных. Обработка, как правило, выполняется с помощью системы, которая может представлять, например, сервер, компьютер, мобильное устройство, вычислительное устройство и т.д. Более подробно элементы системы раскрыты на Фиг. 6. В одном частном варианте осуществления, также может выполняться системой 400, которая более подробно раскрыта ниже.[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. The 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, текстовый документ, фотографию, оцифрованный документ, файл электронной почты и т.д.[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] Далее способ 100 переходит к этапу 120.[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, а разбивается именно по границам изменения форматирования разметки. Такой подход обеспечивает избегание нарушения стилей и дальнейшее неправильное применение стилей к обезличенным частям.[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 divided 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] Рассмотрим пример извлечения текста в соответствии с указанным этапом 120. Так, следующий текст: «Иванов Иван получил карту 4485 2911 2679 2812 в ООО «Бетта». Теперь Ивану доступны онлайн платежи, с чем его поздравил Андрей.» будет преобразован на несколько частей, разбитых по границам изменения форматирования (таблица 1). [45] Consider an example of text extraction in accordance with the specified stage 120. Thus, the following text: “Ivan Ivanov received card 4485 2911 2679 2812 at 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).

[46] Как видно из таблицы 1, символ Б является частью слова Бетта, однако имеет другой стиль форматирования, и, соответственно, вынесен в отдельную часть текста. Для специалиста в данной области техники будет очевидно, что, хотя пример приведен на основе регистра и подчеркивания символа, данный подход применим для любого изменения форматирования текста.[46] 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):

[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):

[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 step 140, each token resulting from 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, which displays the 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] На этапе 150 осуществляют обработку векторных представлений токенов, с помощью модели машинного обучения на базе нейронной сети, обученной на наборах конфиденциальных данных, в ходе которой осуществляется определение принадлежности каждого токена к категории конфиденциальных данных.[58] At step 150, the vector representations of tokens are processed 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 a category of sensitive 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 retrieval 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 миллионов токенов. Набор данных сформирован по оригинальным текстовым документам, содержащим персональные данные, сведения, составляющие банковскую и коммерческую тайну, и т.д. Обучение модели распознаванию конфиденциальных данных в текстовых документах заключалось в определении классов именованных сущностей в тексте (ФИО, номер банковской карты, номер социального страхования и т.д.). В качестве схемы для разметки данных может применятся, например, BIO/IOB-схема, 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.). The schema for data markup can be, for example, BIO/IOB schema, BILUO schema, etc., without limitation. A dataset can be represented, for example, as an ordered list of tokens separated by a separator from the named entity class, such as a space character. It is obvious to a person skilled in the art that any scheme for marking and presenting a dataset known from the prior art can be used 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):

[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, Индивидуальный номер налогоплательщика ITIN, Данные геолокации, Номер документа о браке, Номер документа об образовании, Дата, Номер трудовой книжки, Номер военного билета, Код ОКПО, 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 to subsequently identify 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 ITIN, 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 sensitive data tags 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. As discussed 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, using, 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 numeric entities (TIN, social insurance, etc.).

[75] В еще одном частном варианте осуществления, как указывалось выше, именованные сущности обезличиваются в соответствии с нужной морфологической формой для токенов, относящихся к конфиденциальным данным с помощью хранилища обезличенных данных (например, базы данных). Так, указанная база данных или словарь изначально наполнены уникальными данными в нормальной форме и сгруппированы по видам конфиденциальной информации: Имя, Фамилия, Должность и т.д.[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] Так, данные из текстового документа, приведенные в примере выше, будут заменены на следующие данные (таблица 5):[76] Thus, the data from the text document given in the example above will be replaced with the following data (Table 5):

[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 within the part of the text, the type of confidential data found, and an anonymized value. If the confidential token is represented by several parts of text, then the anonymous value is divided into the appropriate number of parts.

[83] Указанный список также может быть сформирован в системе 400.[83] The list may also be generated in the system 400.

[84] Список замен для приведенного примера будет выглядеть следующим образом(таблица 6):[84] The list of replacements for the example above will look like this (Table 6):

[85] На этапе 180 заменяют исходные конфиденциальные данные в текстовом документе, на обезличенные данные по списку замен, причем в процессе замены обезличенные данные форматируют в соответствии с позициями изменения форматирования частей текста.[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 в ООО «Гамма». Теперь Петру доступны онлайн платежи, с чем его поздравил Потап.»[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] В одном частном варианте осуществления, если выбран обратимый режим обезличивания, то, как указывалось выше, в системе 400 сохраняется таблица подстановок, например, в защищенной области памяти. В этом случае система 400 выполнена с возможностью восстановления исходных сущностей из обезличенных значений.[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 lookup table is stored in a secure memory of the system 500, for example, in a 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.

[100] На этапе 290 заменяют исходные конфиденциальные данные, на обезличенные данные по списку замен, причем в процессе замены обезличенные данные форматируют в соответствии с позициями изменения форматирования частей текста. После замены конфиденциальных данных на обезличенные, система 500 может сформировать новый текстовый документ.[100] At step 290, the original confidential data is replaced with anonymized data according to a 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. After replacing sensitive data with non-personal data, the system 500 can generate a new text document.

[101] Как было указано выше, основной особенностью обратимого обезличивания является возможность восстановления в текстовом документе исходных конфиденциальных данных. Такая потребность может возникать, например, при переводе текста за пределами организации. Так, если требуется перевести договор, содержащий конфиденциальные данные, наличие таких данных будет влиять на контекст перевода, и, соответственно, нерелевантные обезличенные данные могут привести к некорректному переводу. Кроме того, после предоставления переведенного документа, требуется восстановить исходные данные. Соответственно, в еще одном частном варианте осуществления заявленное решение раскрывает способ 300 деобезличивания данных, раскрытый более подробно на Фиг. 3[101] As stated above, the main feature of reversible anonymization is the ability to restore the 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

[102] Так, указанный способ 300 может являться обратным процессом к этапам способа 200[102] 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.

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

[105] Указанный этап 320 основан на таблице подстановок, сохраненной в процессе обезличивания документа. Так, в текстовом документе определяются все сущности, содержащиеся в таблице подстановок, например, ФИО, название организации и т.д. и для последующей замены на конфиденциальные данные, которые содержались в исходном документе. Стоит отметить, что процесс определения сущностей, подлежащих деобезличиванию может быть выполнен с помощью поиска порядковых индексов по указанной таблице подстановок.[105] 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 the 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.

[107] На указанном этапе 330 все обезличенные значения заменяют на исходные конфиденциальные данные. В ходе процесса деобезличивания стиль документа не затрагивается, что обеспечивает получение исходного документа с сохранением стиля форматирования.[107] 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.

[108] Так, например, после преобразования обезличенного документа третьими лицами, указанный документ загружают в систему 500. Т.е. получают текстовый документ, обезличенный в соответствии с этапами способа 200. Далее, на основе списка замен, хранящегося в системе, определяют в текстовом документе обезличенные данные, которые необходимо деобезличить, с помощью таблицы подстановок. После этого, осуществляют процесс замены обезличенных данных на конфиденциальные данные в соответствии с таблицей подстановок.[108] Thus, for example, after a de-identified document has been converted by third parties, said document is uploaded to 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.

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

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

[111] Так, одним из сценариев применения может являться перевод подрядчиками договоров, соглашений и других документов организации. Как было отмечено ранее, для осуществления перевода, переводчику требуется контекст и смысловое содержание данных, кроме того, при переводе также учитываются лексические и морфологические особенности текста.[111] 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.

[112] Таким образом, для реализации заявленного изобретения, документ, подлежащий переводу, загружается посредством интерфейса пользователя (например, интерфейса 501) в систему, такую как система 500. Далее, система 500 сегментирует текстовые данные, например, в соответствии с этапом 120 или этапом 220, токенизирует и векторизует исходные данные (этапы 130 и 140 или этапы 230 и 240) и выполняет обработку векторизованных токенов посредством модели машинного обучения, обученной на распознавание конфиденциальных данных (этап 150 или этап 250). Причем конфиденциальные данные распознаются по типам и категориям данных (этап 160 или этап 260). После этого, выполняется обезличивание конфиденциальных данных и формирование списка замен (этапы 170 и 180). Кроме того, если выбрано обратимое обезличивание, то в таком случае таблица подстановок дополнительно сохраняется в защищенную память системы, например, системы 500. (этапы 270 и 280). Последним этапом работы системы 500 является осуществление замены конфиденциальных данных в соответствии со списком замен в текстовом документе (этап 190 или этап 290). Как видно из представленного описания примера, указанный способ может быть выполнен и системой 400, в случае необратимого обезличивания. При этом, обезличенные конфиденциальные данные сохраняют структуру данных, а именно, стиль форматирования, морфологические, лексические и семантические особенности. Сформированный новый документ с обезличенными данными далее может быть отображен в пользовательском интерфейсе и/или выгружен в виде файла данных. Указанный файл далее может быть направлен переводчикам.[112] 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 data types and 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.

[113] Соответственно, после выполнения перевода, измененный файл данных может быть загружен в систему для замены обезличенных данных на исходные конфиденциальные данные.[113] Accordingly, once the translation has been completed, the modified data file can be loaded into the system to replace the anonymized data with the original sensitive 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 can lead to disruption of automated systems, decreased quality of information processing, and violation of standards.

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

[116] В общем случае система 600 содержит такие компоненты, как: один или более процессоров 601, по меньшей мере одну память 602, средство хранения данных 603, интерфейсы ввода/вывода 604, средство В/В 605, средство сетевого взаимодействия 606, которые объединяются посредством универсальной шины.[116] 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 the necessary machine-readable instructions contained in main memory 602.

[118] Память 602, как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.[118] Memory 602 is typically in the form of RAM and contains the necessary software logic to provide 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 может представлять удаленный сервер, встроенную защищенную память и/или защищенную область в памяти и т.д.[129] Modules 502-506 may be firmware and may be at least a server, computer, etc. that performs 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, an on-chip secure memory, and/or a secure memory area, etc.

[130] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области.[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 (22)

1. Способ обезличивания конфиденциальных данных в текстовых документах с сохранением структуры данных, содержащий этапы, на которых:1. A method for depersonalizing confidential data in text documents while preserving the data structure, containing stages in which: a) получают документ, содержащий текстовые данные;a) receive a document containing text data; b) сегментируют текстовые данные, полученные на этапе а), причем в ходе сегментации данные разбиваются по границам изменения форматирования текста на части текста, и присваивают указанным частям текста порядковую позицию в тексте;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) токенизируют текстовые данные, полученные на этапе а), и присваивают порядковые позиции в тексте каждому токену;c) tokenize the text data obtained in step a) and assign ordinal positions in the text to each token; d) выполняют векторизацию токенов, полученных на этапе с);d) vectorize the tokens obtained in step c); e) осуществляют обработку векторных представлений токенов, полученных на этапе d), с помощью модели машинного обучения на базе нейронной сети, обученной на наборах конфиденциальных данных, в ходе которой осуществляется определение принадлежности каждого токена к категории конфиденциальных данных;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) обезличивают данные, относящиеся к токенам с конфиденциальными данными, причем в ходе обезличивания данные заменяют на данные из той же категории с сохранением структуры данных;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) формируют список замен, включающий указания порядковых позиций токенов с конфиденциальными данными в тексте, порядковых позиций изменения границ форматирования частей текста, обезличенные данные, соответствующие конфиденциальным данным;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) заменяют исходные конфиденциальные данные в текстовом документе на обезличенные данные по списку замен, причем в процессе замены обезличенные данные форматируют в соответствии с позициями изменения форматирования частей текста.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: числовые сущности;numeric entities; именованные сущности.named entities. 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 the method of any one of claims to be performed. 1-9.
RU2022132305A 2022-12-09 Method and system for depersonalization of confidential data RU2804747C1 (en)

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2022133533A Division RU2802549C1 (en) 2022-12-20 Method and system for depersonalization of confidential data

Publications (1)

Publication Number Publication Date
RU2804747C1 true RU2804747C1 (en) 2023-10-04

Family

ID=

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
CN109213870B (en) Document processing
US11163837B2 (en) Extraction of information and smart annotation of relevant information within complex documents
US11003796B2 (en) Artificial intelligence based document processor
US11550810B2 (en) Systems and method for generating a structured report from unstructured data
US10558746B2 (en) Automated cognitive processing of source agnostic data
CN107644011B (en) System and method for fine-grained medical entity extraction
JP2022547750A (en) Cross-document intelligent authoring and processing assistant
US20050182736A1 (en) Method and apparatus for determining contract attributes based on language patterns
US20130226623A1 (en) Insurance claims processing
US20150032645A1 (en) Computer-implemented systems and methods of performing contract review
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
US10733675B2 (en) Accuracy and speed of automatically processing records in an automated environment
US20140212040A1 (en) Document Alteration Based on Native Text Analysis and OCR
US11321956B1 (en) Sectionizing documents based on visual and language models
US11568284B2 (en) System and method for determining a structured representation of a form document utilizing multiple machine learning models
JP2022541588A (en) A deep learning architecture for analyzing unstructured data
CN112132238A (en) Method, device, equipment and readable medium for identifying private data
Mahl et al. Noise pollution: A multi-step approach to assessing the consequences of (not) validating search terms on automated content analyses
US11899727B2 (en) Document digitization, transformation and validation
Zealand Data integration manual
KR101607672B1 (en) Apparatus and method for permutation based pattern discovery technique in unstructured clinical documents
US10754969B2 (en) Method to allow for question and answer system to dynamically return different responses based on roles
US10382440B2 (en) Method to allow for question and answer system to dynamically return different responses based on roles
RU2804747C1 (en) Method and system for depersonalization of confidential data