Как стать автором
Обновить

Комментарии 57

Согласитесь, что автоматически определить тождественность «221B Baker Street, London NW1 6XE» и «Sherlock Holmes Museum, Baker St, Westminster, Greater London NW1 6XE» — непосильная задача.

Не соглашусь, неудачный пример.
Хм… Не могу с вами согласится. Здесь скорее всего, вы говорите об этом со стороны простого человека, у которого в мозгу прокручивается достаточно много информации и поэтому вам легко определить что Музей Шерлока Холмса и Бэйкер стрит 221Б тождественны.
Я не буду сравнивать Музей Шерлоко Холмса с 221Б
используются буквенно-цифровые индексы, длиной от 5 до 7 символов, с пробелом посередине, — например, NW1 6XE для знаменитого адреса «221B Baker Street, London»;

Ищем буквенно-цифровой индекс длинной от 5 до 7 символов с пробелом посередине и сравниваем.

Иной вопрос, что задача полностью это адрес + номер ящика (получателя) или без индекса вообще.

Дело в том, что NW1 6XE — это не только музей Холмса, а ещё штук двадцать домов на той же улице.
Я бы написал,
Согласитесь, что определить тождественность delivery points (dps) для адресов «221B Baker Street, London NW1 6XE» и «Sherlock Holmes Museum, Baker St, Westminster, Greater London NW1 6XE» — непосильная задача.
Несмотря на уникальную систему индексов, барда и правда ещё тот. А всё пресловутый английский консерватизм и упрямство. Удивлён почему до сих пор не заставили всех дописывать DPS к индексу. 2 лишние буквы никого не обременят, а мороки на порядок меньше.
Почему-то посетила мысль — вот что бывает если заранее не позаботиться о структуре и информативности базы.
Да, ввели postcode не так давно (в 1959 году), чтобы не задумываться об этом.
Ну вот есть у нас в России индекс, город, улица, дом, квартира. Всем все понятно, никакой неоднозначности и «свободной структуры», а почта и даже элементарные извещения как не ходили так и не ходят :(
Может разница в приставке — «Royal» и «пролетарская» унитарное предприятие… Такое и отношение.
По-моему, это просто английская чопорность, а не royal :).
А вот мне кажется, что это ой как взаимосвязано. Если задуматься, то нафиг эта королева им сдалась? Толку от неё — ноль. Ан-нет, почему-то держатся. Стиль жизни определяет сознание и наоборот. Они конечно не фанатично преданы двору, как скажем в Таиланде, скорее с юмором, но это тоже важная черта, и без неё всё бы было по-другому.
Вовсе не везде у нас есть улицы. Кое-где вместо улиц всякие блоки, или вообще адреса типа «145-18». Или «Дом 15/2 строение 3». Или один адрес, а по нему несколько зданий.
В некоторых городах даже один дом может иметь два разных адреса. Например, г. Волжский в Волгоградской области. Там есть два способа адресации: обычный (ул. Советская, д. 21) и через микрорайоны (м/р 17, д. 35)- и это может быть один и тот же дом. Адреса взяты с потолка, для примера.
Да, кстати, у нас на угловых домах бывает два адреса. Новосибирск.
Возьмите Зеленоград — во всем городе нет улиц=)
Там же еще и корпусов по 1000:(
да это страшный сон почтальонов
Не всё так просто, есть ещё абонентские ящики, спецучреждения, воинские части, шахты...
195220 Санкт-Петербург, а/я 159
Карелия УМ-220/7 г. Сегежа
Алтайский край ИЗ-17/1 г. Барнаул
Коми К-231/1 Крутоборка
Кемеровская обл. УН-1612/43 шахта Ягуновская
в/ч 42664, город Знаменск Астраханской обл.
с ящиками всё просто — письмо остается на почте, попадает только в определенный ящик.
с учреждениями — приходит письмо в приемную (смотря кто занимается этими делами) учреждения — и далее следует внутри организации до получателя.

А извещения приходится забирать самому на почте — приносят, но кто-то обязательно в ящике покопошится :(
Я одно время жил по адресу без улицы и подъезда, да ещё и в 401 корпусе :), а сейчас живу по адресу без улицы.
Ну как, почитайте у Лебедева, есть города, где нумерация не по дому, а по подъездам (Калининград), адреса не по улицам, а по микрорайонам или жилым комплексам (вплоть до того, что житель и не знает названия своей улицы).
Привыкшим к жёстко структурированным советским почтовым адресам «город-улица-дом-квартира» может быть непонятно: зачем заморачиваться с DPS?

Единственный, на мой взгляд, и наиболее адекватный вариант работы с базой российских адресов — это сопоставление их КЛАДРом. В случае же произвольного написания адреса, никакая изначально понятная структура не поможет выявить совпадающие адреса, особенно если учесть ошибки в написании.
Вы зря, поможет. В бывшем непосредственный участник такого проекта. Очень и очень интересная тема.
Начинал работать программистом в небольшой конторке, которая реализовала похожий механизм для Почты России.

Неопределенностей в российской системе, поверьте, предостаточно. Характер этих неопределенностей от английских (ужас, простихоссподи), несомненно, отличается, но своих перлов хватает.
При мне (7 лет назад, помоему) ребята добились верности распознавания порядка 60% на наборах от 100К записей. Сейчас, насколько я слышал, уже больше 80-90%. Выше показателей добиться сложно уже алгоритмически, сажают людей.

Используются эти штуки для дедубликации записей по различным базам данных — например, в издательствах, директ-маркетинговых (тьфу три раза) агенствах, ну и, разумеется, на почте и в прочих «госструктурах» аля Сбербанк или Пенсионный фонд.

Сейчас система успешно внедрена и работает в промышленных масштабах, на ее основе строятся еще всякие приблуды, но подробности мне неведомы уже…
КЛАДР, кстати, та еще помойка:) Пока писали эту систему пинали людей, за него отвечающих, дабы самые безумные уже косяки исправлялись хотябы. Правда это давно было, может и изменилось уже чего.
Знаете, есть такая поговорка: «Безобразно, но однообразно» ;) Это про КЛАДР. Налоговая сейчас с КЛАДРом работает, по крайней мере его заставляют использовать при подготовке отчетности.

