Почему видеосервис знает, что вы захотите посмотреть: как работают рекомендации

Еще несколько лет назад пользователь знал, что хочет посмотреть, вводил название в поисковую строку платформы и выбирал подходящий результат.
Сегодня все чаще происходит наоборот — человек открывает видеосервис, а большая часть контента уже ждет его в персональной ленте.
Но откуда она вообще знает, что нас заинтересует? Вместе с директором по продукту RUTUBE Евгением Ильчуком разбираемся, какие сигналы считывают современные рекомендательные системы и какой путь проходит видео, прежде чем оказаться в персональной выдаче.
Когда контент сам находит пользователя
Одна из причин роста роли рекомендательных систем — дефицит внимания людей и его лимитированность как ресурса.
Современный пользователь каждый день одновременно взаимодействует с десятками цифровых сервисов и все меньше готов тратить время на дополнительные действия, например, переходить по нескольким разделам или перебирать результаты поиска.
Поэтому конкурируют видеоплатформы сегодня не только каталогами контента, но и скоростью, с которой способны подобрать для зрителя подходящее видео. Изменились за последние годы и сами технологии рекомендаций.
Первые системы во многом строились вокруг принципа «пользователи с похожими интересами смотрели это — возможно, вам это тоже понравится». Окончательно он никуда не исчез, но современные модели позволяют гораздо точнее описывать и пользователя, и сам контент.
Вместо нескольких условных характеристик алгоритм работает с большим количеством признаков и формирует цифровое представление интересов человека. Для этого используются в том числе технологии векторизации и трансформерные модели.
Векторизация переводит информацию в математическую форму: каждому объекту соответствует набор чисел, а похожие по смыслу объекты система располагает ближе друг к другу. Это позволяет искать сходство не только по отдельным словам или категориям, но и по смыслу. Трансформерные модели помогают учитывать контекст и связи между разными признаками.
В результате системе уже недостаточно понимать, что пользователь относится к широкой группе любителей, например, спорта или кино. Она стремится определить, какой именно контент интересен конкретному человеку прямо сейчас.
Что кроме лайков?
Может показаться, что проще всего определить интересы пользователя по его явным действиям — лайкам, подпискам или репостам. Например, для рекомендательной системы RUTUBE главным сигналом служат прежде всего просмотры.
В терминах рекомендательных систем лайки, подписки и репосты — это явные (explicit) сигналы, а просмотры, глубина досмотра — неявные (implicit). Неявных сигналов на порядки больше, поэтому именно они формируют основу профиля интересов.
Лайки, подписки и репосты тоже учитываются, но становятся лишь частью гораздо более широкой поведенческой картины. Дело в том, что люди смотрят значительно больше контента, чем оценивают. Пользователь может ежедневно проводить на видеоплатформе много времени и при этом почти никогда не ставить лайки и не подписываться на авторов. Если строить его аудиторный профиль только на таких действиях, значительная часть информации об интересах потеряется.
Причем алгоритму важен не только сам факт открытия ролика. Намного больше может рассказать то, как именно человек его посмотрел. Например, закрыл на первых секундах или дошел до конца, пересмотрел ли отдельные моменты, какой контент включил следующим.
Еще один влияющий на выдачу фактор — характеристики самого контента. Система анализирует тему и категорию видео, семантику его названия и описания, а также смысловую близость к другим роликам.
Учитывается и то, что происходит с конкретным видео. Если какая-либо тема или ролик быстро набирает популярность среди людей с похожим поведением, это становится дополнительным сигналом о том, что, вероятно, контент окажется интересен и другим пользователям из той же группы.
Наконец, рекомендации зависят от контекста текущей сессии. Имеют значение последовательность последних просмотров, время и другие параметры. Это позволяет системе учитывать не только усредненный портрет человека, накопленный за месяцы, но и его интерес «здесь и сейчас».
Например, пользователь, который обычно смотрит фильмы, может внезапно заинтересоваться ремонтом или путешествиями. Ждать несколько недель, пока рекомендательная система это заметит, не придется. Свежие просмотры практически сразу попадают в набор признаков, по которым формируется новый пул потенциально интересного контента, поэтому новая тема может появиться в выдаче уже во время той же сессии.
При этом один случайный просмотр не должен полностью перестраивать ленту. Поэтому система смотрит на повторяемость поведения. Несколько последовательных просмотров одной тематики становятся более убедительным сигналом об изменении интереса.
Кроме того, вес сигналов неодинаков: свежие действия учитываются больше, а давние постепенно «выгорают» — в моделях это называется затуханием (decay). Дополнительно модели ежедневно переобучаются на накопленных данных — так новый интерес постепенно закрепляется в профиле пользователя.
Ситуация сложнее с человеком, который только пришел на видеоплатформу и еще ничего не посмотрел. Здесь рекомендательной системе практически не на что опереться — это называется проблемой холодного старта (cold start). Поэтому сначала пользователь получает достаточно разнообразный набор популярного у аудитории контента.
Однако уже первый просмотр дает системе новый сигнал, после которого лента начинает персонализироваться. Например, у RUTUBE перестройка рекомендаций может начаться менее чем за минуту.
Как видео попадают в рекомендации
Чтобы ролик оказался в персональной ленте, системе сначала необходимо содержание самого контента.
У фильма, сериала или телевизионной программы, как правило, уже есть подробные метаданные — жанр, актеры, описание и другие характеристики. Поэтому системе проще понять, что это за контент и какой аудитории он потенциально подойдет.
С пользовательским видео ситуация отличается. Автор может загрузить ролик и даже не указать теги или сделать это неправильно. Поэтому еще до работы рекомендательной системы контент нужно дополнительно обработать.
На этапе загрузки и модерации определяется его категория. Затем подключается ML-разметка: система, в частности, транскрибирует аудиодорожку, анализирует контент и может уточнить его категорию. Это позволяет получить дополнительные признаки даже для видео с минимальным количеством исходных метаданных.
После этого начинается непосредственно работа рекомендаций. Если очень упростить процесс, он напоминает воронку. Ее этапы в индустрии называются отбором кандидатов (candidate generation), ранжированием (ranking) и финальным переранжированием (re-ranking).
Сначала из каталога, который только на RUTUBE в первом полугодии 2026 превысил 448 млн видео, нужно быстро выбрать относительно небольшой пул видео, которые в принципе способны заинтересовать конкретного пользователя. На первом этапе система видеосервиса отбирает около тысячи таких кандидатов.
Для этого одновременно используются разные подходы. Часть кандидатов, например, выбирается из новых видео авторов, которых пользователь регулярно смотрит, или из его подписок. Другую часть находят коллаборативные и трансформерные модели, которые сопоставляют поведение людей и смысловую близость контента.
Для такого сопоставления применяются двубашенные модели (two-tower): одна ее часть строит вектор пользователя, другая — вектор видео, а ближайшие кандидаты находятся приближенным векторным поиском (ANN, Approximate Nearest Neighbor). Благодаря этому перебор миллионов роликов занимает миллисекунды.
Но тысяча роликов — все еще слишком много для одной ленты. Поэтому следующим этапом становится ранжирование.
Здесь система оценивает уже сотни признаков, среди которых популярность и динамика самого видео, его близость к недавним просмотрам пользователя, текущий контекст и множество других параметров. В итоге каждый кандидат получает свою оценку, а ролики выстраиваются от потенциально наиболее интересных этому человеку к менее релевантным.
При этом просто показать пользователю десять максимально похожих роликов подряд тоже недостаточно. Поэтому на финальном этапе рекомендательная система добавляет разнообразие и периодически выводит человека за пределы уже известных ей интересов, чтобы не создавался так называемый «пузырь рекомендаций».
Технически это решается алгоритмами диверсификации (например, MMR — Maximal Marginal Relevance, максимальная маргинальная релевантность — метод переранжирования результатов в поиске, рекомендательных системах и RAG-архитектурах): кандидаты, слишком похожие на уже отобранные в ленту, получают «штраф» при переранжировании. Чтобы избегать «пузыря рекомендаций», RUTUBE постоянно расширяет контекст потребления.
Например, если зритель приходит на платформу за новостями, система может предложить ему документальный или образовательный контент. Если он заинтересуется новым форматом, это станет очередным сигналом для системы, и пространство потенциальных рекомендаций расширится. Алгоритмы специально настроены так, чтобы пользователь видел не только привычные ему ролики.
Что при этом делать с новым роликом? Это тоже случай холодного старта — уже для контента. У него пока нет истории просмотров, поэтому алгоритм не может оценить его привычным способом.
В этом случае на первом этапе помогают содержание видео, его категория и профиль автора. Кроме того, новый контент получает небольшой первоначальный объем показов в рекомендациях. Дальше система смотрит на реакцию аудитории. Если пользователи активно смотрят ролик и его поведенческие метрики оказываются хорошими, количество показов может увеличиваться. Если нет — сокращаться.
Именно сочетание всех перечисленных выше механизмов и превращает рекомендации из простой подборки «похожего контента» в постоянно развивающуюся систему. Она одновременно анализирует самого пользователя, содержание миллионов видео, поведение похожих аудиторий и ситуацию конкретного просмотра.
Для RUTUBE задача дополнительно усложняется тем, что внутри одной платформы фактически соседствуют две модели потребления — онлайн-кинотеатр с фильмами, сериалами и шоу и UGC-платформа с постоянно и ежедневно растущим объемом контента. Все это необходимо для создания единого пользовательского опыта, когда человек может бесшовно смотреть в одном месте контент разного формата.
Как итог — одному и тому же алгоритму нужно уметь подобрать человеку и фильм на вечер, и ролик нового автора. Уже сейчас более 55% всего времени на RUTUBE пользователи проводят за просмотром контента, который им предложила рекомендательная система.