Операция выполнена!
Закрыть
Хабы: Программирование

В рамках работ по "автоматизации процессов комплаенс-контроля" есть тема по поиску и фиксации совпадений по разным признакам между данными клиентов и данными "субъектов списков Росфинмониторинга" (разного рода террористы-экстремисты).

В данном случае - совпадения по адресам. Но не просто "адрес клиента равен адресу субъекта" - это было бы слишком просто, а "все уникальные элементы нормализованного адреса субъекта входят в адрес клиента" (но не наоборот). Порядок следования и наличие повторений эного элемента в адресе не играют роли.

Нормализация адреса - приведение его к верхнему регистру, удаление лишних пробелов и удаление всяких "город", "г.", "улица", "ул." и т.п. Т.е. "Российская Федерация, г.Мухосранск, ул.Коммунистический тупик, д.13, кв.666" нормализуется в "МУХОСРАНСК КОММУНИСТИЧЕСКИЙ ТУПИК 13 666". "Элементом" адреса является отдельное слово (разделенное пробелами).

Дабы облегчить себе жизнь, есть т.н. "витрины адресов" - три таблицы. В первой содержится идентификатор клиента/субъекта + идентификатор адреса (для субъектов есть еще т.н. "ключевое слово" - элемент адреса субъекта, который реже всего встречается в витрине адресов клиентов). Во второй - набор связей адрес-элемент - идентификатор адреса + идентификатор элемента + номер элемента в строке адреса. И в третьей - список элементов - элемент + идентификатор элемента. Т.о. имеем две "витрины" - адреса клиентов и адреса субъектов.

На промсреде витрина адресов клиентов содержит порядка 96млн адресов. Витрина адресов субъектов - порядка 8тыс адресов. Сравнить надо всех со всеми - 768млрд комбинаций где-то...

Читать далее
Читайте также
НОВОСТИ

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro