Очистка данных с помощью обработчика «Дубликаты и противоречия»

13 марта 2023
0 комментариев

Качество данных — важный аспект, напрямую влияющий на результаты аналитической обработки. Существует множество причин, которые приводят к загрязнению информации. Типичной проблемой является возникновение повторяющихся записей. В статье рассмотрим применение обработчика «Дубликаты и противоречия» для быстрого поиска записей с полностью или частично совпадающими полями.

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

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

Работа с противоречиями менее однозначна. В зависимости от обрабатываемой информации они могут восприниматься и как ошибки, и как реальные данные.

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

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

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

Ниже представлен сценарий Loginom, который осуществляет поиск и удаление дубликатов записей о кредитных клиентах банка.

Сценарий Loginom

В таблице ниже представлены ФИО, уникальный идентификатор клиента и сумма его кредита в рублях.

ИдентификаторФамилияИмяОтчествоКредит, руб.
105441АбдуловИванМихайлович245784,51
105442БорисовЮрийИванович35435,5
105442БорисовЮрийИванович35435,5
105443ВолынкинИльяОлегович75120,48
105444ГолыгинТимурСергеевич354354,65
105445ДороховОлегПетрович6743,45
105445ДороховОлегПетрович6743,45
105446ДороховОлегПетрович41425,47
105447ЕкимоваОльгаЕгоровна54213,54
105448ЕкимоваОльгаЕгоровна75531,48
105449ЖелезноваИринаЮрьевна57841,7
105450ЗолотовИльяАркадьевич3453,64
105451ИгнатовСергейВалерьевич53434,84
105451ИгнатовСергейВалерьевич53434,84
105452КостомаровАндрейГеннадьевич57547,75
105453ЛазоревИванСергеевич354394,15
105454МатийченкоЮлияИвановна24423,15
105455НосовПетрВасильевич68745,3
105456ОрловИльяИванович58574,74

Произведем анализ информации о заемщиках с целью очистки данных от дубликатов записей.

Поиск дубликатов и противоречий

В Loginom создан специализированный обработчик «Дубликаты и противоречия» для поиска полных и частичных копий записей. Перенесем его на область построения сценария, подав на входной порт исходные данные.

Настройка самого узла максимально простая, достаточно присвоить каждому из входных столбцов одно из трёх значений:

  • Не задано. Устанавливается по умолчанию. Колонки сравнении участвовать не будут.
  • Входное. Записи с идентичными значениями данных полей будут сравниваться по выходным полям.
  • Выходное. Значения, указанные в данных полях, будут сравниваться у записей, имеющих одинаковое содержание входных полей. В случае совпадения, записи будут отнесены к дубликатам, а при расхождении – противоречиям.

Настройка входных столбцов обработчика «Дубликаты и противоречия»

Важно обязательно установить значение «Входное» хотя бы для одной колонки. В противном случае, система сообщит об ошибке: «Не указаны столбцы для обработки».

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

Визуализатор

Для отображения результатов исследования предусмотрен специальный визуализатор, который доступен только в данном обработчике и носит одноименное название. На правой панели необходимо выбрать визуализатор «Дубликаты и противоречия». Далее нажать «Добавить визуализатор» в блоке «Компонент».

Визуализатор «Дубликаты и противоречия»

В визуализаторе к исходной таблице по умолчанию добавляются два столбца: «Группа дубликата» и «Группа противоречия», где каждой серии присваивается порядковый номер, начиная с 1. В случае, если совпадения не найдены, поля остаются пустыми. Кроме того, доступна настройка отображения столбцов «Дубликат» и «Противоречие» со значениями «Истина»/«Ложь».

В полученной таблице визуализатора каждая запись относится к одному из четырех типов.

  1. Желтый цвет Дубликаты. Полностью совпадают входные и выходные поля. Обозначаются желтым цветом.
  2. Персиковый цвет Противоречия. Совпадают только входные поля. Выходные отличаются друг от друга. Строки выделяются персиковым цветом.
  3. Розовый цвет Дубликаты и противоречия. Записи одновременно относятся к двум категориям. Причем порядковый номер групп может не совпадать. Обозначаются розовым цветом.
  4. Уникальные записи. Отсутствуют совпадения входных полей. Данные строки не выделяются.

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

Кроме того, в таблице присутствуют две группы противоречий. К первой из них относятся три записи, две из которых имеют одинаковое значение выходного поля «ID» — 105445 — и являются копиями друг друга. Работа с ними будет производиться как с дубликатами. Противоречие в данном случае задается записью со значением поля «ID» — 105446. Сумма кредита отличается от предыдущих записей. Это говорит о том, что два человека с полностью совпадающими фамилиями, именами и отчествами взяли кредиты в этом банке. Во второй группе противоречий наблюдается аналогичная ситуация. Поэтому обработка противоречий в данном случае производиться не будет.

Удаление дубликатов

Для очистки данных необходимо сначала отсортировать записи, которые помечены как дубликаты. Воспользуемся обработчиком «Фильтр строк».

Настройки фильтра строк

На первом выходном порте сформируется таблица со всеми дубликатами, а на втором — с остальными записями. Далее объединим копии записей с помощью узла «Группировка». В настройках в качестве поля группировки необходимо задать «Группа дубликата», а все остальные поля перенести в «Показатели». Для того, чтобы значения полей не изменялись, выберем вид агрегации «Первый».

Группировка в Loginom

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

Объединение в Loginom

После выполнения узла «Объединение» на его выходном порте сформируется очищенная от дубликатов таблица.

Очищенная от дубликатов таблица

Автоматизированная очистка данных в Loginom

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

Обилие таких записей приводит к массе негативных последствий:

  • Повышение затрат на хранение информации. Копии занимают дисковое пространство, которое рано или поздно приходится докупать физически или в облаке.
  • Выполнение избыточных операций. Действия с данными будут производиться сколько раз, сколько их копий будет содержаться в массиве. Кроме того, на их выполнение будут расходоваться дополнительные ресурсы.
  • Построение некорректных моделей. Модель, созданная на основе обучающего множества, содержащего дубликаты и противоречия, будет давать искаженный результат.
  • Сложность принятия управленческих решений. Загрязненные данные не отображают реальную картину на предприятии.

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

С помощью обработчика «Дубликаты и противоречия» Loginom позволяет быстро находить в большом массиве данных копии записей, а применив остальной функционал платформы — производить очистку данных.

Другие материалы по теме:

Очистка данных. Кейс медицинской лаборатории Инвитро

Очистка данных перед загрузкой в хранилище

Курс Loginom Skills «Стандартизация и очистка НСИ»

Смотрите также