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

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

В новом алгоритме помимо популярности объектов для всех, учитывается персональный интерес пользователя. Мы буквально научились понимать с нескольких букв, что ищет конкретный пользователь.
Что изменилось
Построение проезда до детского сада, в котором оставил ребёнка утром (Детский сад № 13). Да, в онлайн-версии тоже работает.
Для повторного поиска нужного детского сада хватило одной буквы
Поиск организации по адресу: пользователь ожидает Немировича-Данченко, 138. Раньше он получал областную больницу, которую на этой улице ищут чаще всего, а теперь — нужный адрес.
Слева — первый поиск организации в справочнике. Справа — повторный.
Видно, что нужный результат поднялся на вторую строчку
Поиск филиала стоматологии, в котором проходят техническое обслуживание брекеты отдельно взятого пользователя. Ожидание — филиал стоматологии на Крылова, 4, куда пользователь уже обращался.
Слева — версия без персонализации поиска, справа — понимаем запрос с двух букв
Что изменилось
Для персонализации подсказок используются следующие данные:
  • история поисков и кликов пользователя;
  • персонализированные POI, благодаря которым мы уже показываем на карте то, что интересно пользователю (подробнее читайте тут);
  • адреса и организации, добавленные в избранное;
  • адрес дома пользователя.
При этом в историю пользователя попадают только те адреса или организации, к которым пользователь проявил интерес и подтвердил это своими действиями в продукте. Так, кафе, которые пользователь просматривал по дискавери-запросу «Кафе», не попадут в его историю. Не будет там и объектов, карточки которых были открыты с карты.
🤓 Как мы считали →
Для каждого объекта из списка выше рассчитываются коэффициенты: время последнего обращения, тип открытия (как был открыт — через подсказку или напрямую), число обращений, длина запроса и даже степень списковости (много ли в результатах сетевых организаций). Формула для расчёта каждого коэффициента подбиралась с учетом зависимости итогового результата от исходных значений.

Так, например, выглядит формула, по которой мы рассчитали падение интереса пользователя к объекту:
$$y = 1 + (\textit{A} - 1)·\Bigg(\frac{1}{1+\left(\frac{max(0,\;x-\textit{C})}{\frac{\textit{B}}{2}}\right)^2}\Bigg)$$
В этой формуле x — время запроса, A — максимальное значение функции, B — коэффициент убывания интереса по времени, С — время последнего использования объекта.

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

Персональные подсказки уже работают в онлайн-версии 2gis.ru и вошли в свежий релиз для Android и iOS.

Находите, что искали, а мы будем работать над поиском дальше.
Нажимая кнопку «Комментировать», вы принимаете условия Лицензионного соглашения и даёте ООО «ДубльГИС» согласие на обработку персональных данных на условиях и в целях, определённых «Политикой конфиденциальности».