• iop © (30.09.16 17:22) [0]
    в строке с разделителями - элементы почтового адреса (позиционно).
    позиции могут быть смещены и в элементах могут быть орфографические ошибки.
    надо проверить адрес в строке по кладру и по возможности восстановить его.

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

    строгой формализации нет. может быть написано : москва, г москва, москва город, и т.д.
  • Rouse_ © (30.09.16 18:25) [1]
    Задача не решаема. Москва в какой стране? их таких несколько.
  • DayGaykin © (30.09.16 19:33) [2]
    Задача из разряда берешь и делаешь.

    Ищешь все слова (словосочетаний) в кладре, а потом из найденной кучи находишь связанные. Потом смотришь, что не распозналось и допиливаешь.
  • iop © (30.09.16 19:46) [3]
    строка бьется по разделителям.
    затем бьется вторично по ним же и по пробелам.
    далее в зависмости от сервера все это преобразуется в нечто пригодное для селектов.

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

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

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

    после того, как определили субъект, все остальное ограничивается лайком по маске субъекта.
    хотя конечно ньюансов остается дофигища. приходится ориентироваться на позицию слова в строке откуда оно было выдрано.
    и если область новгородская, а улица псковская, то приоритет будет у новгородской.
  • Inovet © (30.09.16 19:59) [4]
    > [3] iop ©   (30.09.16 19:46)
    > хотя конечно ньюансов остается дофигища

    Да, тяжко это делать. Хорошо что можно зацепиться хотябы за тип, или как он там в кладре зовётся. Ну никто в зравом уме не напишет
    Карла улица Маркса, будет "улица" "ул" "ул." или в начале или в конце, что уже хорошо. Я бы словарь типичных сокращений сделал и приводил их у принятым в Кладр. Наверное процентов 90 таких наименований можно распознать а там уже смотреть что это за административный объект - город, регион, район, нас пункт или улица. Потом пробовать связать это заного по Кладр, если получилось, значит считать распознанным.
  • Inovet © (30.09.16 20:10) [5]
    > [4] Inovet ©   (30.09.16 19:59)
    > город, регион, район, нас пункт или улица

    Ну и сам Кладр лучше разделить на эти таблицы, когда в куче всё - оно совсем неудобно для выборок. Кстати, в Кладр есть история старых названий - тоже пригодится для распознавания.
  • Inovet © (30.09.16 20:14) [6]
    Ещё в Кладр не совсем последовательно выборки делаются, я подзабыл немного тонкости - давно делал лет 15 назад что ли, но выборки однозначные получаются, просто по нескольким веткам алгоритма.
  • megavoid © (30.09.16 20:18) [7]
    dadata.ru ?
  • Inovet © (30.09.16 20:21) [8]
    > [7] megavoid ©   (30.09.16 20:18)
    > dadata.ru ?

    Хм. Только есть один правовой момент - обработка персональных данных.
  • megavoid © (30.09.16 20:24) [9]
    "г. Электроугли, ул. Ленина 1-2-310" - в этой строке вне контекста нет персональных данных :)
  • Inovet © (30.09.16 20:25) [10]
    > [9] megavoid ©   (30.09.16 20:24)

    А ведь действительно нет.
  • megavoid © (30.09.16 20:25) [11]
    PS есичо, я о них на хабре прочёл, отношения к ним не имею, не реклама
  • Inovet © (30.09.16 20:30) [12]
    > [9] megavoid ©   (30.09.16 20:24)
    > "г. Электроугли, ул. Ленина 1-2-310"

    А ведь вот это "1-2-310" тоже дополнительная проблемма. Придётся ещё с разными вариантами разделителей прогонять адреса, во сколько раз там время увеличится на обработку, или даже в какой степени увеличится. Но для разовой обработки оно не важно.
  • Inovet © (30.09.16 20:34) [13]
    Иной раз даже руками фиг введёшь название "улица имени маршала Рокоссовского Константина Константиновича", а в документе написано "улица Рокосовского К. К.", особенно когда в другом незнакомом городе и совсем в Омске где-нибудь.
  • Inovet © (30.09.16 20:35) [14]
    Но тут просто поиск помогает. А бывает что и не помогает, но это исключения.
  • iop © (30.09.16 20:54) [15]
    фигасе. даже апи есть. ну теперь точно доведу до ума.
  • megavoid © (30.09.16 21:18) [16]

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

    огромная проблема даже с местными, родными, адресами, люди вон аж целый сервис запилили
    а уж с адресами глобально, по всему миру, даже и человеком трудноразрешимая, а то, порой, и вовсе не ))
  • Inovet © (30.09.16 21:41) [17]
    > [16] megavoid ©   (30.09.16 21:18)

    Интересно, насколько хорошо работает сервис по твоей ссылке. Вот Иоп поробует и, надеюсь, поделится впечатлениями. Что же всем разномастные велосипеды изобретать.
  • iop © (05.10.16 11:04) [18]
    в общем сервис годный.
    я пока заюзал бесплатный вариант на подсказках (не на стандартизации)
    я кайфую, а робот правит в фоне
Есть новые Нет новых   [134431   +13][b:0][p:0.001]