Деидентификация - это процесс, используемый для предотвращения связи личности человека с информацией. Этот пост посвящен распознаванию сущностей из неструктурированных данных и деидентификации их. Данные чата являются хорошим примером неструктурированных данных, и деидентификация в этом контексте будет означать идентификацию и удаление имен, занятий и адресов из текстовых разговоров.

В чем разница между структурированными и неструктурированными данными?

Структурированные данные - это данные, которые были организованы в форматированный репозиторий, обычно в базу данных, так что его элементы можно сделать адресуемыми для более эффективной обработки и анализа. На рисунке 1 показана иллюстрация структурированных данных.

Пример: имена, даты, адреса, номера кредитных карт, информация об акциях, геолокация и т. д.

Неструктурированные данные чаще всего относятся к категории качественных данных, и их нельзя обрабатывать и анализировать с помощью обычных инструментов и методов.

Пример: Текст, видео, аудио, активность на мобильных устройствах, в социальных сетях, изображения наблюдения - список можно продолжать до бесконечности.

Для структурированных данных мы можем легко деидентифицировать столбцы, которые содержат личную информацию. Но для неструктурированных данных будет сложно идентифицировать информацию, содержащую личные данные.

Деидентификация неструктурированных данных:

Задача автоматического деидентификации относится к разделу «Распознавание сущности имени» (NER). Деидентификацию можно разбить на следующие три категории:

  1. Системы, основанные на правилах
  2. Системы машинного обучения
  3. Системы глубокого обучения

1. Системы, основанные на правилах:

Системы на основе правил широко используют сопоставление с образцом, такое как словари (или географические справочники), регулярные выражения и другие образцы. Требуется обширная модификация правил для повышения точности и недостаточная надежность. Что особенно важно, эти системы не могут обрабатывать контекст, который может сделать медицинский текст нечитаемым.

2. Системы машинного обучения:

Чтобы решить проблему недостаточной надежности систем, основанных на правилах, исследователи обратились к подходам, основанным на машинном обучении. Эти методы принимают предложение в качестве входных данных и предсказывают классы для каждого слова в предложении. Опорные векторные машины (SVM), условные случайные поля (CRF) и модели случайного леса - вот некоторые из наиболее часто используемых алгоритмов.

Недостатком систем на основе машинного обучения является то, что большинство алгоритмов увеличивают вероятность предсказаний, редкие закономерности не могут быть предсказаны должным образом, поскольку классификация является задачей обучения с учителем. Он также в значительной степени полагается на проектирование функций для прогнозирования, и эти методы не настолько надежны, что точность теста будет выше, но они не работают должным образом для другого типа набора данных.

3. Системы глубокого обучения:

Принимая во внимание недостатки обоих подходов к созданию системы деидентификации, современные системы используют методы глубокого обучения для достижения лучших результатов, чем системы машинного обучения, при этом не требуя трудоемкого процесса функции. инженерное дело. Глубокое обучение - это подмножество машинного обучения, которое использует несколько уровней искусственных нейронных сетей (ИНС), что очень успешно справляется с большинством задач обработки естественного языка (НЛП). Последние достижения в области глубокого обучения и НЛП, особенно в отношении распознавания именованных сущностей, позволили системам достичь лучших результатов.

Подготовка вводного предложения для деидентификации:

На рисунке 2 показан процесс подготовки входных предложений для деидентификации. Предложение проходит через блок препроцессора, который делит любое введенное предложение на слова и удаляет стоп-слова и знаки препинания.

Затем блок Tagger дает части речи (POS) и заглавный тег (независимо от того, является ли 1-й символ заглавным или нет) каждому слову.

Выходные данные блока Tagger проходят через Word2Vec, который преобразует заданное слово в вектор на основе выбранного корпуса, который предварительно обучен. Например, для этой задачи можно использовать Glove corpus.

Параллельно вывод из блока Tagger проходит через One-Hot Encoding, который преобразует заданные метки (во время обучения) в одноразовые кодировки.

Наконец, обработанные выходные данные проходят через архитектуру глубокого обучения.

Архитектура глубокого обучения:

Важной частью архитектуры является двунаправленный уровень LSTM. Слой двунаправленного LSTM состоит из двух слоев LSTM, которые являются вариантом двунаправленных RNN. Короче говоря, уровень Bi-LSTM содержит два независимых LSTM, в которых одна сеть получает вход в нормальном направлении времени, а другая сеть получает вход в обратном направлении времени. Это позволяет модели обнаруживать больше закономерностей по мере увеличения количества входной информации. Другими словами, модель рассматривает не только последовательность токенов после интересующего токена, но также до интересующего токена. Выходы двух сетей были объединены конкатенацией.

Примеры:

Дальнейшие улучшения:

Архитектура, показанная на рисунке 3, может быть дополнительно улучшена путем включения модулей CNN или CRF перед уровнем прогнозирования для получения современных результатов (https://arxiv.org/pdf/1810.01570.pdf).