Яндекс патентует метод персонализации отображения точек интереса (POI) на картах. Система анализирует историю взаимодействия пользователя со всеми сервисами Яндекса (Поиск, Такси, Еда, Музыка и т.д.), чтобы понять его предпочтения. POI и пользователи представляются в виде векторов (например, через DSSM). Ранжирование POI определяется близостью вектора пользователя к вектору POI. На карте отображается только ограниченный набор наиболее релевантных POI в зависимости от уровня масштабирования.
Описание
Какую задачу решает
Патент решает проблему информационной перегрузки пользователя при просмотре карт, особенно в районах с высокой плотностью точек интереса (POI), таких как центры городов. Отображение всех доступных POI загромождает интерфейс, замедляет загрузку и рендеринг карты, а также затрудняет пользователю поиск релевантных объектов. Изобретение улучшает пользовательский опыт, выборочно показывая ограниченный набор POI, персонализированный под интересы конкретного пользователя.
Что запатентовано
Запатентована система персонализированного ранжирования и выборочного отображения точек интереса (Points of Interest, POIs) в картографическом сервисе. Суть изобретения заключается в использовании истории взаимодействия пользователя (Past User Interaction Data) не только с картами, но и с другими веб-сервисами экосистемы (например, Поиск, Такси, Еда, Браузер) для определения предпочтений пользователя. Эти предпочтения используются для ранжирования POI, после чего на карте отображается только ограниченное подмножество наиболее релевантных объектов, количество которых зависит от уровня масштабирования (Zoom Level).
Как это работает
Система использует алгоритм машинного обучения (MLA). В патенте явно упоминаются Нейронные Сети (NN) и Deep Structured Semantic Model (DSSM). Процесс включает несколько этапов. Во-первых, создаются векторные представления для POI (POI Vectors) на основе их характеристик (категория, местоположение, рейтинги) и для пользователей (User Vectors) на основе их прошлых взаимодействий с различными сервисами. Затем, когда пользователь запрашивает просмотр карты, система рассчитывает расстояние (например, косинусную близость) между вектором пользователя и векторами POI в данной области. POI ранжируются на основе этой близости (чем ближе вектор, тем релевантнее POI). Наконец, система определяет оптимальное количество POI для текущего уровня масштабирования и отправляет пользователю карту, содержащую только топ-N персонализированных результатов.
Актуальность для SEO
Высокая. Персонализация на основе кросс-сервисных данных и использование векторных моделей (включая DSSM) являются ключевыми направлениями развития сервисов Яндекса. Учитывая рост экосистемы Яндекса и важность локального поиска (Яндекс.Карты, Навигатор), применение этих технологий для улучшения релевантности крайне актуально.
Важность для SEO
Влияние на Local SEO значительно (8/10). Этот патент критически важен для понимания того, как определяется видимость локального бизнеса в Яндекс.Картах. Он демонстрирует, что видимость POI не гарантирована и зависит не только от географической близости, но и от глубокой персонализации, основанной на всем цифровом следе пользователя в экосистеме Яндекса. Для попадания в ограниченный набор отображаемых POI бизнесу необходимо соответствовать поведенческим паттернам целевой аудитории.
Детальный разбор
Термины и определения
- Deep Structured Semantic Model (DSSM)
- Модель глубокого обучения, используемая для проекции различных сущностей (в данном случае, пользователей и POI) в общее низкоразмерное семантическое пространство. Упоминается как возможная реализация MLA.
- Machine Learning Algorithm (MLA)
- Алгоритм (например, нейронная сеть (NN) или DSSM), используемый для генерации векторов пользователей и POI, а также для расчета расстояний между ними.
- Map Service (Картографический сервис)
- Сервис, предоставляющий картографические данные (например, Яндекс.Карты, Яндекс.Навигатор).
- Past User Interaction Data (Данные о прошлых взаимодействиях пользователя)
- Логи взаимодействий пользователя с различными веб-сервисами. Включают клики, посещения POI (физические и онлайн), поисковые запросы, заказы такси, покупки, просмотренный/прослушанный контент и т.д.
- Point of Interest (POI) (Точка интереса)
- Объект на карте, который может представлять интерес для пользователя (бизнес, достопримечательность, организация).
- POI Features (Признаки POI)
- Характеристики POI, используемые для генерации POI Vector. Включают местоположение, категорию (многоуровневый классификатор), название, описание, часы работы, рейтинги, среднюю цену.
- POI Vector (Вектор POI)
- Численное представление (эмбеддинг) POI в многомерном пространстве, сгенерированное MLA на основе POI Features.
- User Features (Признаки пользователя)
- Характеристики, извлеченные из Past User Interaction Data, которые указывают на предпочтения пользователя в отношении POI или их категорий.
- User Vector (Вектор пользователя)
- Численное представление (эмбеддинг) пользователя в многомерном пространстве, сгенерированное MLA на основе User Features.
- Web Services (Веб-сервисы)
- Набор сервисов, ассоциированных с пользователем, из которых собираются данные о взаимодействиях. Включает Map Service, а также может включать почту, такси, райдшеринг, навигацию, браузер, поиск, музыку, видео, онлайн-покупки и т.д.
- Zoom Level (Уровень масштабирования)
- Уровень детализации карты. Используется для определения максимального количества POI, которое будет отображено на экране.
Ключевые утверждения (Анализ Claims)
Claim 1 (Независимый пункт): Описывает основной метод представления POI пользователю в картографическом приложении.
- Сервер получает запрос на отображение определенной локации на карте.
- Сервер извлекает набор POI для этой локации.
- Определяется набор веб-сервисов, ассоциированных с данным пользователем (включая как минимум картографический сервис).
- Извлекаются данные о прошлых взаимодействиях пользователя (past user interaction data) с этими веб-сервисами, которые указывают на его предпочтения относительно POI.
- Набор POI ранжируется на основе этих данных о прошлых взаимодействиях.
- Для данного уровня масштабирования (zoom level) определяется соответствующее количество POI, которые войдут в подмножество для отображения на карте.
- Пользователю передается вид карты, включающий это подмножество POI.
- Важное уточнение: это подмножество включает как минимум один POI, с которым у пользователя ранее не было взаимодействий (обеспечение возможности открытия новых мест).
Claim 8 (Зависимый от Claim 7): Детализирует механизм ранжирования с использованием векторных представлений.
- Для каждого POI генерируется векторное представление (POI Vector) в многомерном пространстве на основе его признаков (имя, описание, категория, местоположение – согласно Claim 7). Это выполняется с помощью MLA.
- Для данного пользователя генерируется вектор пользователя (User Vector) в том же многомерном пространстве на основе его прошлых взаимодействий с признаками POI в веб-сервисах.
- Ранжирование основывается на расстояниях между вектором пользователя и векторами POI.
Claim 9 (Зависимый от Claim 8): Описывает механизм коллаборативной фильтрации.
- Система может использовать векторы других пользователей, ранее сгенерированные MLA.
- Определяется расстояние между вектором данного пользователя и векторами других пользователей.
- Выбирается как минимум один вектор пользователя, имеющий минимальное расстояние (наиболее похожий пользователь).
- Ранжирование дополнительно основывается на расстояниях между вектором этого похожего пользователя и векторами POI (Система учитывает предпочтения похожих людей).
Claims 10 и 11 (Зависимые от Claim 8): Уточняют тип используемого MLA.
- MLA является нейронной сетью (NN).
- MLA является Deep Structured Semantic Model (DSSM).
Где и как применяется
Изобретение применяется в рамках инфраструктуры картографических сервисов Яндекса (Яндекс.Карты, Навигатор) и затрагивает несколько слоев поисковой архитектуры.
Офлайн-процессы (Сбор данных и INDEXING)
Большая часть работы по подготовке данных происходит офлайн:
- Сбор Past User Interaction Data из различных сервисов Яндекса (Поиск, Такси, Еда, Музыка, Браузер и т.д.) и их агрегация (Tracking Server).
- Извлечение признаков POI: Сбор и нормализация данных об объектах (категории, локации, описания) из базы данных Карт.
- Генерация POI Vectors: Периодическая генерация векторных представлений POI с помощью MLA (DSSM) на основе обновленных характеристик объектов.
- Генерация User Vectors: Периодическая генерация векторов пользователей на основе обновленных данных о поведении.
RANKING – Ранжирование (L4 Personalization)
Это основной слой применения патента в онлайн-режиме. Система использует глубокую персонализацию для ранжирования POI, отобранных по географическому признаку.
- Входные данные: Запрос на отображение карты (локация, zoom level), идентификатор пользователя, набор POI-кандидатов.
- Процесс: Система извлекает User Vector и POI Vectors. Используется MLA для расчета близости между этими векторами. Может применяться коллаборативная фильтрация. POI ранжируются на основе этой близости.
- Выходные данные: Ранжированный список POI.
BLENDER / Генерация SERP (Презентационный слой)
На этом этапе принимается решение о том, какие именно POI будут показаны на карте.
- Процесс: Система определяет максимальное количество POI для отображения, исходя из текущего Zoom Level и, возможно, характеристик устройства пользователя (размер экрана). Из ранжированного списка выбирается Топ-N результатов.
- Выходные данные: Финальный набор данных для рендеринга карты с выбранным подмножеством POI.
На что влияет
- Конкретные типы контента: Влияет исключительно на отображение локальных сущностей (POI) – бизнесов, организаций, достопримечательностей в картографических сервисах.
- Специфические запросы: Наибольшее влияние оказывается на режим просмотра карты без явного текстового запроса (ambient search/discovery).
- Конкретные ниши или тематики: Влияние сильнее в конкурентных нишах с высокой плотностью POI (рестораны, магазины, услуги), где требуется строгий отбор для отображения на карте, и в тематиках, где у пользователя есть явные предпочтения, зафиксированные в других сервисах.
Когда применяется
- Условия работы: Алгоритм применяется при каждом запросе пользователя на отображение карты (перемещение карты, изменение масштаба).
- Триггеры активации: Активируется, если система может идентифицировать пользователя и имеет доступ к его истории взаимодействий (User Vector). Также активируется в областях, где количество доступных POI превышает лимит отображения для данного Zoom Level.
Пошаговый алгоритм
Алгоритм состоит из двух основных фаз: офлайн-подготовки и онлайн-обработки запроса.
Фаза 1: Офлайн-подготовка векторов
- Генерация POI Vectors:
- Извлечение POI и их признаков (POI Features) из базы данных карт (местоположение, категории, рейтинги и т.д.).
- Генерация POI Vector для каждого POI с помощью MLA (например, DSSM).
- Сохранение векторов в базе данных.
- Генерация User Vectors:
- Извлечение Past User Interaction Data пользователя из различных веб-сервисов (Поиск, Карты, Такси, Еда и т.д.).
- Определение признаков пользователя (User Features) на основе этих данных (например, предпочтения по категориям POI, часто посещаемые места, поисковые интересы).
- Генерация User Vector с помощью MLA в том же векторном пространстве, что и POI.
- Сохранение векторов в базе данных.
Фаза 2: Онлайн-обработка запроса карты
- Получение запроса: Сервер получает запрос от пользователя на отображение участка карты (включает локацию и Zoom Level).
- Извлечение кандидатов: Извлечение набора POI и их POI Vectors, попадающих в запрошенную область карты.
- Идентификация пользователя: Определение пользователя и извлечение его User Vector.
- Определение лимита отображения: Расчет максимального количества POI (N) для отображения на данном Zoom Level.
- Ранжирование (Персонализация):
- Расчет расстояния (близости) между User Vector пользователя и POI Vectors кандидатов (например, косинусная близость или скалярное произведение).
- (Опционально) Применение коллаборативной фильтрации: учет векторов похожих пользователей (Claim 9).
- Сортировка POI по степени близости (релевантности).
- Формирование подмножества: Выбор Топ-N наиболее релевантных POI. При этом гарантируется включение хотя бы одного POI, с которым пользователь ранее не взаимодействовал (Claim 1).
- Передача ответа: Отправка картографических данных пользователю, включая выбранное подмножество POI для отображения.
Какие данные и как использует
Данные на входе
Система использует два основных типа данных: данные о POI и данные о пользователях.
Данные о POI (POI Features): (Используются для генерации POI Vector)
- Географические факторы: Точные координаты (широта/долгота), страна, регион, город.
- Контентные факторы: Название, описание.
- Структурные факторы (Категоризация): Многоуровневые классификаторы (например, Коммерция -> Магазины -> Автозапчасти).
- Агрегированные факторы: Общий рейтинг пользователей, часы работы, популярные часы, средняя цена.
Данные о пользователях (User Features, извлекаемые из Past User Interaction Data): (Используются для генерации User Vector)
- Поведенческие факторы (Кросс-сервисные):
- Карты/Навигатор: Запрошенные локации, клики на POI, физически посещенные POI (по GPS), время, проведенное в POI, построенные маршруты.
- Поиск: История поисковых запросов, связанных с категориями POI или конкретными POI.
- Другие сервисы (Такси, Еда, Маркет, Музыка, Видео, Браузер): Заказы такси, заказы еды (предпочтения кухни), покупки товаров, прослушанная музыка/просмотренное видео (для определения культурных предпочтений), посещенные сайты.
- Географические факторы: Текущее местоположение, домашний адрес, рабочий адрес (если указаны или определены автоматически).
Системные данные:
- Пользовательские/Технические факторы: Текущий уровень масштабирования карты (Zoom Level). Характеристики устройства (размер экрана, разрешение) могут использоваться для определения количества отображаемых POI.
Какие метрики используются и как они считаются
- POI Vector и User Vector (Эмбеддинги): Генерируются с помощью MLA с целью проецирования признаков в общее семантическое пространство.
- Алгоритмы машинного обучения: Патент явно указывает на использование Нейронных Сетей (NN) и, в частности, Deep Structured Semantic Model (DSSM). DSSM обучается максимизировать сходство между пользователем и релевантными ему POI.
- Distance Metric (Метрика расстояния/Близости): Метрика, определяющая степень схожести между User Vector и POI Vector. В патенте упоминаются косинусная близость (cosine similarity) и скалярное произведение (inner product). Чем меньше расстояние (или больше близость), тем выше ранг POI.
- Коллаборативная фильтрация: Используется метрика расстояния между векторами пользователей для идентификации похожих пользователей (Claim 9).
Выводы
- Видимость на Картах селективна и глубоко персонализирована: Яндекс не стремится показать все POI одновременно. Видимость конкретного бизнеса для конкретного пользователя зависит от того, насколько этот бизнес соответствует интересам пользователя, определенным на основе его поведения.
- Экосистемный подход к данным: Для определения предпочтений пользователя система агрегирует данные из всей экосистемы (Поиск, Такси, Еда, Браузер, Музыка и т.д.). Цифровой след пользователя в одном сервисе напрямую влияет на ранжирование в Картах.
- Векторные модели для локального ранжирования: Патент подтверждает использование сложных нейросетевых моделей (в частности, DSSM) для ранжирования локальных объектов. Релевантность определяется близостью векторов пользователя и POI в семантическом пространстве.
- Масштаб карты влияет на конкуренцию: Чем дальше пользователь отдаляет карту (ниже Zoom Level), тем меньше POI будет показано и тем выше конкуренция за попадание в это ограниченное подмножество. Приоритет отдается наиболее релевантным объектам.
- Коллаборативная фильтрация и Discovery: Система использует данные о поведении похожих пользователей для ранжирования (Claim 9) и гарантирует показ новых мест, с которыми пользователь еще не взаимодействовал (Claim 1).
Практика
Best practices (это мы делаем)
Рекомендации касаются стратегии Local SEO и оптимизации присутствия в Яндекс.Бизнес и Картах.
- Максимизация присутствия в экосистеме Яндекса: Для Local SEO критически важно не просто присутствовать на Картах, но и активно взаимодействовать с пользователями через различные сервисы Яндекса. Это включает оптимизацию под Поиск, работу с Яндекс.Бизнес, стимулирование использования Яндекс.Такси или Яндекс.Еда (если применимо). Чем больше позитивных взаимодействий с вашим бизнесом зафиксировано в экосистеме, тем лучше система понимает вашу целевую аудиторию.
- Точная и полная категоризация POI: Поскольку POI Vectors строятся на основе признаков, включая многоуровневые категории, необходимо максимально точно и детально указывать вид деятельности в Яндекс.Бизнес. Это помогает MLA корректно позиционировать вектор вашего бизнеса в семантическом пространстве.
- Полнота заполнения профиля: Необходимо заполнять все доступные поля (описание, цены, фото, часы работы). Все эти данные могут использоваться как POI Features для построения вектора и влияют на его качество.
- Стимулирование целевых взаимодействий: Поощряйте действия, которые сигнализируют о высоком интересе: построение маршрутов, клики на POI, отзывы. Это напрямую влияет на формирование User Vectors и улучшает ранжирование через механизм коллаборативной фильтрации (похожие пользователи).
Worst practices (это делать не надо)
- Неверная категоризация (Keyword Stuffing в категориях): Попытка охватить слишком много нерелевантных категорий может «размыть» POI Vector, ухудшая его позиционирование относительно целевых User Vectors.
- Игнорирование экосистемы Яндекса: Рассматривать Яндекс.Карты в отрыве от других сервисов неэффективно. Отсутствие сигналов из других частей экосистемы (например, из Поиска) снижает понимание системой релевантности вашего бизнеса для пользователей.
- Накрутка нецелевых поведенческих факторов: Накрутка визитов или кликов от пользователей, чьи интересы (User Vectors) не соответствуют вашему бизнесу, не принесет пользы, так как система оценивает семантическую близость на основе сложных кросс-сервисных данных, а не только количество взаимодействий.
Стратегическое значение
Патент подчеркивает стратегический переход от статического локального ранжирования к динамическому и глубоко персонализированному. Для Local SEO это означает, что традиционные факторы (близость, полнота профиля, отзывы) являются лишь базой. Ключевым фактором видимости становится поведенческая релевантность конкретному пользователю. Долгосрочная стратегия должна фокусироваться на построении сильного бренда, который привлекает четко определенный сегмент аудитории и генерирует устойчивые поведенческие паттерны внутри всей экосистемы Яндекса.
Практические примеры
Сценарий 1: Отображение кофеен на карте центра города
- Ситуация: Пользователь отдаляет карту (низкий Zoom Level), чтобы посмотреть центр Москвы. В этой области находятся сотни кофеен. Система определяет, что можно показать только 10 POI.
- Анализ пользователя (User Vector): Система анализирует Past User Interaction Data. Пользователь часто ищет «спешелти кофе» в Поиске, заказывает такси до дорогих ресторанов и слушает джаз на Яндекс.Музыке. Его вектор близок к премиум-сегменту и нишевым продуктам.
- Анализ POI (POI Vectors): Векторы сетевых кофеен (типа Starbucks) и векторы нишевых спешелти кофеен находятся в разных частях семантического пространства.
- Ранжирование: Система рассчитывает расстояние и определяет, что векторы спешелти кофеен и дорогих ресторанов ближе к вектору пользователя.
- Результат: На карте среди 10 показанных POI будут преобладать дорогие рестораны и спешелти кофейни. Сетевые кофейни могут быть вообще не показаны этому пользователю на данном уровне масштаба, даже если они объективно популярны.
Сценарий 2: Использование коллаборативной фильтрации для нового объекта
- Ситуация: Открылась новая кофейня (POI_New). У текущего пользователя (User_A) нет истории взаимодействия с ней.
- Действие системы: Система анализирует User Vector пользователя User_A и находит похожего пользователя User_B (минимальное расстояние между их векторами). User_B часто посещает кофейни схожего формата.
- Ранжирование: Система учитывает предпочтения User_B (Claim 9). Так как POI_New имеет вектор, близкий к предпочтениям User_B, этот объект получает буст в ранжировании для User_A.
- Результат на Картах: User_A видит новую кофейню POI_New на карте (как того требует Claim 1 о новизне), потому что система предсказала его интерес на основе поведения похожих пользователей.
Вопросы и ответы
Как именно данные из Яндекс.Такси или Яндекс.Еды влияют на ранжирование моего бизнеса на Картах?
Данные из этих сервисов используются для формирования вашего вектора пользователя (User Vector). Если пользователь часто заказывает еду из ресторанов определенной категории (например, веганская кухня) или ездит на такси в определенные типы заведений (например, барбершопы), эта информация становится частью его признаков (User Features). Система будет отдавать приоритет показу POI тех категорий, с которыми пользователь активно взаимодействует в других сервисах экосистемы.
Что такое DSSM и почему Яндекс использует его здесь?
Deep Structured Semantic Model (DSSM) — это тип нейронной сети, который эффективен для сопоставления разнородных сущностей. Он используется для проекции пользователей (на основе их поведения) и POI (на основе их характеристик) в единое векторное пространство. Это позволяет численно измерить семантическую релевантность между пользователем и POI, даже если они описаны совершенно разными наборами данных.
Означает ли этот патент, что традиционные факторы Local SEO (отзывы, заполненность профиля) больше не важны?
Нет, они по-прежнему важны. Отзывы, рейтинги и заполненность профиля (категории, часы работы) являются признаками POI (POI Features), которые используются для построения вектора POI (POI Vector). Однако патент показывает, что помимо качества самого POI, критически важным фактором для его отображения на карте является его персонализированная релевантность конкретному пользователю, определяемая через User Vector.
Как повлиять на то, чтобы мой бизнес показывался при отдалении карты (низкий Zoom Level)?
При низком Zoom Level конкуренция максимальна, так как отображается очень мало POI. Чтобы попасть в это ограниченное подмножество, ваш бизнес должен иметь очень высокую персонализированную релевантность для пользователя. Это достигается за счет сильного соответствия POI Vector интересам пользователя (User Vector) и, вероятно, высокого общего авторитета POI.
В патенте упоминается, что система покажет хотя бы один POI, с которым пользователь не взаимодействовал. Зачем это нужно?
Это механизм обеспечения «серендипности» (serendipity) и открытия новых мест (Discovery). Если бы система показывала только то, с чем пользователь уже знаком, он оказался бы в «пузыре фильтров». Включение новых релевантных POI позволяет пользователю исследовать локацию, а новым бизнесам дает шанс быть замеченными, при условии, что их POI Vector близок к User Vector.
Как работает механизм коллаборативной фильтрации, упомянутый в Claim 9?
Если данных о предпочтениях текущего пользователя недостаточно или для обогащения ранжирования, система находит других пользователей, чьи User Vectors наиболее близки (похожи) к вектору текущего пользователя. Затем система анализирует, какие POI предпочитают эти похожие пользователи, и использует эту информацию для ранжирования POI для текущего пользователя. Это классический подход «людям, похожим на вас, понравилось это».
Может ли этот алгоритм использоваться для ранжирования в основном поиске Яндекса (Web Search)?
Патент описывает применение исключительно в рамках картографического сервиса для решения проблемы перегрузки интерфейса карты. Однако базовые технологии — использование кросс-сервисных данных, DSSM, генерация User Vectors — наверняка используются Яндексом и для персонализации основного поиска. Сигналы о предпочтениях POI могут влиять на ранжирование локальных результатов в веб-поиске.
Как оптимизировать бизнес, чтобы его POI Vector был ближе к целевой аудитории?
Необходимо обеспечить точность и полноту POI Features в Яндекс.Бизнес. Выбирайте максимально релевантные категории, поддерживайте высокий рейтинг и актуальную информацию. Стратегически это означает четкое позиционирование бизнеса: если вы нишевая кофейня, ваши характеристики должны соответствовать ожиданиям любителей спешелти кофе, чтобы ваш вектор оказался в нужном кластере.
Влияет ли использование Яндекс.Браузера или Яндекс.Музыки на эту персонализацию?
Да, в патенте браузерный сервис явно указан как источник данных. Также упоминаются стриминговые сервисы. Посещение сайтов, закладки в Браузере или прослушивание определенной музыки (например, джаза) используются для определения интересов пользователя (User Features) и влияют на формирование User Vector и последующее ранжирование POI (например, джаз-клубов) на Картах.
Может ли этот механизм объяснить, почему я вижу разные метки на карте с разных аккаунтов?
Да, именно этот механизм и является причиной. Поскольку у разных аккаунтов разная история взаимодействий (Past User Interaction Data) во всей экосистеме Яндекса, система генерирует разные User Vectors. Это приводит к разному расчету релевантности одних и тех же POI и, как следствие, к разному набору меток, отображаемых на карте при одинаковом масштабе и локации.