Модели поиска
Наиболее развитые технологии текстового поиска обеспечиваются в настоящее время полнотекстовыми системами. Как уже было показано, существуют различные подходы к построению таких систем. Эти различия связаны не только с разнообразием форм информационных потребностей пользователей, но и, главным образом, с различием способов представления полнотекстовых документов и пользовательских запросов в системе.
Понятие модели поиска. Ключевым понятием, характеризующим технологию поиска в той или иной конкретной системе, является модель поиска. Под моделью поиска понимается сочетание: способа формирования представлений документов; способа формирования представлений поисковых запросов; вида критерия релевантности документов.
Разнообразие функциональных возможностей различных систем текстового поиска связано именно с различием реализованных в них моделей поиска.
Простейшие модели поиска. Во многих системах используются простейшие модели поиска. К их числу относятся, например, рассмотренные выше модели поиска дескрипторных ИПС и систем, использующих Дублинское ядро.
Другим примером простейших моделей поиска являются модели, основанные на классификаторах. В модели, основанной на классификаторе, документы представляются идентификаторами классов в иерархической структуре классификатора, к которым относится данный документ. Представление запроса в простейшем случае также представляет собой идентификатор интересующего пользователя класса заданного классификатора. Критерием релевантности документа является условие, что класс документа совпадает с каким-либо классом в представлении запроса или является его подклассом.
В более сложном случае в моделях поиска, основанных на классификаторе, допускается указание в запросе нескольких классов классификатора. При этом релевантными считаются документы, принадлежащие какому-либо из указанных в запросе классов или его подклассу. Такая модель поиска близка к рассматриваемой далее булевской модели.
Модели контекстного поиска. Несколько более сложный характер имеют модели контекстного поиска. Применение этих моделей стало возможным, когда достаточно высокой производительности достигли процессоры вычислительных машин и вырос объем их внешней памяти прямого доступа. В моделях контекстного поиска используется представление документа как совокупности всевозможных встречающихся в его тексте слов и словосочетаний, не считая так называемых стоп-слов. Стоп-слова — это служебные слова (предлоги, союзы и т.п.), которые встречаются практически в любом документе. Поиск документов, содержащих такие слова, привел бы к выдаче полной коллекции документов в ответ на запрос. Поэтому такие слова не могут использоваться в качестве индексирующих свойств документов.
В системах рассматриваемого класса строится индекс по всем встречающимся в документах словам и словосочетаниям, кроме стоп-слов. При этом для построения индекса слова, выделенные из текста документа, приводятся сначала к «каноническому виду» с помощью поддерживаемых в системе словарей и средств грамматического разбора. Пользовательский запрос также подвергается грамматическому разбору, в процессе которого из запроса также выделяются встречающиеся в его тексте слова и словосочетания. Документ считается релевантным, если какие-либо слова или словосочетания из запроса встречаются с точностью до грамматических форм в тексте документа.
Иногда используется более жесткий критерий релевантности — вхождение в текст документа всех названных в запросе слов и словосочетаний и т.д.
Булевские модели поиска. В системах текстового поиска широко используются булевские модели поиска. Пользователь может формулировать запрос в виде булевского выражения с использованием операторов И, ИЛИ, НЕТ. Термы булевского выражения могут быть различными в разных вариациях булевских моделей поиска. Это может быть, например, условие вхождения данного слова или словосочетания (с точностью до грамматических форм) в текст документа в булевском расширении контекстной модели поиска. В булевском расширении модели поиска по классификаторам термами выражения могут быть условия принадлежности документа данному классу классификатора. В булевской модели поиска с использованием Дублинского ядра термом может быть равенство, описывающее тот факт, что некоторый элемент метаданных для рассматриваемого документа имеет заданное в запросе значение.
Критерием релевантности данного документа запросу в булевских моделях поиска является истинность булевского выражения, заданного в запросе.
Векторные модели поиска. Наиболее широкое применение в развитых системах текстового поиска имеют векторные модели поиска. Использование таких моделей требует значительно больших вычислительных ресурсов по сравнению с другими моделями, однако они обеспечивают существенно более высокое качество поиска.
В векторных моделях предполагается, что документы и запросы представляются векторами. В простейшем случае координаты вектора соответствуют термам текста — словам или словосочетаниям, принадлежащим словарю системы, который представляет общеязыковую лексику или лексику предметной области. Каждому терму из такого словаря сопоставляется свое измерение в векторном пространстве. Размерность векторов, представляющих документы и пользовательские запросы, в точности равна количеству измерений в этом пространстве.
Координате вектора присваивается единичное значение в том случае, когда соответствующий ей терм встречается в данном документе или, соответственно, в пользовательском запросе. В противном случае координате вектора присваивается нулевое значение. Поскольку размер словаря может быть очень большим, а документы или тексты запросов содержат существенно меньшее количество содержащихся в нем термов, такие векторы оказываются очень разреженными. Поэтому нужно использовать какую-либо технику сжатого их представления.
Для оценки степени релевантности документа запросу (меры их близости) в векторных моделях поиска используются какие-либо векторные функции, аргументами которых выступают представляющие их векторы. Например, можно использовать в качестве такой меры косинус угла между вектором документа и вектором запроса. Важно заметить, что, поскольку ненулевые координаты этих векторов соответствуют только термам, входящим в текст документа и текст запроса, на значение функции — меры в обоих этих случаях — оказывают влияние только термы, общие для документа и запроса.
Для повышения управляемости векторных моделей поиска часто усложняют эти модели. Вводятся веса термов, характеризующие их значимость. Значения этих весов используются в качестве координат вектора документа, если его текст включает соответствующие термы. Таким образом, вхождения различных термов в текст документа оказывают различное влияние на значение функции близости документа и запроса. Существуют разные подходы к выбору указанных весов. Чаще всего для этой цели используют произведение частоты вхождения терма в данный документ и частоты его вхождения во все документы коллекции в целом. Взвешиваться могут также и термы запроса.
Различия между конкретными векторными моделями поиска сводятся именно к различным способам назначения весов термов и выбора мер близости. Векторные модели позволяют ранжировать результирующее множество документов запроса.