Python и нечеткое сопоставление: решение проблемы разнобоя в адресах
Иногда приходится заниматься сравнением больших списков адресов, в которых адреса записаны совершенно по разному без внятных идентификаторов вроде номера объекта - есть только адрес. Один и тот же адрес может фигурировать в различных списках следующим образом:
???? "д. Малое Шилово, ул. Березовая, д. 7" и "Березовая 7_М Шилово".
???? "п. Ласьва, ул. Весенняя, д. 5" и "Весенняя 5_Ласьва".
???? "Луговой пер 5, Краснокамск г" и "г. Краснокамск, пер. Луговой, 5".
???? "д. Новая Ивановка, ул. Солнечная, 18" и "д.Новая Ивановка, ул.Солнечная, 18".
Уже выделенные отдельно адреса могут выглядеть как на скриншоте Экселя. А пример поставленной задачи может звучать так: «В реестре поданных объектов отметить все согласованные объекты (из общего списка согласованных)».
Если отбросить вариант ручного исполнения и обратиться к скриптам, то мне видится всего два решения:
✅ Использовать алгоритмы нечёткого сопоставления.
✅ Использовать геокодинг адресов.