Поиск:

Ответ в темуСоздание новой темы Создание опроса
> анализ строки адреса 
:(
    Опции темы
dinaria
Дата 1.7.2011, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.7.2011

Репутация: нет
Всего: нет



Здравствуйте, нужно решить программно следующую задачу:
1) есть база плательщиков с адресами; единообразного заполения адреса нет, т.е. адрес может быть написан по-разному
пример:Вышний Волочек,г.Вышний Волочек,КОТОВСКОГО,44 ;
    
2) мне нужно адресную строку разбить на следующие составляющие:район, населенный пункт, 
населенный пункт второго уровня,улица, дом, квартира;и загнать все это в dbf таблицу  в соответствующими полями)

в адресе всегда есть район, населенный пункт и дом, а населенный пункт второго уровня, 
улица и квартира могут отсутствовать)

мне бы алгоритм, который бы все это делал)может кто-нибудь уже сталкивался с такой задачей)
поделитесь опытом, пожалуйста)
PM MAIL   Вверх
nworm
Дата 1.7.2011, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: 4
Всего: 8



Это обычно вручную делают, если нужно точности достичь. Робот всё равно хоть раз да ошибётся.

Причина - ошибки при вводе данных. 
Пожалуй лучший пример, Комск вместо толи Томск, толи Омск. 
И дальше надо по улицам и домам выверять. 
Роботы это в настоящее время не делают.

Можно делать полуавтоматические системы с апрувингом.
То есть после работы программы модератор всё проверяет.

Дальше смотрите, какие разделители в тексте, обращаете внимание на Индекс (самое, видимо, хорошее поле).
Ну и заносите всё в свою базу данных.


PM MAIL WWW   Вверх
dinaria
Дата 1.7.2011, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.7.2011

Репутация: нет
Всего: нет



Спасибо за ответ)скорее всего буду делать нормализацию адресов)
PM MAIL   Вверх
_Y_
Дата 4.7.2011, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Я делал нечто подобное для списков научных журналов: названия, годы издания, издатель, адрес издателя. Получился полуавтомат с немаленькой базой данных. Работал примерно так.
  • Отсканированный текст разделялся по очевидным разделителям - у меня это были запятые, точки, точки с запятыми.
  • Каждый блок анализировался на структуру. Т.е. к каждому блоку прикладывался каждый шаблон. Например, если говорим о почтовом индексе, то содержащий его блок должен парситься в 6-значное целое число. Т.е. каждый блок пробуетя не получится из него 6-значное число. Ну и т.п.
  • Если поле удавалось проидентифицировать, например, как название журнала, оно сравнивалось и имеющимся в базе списком названий.
  • Если такого журнала не было - вылезало окошко спрашивающее новый ли это журнал или синоним уже имеющегося (например "Журнал Физической Химии" и "ЖФХ" это одно и то же). База, естественно имела и список синонимов. После запроса ответ запоминался в базе.
Таким образом после сотни-другой выскочивших окошек, база уже с большинством случаев справлялась сама.

В Вашем случае есть проблема. У меня адресов было не так уж и много - сколько издательств столько и адресов. У вас же названий улиц может быть ну ооочень много.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0930 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.