Close Menu
    Telegram
    SEO HARDCORE
    • Разборы патентов
      • Патенты Google
      • Патенты Яндекс
    • Скоро
      SEO инструменты
    • Скоро
      SEO аналитика
    SEO HARDCORE
    Разборы патентов • Патенты Яндекс

    Как Яндекс использует алгоритм CatBoost для обработки нечисловых данных в ранжировании

    METHOD AND A SERVER FOR CONVERTING A CATEGORICAL FACTOR VALUE INTO ITS NUMERICAL REPRESENTATION AND FOR CREATING A SEPARATING VALUE OF A CATEGORICAL FACTOR (Способ и сервер для преобразования значения категориального фактора в его числовое представление и для создания разделяющего значения категориального фактора)
    • RU2692048C2
    • Yandex LLC
    • 2019-06-19
    • 2017-11-24
    2019 Обучение моделей Патенты Яндекс Ранжирование Холодный старт

    Этот патент описывает ключевые механизмы алгоритма CatBoost, ядра машинного обучения Яндекса. Он раскрывает, как система эффективно преобразует категориальные (нечисловые) факторы ранжирования, такие как регион, тип сайта или URL, в числовые значения. Для этого используются упорядоченные статистические данные и методы динамического комбинирования признаков, что позволяет алгоритму ранжирования учитывать эти факторы точно и без переобучения.

    • Описание
    • Детальный разбор
    • Выводы
    • Практика
    • Вопросы и ответы
    • Наверх

    Описание

    Какую задачу решает

    Патент решает фундаментальные проблемы применения градиентного бустинга на деревьях решений (GBDT) для задач, включающих категориальные факторы (признаки). Ключевые проблемы:

    • Преобразование категорий в числа: Алгоритмы требуют числовых входных данных, а традиционные методы преобразования категорий часто неэффективны.
    • Переобучение (Overfitting) и Утечка данных (Target Leakage): Использование статистики по целевой переменной для кодирования категорий часто приводит к переобучению.
    • Комбинации признаков: Вычисление всех возможных комбинаций категориальных признаков требует огромных вычислительных ресурсов и памяти.

    Что запатентовано

    Запатентованы методы, лежащие в основе алгоритма CatBoost. Суть изобретения заключается в способе преобразования категориальных факторов в числовые представления и эффективном построении деревьев решений. Ключевые элементы: (1) использование упорядоченной статистики (Ordered Target Statistics/Ordered Boosting) для кодирования признаков на основе исторических данных-[055], (2) динамическое вычисление комбинаций признаков «на лету» во время построения дерева,, и (3) метод создания разделяющих значений (сплитов) с использованием предопределенной сетки.

    Как это работает

    Алгоритм работает в процессе обучения модели ранжирования. Сначала система упорядочивает обучающие данные (случайно, если нет временной метки). Для преобразования категории (например, «Регион: Москва») в число, система вычисляет статистику (например, CTR) только на основе объектов, которые находятся до текущего объекта в упорядоченном списке. Это предотвращает переобучение. Комбинации признаков (например, Регион + Тип сайта) вычисляются динамически по мере углубления в дерево решений, а не заранее. Для определения порогов разделения используется предопределенная сетка.

    Актуальность для SEO

    Критически высокая. Описанные методы являются ядром алгоритма CatBoost — основного метода машинного обучения, применяемого Яндексом в ранжировании поиска (L2/L3), расчете метрик качества (Proxima) и других ключевых сервисах. Это описание фундаментальных компонентов текущей ML-инфраструктуры Яндекса.

    Важность для SEO

    Влияние на SEO значительно (7/10), но носит инфраструктурный характер. Патент не вводит новые факторы ранжирования, но описывает движок (CatBoost), который эти факторы обрабатывает. Понимание этих механизмов критически важно для Senior SEO-специалистов, так как демонстрирует способность Яндекса эффективно учитывать сложные взаимодействия между любыми категориальными признаками (домен, регион, тип контента) и подчеркивает устойчивость системы к переобучению и шуму.

    Детальный разбор

    Термины и определения

    Этот патент описывает внутренние процессы Яндекс (конкретно, алгоритм CatBoost) и является высокотехническим.

    MLA (Machine Learning Algorithm / Алгоритм машинного обучения)
    В контексте патента — алгоритм на основе градиентного бустинга (CatBoost), обучаемый для прогнозирования целевого значения.
    Категориальный фактор (Categorical Factor)
    Признак, принимающий значения из конечного множества категорий. Примеры в патенте: музыкальный жанр, URL, хост, поисковый запрос. В SEO: регион, тип сайта, домен.
    Числовой фактор (Numerical Factor)
    Признак, выраженный числом. Примеры: PageRank, число кликов,.
    Дерево решений (Decision Tree)
    Прогностическая модель, состоящая из узлов (Nodes), где проверяются условия, и листьев (Leaves), содержащих прогноз.
    Градиентный бустинг (Gradient Boosting)
    Метод построения ансамбля деревьев решений, где каждое последующее дерево исправляет ошибки предыдущих.
    Счетчик (Count)
    Числовое представление категориального фактора, вычисленное на основе статистики целевых событий (Target Statistics).
    Разделяющее значение / Сплит (Separating Value / Split)
    Пороговое значение фактора в узле дерева, определяющее, по какой ветви пойдет объект.
    Сетка (Grid)
    Механизм для создания разделяющих значений. Диапазон возможных числовых значений делится на интервалы (области/buckets). Границы этих интервалов используются как кандидаты для сплитов.
    Упорядоченный список (Ordered List)
    Набор обучающих объектов, организованный в определенном порядке (временном или случайном). Используется для расчета статистики только на основе «прошлых» данных (Ordered/Dynamic Boosting).
    Индикатор события (Event Indicator) / WIN / LOSS
    Целевое значение, которое модель учится предсказывать. WIN (успех, например, клик) и LOSS (неудача).
    R_constant
    Константа (приор), используемая в формуле Счетчика для сглаживания и предотвращения деления на ноль.
    Прото-модель (Proto-Model)
    Вспомогательная модель. Патент описывает использование нескольких прото-моделей, обученных на разных перестановках (упорядоченных списках) данных, для повышения устойчивости итоговой модели,.

    Ключевые утверждения (Анализ Claims)

    Патент защищает несколько ключевых механизмов, критически важных для эффективной работы CatBoost.

    Claim 1 (Независимый пункт): Динамическое комбинирование признаков.

    Описывает способ преобразования категориального фактора в числовое представление во время построения дерева решений, учитывая контекст предыдущих уровней.

    1. Система обрабатывает узел на данном уровне дерева решений, зная, что на предыдущих (более высоких) уровнях уже были выбраны и преобразованы другие категориальные факторы.
    2. Ключевой шаг: Создание текущего числового представления происходит путем комбинирования значений текущих категориальных факторов с уже выбранными («замороженными») значениями факторов с предыдущих уровней,.
    3. Критически важно: Это вычисление происходит «в процессе создания дерева решений» (т.е. динамически, «на лету»), а не заранее.

    Это позволяет CatBoost автоматически находить эффективные комбинации признаков (например, Регион + Тематика) без экспоненциального роста вычислений, так как перебираются только те комбинации, которые фактически возникают при построении конкретного дерева.

    Claim 23 (Независимый пункт): Создание разделяющих значений (Сетки).

    Описывает способ создания сплитов (пороговых значений) для узла дерева.

    1. Система создает диапазон всех возможных значений для числового представления категориального фактора (например, от 0 до 1),.
    2. К диапазону применяется сетка (Grid), которая разделяет его на области (интервалы/buckets),.
    3. Границы этих областей используются как разделяющие значения (сплиты),.
    4. Критически важно: Создание сетки выполняется до того, как фактические числовые значения категориальных факторов вычислены.

    Поскольку числовые значения вычисляются «на лету» (согласно Claim 1), система заранее не знает точных значений. Механизм сетки позволяет заранее определить фиксированный набор порогов для разделения, что стандартизирует и ускоряет построение дерева.

    Аспекты, описанные в Description (Упорядоченная статистика/Ordered Boosting):

    Хотя Claims 1 и 23 фокусируются на комбинациях и сплитах, значительная часть описания патента-[070] и-[377] посвящена методу упорядоченной статистики, который является фундаментальным для CatBoost и борьбы с переобучением.

    1. Набор обучающих данных упорядочивается (случайно или по времени)-[049]. Используется несколько перестановок для разных прото-моделей.
    2. Для вычисления числового представления (Счетчика) используются только те объекты, которые находятся до текущего объекта в этом списке.
    3. Этот механизм направлен на предотвращение утечки целевой переменной и снижение переобучения.

    Где и как применяется

    Изобретение относится к инфраструктуре машинного обучения, которая используется для построения ранжирующих моделей.

    Офлайн-процессы (Обучение моделей)
    Основное применение патента происходит во время обучения алгоритма ранжирования (CatBoost), который затем используется в поиске.

    RANKING – Ранжирование (Применение моделей)
    Обученная модель (CatBoost) применяется на этапах ранжирования (L2/L3/L4). Хотя сами запатентованные механизмы (построение комбинаций и сеток) работают на этапе обучения, они определяют структуру и параметры итоговой модели, которая используется в продакшене.

    Взаимодействие и данные:

    • На входе (Обучение): Набор обучающих объектов с факторами и целевыми значениями (WIN/LOSS).
    • Процесс: Система использует описанные методы для построения ансамбля деревьев решений.
    • На выходе (Обучение): Обученная модель ранжирования (формула).

    На что влияет

    Поскольку это описание основного алгоритма ранжирования, он влияет на всю поисковую выдачу.

    • Категориальные признаки в SEO: Алгоритм позволяет Яндексу эффективно использовать категориальные признаки. Это означает, что такие факторы, как домен, структура URL, регион пользователя, тематика сайта, тип устройства, могут быть использованы моделью с высокой точностью.
    • Сложные зависимости (Комбинации): Механизм динамического создания комбинаций (Claim 1) позволяет модели автоматически находить сложные нелинейные зависимости между факторами (например, как комбинация региона и типа контента влияет на релевантность).

    Когда применяется

    Алгоритм применяется исключительно во время обучения (Training Phase) моделей ранжирования. Это офлайн-процесс построения формулы. Он не применяется в реальном времени при обработке запроса пользователя (In-use Phase/Inference).

    Пошаговый алгоритм

    Процесс обучения модели (CatBoost) с использованием описанных механизмов.

    1. Подготовка данных и Упорядочивание:
      • Получение набора обучающих объектов.
      • Организация данных в упорядоченный список. Если нет временного порядка, создается случайный порядок. Создается несколько таких списков (перестановок) для разных прото-моделей.
    2. Инициализация Сетки (Claim 23):
      • Определение диапазона возможных числовых значений (например, 0-1).
      • Применение сетки для создания фиксированного набора разделяющих значений (границ),.
    3. Итеративное Построение Дерева (Градиентный Бустинг):

      Система начинает построение ансамбля деревьев. Для каждого нового дерева:

    4. Построение Уровня Дерева:

      Для текущего уровня дерева (начиная с корневого узла):

      1. Извлечение Предыдущих Данных (Claim 1,): Если это не корневой узел, извлекаются данные о факторах, выбранных на предыдущих (более высоких) уровнях.
      2. Динамическое Вычисление Комбинаций (Claim 1,): Система вычисляет «на лету» числовые представления (Счетчики) для комбинаций факторов с предыдущих уровней и всех возможных текущих категориальных факторов.
      3. Применение Упорядочивания (Ordered Boosting): При вычислении Счетчиков используются только те обучающие объекты, которые находятся «до» текущего объекта в упорядоченном списке (Формулы 1-4).
      4. Оценка Качества и Выбор: Система оценивает качество разделения для всех вычисленных комбинаций факторов, используя заранее определенные разделяющие значения из Сетки. Выбирается наилучшая комбинация и разделение.
      5. Фиксация: Выбранный фактор и разделение «замораживаются» для этого уровня.
    5. Переход на следующий уровень: Процесс повторяется для следующего уровня глубины, пока дерево не будет построено.

    Какие данные и как использует

    Данные на входе

    Система использует обучающие объекты, состоящие из документа и индикатора события.

    • Категориальные факторы: Основной тип данных, обрабатываемый патентом. Примеры из текста: музыкальный жанр, исполнитель, альбом,. В контексте поиска: URL, хост, доменное имя, IP-адрес, поисковый запрос, ключевое слово.
    • Числовые факторы: Также используются в модели. Примеры: PageRank, число кликов, возраст, число хитов.
    • Поведенческие факторы (Целевые значения): Индикаторы события, используемые как целевая переменная для обучения. В патенте они называются WIN (успех, например, клик) и LOSS (неудача). Критически важны для расчета Счетчиков.
    • Временные факторы: Могут использоваться для упорядочивания обучающих объектов, если они присущи данным.

    Какие метрики используются и как они считаются

    Ключевой метрикой является Счетчик (Count) — числовое представление категориального фактора.

    Формулы расчета (на основе Описания):

    Базовая формула:

    $$ Count = \frac{NumberWINs}{NumberOCCURENCES} $$

    Где NumberWINs — число успехов, а NumberOCCURRENCES — общее число вхождений данного значения категории. Обе переменные рассчитываются только на основе данных, находящихся «до» текущего объекта в упорядоченном списке.

    Формула со сглаживанием (Prior/Constant):

    $$ Count = \frac{NumberWINs}{NumberOCCURENCES + R_{constant}} $$

    Где $R_{constant}$ — заранее определенное значение, используемое для стабилизации расчетов и избежания деления на ноль.

    Формула для комбинации факторов (F1 и F2):

    $$ Count = \frac{NumberWINs(F1 \;and\; F2)}{NumberOCCURENCES(F1 \;and\; F2)} $$

    Методы вычислений:

    • Градиентный бустинг (Gradient Boosting): Основной метод построения модели.
    • Жадные алгоритмы (Greedy Algorithms): Используются для выбора наилучшего фактора и разделения на каждом уровне дерева.
    • Квантизация/Бинаризация: Использование Сетки (Grid) для определения разделяющих значений.

    Выводы

    1. Фундамент CatBoost: Патент описывает ключевые технические инновации, лежащие в основе CatBoost — основного алгоритма машинного обучения Яндекса. Это описание инфраструктуры ранжирования.
    2. Эффективное использование категориальных данных: Яндекс обладает мощным механизмом для учета нечисловых признаков (домен, регион, тематика и т.д.) в ранжировании наравне с числовыми.
    3. Автоматический поиск сложных взаимодействий (Claim 1): Система автоматически находит и учитывает сложные комбинации признаков «на лету» во время обучения. Это позволяет модели выявлять нелинейные зависимости (например, как комбинация региона и типа устройства влияет на релевантность).
    4. Приоритет борьбы с переобучением: Механизмы, описанные в патенте (в частности, упорядоченная статистика и использование нескольких перестановок), направлены на создание устойчивых моделей, которые хорошо работают на новых данных и менее подвержены шуму или манипуляциям.
    5. Важность исторических данных и целевых метрик: Ценность категориального признака (например, домена) напрямую зависит от его исторической корреляции с целевыми событиями (WINs – клики, качество). Это подчеркивает важность долгосрочной работы над качеством ресурса.

    Практика

    Патент описывает внутренние процессы машинного обучения Яндекс (CatBoost). Он не дает прямых рекомендаций для SEO, но предоставляет критически важное понимание того, как система учится и интерпретирует данные.

    Best practices (это мы делаем)

    • Фокус на долгосрочном качестве и стабильности сигналов: Поскольку ценность категориальных признаков (таких как домен или раздел сайта) рассчитывается на основе накопленной истории успехов (WINs), необходимо системно работать над улучшением поведенческих метрик и качества контента. Система ценит стабильную положительную историю благодаря механизму упорядоченной статистики.
    • Комплексная оптимизация по сегментам: Механизм динамического комбинирования признаков означает, что система оценивает сайт в контексте (например, «Домен + Регион» или «Домен + Устройство»). Важно анализировать и оптимизировать производительность сайта во всех ключевых сегментах, а не только в среднем.
    • Обеспечение чистоты и консистентности данных: Четкая структура сайта, правильная региональная привязка и консистентное использование категорий (например, в URL или разметке) помогают системе корректно идентифицировать и агрегировать статистику по этим категориальным признакам.

    Worst practices (это делать не надо)

    • Попытки краткосрочных манипуляций (Накрутки ПФ): Алгоритм CatBoost разработан с сильным акцентом на устойчивость к переобучению и шуму. Попытки манипулировать статистикой с помощью краткосрочных накруток менее эффективны против таких робастных алгоритмов.
    • Игнорирование технических и структурных факторов: Предположение, что Яндекс смотрит только на текст и ссылки, неверно. Технические и структурные особенности сайта являются важными категориальными факторами, которые CatBoost эффективно учитывает.
    • Частая смена структуры и URL: Непоследовательное использование категорий или частая смена структуры может помешать алгоритму накопить достаточную статистику (NumberOCCURRENCES) для корректной оценки этих категориальных признаков.

    Стратегическое значение

    Патент подтверждает, что инфраструктура ранжирования Яндекса построена на передовых методах машинного обучения (CatBoost). Стратегическое значение заключается в понимании того, что система автоматически выявляет сложные зависимости и учится на исторических данных, при этом активно сопротивляясь переобучению. Долгосрочная SEO-стратегия должна фокусироваться на комплексном развитии сайта и формировании устойчивых позитивных сигналов качества, которые обучат модель ценить факторы, связанные с ресурсом.

    Практические примеры

    Поскольку патент инфраструктурный, прямых примеров SEO-тактик нет. Однако можно смоделировать интерпретацию данных алгоритмом.

    Сценарий: Оценка авторитетности домена (Домен как категориальный признак)

    1. Ситуация: Есть старый авторитетный сайт (Домен А) и новый сайт (Домен Б). Домен является категориальным признаком.
    2. Обучение (Упорядоченная статистика):
      • Для Домена А система накопила большую историю (высокий NumberOCCURRENCES) и много успехов (высокий NumberWINs). Его числовое представление (Счетчик) будет высоким и стабильным.
      • Для Домена Б истории нет. Его Счетчик будет близок к среднему значению (из-за сглаживания R_constant).
    3. Результат: Модель CatBoost будет использовать эти счетчики как фактор ранжирования. Сайт А получит преимущество за счет своего авторитета, закодированного через этот механизм. Это демонстрирует, как история и траст домена влияют на ранжирование через ML-инфраструктуру.

    Сценарий: Взаимодействие факторов (Динамические комбинации)

    1. Ситуация: Пользователь ищет информацию с мобильного устройства в Москве.
    2. Обучение (Динамические комбинации): Во время обучения CatBoost автоматически проверяет комбинацию признаков «Регион: Москва» + «Устройство: Мобильный».
    3. Расчет: Система анализирует историческую успешность (WINs) сайтов, которые показывались именно при такой комбинации условий.
    4. Результат: Если эта комбинация показывает, что пользователи предпочитают определенный тип контента (например, быстрые ответы или адаптированные сайты), модель автоматически учтет это взаимодействие и даст буст сайтам, соответствующим этому паттерну, именно в контексте Москва+Мобильный.

    Вопросы и ответы

    Что на самом деле описывает этот патент простыми словами?

    Этот патент описывает ключевые инновации алгоритма CatBoost — основного движка машинного обучения Яндекса для ранжирования. Он объясняет, как Яндекс решает сложную техническую задачу: как научить компьютер понимать и использовать в ранжировании нечисловые данные (категории), такие как регион, тип сайта или слова в URL, делая это быстро, точно и защищаясь от переобучения.

    Что такое категориальные факторы в контексте SEO?

    Это любые характеристики сайта или пользователя, которые не выражаются числом. Примеры: доменная зона (.ru, .com), регион (Москва, Самара), тип устройства (Десктоп, Мобильный), тематика сайта (Авто, Медицина), тип используемой микроразметки. CatBoost, как описано в патенте, особенно силен в обработке именно таких признаков и их комбинаций.

    Как именно CatBoost превращает категорию (например, «Регион Москва») в число?

    Он использует метод, основанный на упорядоченной статистике. Система смотрит на исторические данные и подсчитывает, как часто объекты из категории «Москва» достигали успеха (например, получали клик или высокую оценку качества) в прошлом. Если успех достигался в 70% случаев, категория преобразуется в число, близкое к 0.7. Ключевой момент — учитывается только статистика из «прошлого» (в рамках упорядоченного списка), что защищает от переобучения.

    Что такое динамическое вычисление комбинаций факторов (Claim 1)?

    Это способность алгоритма автоматически находить и оценивать взаимодействия между разными факторами «на лету». Например, CatBoost может автоматически понять, что комбинация фактора А (Регион Москва) и фактора Б (Тип сайта: Доставка еды) имеет особую важность, без необходимости инженерам Яндекса вручную создавать отдельный признак «Доставка еды в Москве».

    Вводит ли этот патент новые факторы ранжирования?

    Нет, патент не вводит новые сигналы. Он описывает инфраструктуру — как существующие факторы обрабатываются движком ранжирования. Его значение в том, что он позволяет Яндексу использовать существующие категориальные факторы и их комбинации гораздо эффективнее, чем это было возможно ранее.

    Как этот патент связан с алгоритмом CatBoost?

    Напрямую. Патент подан одним из ключевых разработчиков CatBoost (Андрей Гулин) и описывает фундаментальные принципы, которые легли в основу этого алгоритма и отличают его от других реализаций градиентного бустинга (например, XGBoost или LightGBM). Фактически, это патент на ключевые инновации CatBoost.

    Применяется ли этот алгоритм в реальном времени при запросе пользователя?

    Нет. Описанные механизмы (упорядочивание, динамическое вычисление комбинаций, применение сеток) используются исключительно на этапе офлайн-обучения (Training) модели машинного обучения. В реальном времени (Inference) используется уже готовая, обученная модель, которая содержит результаты работы этих механизмов.

    Как SEO-специалист может повлиять на работу этого алгоритма?

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

    Защищает ли описанный механизм от накруток ПФ?

    Косвенно да. Механизмы борьбы с переобучением (такие как упорядоченная статистика и использование случайных перестановок данных при обучении, описанные в патенте) делают модель более устойчивой к шуму, статистическим аномалиям и краткосрочным всплескам активности, которые могут возникать при накрутках. Система ищет стабильные и обобщенные зависимости.

    Актуален ли этот патент, учитывая развитие нейросетей (YATI)?

    Да, абсолютно актуален. Хотя нейросети (трансформеры типа YATI) используются для анализа текста и генерации семантических векторов, финальное ранжирование в Яндексе по-прежнему в значительной степени опирается на CatBoost. Нейросетевые факторы часто используются как входные данные (числовые признаки) для модели CatBoost, которая объединяет их с другими типами сигналов.

    Навигация
    • Описание
    • Детальный разбор
    • Выводы
    • Практика
    • Вопросы и ответы
    • Наверх
    Telegram
    © 2025 SEO HARDCORE

    Type above and press Enter to search. Press Esc to cancel.