Поиск Яндекса сможет адаптироваться к вашим интересам за несколько секунд

в 9:23, , рубрики: data mining, MapReduce, Блог компании Яндекс, персонализация, Поисковые машины и технологии, яндекс, метки: , ,

Поиск Яндекса сможет адаптироваться к вашим интересам за несколько секундС сегодняшнего дня поиск Яндекса персонализирует ответ не только на основе истории ваших интересов — он будет учитывать и то, что вы делаете на поиске прямо сейчас. Это важное изменение для пользователей: от того, чем мы занимаемся сейчас, зависит то, что мы ожидаем получить в ответ. Поиск Яндекса становится адаптивным. Чтобы это стало возможным, нам пришлось реализовать новую технологию доставки данных в реальном времени.

Чтобы понять, что хочет пользователь, нужен контекст. Когда-то всем контекстом, который был доступен Яндексу, был текст поискового запроса. Со временем мы научились учитывать, из какого региона его задают.

Важным этапом стала персонализация ответа для разных пользователей — мы стали использовать знания о конкретном человеке, чтобы дать ему более точный ответ. Для этого мы использовали данные, посчитанные на истории запросов и кликов пользователя. Причём они были посчитаны как по истории за длинный период, так и по недавней. Мы рассказывали на Хабре об этом этапе.

Каждый раз дополнение пользовательского контекста влечёт за собой изменение качества работы системы, а иногда и пользовательского поведения. Например, когда мы начали учитывать регион, из которого Яндексу задают запрос, люди перестали вручную указывать в поисковой строке название своего города. Незачем писать [холодильник Новосибирск], если поисковая система и так покажет тебе местные предложения. А пользователь сэкономит несколько секунд на наборе символов в запросе.

Использование истории поисков пользователя повлекло за собой ещё один качественный скачок. Яндекс стал чаще показывать любимые сайты пользователя, выбирать более близкие человеку тематики.

Но интересы пользователей не статичны. Более половины всех поисковых интересов живут менее одного дня. Например, человек в целом — игроман, но в какой-то момент он захочет найти, где посмотреть фильм, снятый по мотивам какой-нибудь игры. Или узнать, что это за фильм и больше не вспоминать об этом.

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

Поиск Яндекса перестраивается за считанные секунды

Чтобы учитывать все эти мимолётные действия пользователя, нужно уметь очень быстро передавать и обрабатывать данные о них, которые будут использоваться в ранжировании.

Realtime MapReduce

Благодаря нашей новой технологии, которая позволяет доставлять данные в реальном времени, в 95% случаев совершённые человеком действия становятся доступны для участия ранжировании уже через 7 секунд.

Для этого в реальном времени обрабатываются около 10ТБ логов в сутки, с нагрузкой до 200мб в секунду. При этом она полностью совместима с текущими технологиями обработки данных, включая reduce операции.

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

Раньше персонализация поиска работала только для 30% самых активных пользователей. Теперь все пользователи Яндекса имеют свой поиск, который подстраивается под них буквально со второго запроса.

О том, как мы реализовали новую технологию доставки данных, мы расскажем в одном из следующих постов.

Автор: anton

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js