Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2018.12.23;
Скачать: CL | DM;

Вниз

задачка   Найти похожие ветки 

 
iop ©   (2016-09-30 17:22) [0]

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

например если там все верно, но почтовый индекс не тот,  то восстановить верный индекс по кладру.

строгой формализации нет. может быть написано : москва, г москва, москва город, и т.д.


 
Rouse_ ©   (2016-09-30 18:25) [1]

Задача не решаема. Москва в какой стране? их таких несколько.


 
DayGaykin ©   (2016-09-30 19:33) [2]

Задача из разряда берешь и делаешь.

Ищешь все слова (словосочетаний) в кладре, а потом из найденной кучи находишь связанные. Потом смотришь, что не распозналось и допиливаешь.


 
iop ©   (2016-09-30 19:46) [3]

строка бьется по разделителям.
затем бьется вторично по ним же и по пробелам.
далее в зависмости от сервера все это преобразуется в нечто пригодное для селектов.

дальше делается объединение с субъектами рф, и населенными пунктами по именам.
дробление по пробелам и не по пробелам позволяет не парится над случаями :

"Карла Маркса", "ул. Карла Маркса".... и т.д.
так как в структуре оказываются строки :

Карла Маркса
ул.
Карла
Маркса

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


 
Inovet ©   (2016-09-30 19:59) [4]

> [3] iop ©   (30.09.16 19:46)
> хотя конечно ньюансов остается дофигища

Да, тяжко это делать. Хорошо что можно зацепиться хотябы за тип, или как он там в кладре зовётся. Ну никто в зравом уме не напишет
Карла улица Маркса, будет "улица" "ул" "ул." или в начале или в конце, что уже хорошо. Я бы словарь типичных сокращений сделал и приводил их у принятым в Кладр. Наверное процентов 90 таких наименований можно распознать а там уже смотреть что это за административный объект - город, регион, район, нас пункт или улица. Потом пробовать связать это заного по Кладр, если получилось, значит считать распознанным.


 
Inovet ©   (2016-09-30 20:10) [5]

> [4] Inovet ©   (30.09.16 19:59)
> город, регион, район, нас пункт или улица

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


 
Inovet ©   (2016-09-30 20:14) [6]

Ещё в Кладр не совсем последовательно выборки делаются, я подзабыл немного тонкости - давно делал лет 15 назад что ли, но выборки однозначные получаются, просто по нескольким веткам алгоритма.


 
megavoid ©   (2016-09-30 20:18) [7]

dadata.ru ?


 
Inovet ©   (2016-09-30 20:21) [8]

> [7] megavoid ©   (30.09.16 20:18)
> dadata.ru ?

Хм. Только есть один правовой момент - обработка персональных данных.


 
megavoid ©   (2016-09-30 20:24) [9]

"г. Электроугли, ул. Ленина 1-2-310" - в этой строке вне контекста нет персональных данных :)


 
Inovet ©   (2016-09-30 20:25) [10]

> [9] megavoid ©   (30.09.16 20:24)

А ведь действительно нет.


 
megavoid ©   (2016-09-30 20:25) [11]

PS есичо, я о них на хабре прочёл, отношения к ним не имею, не реклама


 
Inovet ©   (2016-09-30 20:30) [12]

> [9] megavoid ©   (30.09.16 20:24)
> "г. Электроугли, ул. Ленина 1-2-310"

А ведь вот это "1-2-310" тоже дополнительная проблемма. Придётся ещё с разными вариантами разделителей прогонять адреса, во сколько раз там время увеличится на обработку, или даже в какой степени увеличится. Но для разовой обработки оно не важно.


 
Inovet ©   (2016-09-30 20:34) [13]

Иной раз даже руками фиг введёшь название "улица имени маршала Рокоссовского Константина Константиновича", а в документе написано "улица Рокосовского К. К.", особенно когда в другом незнакомом городе и совсем в Омске где-нибудь.


 
Inovet ©   (2016-09-30 20:35) [14]

Но тут просто поиск помогает. А бывает что и не помогает, но это исключения.


 
iop ©   (2016-09-30 20:54) [15]

фигасе. даже апи есть. ну теперь точно доведу до ума.


 
megavoid ©   (2016-09-30 21:18) [16]


> А ведь вот это "1-2-310" тоже дополнительная проблемма.

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


 
Inovet ©   (2016-09-30 21:41) [17]

> [16] megavoid ©   (30.09.16 21:18)

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


 
iop ©   (2016-10-05 11:04) [18]

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



Страницы: 1 вся ветка

Текущий архив: 2018.12.23;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.005 c
2-1474431273
glazkov
2016-09-21 07:14
2018.12.23
TreeView


2-1475106928
Arthur
2016-09-29 02:55
2018.12.23
чтение из файла и запись


6-1286616123
Ref
2010-10-09 13:22
2018.12.23
WebBrowser Парсер


2-1472129362
jcl
2016-08-25 15:49
2018.12.23
Помогите разобраться с потоками в сервисе


2-1476258939
Алекс Серов
2016-10-12 10:55
2018.12.23
Delphi 2010, вкладка InterBase