- •Аннотация
- •Введение
- •Понятие нечеткого поиска и
- •1.1 Четкий и нечеткий поиск: базовые различия
- •1.2 Типичные ошибки ввода данных
- •Области применения нечеткого поиска
- •2. Алгоритмы оценки схожести строк
- •2.1. Расстояние Левенштейна: первый математический метод
- •2.2 Модификация Дамерау-Левенштейна: учет перестановок
- •2.3 Фонетические алгоритмы: Soundex и Mataphone
- •2.4 Метод n-грамм и его роль в индексации
- •Практическое применение нечеткого поиска
- •Нечеткий поиск в поисковых системах
- •3.2 Использование в интернет магазинах и базах данных
- •3.3 Современные тенденции: нейросети и семантический поиск
- •Заключение
- •Список использованных источников
Введение
С момента появления первых информационных систем прошло несколько десятилетий, и за это время точный поиск по жесткому совпадению символов уступил место более гибким механизмам. Человек неизбежно допускает ошибки при вводе данных: опечатки, пропуски, замены и перестановки символов, неправильная раскладка клавиатуры. Без учета этих искажений информационная система становится бесполезной при малейшей неточности запроса. Именно поэтому нечеткий поиск превратился из теоретической задачи в практически востребованную технологию.
Рис. 1. Владимир Иосифович Левенштейн (20 мая 1935 года — 6 сентября 2017 года) — советский и российский математик, доктор физико-математических наук.
Первые алгоритмы оценки схожести строк появились в 1960-х годах - советский математик Владимир Левенштейн предложил метод, позволяющий количественно измерять разницу между двумя строками. Позднее были разработаны фонетические алгоритмы (Soundex, Metaphone), учитывающие звучание слов, а затем — методы индексации на основе n-грамм, сделавшие нечеткий поиск достаточно быстрым для реальных систем.
Сегодня нечеткий поиск применяется в нескольких ключевых направлениях: поисковые системы общего назначения с функцией «возможно, вы имели в виду», интернет-магазины, обрабатывающие запросы с опечатками, банковские и медицинские информационные системы, где важна идентификация клиентов даже при неточном вводе фамилии. Следствием внедрения этих технологий стало радикальное повышение удобства работы пользователей, снижение числа неудачных поисковых запросов и рост эффективности информационных систем в целом.
Понятие нечеткого поиска и
ПРЕДПОСЫЛКИ ЕГО ВОЗНИКНОВЕНИЯ
В информатике, приближённое соответствие строк (также называемый нечётким поиском) — техника нахождения строк, которые приблизительно соответствуют шаблону (но не точно). Задача нахождения приближённого соответствия строк обычно делится на две подзадачи: нахождение приближённых совпадений подстрок внутри данной строки и нахождение словаря строк, которые приблизительно соответствуют шаблону.
Потребность в таком поиске возникла задолго до появления компьютеров: ещё в XIX веке библиотекари и архивисты сталкивались с тем, что одна и та же фамилия в разных документах могла быть записана по-разному из-за ошибок переписчиков. С развитием электронных вычислительных машин в середине XX века проблема только обострилась - ранние компьютеры требовали абсолютной точности ввода, что было нереалистично для обычного человека. В 1965 году советский математик Владимир Левенштейн, работая над задачами теории кодирования, предложил математический аппарат для измерения различий между строками, что заложило фундамент для всей последующей технологии. В данной главе рассматриваются базовые определения нечеткого поиска, его отличие от точного поиска, классификация типичных ошибок пользователей, а также основные области применения этой технологии в современных информационных системах.
