Назначение модели запроса — учесть интересы пользователя, который и является источником входных данных для этой модели. Выходные данные должны допускать возможность непосредственного обращения к индексному файлу, то есть в нашем случае это список терминов, экстрагированных из запроса. Пользователи могут иметь разные потребности в описании искомых информационных образов, но усложнять модель запроса имеет смысл лишь до некоторых пределов. Эти пределы определяются точностью моделирования документа. Образно говоря, вырази пользователь свои потребности хоть поэмой, все равно в работу пошли бы только некоторые слова из нее, поскольку другой вид запроса был бы превышением точности.
Без превышения точности усложнение модели запроса может производиться путем конструирования логических выражений из ключевых слов и булевых операторов, что соответствует введению некоторого информационно-поискового языка. Такой язык позволяет указывать на обязательность наличия (отсутствия) некоторых терминов в поисковом образе документа, их комбинаций и т. п. Это позволяет в какой-то мере масштабировать получаемые выборки.
Найденные по запросу документы необходимо отсортировать. Идеальный вариант сортировки — помещать более значимые для пользователя документы в начало списка. Сегодня разработчики используют для ранжирования некую эмпирическую меру (релевантность), зависящую от параметров запроса и поисковых образов найденных документов. Однако мы, люди, в той же ситуации поступаем совершенно иначе. Мы анализируем текст документа и, поняв его суть, оцениваем, насколько он нам подходит. Может ли поисковая система понять цели пользователя и оперативно анализировать смысл найденных документов? Или хотя бы дополнять запрос пользователя, дабы повысить качество выборки?
Дополнение выборки
Работа с текстом всегда требует определенного языкового обеспечения. В частности, при поиске в русском тексте к безусловно необходимым относится словоизменительный словарь, позволяющий учесть различные морфологические формы известных слов и генерировать гипотезы для слов, не вошедших в словарь. Классический труд Андрея Анатолиевича Зализняка[Зализняк А. А. Грамматический словарь русского языка: Словоизменение. Ок. 110 000 тыс. слов. — 4-е изд., испр. и доп. — М.: «Русские словари», 2003] в полной мере удовлетворяет эти потребности. Определенную пользу может принести и фразеологический словарь. Иногда применяются и словари синонимов. Однако этого недостаточно.
То обстоятельство, что вместо поиска информационных объектов (образов) приходится довольствоваться поиском слов, не могло не вызвать ответную реакцию в виде многочисленных попыток компенсировать «ущербность» такого подхода. Их общее название — «интеллектуализация» традиционного поиска (не путать с собственно интеллектуальным поиском, то есть поиском по смыслу содержащейся в документе информации).
Предлагаемый «интеллектуальный» поиск вряд ли является жизнеспособным. Основная причина — пользователи не хотят делать запросы естественным языком, им гораздо ближе сокращенный «командный» язык с перечислением терминов (своеобразный «телеграфный стиль»).
В этом легко убедиться, посмотрев на wordstat.yandex.ru, какие запросы делают Яндексу.
«Естественный» запрос: +как работает фотошоп — 189 показов в месяц.
«Командный» запрос: уроки фотошоп — 3469 показов в месяц; учебник фотошоп — 673 показа в месяц и т. д.
«Естественный» запрос: +как проехать +в шереметьево — 106 показов в месяц.
«Командный» запрос: шереметьево проезд — 546 показов в месяц; шереметьево добраться — 470 показов в месяц; шереметьево доехать — 409 показов в месяц и т. д.
Даже в поисковой системе Ask Jeeves, изначально позиционировавшей себя как искалка, которая понимает запросы на естественном языке, доля коротких запросов на «командном» языке недавно превысила долю запросов на естественном языке. Вторая причина — ориентация «интеллектуального» поиска на грамотный русский язык. Веб — социальное, а не лингвистическое явление, и для общения в Сети вместо естественного русского языка часто используется жаргон, короткие предложения, ссылки вместо цитат и т. д., что не может учесть ни один словарь, даже во 2-м исправленном издании.
Но не строит думать, будто все наработки филологов бесполезны в веб-поиске. Конечно, это не так. Например, Яндекс делает синтаксический анализ запроса, чтобы определить, какие слова связаны между собой, и задать требования к расстоянию между словами. Знание словарной формы слов позволяет лучше исправлять опечатки, а учет морфологии улучшает полноту результатов поиска.
Читать дальше