Соберем все это вместе

Соберем все это вместе Итак, мы изучили все компоненты, необходимые для типичной поисковой системы, поддерживающей свободные текстовые и булевы запросы, а также запросы по зонам и полям. Кратко рассмотрим сборку все этих частей в единую систему .

На этом рисунке потоки документов поступают на парсер и в подсистему лингвистической обработки (определение языка и формата, разбиение на лексемы и стемминг). Итоговый поток лексем подается на два модуля. Во-первых, мы сохраняем копию каждого проанализированного документа в кэше документов. Это позволяет нам генерировать сниппеты (snippet) документа — фрагменты текста, сопровождающие каждый документ в списке результатов поиска. Они предназначены для краткого объяснения пользователю, почему этот документ соответствует заданному запросу. Генерация сниппетов описана ранее. Вторая копия лексем поступает в модуль индексаторов, создающих группу индексов, включая индексы по зонам и полям, хранящие метаданные для каждого документа, (многоярусные) позиционные индексы, индексы для исправления орфографических ошибок и обеспечения нечеткого поиска, а также структуры для ускорения приближенного поиска К лучших документов. Свободный текстовый запрос пользователя (вверху в центре рисунка) посылается индексам как непосредственно, так и через модуль для генерации кандидатов на исправление орфографических ошибок. Этот модуль может вызываться при необходимости, только если по оригинальному запросу найдено мало документов. Найденные документы (черная стрелка) поступают в модуль ранжирования на основе машинного обучения (machine-learned ranking). Этот модуль строится по принципам, изложенным в разделе. В итоге ранжированные документы отображаются на странице результатов.

Влияние операторов языка запросов на ранжирование в векторном пространстве

Мы ввели в рассмотрение модель векторного пространства как парадигму для свободных гекстовых запросов. Завершим главу обсуждением того, как ранжирование на лнове модели векторного пространства связано с операторами запроса, рассмотренными в предыдущих главах. Эта связь должна исследоваться на двух уровнях: на уровне выразительных возможностей языка запросов, которыми может воспользоваться опытный пользователь, и на уровне индекса, применяемого в разных методах поиска. При создании поисковой системы мы можем принять решение поддерживать различные операторы запроса *тя конечного пользователя. Для этого необходимо понять, какие компоненты индекса могут совместно использоваться при выполнении разных операторов запроса, а также как обрабатывать запросы пользователя, в которых смешаны разные операторы.

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

tel-icq