Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2018.12.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.002 c
15-1475743983
KSergey
2016-10-06 11:53
2018.12.23
GitHub Desktop для WinXP


8-1246160987
ormada
2009-06-28 07:49
2018.12.23
разрезать видео файл


15-1475791274
Германн
2016-10-07 01:01
2018.12.23
Светлая память Анатолию Подгорецкому!


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


4-1290160827
Boatswain
2010-11-19 13:00
2018.12.23
Кат узнать флэшка или кард-ридер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский