Яндекс патентует архитектуру ранжирования, использующую две ML-модели для глубокой персонализации. Первая модель офлайн обрабатывает долгосрочную историю поиска пользователя, создавая векторный профиль его интересов. Вторая модель в реальном времени использует этот профиль и данные текущей сессии для финального ранжирования результатов, обеспечивая учет как постоянных, так и сиюминутных интересов пользователя.
Описание
Какую задачу решает
Патент решает задачу повышения точности ранжирования за счет учета как общих (долгосрочных), так и текущих (сессионных) интересов пользователя. Ключевая техническая проблема, которую решает изобретение, — это необходимость обработки больших объемов исторических данных пользователя в реальном времени. Система позволяет учесть обширную историю поиска без критического замедления ответа поисковой системы, вынося обработку долгосрочных данных в офлайн-режим.
Что запатентовано
Запатентована архитектура алгоритма машинного обучения (MLA), состоящая из двух моделей (First ML model и Second ML model) для персонализированного ранжирования. Суть изобретения заключается в разделении обработки исторических данных. First ML model обрабатывает долгосрочную историю пользователя офлайн для создания сжатого векторного представления (vector representation) его интересов. Second ML model использует это векторное представление вместе с данными текущей сессии для определения релевантности документов в реальном времени.
Как это работает
Система работает в два этапа. На первом этапе (офлайн) First ML model (например, на базе Transformer) анализирует обширную историю запросов и кликов пользователя за длительный период (недели/месяцы). Результатом является vector representation (пользовательский эмбеддинг), агрегирующий долгосрочные интересы пользователя (например, через [CLS] output). Этот вектор сохраняется. На втором этапе (онлайн), когда пользователь вводит запрос, Second ML model получает на вход текущий запрос, данные о недавних поисках в рамках текущей сессии и сохраненный vector representation. Модель совместно обрабатывает эти данные для предсказания вероятности взаимодействия (likelihood value) пользователя с документами-кандидатами.
Актуальность для SEO
Высокая. Глубокая персонализация и использование трансформерных архитектур (таких как YATI в Яндексе) для моделирования поведения пользователей являются ключевыми трендами в современных поисковых системах. Описанная гибридная (офлайн/онлайн) архитектура для эффективной обработки больших данных пользователя крайне актуальна для высоконагруженных систем.
Важность для SEO
Влияние на SEO значительно (8/10). Патент описывает механизм, который делает выдачу высоко персонализированной и динамичной. Ранжирование документа зависит не только от его соответствия запросу, но и от долгосрочной истории пользователя и его действий непосредственно перед запросом (в рамках сессии). Это усложняет мониторинг позиций и требует от SEO-специалистов фокусироваться на удовлетворении интента конкретных сегментов аудитории и оптимизации под целые поисковые сессии (User Journey), а не изолированные запросы.
Детальный разбор
Термины и определения
- First ML Model (Первая модель машинного обучения)
- Модель (например, Transformer-based NN), предназначенная для обработки First historical data (долгосрочной истории пользователя). Работает преимущественно в офлайн-режиме. Ее задача — сгенерировать Vector Representation пользователя.
- Second ML Model (Вторая модель машинного обучения)
- Основная модель ранжирования, работающая в реальном времени. Принимает на вход Vector Representation от Первой модели, Second historical data (данные сессии) и текущий запрос для предсказания вероятности взаимодействия пользователя с документом.
- First Historical Data (Первые исторические данные)
- Данные о прошлых поисках (запросы, показанные документы, взаимодействия) пользователя за длительный период (given past period), например, недели или месяцы.
- Second Historical Data (Вторые исторические данные)
- Данные о прошлых поисках пользователя за короткий и недавний период (given past training user session), обычно соответствующий текущей поисковой сессии.
- Vector Representation (Векторное представление)
- Сжатое численное представление долгосрочных интересов пользователя, сгенерированное Первой моделью. По сути, это долгосрочный пользовательский эмбеддинг.
- [CLS] Token / Output
- Специальный токен в архитектурах типа BERT/Transformer. Выходное значение, соответствующее этому токену, используется как агрегированное представление всей входной последовательности. В данном патенте [CLS] Output Первой модели является Vector Representation.
- MLA (Machine-Learning Algorithm)
- Общий термин для алгоритма машинного обучения. В контексте патента обозначает всю систему, состоящую из Первой и Второй моделей.
- Transformer-based NN
- Нейронная сеть на основе архитектуры Трансформер (использующая механизм внимания). В патенте упоминается как предпочтительный вариант реализации Первой и Второй моделей.
Ключевые утверждения (Анализ Claims)
Патент фокусируется на методе обучения и архитектуре системы, позволяющей эффективно учитывать разные временные горизонты истории пользователя.
Claim 1 (Независимый пункт): Описывает метод обучения MLA, состоящего из Первой и Второй моделей.
- Получение Первых исторических данных (долгосрочная история за given past period).
- Получение Вторых исторических данных (недавняя история за past training user session, которая короче и свежее, чем past period). Все данные включают запросы, документы и метки взаимодействия (user interaction).
- Совместное обучение (jointly training) обеих моделей для ранжирования. Процесс обучения включает:
- Организацию Первых данных в обучающие объекты.
- Обучение Первой модели на этих объектах для генерации Vector Representation Первых данных.
- Генерацию Вторых обучающих объектов. Критически важно: каждый из них включает данные сессии (из Вторых данных) И Vector Representation (результат работы Первой модели).
- Обучение Второй модели на Вторых обучающих объектах для предсказания вероятности взаимодействия (likelihood value).
Ядром изобретения является структура, где выход Первой модели (профиль пользователя) становится входом для Второй модели (ранжирование сессии), и обе модели обучаются совместно для достижения общей цели ранжирования.
Claim 4 (Зависимый пункт): Описывает применение обученной системы (In-use process).
- Получение текущего запроса (in-use query) во время текущей сессии.
- Получение документов-кандидатов.
- Получение истории текущей сессии (запросы и взаимодействия до текущего момента).
- Генерация входного объекта (in-use digital object), включающего: текущий запрос, кандидатов, историю сессии И Vector Representation (долгосрочный профиль).
- Подача входного объекта во Вторую модель для определения likelihood value для каждого кандидата.
- Ранжирование кандидатов на основе этих значений.
Где и как применяется
Изобретение затрагивает офлайн-обработку данных и онлайн-ранжирование.
Офлайн-процессы (User Data Processing)
Первая модель (First ML Model) работает здесь. Она обрабатывает логи поисковой системы для извлечения долгосрочной истории (First Historical Data) для каждого пользователя. Этот процесс не привязан к конкретному запросу и может выполняться периодически (например, раз в день/неделю).
- Вход: Логи запросов, показов и кликов за длительный период (недели/месяцы).
- Выход: Vector Representation (долгосрочный эмбеддинг пользователя). Этот вектор сохраняется в базе данных профилей пользователей.
RANKING – Ранжирование (Уровни L3/L4 — Personalization)
Вторая модель (Second ML Model) работает на поздних стадиях ранжирования для персонализации выдачи.
- Вход: Текущий запрос, список документов-кандидатов, данные текущей сессии (Second Historical Data) и предварительно рассчитанный Vector Representation пользователя, извлеченный из базы.
- Процесс: Вторая модель (например, тяжелая трансформерная модель) совместно обрабатывает все входы для оценки релевантности кандидатов в контексте как долгосрочных, так и сиюминутных интересов пользователя.
- Выход: Оценки вероятности взаимодействия (Likelihood values) для кандидатов, используемые для финального ранжирования.
На что влияет
- Специфические запросы: Наибольшее влияние оказывается на запросы, где интент пользователя может быть уточнен его предыдущим поведением. Это включает многозначные запросы (где долгосрочная история помогает выбрать нужный смысл) и запросы, являющиеся продолжением текущей задачи (где сессия критически важна).
- Конкретные типы контента: Патент указывает, что система применима к различным типам цифровых документов (digital documents), включая аудио (Spotify, Yandex Music), видео (YouTube, Netflix), онлайн-листинги (Yandex Market) и стандартный веб-поиск.
Когда применяется
- Условия применения: Алгоритм применяется при обработке поискового запроса пользователя, для которого доступна как долгосрочная история (есть сохраненный Vector Representation), так и данные текущей сессии.
- Частота применения (Офлайн): Первая модель обновляет Vector Representation периодически. В патенте упоминается возможность обновления (updating) с определенной частотой (predetermined frequency) или путем смещения/расширения временного окна сбора данных (Claim 5, 6, 7).
- Частота применения (Онлайн): Вторая модель активируется при каждом запросе в реальном времени.
Пошаговый алгоритм
Процесс А: Офлайн-обновление профиля пользователя (First ML Model)
- Сбор данных: Извлечение First Historical Data (запросы, документы, клики) для пользователя за длительный период (например, 1 месяц).
- Формирование входных объектов: Организация данных в последовательности для подачи в Первую модель.
- Обработка (First ML Model): Подача данных в трансформерную модель.
- Генерация Вектора: Извлечение [CLS] Output из Первой модели. Это и есть Vector Representation пользователя.
- Сохранение: Запись обновленного вектора в хранилище профилей пользователей.
Процесс Б: Обработка запроса в реальном времени (Second ML Model)
- Получение запроса: Пользователь вводит запрос.
- Поиск кандидатов: Генерация первичного набора релевантных документов.
- Извлечение контекста:
- Извлечение Vector Representation пользователя из хранилища (результат Процесса А).
- Сбор Second Historical Data (данные текущей сессии до момента запроса).
- Формирование входного объекта: Создание единого объекта, включающего текущий запрос, документы-кандидаты, данные сессии и Vector Representation.
- Токенизация: Преобразование входного объекта в формат, пригодный для Второй модели.
- Обработка (Second ML Model): Подача токенизированных данных во Вторую модель.
- Расчет оценок: Генерация Likelihood values (вероятности взаимодействия) для каждого кандидата.
- Ранжирование: Сортировка документов на основе полученных оценок.
Какие данные и как использует
Данные на входе
- Поведенческие факторы: Являются основой для обучения и работы системы. Используются:
- Прошлые запросы (past queries).
- Показанные документы в ответ на эти запросы.
- Взаимодействия пользователя (User Interactions) с этими документами. Патент явно перечисляет: выбор документа (клик), длительное пребывание (dwelling), добавление в избранное (favorites), взаимодействие дольше порогового значения (threshold engagement period), сохранение контента.
- Контентные факторы: Тексты запросов и контент (или метаданные, такие как заголовки и URL) документов используются для токенизации и обработки трансформерными моделями.
- Пользовательские факторы: Хотя явно не детализированы, в патенте упоминается возможность использования социодемографических характеристик пользователя (возраст, пол, доход и т.д.) как части исторических данных.
Какие метрики используются и как они считаются
- Vector Representation (Пользовательский Эмбеддинг): Генерируется Первой моделью. Это плотный вектор (например, 768 значений с плавающей точкой, как указано в описании), полученный через [CLS] Output трансформера. Он инкапсулирует долгосрочные интересы.
- Likelihood Value (Вероятность взаимодействия): Генерируется Второй моделью. Это оценка, предсказывающая вероятность того, что пользователь совершит целевое действие (клик, долгий клик и т.д.) с документом. Используется как финальный скор для ранжирования.
- Алгоритмы машинного обучения: Основой являются Transformer-based NNs (упоминается BERT как пример). Используются стандартные компоненты: Multi-Head Attention Layer и Feed-Forward Neural Network Layer.
- Токенизация: Для преобразования текста в векторы используется токенизатор. Упоминаются WordPiece и byte-pair encoding. Также применяются позиционные эмбеддинги (positional embedding).
- Функции потерь (Loss Functions): Для обучения моделей используются функции потерь, минимизирующие разницу между предсказанными и реальными взаимодействиями. Упоминается Cross-Entropy Loss как пример.
Выводы
- Приоритет глубокой персонализации: Яндекс использует сложную двухуровневую архитектуру для учета поведения пользователя. Ранжирование сильно зависит от индивидуального профиля пользователя.
- Разделение интересов по времени: Система явно разделяет долгосрочные интересы (обрабатываются офлайн Первой моделью) и краткосрочные/сессионные интересы (обрабатываются онлайн Второй моделью). Это позволяет учитывать и постоянные предпочтения, и сиюминутный контекст задачи.
- Эффективность за счет офлайн-обработки: Ключевое техническое решение — компрессия долгосрочной истории в плотный вектор (Vector Representation) в офлайн-режиме. Это позволяет использовать огромные объемы данных без замедления поиска в реальном времени.
- Трансформеры как ядро моделирования пользователя: Для понимания последовательности действий пользователя и генерации его профиля используются мощные трансформерные модели (вероятно, YATI), способные улавливать сложные зависимости в истории поиска.
- Поведенческие сигналы как основа обучения: Вся система обучается на реальных взаимодействиях пользователей (клики, dwell time и т.д.). Качество этих сигналов напрямую влияет на точность персонализации.
Практика
Best practices (это мы делаем)
- Построение Topical Authority и лояльности аудитории: Необходимо стремиться стать предпочтительным источником информации для пользователя по определенной теме. Если пользователь регулярно выбирает ваш сайт, это укрепляет ваш ресурс в его долгосрочном профиле (Vector Representation), что дает преимущество при будущих поисках по этой тематике.
- Оптимизация под поисковую сессию (User Journey): Анализируйте, как пользователи перемещаются от общих запросов к более конкретным. Создавайте контент, который поддерживает это движение (например, через продуманную перелинковку). Если ваш сайт помогает пользователю продвигаться в решении задачи в рамках одной сессии, система учтет этот контекст при ранжировании следующих запросов.
- Максимизация качественных взаимодействий: Поскольку обучение основано на User Interactions (клики, dwell time, добавление в избранное), критически важно обеспечивать высокое качество пользовательского опыта и релевантность контента для генерации позитивных поведенческих сигналов.
- Сегментация аудитории и интентов: Понимайте долгосрочные интересы вашей целевой аудитории. Контент должен соответствовать не только сиюминутному запросу, но и общему профилю интересов пользователя, который Яндекс формирует офлайн.
Worst practices (это делать не надо)
- Оптимизация под изолированные запросы без учета контекста: Стратегия, игнорирующая предыдущие и последующие шаги пользователя в сессии, будет проигрывать. Система может понизить результат, если он не соответствует текущему контексту сессии.
- Использование кликбейта для генерации трафика: Привлечение нецелевых кликов или генерация коротких кликов негативно скажется на обучении моделей. Система учится предсказывать качественные взаимодействия; если их нет, сайт не попадет в позитивный профиль пользователя.
- Игнорирование возвращающихся пользователей: Если сайт не стимулирует повторные визиты и не формирует лояльность, он не получит преимуществ от механизма учета долгосрочной истории.
Стратегическое значение
Патент подтверждает стратегический фокус Яндекса на глубокой персонализации как основном факторе качества поиска. Он демонстрирует, что Яндекс готов инвестировать значительные вычислительные ресурсы (обучение тяжелых моделей офлайн) для точного моделирования интересов пользователя. Для SEO это означает, что универсальной «Топ-1» выдачи становится все меньше. Долгосрочная стратегия должна базироваться на построении авторитетного бренда, который решает задачи конкретных сегментов пользователей лучше конкурентов и формирует лояльную аудиторию.
Практические примеры
Сценарий 1: Влияние долгосрочных интересов (First ML Model)
- История пользователя: Пользователь регулярно ищет информацию про «веганские рецепты», «этичную косметику», «йогу».
- Офлайн-обработка: Первая модель анализирует эту историю и генерирует Vector Representation, отражающий интересы в области здорового образа жизни и веганства.
- Текущий запрос (Онлайн): Пользователь вводит многозначный запрос «Милан».
- Ранжирование (Second ML Model): Вторая модель использует Vector Representation. В результате, сайты о веганских кафе в Милане или йога-студиях получат буст по сравнению с сайтами о футбольном клубе «Милан» или общими путеводителями.
Сценарий 2: Влияние текущей сессии (Second ML Model)
- Начало сессии: Пользователь ищет «симптомы простуды у ребенка», затем «детский нурофен дозировка».
- Текущий запрос: Пользователь ищет «аптека рядом».
- Ранжирование (Second ML Model): Вторая модель анализирует контекст сессии (поиск лекарств). Vector Representation (долгосрочный) также учитывается, но сессионный контекст имеет высокий вес.
- Результат: В выдаче будут приоритезированы круглосуточные аптеки или аптеки с возможностью быстрого заказа лекарств, а не, например, оптовые фармацевтические склады, даже если они находятся ближе. Система понимает срочность и специфику задачи в рамках сессии.
Вопросы и ответы
В чем основное различие между Первой и Второй моделями в этой архитектуре?
Первая модель (First ML Model) работает офлайн и обрабатывает долгосрочную историю пользователя (недели/месяцы). Ее цель — создать сжатый векторный профиль интересов пользователя (Vector Representation). Вторая модель (Second ML Model) работает онлайн в момент запроса. Она использует этот готовый векторный профиль, добавляет к нему данные текущей сессии и сам запрос, чтобы выполнить финальное ранжирование.
Зачем Яндексу понадобилось разделять обработку истории на два этапа?
Это сделано для повышения эффективности и скорости. Обработка месяцев истории поиска с помощью тяжелой трансформерной модели в реальном времени слишком ресурсозатратна и привела бы к недопустимым задержкам. Вынос обработки долгосрочной истории в офлайн-режим (Первая модель) позволяет учесть огромный объем данных, не замедляя ответ поисковой системы в момент запроса.
Что такое Vector Representation пользователя и как он формируется?
Это долгосрочный пользовательский эмбеддинг — плотный числовой вектор, инкапсулирующий интересы пользователя. Он формируется Первой моделью, которая является трансформером (например, типа BERT/YATI). Модель обрабатывает последовательность прошлых запросов и кликов, а на выходе используется специальный токен Output, который и является этим векторным представлением всей истории.
Как часто обновляется этот долгосрочный профиль пользователя?
Патент не указывает точных цифр, но отмечает, что обновление происходит периодически в офлайн-режиме (например, раз в день или неделю). Механизм обновления предполагает смещение или расширение временного окна сбора данных, чтобы профиль оставался актуальным, но это не происходит в реальном времени при каждом запросе.
Означает ли это, что выдача теперь полностью персонализирована и у всех разная?
Да, этот механизм значительно увеличивает степень персонализации. Если у пользователя есть достаточная история поиска, его выдача будет адаптирована под его долгосрочные интересы и сиюминутный контекст сессии. Это особенно заметно по многозначным запросам или запросам, связанным с частыми интересами пользователя.
Как этот патент влияет на стратегию оптимизации контента?
Он подчеркивает необходимость ухода от оптимизации под изолированные ключевые слова к оптимизации под целые сценарии использования (User Journey) и поисковые сессии. Важно создавать контент, который не только отвечает на текущий запрос, но и предвосхищает следующие шаги пользователя в рамках сессии, а также соответствует его общим интересам в данной тематике.
Какие поведенческие факторы учитываются при обучении этих моделей?
Патент перечисляет широкий спектр взаимодействий: клики (выбор документа), длительное пребывание на документе (dwelling), добавление в избранное, взаимодействие дольше порогового значения и сохранение контента. Это подтверждает, что система стремится предсказывать не просто клики, а качественное удовлетворение потребности пользователя.
Что произойдет, если у пользователя нет долгосрочной истории (например, новый пользователь)?
Если Vector Representation недоступен, система, вероятно, будет полагаться только на данные текущей сессии (если они есть) и стандартные факторы ранжирования. Преимущества от долгосрочной персонализации этот пользователь не получит, пока Первая модель не обработает его историю.
Как я могу повлиять на то, как мой сайт воспринимается в долгосрочном профиле пользователя?
Нужно стать авторитетным источником, к которому пользователь регулярно возвращается по определенной тематике. Обеспечивайте высокое качество контента, стимулируйте лояльность (подписки, закладки) и генерируйте позитивные поведенческие сигналы. Если пользователи стабильно выбирают ваш сайт для решения своих задач, это будет отражено в их Vector Representation.
Используются ли в этой системе модели типа BERT или YATI?
Да. Патент явно указывает, что Первая и Вторая модели могут быть реализованы как Transformer-based Neural Networks, и приводит BERT в качестве примера. Учитывая, что это патент Яндекса, логично предположить, что на практике используются их собственные разработки на базе трансформеров, такие как YATI, для реализации этой архитектуры.