Алгоритмы документального поиска




· Полнотекстовое сканирование

· Файлы сигнатур

· Инверсия

· Кластеризация

· Обработка естественного языка (NLP)

· Латентно-семантическое индексирование (LSI)

Полнотекстовое сканирование

· Заключается в поиске всех документов, содержащих искомую строку, представляющую собой последовательность символов.

· В случае запросов, содержащих булевское выражение из нескольких строк, требуется дополнительная проверка терминов, найденных при поиске строк, на соответствие булевскому выражению.

Простейший вариант алгоритма включается в себя шаги:

· Посимвольное сравнение искомой строки с соответствующими символами документа.

· В случае несовпадения выполняется сдвиг искомой строки относительно документа вправо на одну позицию

· Цикл повторяется до тех пор пока либо не будет найдена в какой-либо позиции документа искомая строка, либо не будет достигнут конец документа.

§ При всей простоте данный вариант алгоритма является очень медленным. Количество необходимых операций сравнения составляет O (m*n), где m – длина искомой строки, а n – размер документа (длина документа в символах).

Имеются также более быстрые алгоритмы, для которых требуется выполнить O(m+n) сравнений и дополнительно необходимо затратить O(m) операций на предобработку искомой строки.

Достоинства:

• Минимальные затраты памяти и легкость выполнения вставок и удалений

Недостатки:

• неудовлетворительное время отклика особенно при работе с большими массивами документов.

Однако может вполне эффективно работать на специализированном оборудовании или в сочетании с другими методами доступа (например с инверсией), ограничивающими область поиска.

Файлы сигнатур

Идея:

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

Данный подход позволяет уменьшить исходный размер файла и ускорить поиск.

Вариант метода:

Файл сигнатур хранится в транспонированном виде, что позволяет сократить число операций чтения записей с диска.

Сигнатуры слов

• Путем применения применения хэш-функции к слову получается целое число в интервале от 1 до 16. После применения 3-х хэш-функций получается 3 числа, указывающие номера позиций в 16-битовом идентификаторе, которые будут установлены. Например, если для слова “сеть” были получены значения 2, 7, 13, то его сигнатура будет выглядеть как “0001000001000010”.

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

Сигнатуры документов

• Для построения сигнатуры документа используется суперпозиция сигнатур слов, входящих в документ, например логическая операция ИЛИ.

• Для проверки вхождения слова в документ сначала вычисляется сигнатура слова. Затем, если соответствующие биты в установлены в сигнатуре документа, то велика вероятность того, что документ содержит искомое слово.

Ложные совпадения

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

• Эффективность увеличивается для многословных запросов (уменьшается вероятность ложных совпадений)

Файлы сигнатур

• Достоинства: простота реализации, легкость управления вставками, подходит для работы с большими коллекциями документов (легкость масштабирования), возможности для распараллеливания.

• Недостатки: увеличение времени реакции системы на запрос при большом размере файла.

Инверсия

Идея: каждый документ представляется списком терминов, которые хранятся упорядоченными в алфавитном порядке в индексном файле. Для каждого термина в данном файле имеется указатель на список содержащих его документов.

• Для ускорения поиска при организации индексного файла используются B-деревья, хэширование и другие подходы.

Инвертированая индексная структура

• Состоит из 2-х частей:

o Словарь. Содержит множество всех индексируемых единиц в данной коллекции.

o Инвертированный файл. Совокупность списков, каждый элемент которого указывает на текст, содержащий индексируемую единицу, и соответствующую статистическую информацию.

• Можно представить себе как транспонированную матрицу “ документ-термин ”.

 

Инверсия

• Достоинства: относительная простота реализации, высокая скорость работы, поддержка работы с синонимами

• Недостатки: превышения размера инверсного файла над размером исходного (хотя возможно применения сжатия списков), сложность обновления и реорганизации индекса.

Кластеризация

• В основой методов кластеризации является кластерная гипотеза (C.J. van Rijsbergen), которая гласит:

Тесно связанные между собой документы оказываются релевантными по отношению к тем же запросам.

• Кластеризация может быть использована для распределения документов в коллекции по классам (автоматической классификации), что позволяет повысить скорость поиска документов и точность ответа.

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

• Кластеризация включает в себя две процедуры: генерацию кластеров и поиск кластеров по запросу пользователя.

• Инвертированный список можно рассматривать как одну из форм кластеризации документов.

Поиск кластера

• Входной запрос представляется в виде t-мерного вектора и сравнивается с центроидами кластеров.

• Поиск продолжается в кластерах степень подобия для которых превысила заданный порог.

• Для вычисления степени подобия часто используется косинусная метрика.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: