Фильтрация в поисковых машинах

Максим Михайличенко
Максим Михайличенко
Руководитель компании
08.02.2013

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

Фильтрация – это процесс отсечения от участия в ранжировании тех документов, которые не смогут занять высокие места при упорядочивании  по релевантности. Естественно, коллекция состоит из огромного множества документов. И что же теперь их все упорядочивать по релевантности запросу?! Это, конечно, можно осуществить, но столько ресурсов совершенно не разумно тратить. Отсюда вытекает ответ на вопрос – зачем. Это всего лишь элемент оптимизации.

Теперь поговорим о том, как это осуществляется.

Прежде всего надо определиться, какие документы считать найденными. Ну, естественно, со словами запроса. Здесь подразумевается не только текст, присутствующий в документе, но и текста ссылок на этот документ. Кстати, они считаются хорошим , но совершенно не формальным описанием этого документа (текста ссылок также хранятся в инвертированном индексе).

Запрос состоит из слов. Пусть у каждого слова есть вес, который означает важность этого слова в запросе. Пусть этот вес определяется как частота встречаемости слова в коллекции. Т.е. если слово «и» или «но» часто встречается, то ничего страшного, если найдутся документы без этого слова. Но, если в запросе [теории педагогики] найти документы, в которых нет слова «педагогика», то вряд ли это будет то, что надо. Можно даже записать формулу, описывающую эту процедуру:

Фильтрация по кворуму

Пару уточнений к формуле:

  1. Никакой физической природы у логарифма здесь нет. Это сделано для того, чтобы веса отличались не на 1 000 000 , а на 10.
  2. Судя по формуле, если слово не встречается в коллекции, то его вес будет +∞. На самом деле, это не так, и в реальности это просто какое-нибудь большое число.

+

Но все же, что означает эта формула. По сути, здесь сравнивается сумма весов слов в документе и в запросе. Так выражается правило, что в документе должно быть много слов из запроса (почти все).

Кстати, по заявлению представителей Yandex, эта формула очень долго работала в реальности.

Но, естественно, не только через эту формулу осуществляется фильтрация. Есть еще очень много вариантов отсечь ненужные документы:

  • Слова из заголовка играют большую роль, чем весь остальной текст;
  • Разделение важности по частям речи (прилагательное менее важно, чем существительное);
  • Опечатки тоже вряд ли будут встречаться в документе (а ведь у них огромный вес);
  • Стоп-слова не должны влиять (союзы и предлоги должны иметь нулевой вес);
  • Некоторые очень частотные слова играют очень важную роль при определении релевантности (например, географическая принадлежность – Москва, Санкт-Петербург и др.).

Это всего лишь несколько предположений. В реальности у поисковых машин гораздо больше признаков фильтрации документа.