Как происходит информационный поиск в web

17.11.2012
Давайте детально разберем стадии информационного поиска в web:

1.     Обработка запроса

Как только пользователь запросил информацию с помощью введения в строку поиска некоторой фразы, она сразу начинает обрабатываться поисковой машиной. Сперва происходит токенизация запроса – приведение его к каноническому виду. Здесь подразумевается, что каждый термин из запроса приводится к лемме – нормализованной форме лексемы (токена), например, для существительного лемма выглядит как единственное число и именительный падеж. После чего к каждому термину из запроса применяется морфологический анализ. Это значит, что будут искаться  не только леммы терминов из запроса, но и все морфологические формы этих терминов. И на последнем этапе обработки запроса происходит добавление синонимов, т.е. с помощью специального словаря (тезауруса) или другой технологии к поиску всех форм запросных терминов добавляется поиск всех форм синонимов этих терминов. К сожалению, нельзя найти все документы, в которых написано «про это», т.к., например, при запросе [пианино] поисковая машина не сможет найти документы, в которых написано про «музыкальный инструмент с большим количеством клавиш». Этот пример отражает сразу две проблемы обработки запроса: проблему полноты словаря синонимов и проблему расширения запроса (имеется в виду, что поисковики пока не могут находить документы, в которых этот же запрос употребляется с помощью других терминов, при чем в документе его описание происходит бОльшим количеством слов (например, по запросу [флешка] не удастся найти документы, в которых говориться про «магнитный носитель»).  Так происходит не всегда. Есть некоторая группа запросов отнесенных к аббревиатурам. Т.е. по запросу [МГУ] можно будет найти документы про «Московский Государственный Университет».

2.     Сканирование индекса

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

3.     Ранжирование

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

P.S. Вся информация, присутствующая в данной статье не относится к какой-то одной поисковой системе. Автор попытался максимально коротко объединить принципы поиска релевантных документов, используемые большинством поисковиков. Надеюсь, что эта статья будет полезна не только людям, занимающимся поисковым продвижением сайта, но и студентам, изучающим информационный поиск.