Как работает поисковая машина Яндекса

Фактически вся работа поисковика «Яндекс» сводится к двум простым вещам: понять, что на самом деле хочет узнать человек, и за несколько секунд найти для него среди миллиардов документов в Сети подходящие.

Чтобы не обыскивать весь Интернет каждый раз, когда кому-то что-то нужно узнать, поисковик делает часть работы заранее — проверяет, что есть в Сети и где это лежит, с помощью тысяч поисковых роботов. Они бывают двух типов: основной и быстрый. Основной обходит и обрабатывает Интернет в целом, а быстрый — документы, появившиеся минуту или даже пару секунд назад. Задача программ-роботов — отобрать годную и полезную для пользователей информацию, переработать ее, отсеяв все устаревшее и ненужное. В чем-то это напоминает сортировку мусора: бумага в один контейнер, стекло в другой, пластик в третий, пищевые отходы в четвертый…

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

Разыскивая ответ на заданный вопрос в подготовленной базе, машина сталкивается с двумя основными сложностями. Первая сложность — язык. Прежде чем искать ответ на вопрос, машине важно понять, на каком языке это делать. Например, для русскоязычного человека на запрос «дружина князя Игоря» поиск найдет документы с информацией о войске, а для украинца на «дружина князя Iгоря» выдаст также документы, упоминающие княгиню Ольгу, его супругу, так как по-украински «жена» — это «дружина».

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

В таких ситуациях в дело вступают сразу несколько технологий. Можно выдать вам под строкой поиска несколько подсказок, конкретизирующих запрос. Мол, выберите, что вам нужно: наполеон-рецепты или Наполеон — Бонапарт. Если пользователь не реагирует на просьбу машины и не добавляет к «наполеону» слов, то делу помогает технология «Спектр»: не надеясь на помощь, машина сразу ищет информацию по нескольким категориям (и про торт, и про императора, и про коньяк…). Кроме того, понять пользователя помогают механизмы персонализации — знания машины о том, что этот пользователь искал со своего компьютера день-два-три-месяц назад: если вы часто задавали «Яндексу» вопросы про кулинарию, то машина вначале покажет вам результаты, говорящие, что наполеон — торт.

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

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

Фокус в том, что эти критерии машина разрабатывает и обновляет самостоятельно.
Она просто использует данные о предпочтениях и пользовательском поведении миллионов людей и связывает это «среднее арифметическое» с историей наших запросов. Принципы, которыми руководствуется Матрица внутри себя, сопоставляя тысячи разработанных ею категорий пользовательских интересов, часто не укладываются в традиционные человеческие представления о том, какими в принципе могут быть «интересы». Их десятки тысяч. Они создают друг с другом разные, порой забавные, комбинации. К примеру, одной из таких комбинаций может являться соответствие результатов поиска интересам человека, разводящего тритонов. При этом человек не просто интересуется тритонами, а уже разводит их, но только первый год.

Матрица, конечно, сама решает (с помощью высшей математики), что и в какой последовательности нужно показать пользователям на основании десятков тысяч критериев. Но живых людей Матрица тоже использует — 1000 сотрудников «Яндекса», так называемых асессоров, оценивают результаты поиска по тому или иному запросу (конечно, не каждый запрос подвергается оценке, и делается это не в режиме реального времени) на предмет их соответствия ожиданиям обычного пользователя.

Источник

Понравилось? Расскажи друзьям: