API для верификации физического адреса пользователя?

@tolmachinski

Пришел таск на верификацию физических адресов пользователей. Необходимо подобрать сервис для этого. Сервис должен определять существует ли такой адрес физически или нет. Делать это по «улица, дом, город, страна || зип код».

Проблема в том, что не каждый подходит для нужд. Дело в том, что гугл апи дает список похожих адресов по запросу, в то время, как по моим данным я хочу получить true/false и если true,то дать полную инфу о найденном адресе, а USPS и подобные слишком узконаправленные и не имеют достаточное кол-во адресов для worldwide.

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


Ответы на вопрос:

@dimonchik2013
задача в общем случае не решается вообще и в случае worldwide в частности..
зип поможет в США и UK, выстройте систему по похожести и вероятностным коэфф
для разминки возьмите улицы Максима Горького на Кипре например и Жаботинского в Израиле, а так да — Гугл и почтовые максимально близки + локально-региональные товарищи, например, из dadata или 2gis

@tolmachinski
dimonchik2013, честно говоря, я бы уже взял гугл, но (возможно я просто не шарю) его проблема именно в том, что он даже при фейковом адресе вернет похожие, а это никуда не годится. в остальном он неплох и для worlwide подойдет.
может есть возможность сделать так, чтоб он не давал списки похожих, а вернул условный false?

@Voland69
tolmachinski, а если сравнить запрошенный и похожие? Если запрошенный не похож ни на один из предложенных, то ваш код возвращает false.

@tolmachinski
Voland69, имеешь в виду, что список можно распарсить и сравнить с запросом?
но тогда надо играться с парсером.
адрес пользователя: Strada Alexandru Vlahuță 16, Cluj-Napoca 400394, România
а в запросе он указал: str. Alexandru Vlahuta 16, Romania
гугл понимает, что это один адрес и вернет адрес пользователя, но когда я буду сравнивать его с запросом я получу false на существующий адрес.
и как быть?)

@Voland69
tolmachinski, да, парсить и вводить метрики для сравнения. метрики считается адрес тем же, но в другом порядке, без национальных символов и т.п. или похожим на фейковый нерелевантным придется составлять самому.
к примеру для цифр (номер дома, квартиры) сравниваем строго, для названий применяем Расстояние Левенштейна, или задаем правила сравнения что â == a == ă

@tolmachinski
Voland69, допустим. а что делать с сокращениями, фейковыми зипами, отсутствиями городов, стран?
а так же: улица мира 10, она же strada pacii 10, peace street 10 и прочее (не так много языков знаю).

@sHinE
У гугла в ответе есть параметр partial_match у каждого адреса в ответе, судя по названию, он может содержать — нашёл гугл искомый адрес или что-то похожее.

@firedragon
смотрите для России ближайший аналог это фиас.
сложность разработки 2-3 месяца. Теже входные для других стран. За украину я бы вообще не брался…

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

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