Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

в вот тада такой вопросик есть

2.2K
21 июня 2003 года
dark_legion
16 / / 17.06.2003
Вот история такая.

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

то есть как мне сравнивать две записи на процент схожести, ну если тама отличается буква, или одна буква лишняя ?????
265
23 июня 2003 года
Gauss
975 / / 20.02.2000
Цитата:
Originally posted by dark_legion
Вот история такая.

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

то есть как мне сравнивать две записи на процент схожести, ну если тама отличается буква, или одна буква лишняя ?????


Проблема очень знакомая! В свое время в одной базе данных было обнаруженно 120 вариантов написания "Варшавское шоссе". Естественно выборка делалась вручную, простым просмотром записей, реализовать некий компьютерный алгоритм, конечно можно, но это будет на уровне исскуственного интелекта! Более простой путь создать некую базу названий городов и сравнивать введенное название с базой, а еще лучше, предложить выбрать из списка! (потому как многие города отличаются в названии на одну - две буквы, и кроме того есть города с двойными названиями, одних Новгородов целая куча: Великий, Нижний, Северский, а еще Нью-Йорк есть (это Майку) :))

2.2K
23 июня 2003 года
dark_legion
16 / / 17.06.2003
Цитата:
Originally posted by Gauss

Проблема очень знакомая! В свое время в одной базе данных было обнаруженно 120 вариантов написания "Варшавское шоссе". Естественно выборка делалась вручную, простым просмотром записей, реализовать некий компьютерный алгоритм, конечно можно, но это будет на уровне исскуственного интелекта! Более простой путь создать некую базу названий городов и сравнивать введенное название с базой, а еще лучше, предложить выбрать из списка! (потому как многие города отличаются в названии на одну - две буквы, и кроме того есть города с двойными названиями, одних Новгородов целая куча: Великий, Нижний, Северский, а еще Нью-Йорк есть (это Майку) :))



так то это так, но проблема ещё вот в чем!!!!!!

записи выглядят так
____________

г. Сатка Челябинская обл.ул.Солнечная 33

или так

456910 Челябинская обл. г.Сатка ул.Пролетарская 19

а может и так

Бердяуш ул. Профессиональная 31

или так

пос. Бердяуш ул. Березовая 7-1

или

г.Бакал Челябинская обл. ул.А Костылева 6-17
_____________

то есть такую базу создать не представляется возможным, а если и создать можно, то ты сам сказал, что это будет наподобие AI
а как это можно реализовать ещё ? вот в чем вопрос

258
23 июня 2003 года
SergeySV
1.5K / / 19.03.2003
Так ты по сути чего хочешь?
Чтобы тебе подсказали как забацать такой запрос, чтобы он отбирал все подозрительно отличающиеся на одну букву записи(адреса)?

Глядя на твои примеры - это будет сделать сложно.

Думаю, что бы хоть как-то к этой задаче подступиться, надо все таки адрес разделить на логические части, т.е. чтобы город вводили в поле -"город", улицу - в поле "улица", а не в виде одной строки все подряд, тогда вообще нереально разобраться... :(

Это вообще одно из правил при проектироавании баз данных. Если ты собираешься с этими данныи работать, то необходимо их логически (на уровнях полей) разделять, а в одну строку можно пихать только такую информацию, которая не потребует никакой сортировки и т.д. (там, комментария какие-нибудь или как часто пишут - дополнительная информация)
2.2K
23 июня 2003 года
dark_legion
16 / / 17.06.2003
Цитата:
Originally posted by SergeySV
Так ты по сути чего хочешь?
Чтобы тебе подсказали как забацать такой запрос, чтобы он отбирал все подозрительно отличающиеся на одну букву записи(адреса)?

Глядя на твои примеры - это будет сделать сложно.

Думаю, что бы хоть как-то к этой задаче подступиться, надо все таки адрес разделить на логические части, т.е. чтобы город вводили в поле -"город", улицу - в поле "улица", а не в виде одной строки все подряд, тогда вообще нереально разобраться... :(

Это вообще одно из правил при проектироавании баз данных. Если ты собираешься с этими данныи работать, то необходимо их логически (на уровнях полей) разделять, а в одну строку можно пихать только такую информацию, которая не потребует никакой сортировки и т.д. (там, комментария какие-нибудь или как часто пишут - дополнительная информация)


____________--------------------------
пасиьа
я попробую, хотя сложно будет это сделать, так как количество городов неизвестно, так как могут приходить и из тех городов, которых в базе нету, а соответственно это ещё один блок проги.
пасиба тебе за помощь , помог , потом буду обдумвать, как енто все приделать к базе :)

258
23 июня 2003 года
SergeySV
1.5K / / 19.03.2003
Попробуй...

Просто когда адрес уже структурно разбит на части, тогда уже можно и поиском очепяток в нем заняться,... я уже вижу несколько вариантов возможных запросов..
1.3K
24 июня 2003 года
IKor
116 / / 04.12.2002
Цитата:
Originally posted by SergeySV
Попробуй...

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


Господа, насколько я понимаю речь идет об Access'е. С ним я знаком мало, но в Excel'е есть следующая возможность:
- Используя проверку значения ячеек;
- Выбрать список всех известных на данный момент "городов";
- Снять галочку точное соответствие - т.е. разрешить вводить в ячейку значения не только из списка;
- Далее идея, которую на практике я не реализовывал - проверять соответствует ли списку введенное в ячейку значение и добавлять ее к списку процедурой;
- Сюда же можно встроить обработчик совпадений имен, который я бы реализовывал в полуавтоматическом режиме: т.е. машина ищет и показывает сомнительные пары имен, а человек уже принимает решение о допустимости подобного имени.

258
25 июня 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by IKor

Господа, насколько я понимаю речь идет об Access'е. С ним я знаком мало, но в Excel'е есть следующая возможность:
- Используя проверку значения ячеек;
- Выбрать список всех известных на данный момент "городов";
- Снять галочку точное соответствие - т.е. разрешить вводить в ячейку значения не только из списка;
- Далее идея, которую на практике я не реализовывал - проверять соответствует ли списку введенное в ячейку значение и добавлять ее к списку процедурой;
- Сюда же можно встроить обработчик совпадений имен, который я бы реализовывал в полуавтоматическом режиме: т.е. машина ищет и показывает сомнительные пары имен, а человек уже принимает решение о допустимости подобного имени.



Да, вариантов тут масса и в принципе совсем несложных... Тока он примеры-то привел какие - у него адрес как одна строка идет и тот же город может идти в начале, а может и в середине и т.д., вообщем как человек вбил... а с такими данными работать очень сложно... :(

1.3K
25 июня 2003 года
IKor
116 / / 04.12.2002
Цитата:
Originally posted by SergeySV


Да, вариантов тут масса и в принципе совсем несложных... Тока он примеры-то привел какие - у него адрес как одна строка идет и тот же город может идти в начале, а может и в середине и т.д., вообщем как человек вбил... а с такими данными работать очень сложно... :(


Согласен,
Речь об автоматизации процесса может идти только при условии структурной реорганизации базы данных.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог