Ввод запроса пользователем

Обычно поисковые системы предлагают пользовательский интерфейс, позволяющий ввести различные данные: ключевые слова, типы документов, язык, диапазон дат и т. п. А в ответ возвращают ранжированный список документов, наиболее релевантных запросу. Многие поисковые системы в Интернете ограничиваются только вводом ключевых слов, как показано на рис. 3.5, но и они предлагают механизм расширенного поиска, показанный (только частично) на рис. 3.6.

На сайте http://search.vahoo.com есть и расширенный интерфейс поиска (доступен по ссылке More), который позволяет точнее задать условия

Рис. 3.6. На сайте http://search.vahoo.com есть и расширенный интерфейс поиска (доступен по ссылке More), который позволяет точнее задать условия

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

С годами средства поисковых систем в части формулирования запросов неуклонно расширялись. Пользователи получили возможность вводить сложные запросы со словосочетаниями, метасимволами, регулярными выражениями и даже на естественном языке. Кроме того, во многих универсальных поисковых системах используются различные операторы, например AND, OR, NOT, кавычки для фразовых запросов и т. д., что позволяет сужать множество результатов. Коммерческие системы идут еще дальше и предлагают специальные операторы, предназначенные для прямой работы с внутренними структурами данных, файловыми форматами и, в конечном счете, для расширения возможностей запросов. В табл. 3.2 перечислены наиболее распространенные типы запросов и применяемые операторы. Поисковые системы иногда неявно создают подобные запросы, а пользователь даже не подозревает об этом. Например, системы, принимающие запросы на естественном языке (пользователь вводит в качестве запроса целое предложение или даже абзац), зачастую автоматически выделяют словосочетания на этапе обработки запроса и передают исполняющей поисковой системе фразовые запросы. С другой стороны, расширенный поисковый интерфейс Google Canada предлагает простые текстовые поля, с помощью которых пользователь может создавать сложные фразовые и булевы запросы (рис. 3.7), даже не вводя кавычек или специальных операторов. Более того, многие поисковые системы выполняют несколько внутренних запросов для каждого запроса, введенного пользователем, а затем собирают все полученные результаты для представления пользователю. При таком подходе система может использовать несколько разных стратегий для нахождения наилучших результатов.

Таблица 3.2. Наиболее распространенные типы запросов и операторы

Тип запроса и операторы

Описание

Пример

По ключевым словам

Каждый терм - самостоятельный поиск в индексе.

dog

programming

baseball

Фразовый

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

«President of the United States» «Manning Publications» «Minnesota Wild Hockey»

«big, brown, shoe»

Таблица 3.2. (продолжение)

Тип запроса и операторы

Описание

Пример

С булевыми операторами

Операторы AND, OR и NOT часто применяются для соединения двух и более слов. AND означает, что в документе должны встречаться оба терма, OR - что должен встречаться хотя бы один терм, NOT - что следующий далее терм не должен встречаться в документе. Для задания порядка вычислений употребляются круглые скобки. Во многих поисковых системах неявно используется оператор AND или OR, если ничего иного не указано.

franks AND beans boxers OR briefs

(("Abraham Lincoln" AND “Civil War”) NOT (“Gettysburg Address”))

Метасимволы и регулярные выражения

Поисковые термы могут содержать как метасимволы (? и *), так и полноценные регулярные выражения. На обработку таких запросов обычно тратится больше ресурсов процессора, чем на более простые запросы.

bank? - соответствует любому слову, начинающемуся строкой bank, после которого идет один произвольный символ: banks, bank* - соответствует любому слову, начинающемуся строкой bank, после которой может идти любое количество символов: banks, banker.

aa.*k - соответствует слову, начинающемуся строкой аа, после которого идет произвольная последовательность символов (но не менее одного), а затем символ к: aardvark.

Структурированный

Структурированные запросы учитывают структуру документа, в котором производится поиск. Типичные структурные элементы документа: название, дата публикации, автор, URL-адрес, оценки пользователей и т. д.

Диапазон дат - найти все документы, опубликованные в указанном временном промежутке.

Найти документы конкретных авторов.

Ограничить поиск одним или несколькими доменными адресами.

Таблица 3.2. (окончание)

Тип запроса и операторы

Описание

Пример

Похожие документы

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

Google предлагает для большинства результатов ссылку «Похожие». Если щелкнуть по ней, то по выбранному документу будет автоматически сгенерирован запрос и произведен поиск в индексе.

Направляемый

поиск

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

На сайте Amazon.com фасетный поиск применяется для задания ограничений по цене, производителю и другим параметрам. Фасетные счетчики показывают, сколько элементов находится в каждой категории.

Рис. 3.7. Расширенный интерфейс поиска на сайте Google Canada автоматически строит сложные фразовые и булевы запросы, не заставляя пользователя вводить зарезервированные слова типа AND, OR, NOT или кавычки для задания словосочетаний

Некоторые поисковые системы заходят настолько далеко, что пытаются классифицировать запрос по виду и в зависимости от него выбирают различные параметры оценивания. Например, в Интернет-магазинах типичны два вида запросов: по известному товару и по категории либо ключевому слову. Поиск по известному товару производится, когда пользователь точно (или почти точно) знает название товара и хочет только выяснить, в каком месте магазина этот товар находится. Например, поиск Sony Bravia 53-inch LCD TV - это поиск по известному товару, поскольку для него, скорее всего, найдется только одно-два соответствия. Поиск по категории гораздо более общий и часто включает небольшое количество ключевых слов: televisions или piano music (фортепьянная музыка). В случае поиска по известному товару отсутствие указанного товара среди первых нескольких результатов считается ошибкой системы. В случае поиска по категории больше свободы в выборе того, что возвращать, поскольку термы зачастую довольно общие.

После передачи поисковой системе лексемы запроса обычно подвергаются такому же анализу, как индексные лексемы, т. е. проходят через те же преобразования от лексем к термам. Например, если перед помещением в индекс лексемы подвергались стеммингу, то точно так же следует поступить с лексемами запроса. Многие поисковые системы также производят расширение запроса синонимами. Расширение синонимами - это вид анализа, при котором каждая лексема ищется в определенном пользователем тезаурусе. Если поиск оказался успешным, то в список лексем добавляются новые лексемы, соответствующие синонимам. Например, если исходный запрос состоял только из терма bank, то в ходе анализа в него незаметно для пользователя можно добавить лексемы financial institution (финансовое учреждение) и credit union (кредитный союз). Расширение синонимами можно производить и во время индексирования, но это часто приводит к значительному увеличению размера индекса и требует переиндекси- рования содержимого в случае изменения списка синонимов.

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >