Вопрос или проблема
В статье о рекомендациях на Youtube автор говорит, что генерация кандидатов является задачей многоклассовой классификации. Я пытаюсь понять, что здесь является классами: категория видео или само видео? Если это категория видео, как они пришли к этим категориям?
Горячая тема: всё — это задача классификации.
Для рекомендаций видео представьте, что каждая строка ваших данных — это человек (наблюдение), а каждый столбец (признак) — это разное видео.
Это даст нам ОГРОМНЫЙ набор данных с размерностью (число_пользователей, 800м видео)
. Очевидно, что построить модель для этого очень сложно, поэтому рекомендации обычно разбивают на ~3 фазы:
- Вспоминание: Уменьшите набор из 800 миллионов видео до разумного числа. Обычно это делается с помощью правил (подписки, фильтрация похожих пользователей, кластеризация и т. д.). В последнее время используются более экзотические архитектуры DNN (трансформеры).
- Ранжирование: Теперь мы берем меньший набор видео, добавляем к ним множество признаков (возраст видео, длительность видео, тренды и т. д.) и передаем их в модель ранжирования. Это может быть ранжировщик глубокого обучения, ранжировщик LightGBM/XGBoost, более простая линейная модель и так далее.
- Пост-ранжирование: Общая очистка результатов, очень специфичная для домена. Возможно, на этом этапе мы убираем нежелательный контент, который пользователь специально попросил не показывать — я уверен, есть более подходящий пример.
Предостережения: мне нужно было бы увидеть саму статью, о которой вы говорите — это грубая схема для современных рекомендательных систем — это одна из самых сложных тем в области науки о данных.
Ответ или решение
Вопрос, который вы подняли, касается сложности многоклассовой классификации в контексте рекомендаций видео, таких как в системе YouTube. Давайте разберемся в том, что здесь подразумевается под классами: являются ли они категориями видео или конкретными видео.
Определение классов в задачах многоклассовой классификации
В контексте рекомендаций, классы могут пониматься по-разному в зависимости от фазы, на которой вы находитесь, и конкретных целей вашего алгоритма.
-
Классы как видео: Если рассматривать проблему рекомендаций на уровне отдельного видео, то каждый класс будет представлять собой уникальное видео. В таком случае задача заключается в том, чтобы для данного пользователя предсказать, какое из множества видео (например, 800 миллионов) он наиболее вероятно захочет просмотреть. Это представляет собой задачу экстремальной многоклассовой классификации, так как классами здесь становятся все уникальные видео.
-
Классы как категории видео: Если рассматривать подход, ориентированный на категории, то каждый класс будет представлять собой определенную категорию видео (например, "Спорт", "Музыка", "Наука" и т.д.). В этом случае задача заключается в том, чтобы предсказать, какая категория видео будет наиболее интересна пользователю, а затем уже из этой категории выбрать конкретное видео для рекомендации.
Как формируются категории
Если рассматривать второй подход, категории видео могут быть определены различными способами:
-
Содержательные метаданные: Обычно категории формируются на основе доступных метаданных видео, таких как жанр, целевая аудитория, содержание и т.д. Эти метаданные могут быть вручную присвоены при загрузке видео или генерироваться автоматически с использованием методов машинного обучения.
-
Анализ пользовательских предпочтений: Сбор данных о взаимодействиях пользователей с контентом может помочь в формировании более точных категорий. Например, если многие пользователи, которые смотрят видео о науке, также интересуются видео о технологиях, то можно создать новую подкатегорию или объединить их.
Рекомендационная система и её этапы
Как упомянуто в комментарии, рекомендации в YouTube обычно делятся на несколько этапов:
-
Поиск кандидатов (Recall): Сначала система сокращает общее количество видео до управляемого числа, используя различные правила и алгоритмы.
-
Ранжирование (Ranking): После сокращения набора видео, система применяет различные модели для ранжирования видео по актуальности для конкретного пользователя.
-
Финальная обработка (Post-ranking): На этом этапе система может выполнять дополнительные проверки или фильтрацию контента, учитывая предпочтения пользователя и специфические условия.
Заключение
Таким образом, при интерпретации классов в задаче рекомендаций можно говорить как о конкретных видео, так и об их категориях. Выбор подхода зависит от ваших задач и обобщенности системы. Оба аспекта имеют свою ценность и могут быть использованы для повышения эффективности рекомендаций. Очевидно, что это очень сложная область, требующая глубоких знаний в машинном обучении и анализе данных.