Когда вы начинаете вводить запрос в поисковой строке, Яндекс показывает варианты наиболее популярных запросов, начинающихся на те же самые буквы. Это поисковые подсказки — они помогают вам сэкономить время и не печатать запрос целиком. Яндекс понимает, какие подсказки показать, даже если вы забыли сменить раскладку клавиатуры или опечатались.
Подсказки появились в поиске Яндекса относительно недавно — в 2008 году. Сначала идея была в том, чтобы просто ускорить ввод поискового запроса. Чтобы вам не приходилось писать, скажем [метилпропенилендигидроксициннаменилакрилическая кислота что это] целиком. Со временем, однако, подсказки стали уметь гораздо больше. За этими возможностями стоит не одна сложная технология и постоянная работа. О них мы и хотим рассказать в этой записи.
Подготовка подсказок
Список поисковых подсказок формируется после фильтрации всего потока запросов к Яндексу. Также туда добавляются названия энциклопедических статей, музыкальных произведений и другого подходящего контента. Список проходит несколько фильтров, каждый из которых отсеивает некоторые типы запросов. Например, совсем редкие запросы или содержащие ненормативную лексику. Вместе с фильтрацией запросов в них исправляются опечатки. В итоге остаётся более сотни миллионов запросов — которые и становятся подсказками.
Как и ответы поиска на yandex.ru, поисковые подсказки зависят от того, где находится пользователь. Например, начиная запрос со слов [кинотеатр] или [ресторан], петербуржец и москвич наверняка имеют в виду заведения в своём городе. И подсказки им нужны для Санкт-Петербурга и Москвы соответственно. Поэтому для каждого региона составляется свой список поисковых подсказок, основанный на местных запросах.
Чтобы не тратить место на почти одинаковые запросы, мы их объединяем. Например, некоторые ищут [подарки на 8 марта], а некоторые — [подарки к 8 марта]. Такие запросы объединяют в одну подсказку, и, когда вы набираете «подарки», Яндекс показывает только один вариант — наиболее популярный. Конечно, если человек продолжит писать «подарки к», то набор подсказок изменится. К группировке запросов подходят очень аккуратно. Запросы, которые кажутся похожими машине, не всегда похожи для человека. Чтобы два запроса объединились в одну подсказку, они должны не только мало различаться по написанию, но и вести на одинаковые результаты поиска.
Актуальность и персонализация подсказок
Поскольку новые популярные запросы появляются постоянно, список поисковых подсказок регулярно обновляется — не реже, чем раз в день. А запросы, потерявшие актуальность, удаляются. Кроме того, у Яндекса есть специальный «быстрый» список подсказок — для запросов о событиях, которые произошли только что. Запросы для него отбираются по сложной формуле, которая учитывает, в том числе, насколько резко вырос поисковый интерес к теме, как много появилось новостных сообщений и постов в блогах. Быстрый список обновляется каждые полчаса.
Кроме того, Яндекс умеет определять, что будет больше интересовать людей в ближайшем будущем. Например, когда люди начинают писать в поиске «по», в обычной жизни им чаще всего нужна [погода], а перед 8 марта — [подарки] и [поздравления]. Поэтому Яндекс ежедневно обрабатывает все подсказки и для каждой строит прогноз — насколько она будет востребована на следующий день. Прогнозируемая востребованность учитывается при ранжировании списка подсказок.
В какой-то момент наши подсказки стали персональными. То есть научились учитывать не только ваш регион, но и историю запросов и меняться в соответствии с ней. Например, так выглядят подсказки и страница поисковой выдачи для двух людей с разной историей:
Эволюция подсказок
Если подсказки могут сократить ваш путь от ввода запроса до перехода к странице результатов поиска, то почему бы не пойти дальше? В некоторых случаях уже на этапе набора запроса можно с большой вероятностью сказать, что хорошим ответом будет определённый сайт. Тогда среди поисковых подсказок появится ещё и навигационная — адрес такого сайта. Например, уже по первым буквам запроса [википедия] первой подсказкой будет ru.wikipedia.org. При выборе навигационной подсказки пользователь сразу попадает на соответствующий сайт.
Этот пример показывает, что подсказки могут не только упрощать ввод запроса и адаптироваться под вас, но и решать ваши задачи. В том числе и без помощи поиска. Например, ответы на некоторые запросы можно получить прямо в подсказках. В основном это однозначные запросы, предполагающие один верный ответ — например, [столица Австралии] или [длина Дуная]. Наши подсказки знают десятки тысяч подобных фактов, и этот список регулярно пополняется. Помимо фактов, прямо в подсказках можно узнать текущий балл пробок на основных дорогах крупных городов, погоду в разных частях света и даже на других планетах, результаты недавних футбольных матчей или извлечь кубический корень из 1331.
Каждый день всем своим пользователям Яндекс показывает поисковые подсказки в сумме более миллиарда раз. А за время ввода одного запроса вы можете увидеть в среднем десять наборов подсказок.