| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Технологии: Разные > Распознавание почтовых адресов |
| Автор: RockClimber 14.4.2008, 13:26 |
| Есть список адресов людей, хранящийся в экселе. Адрес полностью вбит в одну ячейку, причем вводил человек (кредитный инспектор банка) как на душу положит. Адрес выглядит примерно так: "Волгоградская обл., Ленинский р-н, пос. Кукуевка, ул. Маркса д.3, кв. 4". Задача: разбить адреса по ячейкам: в один столбец - индексы, в другие столбцы - названия городов, улиц, районом, номера домов и квартир и т. п. Задача осложняется тем, что 1) адрес записывает человек, 2) названия улиц и городов могут состоять из нескольких слов (например, "1-я ул. 8-го марта" - есть такая в Москве) 3) как следствие 1) и 2) - очень большое поле для искажения слов "область", "улица", "город" и их сокращений. Я написал небольшой макрос в экселе, он даже распознает все варианты, с которыми я сталкивался... Но постоянно возникает что-то новое, например, недавно попалось: "г. Самара, ул. Г. Димитрова". Здесь первое "г." означает, что дальше идет название города, а второе - это часть названия улицы. Теперь мне надо к макросу присобачить функцию, которая будет отрабатывать такие случаи. Была идея использовать для таких распознаваний нейросети, но я не знаю - будет ли там принципиальное отличие от моего макроса (т. е. не придется ли ее обучать каждому новому элементу, который от предыдущего похожего отличается одним-двумя знаками)? |
| Автор: Ch0bits 23.4.2008, 20:26 |
| Это задача несвойственная для нейросети. Тут больше распознавание по ключам с помощью нечёткого поиска. Но 100% результата никогда не добиться, а недостоверная информация как известно ничего не стоит и горе такому программисту. Самое верное решение - на корню прекратить этот бардак! Сделать строгую форму для ввода с фиксированным набором классификаторов (города, улици и т.п.) и проверкой валидности. |
| Автор: Magnifico 10.5.2008, 16:55 | ||||
| нейросеть в данных случаях мертва довольно долго на эту тему экспериментировал от конечного юзера заполняющего такие данные готовых универсальных алгоритмов нет и предсказать невозмжно
это то же сделать не удается когда база приходит из сторонних источников наладить свой алгоритм на конкретный источник от конкретного получателя, зная его потенциальные ошибки можно правда очень сложно и программа построенная по поиску синонимов должна иметь возможность обучаемости. Разбирать строку надо начиная сначала и с конца (по кол-ву букв , по ключ. словам, по вхождению цифр - вероятных индекса -номера дома- корпуса -квартиры)
опять же сранение с базой синонимов в любом случае даже хороший алгоритм даст 10% ошибок на ручную обработку |