Хабрахабр

Как посчитать «похожесть» номеров в паспортах. И найти одинаковые даже с опечатками

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

На ручной разбор из-за опечатки в номере уходили даже те карточки, у которых совпадали ФИО и адреса́ проживания. Раньше мы сравнивали номера документов строго: одинаковые — отлично, нет — извините. Такой подход излишне нагружал персонал заказчиков.

Рассказываю, как работает алгоритм.
Поэтому мы с головой залезли в данные, изучили статистику и вывели критерии — когда разные номера действительно разные, а когда дело в опечатках.

Ввели коэффициент «похожести» номеров

Делить номера паспортов и прочих документов на «совпадают-не совпадают» — слишком грубое решение. Можно действовать тоньше и отлавливать простые ошибки.

Допустим, в компании работают такие правила поиска дубликатов (ДУЛ — документ, удостоверяющий личность):

  • «Полностью совпали ФИО, адрес и ДУЛ» — коэффициент дублирования — 100;
  • «Полностью совпали ФИО и ДУЛ» — 97;
  • «Полностью совпали ФИО и адрес» — 95
  • «Полностью совпали ФИО» — 80.

Автоматика объединяет карточки с коэффициентом выше 97. Остальное когда-нибудь разберут руками специальные люди — дата-стюарды. Если повезет и дойдет очередь.

Даже те карточки, у которых ФИО и адреса совпадают, а номера паспортов отличаются распространенной опечаткой. Итог — в очереди на ручной разбор лежат вполне очевидные дубли. Как в случае с 46 01 859473 и 45 01 859473 (клавиши 6 и 5 находятся рядом, их часто путают.) Дата-стюарды отвлекаются на простые опечатки, а реальные дубли выявляются медленнее.

Заказчики уже используют новый параметр в правилах автоматического объединения дублей. Посмотрев на происходящее, мы научили свои продукты считать «похожесть» номеров в документах.

Считаем «похожесть» по четким правилам

Сравнивая документы, алгоритм первым делом чистит номера от мусора. Оставляет только буквы и цифры: A—Z, А—ЯЁ, 0–9. А дальше начинается магия, ради которой я написал эту статью — расчет коэффициента «похожести».

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

А теперь — к правилам расчета.

«Похожесть» берем параметром, когда ищем одинаковых клиентов

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

При интеграции мы корректируем сценарии поиска дубликатов так, чтобы учитывать «похожесть» номеров в документах.

Вернемся к типичным правилам поиска дубликатов, я описал их в начале:

  • «Полностью совпали ФИО, адрес и ДУЛ» — коэффициент дублирования — 100;
  • «Полностью совпали ФИО и ДУЛ» — 97;
  • «Полностью совпали ФИО и адрес» — 95
  • «Полностью совпали ФИО» — 80.

Встраивая новые правила сравнения номеров, мы меняем сценарии поиска дублей у заказчика:

  • «Полностью совпали ФИО, адрес, ДУЛ» — 100;
  • «Полностью совпали ФИО, адрес, ДУЛ совпали на 90 и выше» — 98;
  • «Полностью совпали ФИО и ДУЛ» — 97;
  • «Полностью совпали ФИО и адрес» — 95;
  • «Полностью совпали ФИО» — 80.

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

Статья впервые вышла в блоге HFLabs.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть