powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нечеткий поиск с помощью SQL
7 сообщений из 7, страница 1 из 1
Нечеткий поиск с помощью SQL
    #32605216
Alammi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итак, есть задача: осуществить по большой базе т.н. нечеткий поиск. Немного теории: нечеткий поиск ( fuzzy search ) это поиск, при котором пользователь не знает что он хочет найти :) или сделал опечатку в строке. Машина же должна найти все слова, отличающиеся от запрошенного меньше чем на две буквы. Пример:
Запрос: "ТЕКСТ"
Найдено: "ТЕКСТ", "ТЕСТ", "ТЕКУТ", "ТЕКСТЫ" и т.д.
Обязательное условие: писать на Visual Basic'е.
Я уже написал саму фукнцию, которая считает минимальное количество изменений, что бы получить из одного слова другое, но не знаю каким концом ее всунуть.
З.Ы. Функция - это реализация т.н. расстояние Левенштайна, если кто интересуется.
З.З.Ы. Помогите кто чем может!!
...
Рейтинг: 0 / 0
Нечеткий поиск с помощью SQL
    #32605232
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень , очень интересно!!! Таким не занимался.
...
Рейтинг: 0 / 0
Нечеткий поиск с помощью SQL
    #32605286
ыыыы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так и искать - вытягивать все строки на клиента и вычислять расстояние :-) При размере таблицы >10000 строк будет, мягко говоря, тормозить.

Расстояние Левенштейна IMHO можно использовать только для ранжирования уже отобранного другими методами маленького списка слов.

Для нечеткого поиска в большой БД может подойти метод n-грамм, что прекрасно реализуется на уровне SQL-сервера (на VB опять-же может тормозить). А может и нет - зависит от того какого класса ошибки пользователи допускают.
...
Рейтинг: 0 / 0
Нечеткий поиск с помощью SQL
    #32605728
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В "Сокровищнице" найди ссылку на статью:
Еще раз о нечетком сравнении строк
Там есть кое-что для начала.
Первоисточник "Функция приблизительного/нечеткого сравнения строк" уже на сайте не найден. При необходимости вышлю.
...
Рейтинг: 0 / 0
Нечеткий поиск с помощью SQL
    #32607014
Alammi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вышли пожалуйста, а то тема-то вроде известная, а по сути пока мало накопал (сказывается лень). И Вот еще вопрос: как передать SQL-запрос из Visual мать его Basic'а если пользователь хочет найти символ ' (опосторф). Заранее всем спасибо за ответы
З.Ы. лучше щас отдельно темой закину последний вопрос.
...
Рейтинг: 0 / 0
Нечеткий поиск с помощью SQL
    #32623738
dvserg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сори, что влезаю немного не по теме
Нужно в базе искать нечеткие совпадения строк (ошибки набора, вариации наименований)
для быстрой работы думаю для каждой строки формировать некоторое число, основываясь на данных

код символа & позиция в строке & длина строки
или более сложное
код символа & позиция в слове & №слова & длина слова & кол-во слов & длина строки

если числа находятся +/- 85-90% - можно считать совпадением и отнести в одну группу

другие алгоритмы, что я успел посмотреть предполагают построчное сравнение - это очень долго для большой базы.

Интересует где это можно посмотреть, если такое есть, и как это называется.
Я в этой области пока не очень, поэтому и такой вопрос
...
Рейтинг: 0 / 0
Нечеткий поиск с помощью SQL
    #32624585
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ищи инфу по троичным деревьям поиска (Ternary Search Tree - TST)
есть статья на русском в которой описан алгоритм нечёткого поиска для TST
мне даже попадалась реализация этого дела на VB
начать искать можно отсюда: http://algolist.manual.ru/sort/mqs/fast_strings6.php
продожить здесь: http://itman.narod.ru/
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нечеткий поиск с помощью SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]