в вот тада такой вопросик есть
При заполнении записи в базе данных иногда происходят ошибки, ну сами понимаете, что без ошибок никак, так вот, как сделать так, чтобы отсматривать схожесть записи с прототипом(словом без ошибки). Просто сортировка происходит по названию города, а если при вводе города ошиблись одной буквой, то соответственно он так и останется неподсчитанным и неотсортированным.
то есть как мне сравнивать две записи на процент схожести, ну если тама отличается буква, или одна буква лишняя ?????
Вот история такая.
При заполнении записи в базе данных иногда происходят ошибки, ну сами понимаете, что без ошибок никак, так вот, как сделать так, чтобы отсматривать схожесть записи с прототипом(словом без ошибки). Просто сортировка происходит по названию города, а если при вводе города ошиблись одной буквой, то соответственно он так и останется неподсчитанным и неотсортированным.
то есть как мне сравнивать две записи на процент схожести, ну если тама отличается буква, или одна буква лишняя ?????
Проблема очень знакомая! В свое время в одной базе данных было обнаруженно 120 вариантов написания "Варшавское шоссе". Естественно выборка делалась вручную, простым просмотром записей, реализовать некий компьютерный алгоритм, конечно можно, но это будет на уровне исскуственного интелекта! Более простой путь создать некую базу названий городов и сравнивать введенное название с базой, а еще лучше, предложить выбрать из списка! (потому как многие города отличаются в названии на одну - две буквы, и кроме того есть города с двойными названиями, одних Новгородов целая куча: Великий, Нижний, Северский, а еще Нью-Йорк есть (это Майку) :))
Проблема очень знакомая! В свое время в одной базе данных было обнаруженно 120 вариантов написания "Варшавское шоссе". Естественно выборка делалась вручную, простым просмотром записей, реализовать некий компьютерный алгоритм, конечно можно, но это будет на уровне исскуственного интелекта! Более простой путь создать некую базу названий городов и сравнивать введенное название с базой, а еще лучше, предложить выбрать из списка! (потому как многие города отличаются в названии на одну - две буквы, и кроме того есть города с двойными названиями, одних Новгородов целая куча: Великий, Нижний, Северский, а еще Нью-Йорк есть (это Майку) :))
так то это так, но проблема ещё вот в чем!!!!!!
записи выглядят так
____________
г. Сатка Челябинская обл.ул.Солнечная 33
или так
456910 Челябинская обл. г.Сатка ул.Пролетарская 19
а может и так
Бердяуш ул. Профессиональная 31
или так
пос. Бердяуш ул. Березовая 7-1
или
г.Бакал Челябинская обл. ул.А Костылева 6-17
_____________
то есть такую базу создать не представляется возможным, а если и создать можно, то ты сам сказал, что это будет наподобие AI
а как это можно реализовать ещё ? вот в чем вопрос
Чтобы тебе подсказали как забацать такой запрос, чтобы он отбирал все подозрительно отличающиеся на одну букву записи(адреса)?
Глядя на твои примеры - это будет сделать сложно.
Думаю, что бы хоть как-то к этой задаче подступиться, надо все таки адрес разделить на логические части, т.е. чтобы город вводили в поле -"город", улицу - в поле "улица", а не в виде одной строки все подряд, тогда вообще нереально разобраться... :(
Это вообще одно из правил при проектироавании баз данных. Если ты собираешься с этими данныи работать, то необходимо их логически (на уровнях полей) разделять, а в одну строку можно пихать только такую информацию, которая не потребует никакой сортировки и т.д. (там, комментария какие-нибудь или как часто пишут - дополнительная информация)
Так ты по сути чего хочешь?
Чтобы тебе подсказали как забацать такой запрос, чтобы он отбирал все подозрительно отличающиеся на одну букву записи(адреса)?
Глядя на твои примеры - это будет сделать сложно.
Думаю, что бы хоть как-то к этой задаче подступиться, надо все таки адрес разделить на логические части, т.е. чтобы город вводили в поле -"город", улицу - в поле "улица", а не в виде одной строки все подряд, тогда вообще нереально разобраться... :(
Это вообще одно из правил при проектироавании баз данных. Если ты собираешься с этими данныи работать, то необходимо их логически (на уровнях полей) разделять, а в одну строку можно пихать только такую информацию, которая не потребует никакой сортировки и т.д. (там, комментария какие-нибудь или как часто пишут - дополнительная информация)
____________--------------------------
пасиьа
я попробую, хотя сложно будет это сделать, так как количество городов неизвестно, так как могут приходить и из тех городов, которых в базе нету, а соответственно это ещё один блок проги.
пасиба тебе за помощь , помог , потом буду обдумвать, как енто все приделать к базе :)
Просто когда адрес уже структурно разбит на части, тогда уже можно и поиском очепяток в нем заняться,... я уже вижу несколько вариантов возможных запросов..
Попробуй...
Просто когда адрес уже структурно разбит на части, тогда уже можно и поиском очепяток в нем заняться,... я уже вижу несколько вариантов возможных запросов..
Господа, насколько я понимаю речь идет об Access'е. С ним я знаком мало, но в Excel'е есть следующая возможность:
- Используя проверку значения ячеек;
- Выбрать список всех известных на данный момент "городов";
- Снять галочку точное соответствие - т.е. разрешить вводить в ячейку значения не только из списка;
- Далее идея, которую на практике я не реализовывал - проверять соответствует ли списку введенное в ячейку значение и добавлять ее к списку процедурой;
- Сюда же можно встроить обработчик совпадений имен, который я бы реализовывал в полуавтоматическом режиме: т.е. машина ищет и показывает сомнительные пары имен, а человек уже принимает решение о допустимости подобного имени.
Господа, насколько я понимаю речь идет об Access'е. С ним я знаком мало, но в Excel'е есть следующая возможность:
- Используя проверку значения ячеек;
- Выбрать список всех известных на данный момент "городов";
- Снять галочку точное соответствие - т.е. разрешить вводить в ячейку значения не только из списка;
- Далее идея, которую на практике я не реализовывал - проверять соответствует ли списку введенное в ячейку значение и добавлять ее к списку процедурой;
- Сюда же можно встроить обработчик совпадений имен, который я бы реализовывал в полуавтоматическом режиме: т.е. машина ищет и показывает сомнительные пары имен, а человек уже принимает решение о допустимости подобного имени.
Да, вариантов тут масса и в принципе совсем несложных... Тока он примеры-то привел какие - у него адрес как одна строка идет и тот же город может идти в начале, а может и в середине и т.д., вообщем как человек вбил... а с такими данными работать очень сложно... :(
Да, вариантов тут масса и в принципе совсем несложных... Тока он примеры-то привел какие - у него адрес как одна строка идет и тот же город может идти в начале, а может и в середине и т.д., вообщем как человек вбил... а с такими данными работать очень сложно... :(
Согласен,
Речь об автоматизации процесса может идти только при условии структурной реорганизации базы данных.