Поисковая машина Яндекса: как это работает?

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

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

Снять отпечатки

Для того чтобы понять, как работает поисковая система, обратимся к научной фантастике. Фактически, система работы поисковика чем-то схожа с Матрицей. При этом поисковый робот – специальная программа, созданная системой и способная самостоятельно принимать те или иные решения – выступает в роли агента Смита.

 

Чтобы не прочесывать всю глобальную сеть каждый раз, когда кому-то что-то понадобилось узнать, поисковая система выполняет часть работы предварительно – используя тысячи поисковых роботов, она просматривает содержимое Интернета и определяет что где лежит. Эти роботы могут быть двух типов – быстрый и основной. Основной используется для просмотра содержимого глобальной сети в целом, а быстрый – лишь для тех документов, которые появились в ней буквально только что.

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

Все данные, собранные в ходе работы поисковыми роботами, образуют так называемый «слепок» Интернета. Этот слепок хранится на тысячах серверов, принадлежащих поисковой системе, и непрерывно обновляется. Фактически это – огромный список, в котором указано, где именно можно найти ту или иную информацию.

Стоит отметить, что каждому ключевому слову из этого слепка-списка соответствует не один миллион страниц. При этом для того чтобы обновленная версия слепка стала доступной пользователям, ее переносят из специального хранилища в «зону базового поиска». Эта операция осуществляется с разной периодичностью для разных типов поисковых роботов: для быстрого – в режиме реального времени, а для основного – раз в пару дней.

Вывести на чистую воду

В процессе поиска ответа на вопрос пользователя система сталкивается с двумя главными трудностями. Первая из них – это язык. Перед тем, как начинать прочесывать слепок, необходимо понять, на каком именно языке осуществлять поиск. К примеру, поисковый запрос «дружина князя Игоря», осуществленный на русском языке, выдаст сведения о войске князя. А вот в результатах поиска на украинском языке будут сведения и о его жене, поскольку на этом языке «дружина» – это еще и жена.

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

Яркий пример – поисковый запрос из одного слова: «наполеон». Попробуйте угадать, что я имел в виду – рецепт торта или историческую справку об императоре Франции? Или, может быть, меня интересовал адрес ближайшей психиатрической лечебницы?

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

Но помимо этих технологий огромную помощь в нелегком деле поиска оказывают механизмы персонализации. Они основываются на знаниях поисковой системы о предыдущих запросах пользователя. К примеру, если пользователь в течение какого-то времени интересовался исключительно кулинарией, то на запрос «наполеон» поисковая система в первую очередь покажет результаты с рецептами соответствующего торта.

Комбинации: клубы по интересам

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

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

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

Оценки. Руки помощи

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

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