А что касается распознавания адресов, спорить не буду, если база уже есть, с ней нужно что-то делать и 60% и более — хороший результат. Главное, чтобы затраты на приобретение готовой системы или написание собственной окупались.
:) налоговые это одни из главных клиентов у них сейчас, помоему. И уже не 60%.

А баз этих стоооооолько… Начиная от 100-200 убитых енотов за 100К нерелевантных невыверенных записей, заканчивая 1-2К за 30К высококачественных узкоспециализированных. Соответственно, даже если отвлечься от «великой цели помощи госконторам», заработать на таком решении несложно.

Никогда бы не подумал, что существует такое количество тем/людей, так или иначе нуждающихся в таких системах. В свое время я сильно и долго удивлялся осознавая какое широкое поле возможностей (как технических, так и финансовых) лежит прямо перед глазами. Но, впрочем, это верно для любой области.
Если честно, написал коммент не прочитав топик до конца, может оттого он и получился неоднозначным. Идея была в том, что данные в базу вводить нужно по КЛАДРу (или по любой другой полной базе адресов, КЛАДР как пример) с поверкой. Это будет значительно дешевле ;)
Это верно только если система узкоспециальная.

Потом этот список устаревает практически ежедневно, поддерживать его постоянно в актуальном состоянии задача неподъемная (если говорим хотя бы о среднем городе с 500К жителей) совершенно однозначно.

Не совсем понял суть коммента? Тот же пресловутый КЛАДР постоянно обновляется. Накатывай обновления и порядок. Или я не о том?
Лушче бы он, мля, не обновлялся вообще. Качество и количество «левака» с обновлением возрастает незначительно, но допиливать и перепиливать систему к этим «улучшениям» приходилось долго и муторно.
понятно ;) Т. е. я правильно Вас понял, что несмотря на то, что налоговая требует использовать КЛАДР при составлении отчетности, они потом ее (отчетность) прогоняют через систему распознавания чтобы получить «правильные» адреса?
Вполне вероятно.
Я, скажем так, не уверен на 100%, что они именно по такой схеме работают, но знаю точно, что налоговая пользует вот это решение.
На каком этапе не скажу, но приведенная вами схема, хехе, совсем не противоречит тому, что я о них слышал;)

Напоминает старую историю одного айтишника, которому, работая в каком-то фонде, после изменения законодательства пришлось решать задачу срочной печати тонн отчетности за несколько лет. Налоговая ни в какую не соглашалась принимать ее в электронном виде. Были закуплены большие и дорогие принтеры, куча бумаги и все это долго печаталось. А после сдачи, к нему же обратился знакомый с просьбой помочь написать систему распознавания бумажной отчетности для налоговой. И он был сильно удивлен, когда увидел чья это отчетность…
Кстати, а что за контора не подскажите? Вдруг когда-нибудь пригодиться…
Ага, вижу комментом выше. Спасибо! ;)
Там кстати снизу ссылочка такая забавная на нечто под названием «ГНИВЦ ФНС России»:)
жжоте ;)
У них и SAAS по этому делу реализован.
Если мне память не изменяет. Намного удобней его подцепить, а не интегрировать решение.
Одно дело базу прочистить, а другое в процесс встроить
Сколько времени, приблизительно, было потрачено на решение?
Чуть больше двух недель.
Время на решение было жёстко ограничено, поэтому код и получился таким растрёпанным.
Если база продолжает пополняться, имхо, было бы разумно прикрутить распознавание на входе, чтобы сразу править ошибки и в дальнейшем уже не пришлось лопатить все что накопилось. Кстати, а большая база? В том смысле, насколько адекватен выход 60%.
Распознавание на входе тоже прикрутили :)

Адресов — десятки тысяч.
60% — это мало, но коммерческие распознаватели адресов, которые твикали годами, дают лишь около 75%, настолько всё плохо в базе :)
Как и в любой другой базе, где нет строгой проверки вводимых данных.

Я уже писал в комменте выше про КЛАДР, только это нужно сразу вводить — на этапе проектирования базы или точнее клиента для нее, т. е. не допускать ввода адреса руками. Видел реализацию в одной компании, ввод адреса мягко говоря не очень удобен, но занимает не настолько много времени, чтобы считать его неприемлемым, а профит получается несравнимо выше затрат: порядок в базе, правильные адреса при рассылке корреспонденции, правильные налоговые выплаты и т. п.
Самое интересное начинается когда разговор заходит о «примерно совпадает»… Вот тут уже тааакой простор для фантазии и для игры с весовыми коэффициентами нечеткой логики.
Имхо, самая интересная из задач при построении подобных систем.
Адрес доктор и юнисерв тоже не справились с вашей помойкой? =)

Вообще в массовом обслуживании 60-75% не результат, так как ручная обработка 5% стоит столько что процесс удорожает в разы.
Мойст кинулся вниз по лестнице, и Лорд Ветинари действительно оказался в Отделе Слепых Писем с ногами на столе, пачкой писем в руках и улыбкой на лице.

— А, Липовиг, — сказал он, взмахнув неряшливыми конвертами. — Прекрасный материал! Лучше, чем кроссворды! Мне вот этот нравится: «Песивотруши Шопротиф Авдекоря». Я внизу приписал правильный адрес.

Он передал письмо Мойсту. Там было написано «К. Вистлер, Пекарь, Свинарный Холм, дом 3».

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

Терри Пратчетт, «Making Money»

Вот это распознавание :)
Только начав читать раздел «Почтовые адреса» я понял, что речь идет не о email'ах :)
Еще хотелось бы задать вопрос про так называемую «обратную ошибку»
Не считали?
Суть примерно такая.
Система распознала адрес и говорит — Все ОК — это вот здесь.
При этом на самом деле имелось в виду совсем другое место.
Понятно что для не персонализированной рекламной рассылки это не сильно критично, а вот получить в свой ящик письмо с обращением «Уважаемая мисс Марпл..» Уже ущерб компании.

А если в письме какие то закрытые данные типа выписки со счета или еще что то — то это уже не ущерб, а судебный убыток…
Кстати, так и не увидел, как они разбираются с одинаковыми названиями улиц в одном городе.
Моя первая поездка в Лондон украсилась приключением с поиском моей гостиницы, которая располагалась на London Street — оказывается, улиц с таким названием в Лондоне две — в City of London и в City of Westminster, причём одна в самом центре, а другая — рядом с Гайд-Парком, то есть тоже не на окраине. Таксист привёз меня сначала не на ту улицу, хотя я ему сказал, что мне нужно в Paddington.
Может быть таксисты в Лондоне просто берут пример с таксистов Тайланда?;)
А что с таксистами в Таиланде?
Если не знать точный маршрут визуально (не быть в состоянии проследить насколько верно вас везут) есть очень большая вероятность проехать с таксистом расстояние, в 2-3 раза превыщающие длину оптимального маршрута.
Рекомендуют, хехе, садясь к таксисту сразу доставать GPS и без стеснения тыкать в него при малейшем сомнении в верности выбранного водителем маршрута.
Если под «как они разбираются» вы имеете в виду мой распознаватель, то объясню.
Если в адресе не указано название района, то на этапе распознавания улицы будут найдены оба варианта; затем, возможно, один из них будет отвергнут, если дом с указанным номером существует только на одной из этих улиц.
Если же такой дом существует на обеих улицах, то неверный вариант будет отвергнут позже — при сравнении найденного индекса с заданным в адресе.
Я предполагал, что Вы этот случай рассматриваете, просто не описали.
Просто к месту вспомнился казус с таксистом. Индекса у меня, понятное дело, не было, хотя и было название района.
Случай действительно к месту, а вот индексом вы зря в тот раз не поинтересовались: они для того и пишутся на табличках вместе с названием улицы, чтоб гость города мог отличить «London St, EC3R» от «London St, W2»
Жил в лондоне. Дом был разделен на 2 квартиры, подвал и первый этаж 15A. Наш второй этаж 15B. Постоянно ходили за почтой к соседям снизу т.к. 15B — почтальоны идентифицировали как 15 basement хотя на дверях было указано (почтовые ящики — отверстие в двери..)

Хотя с другой стороные такой продуманой и понятной структуры транспорта, как в Лондоне я нигде больше не втсречал… Так, что несмотря на консервативность есть там вещи сильно упрощающие жизнь…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории