Иногда вы открываете для себя потрясающий канал на YouTube и смотрите его взахлеб. Каждый раз, когда автор этого канала выпускает новое видео, YouTube как бы говорит вам: “Вот, гляньте еще и это”. Когда вы смотрите какой-то видеоролик, YouTube показывает связанный с ним контент в виде предложений, и вы можете также посмотреть их позже.

По мере роста потребления видеоконтента YouTube стал крупнейшей онлайн-видеоплатформой, на которой зарегистрировано более двух миллиардов пользователей. Каждую минуту на YouTube загружается более 500 часов видео, поэтому платформа регулярно радует нас новыми рекомендациями.

Как же она справляется с таким огромным количеством видео и пользователей? YouTube отличается сложной системой рекомендаций, направленной на предоставление пользователям того контента, который они предпочитают смотреть.

Что такое система рекомендаций?

Когда вы хотите что-то посмотреть, вы спрашиваете совета у своих друзей. Они знают ваши предпочтения по жанрам и контенту и всегда порекомендуют что-то хорошее. Не исключено, что вам понравится их рекомендация, и вы посмотрите то, что вам посоветовали.

Система рекомендаций работает по тому же принципу, но в более структурированном виде. Вам может показаться странным, что система знает о ваших предпочтениях, хотя вы никогда не делились ими с ней. Тем не менее, она изучает ваше поведение на YouTube и фиксирует его. Система анализирует просмотренные вами видео, поисковые запросы, подписки на каналы, перепосты, поставленные лайки, дизлайки и многие другие факторы. На основе всего этого она делает вывод о вашем предполагаемом выборе видео в следующий раз. Давайте посмотрим, как это работает.

Общий обзор систем рекомендаций

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

В отличие от этих традиционных систем, использующих фильтрацию на основе содержания или коллаборативную фильтрацию, YouTube не полагается только на один метод из-за колоссального объема загруженных видео. Количество просмотров видеороликов куда больше зависит от частоты рекомендаций, чем от подписок на каналы и ручного поиска.

Поэтому YouTube использует множество методов для уравновешивания нового контента и существующих популярных видео, чтобы создать равные условия для авторов роликов. Система рекомендаций YouTube состоит из двух подсистем, которые выполняют генерацию и ранжирование кандидатов.

Архитектура системы рекомендаций из технической документации по глубоким нейронным сетям для рекомендаций на YouTube

Генерация кандидатов

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

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

Главная страница, рекомендации и поиск

На YouTube есть три раздела для показа видео. Большая часть видеороликов, просматриваемых пользователями, попадает на главную страницу и в раздел рекомендаций. Именно здесь система рекомендаций YouTube показывает вам, что именно следует посмотреть, избавляя вас таким образом от необходимости самостоятельного поиска.

Пользователи также могут получать рекомендации через поиск. Дело в том, что система рекомендаций YouTube работает несколько иначе в этом отношении. Поскольку компания Google владеет YouTube, некоторые поисковые рейтинги заимствуются из поисковика. Алгоритм YouTube учитывает и другие факторы, такие как название и описание видео, подгоняя его к ключевому слову (словам), по которому ведется поиск.

Количество кандидатов и связанные с ними факторы различны для главной страницы и раздела рекомендаций. Большую часть трафика получает целевая страница.

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

Кандидаты определяются на основе истории пользователя и предпочтений зрителей с похожими интересами. В этой системе реализована техника коллаборативной фильтрации для поиска похожих групп пользователей. В рекомендациях пул кандидатов формируется на основе того, что зритель смотрит в данный момент.

Факторы

YouTube оптимизирует работу подсистем, ориентируясь на следующие показатели:

  • История просмотров. Идентификаторы просмотренных видео в течение определенного времени.
  • История поиска. Ключевые слова (маркеры), используемые для поиска.
  • Демографические характеристики. Возраст, местоположение, пол, тип устройства для входа в систему и так далее.
  • Каналы. Каналы, на которые подписан пользователь.
Главная страница YouTube

Ранжирование

Алгоритм ранжирования YouTube имеет ключевое значение для общего здоровья экосистемы YouTube. Строго говоря, слово “алгоритм” в этом контексте — не совсем верное определение. На самом деле под ним подразумевается множество различных систем, работающих совместно для формирования общей системы рекомендаций.

За прошедшие годы система рекомендаций неоднократно претерпевала изменения. С 2005 по 2011 год ее оптимизировали под клики и просмотры. Это привело к злоупотреблениям, в результате чего появилось знаменитое слово “кликбейт”. Пользователи, привлеченные захватывающими названиями роликов и завлекательными миниатюрами, нажимали на видео, поддаваясь приему “шок-контента”. Так появились низкосортные видео, на которые человек кликал, но не досматривал до конца.

С 2012 года система ранжирования YouTube стала ориентироваться на другую метрику — “время просмотра”. Система определяла продолжительность просмотра видео и рекомендовала этот ролик другим пользователям. Более длительное время просмотра означало более ценный пользовательский опыт. До 2015 года это был основной решающий фактор для системы рекомендаций.

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

Факторы

В своей системе ранжирования видео YouTube учитывает множество факторов. Каждый видеоролик получает определенный ранг на основе следующих важных показателей:

  • Время просмотра. Количество времени, в течение которого пользователи просматривают видео.
  • Средняя продолжительность просмотра. Среднее время просмотра за один сеанс.
  • Удержание внимания аудитории. Средний процент просмотров видеоролика.
  • Показатель кликабельности (CTR). Измеряет то, как показ ролика влияет на частоту его просмотра.
  • Совместный просмотр. Видео, которые обычно смотрят вместе.
  • Опрос. Как пользователь относится к определенному видео? Обычно этот показатель является дополнительным.
  • Перепосты. Сколько раз видео перепостили на другие платформы.
  • Лайки и дизлайки: Количество лайков и дизлайков, поставленных видео. Этот параметр теперь имеет меньшее влияние после того, как убрали подсчет дизлайков.

Есть и другие показатели, которые могут повлиять на рейтинг видео, основанный на модели прогнозирования персонализации. К ним относятся местоположение, история пользователя, история просмотров, частота нажатия на “неинтересно” на видео и другие.

Архитектура модели

Подсистема генерации кандидатов представляет собой сложную модель прогнозирования c многоклассовой классификацией, оперирующую миллионами классов. В ней реализована глубокая нейронная сеть прямого распространения, которая принимает в качестве сигналов низкоразмерные векторы.

Нейронная сеть прямого распространения состоит из плотно связанных слоев, где входы и веса одного слоя влияют на каждый последующий слой. Характеристики модели, такие как идентификаторы видео в истории просмотров пользователя и слова из истории поиска, являются большими входными данными, хранящимися в разреженных векторах. Эти разреженные векторы нельзя напрямую передать в сеть, поэтому они внедряются в более низкую размерность.

Архитектура модели генерации кандидатов из технической документации по глубоким нейронным сетям для рекомендаций на YouTube

До 2015 года YouTube использовал матричную факторизацию для обучения своей модели, используя только историю просмотров пользователей. Этот подход переосмыслили, и теперь ориентация идет на обобщенный входящий поток, то есть непрерывные и категориальные признаки.

Демографические характеристики пользователя — пол, возраст, состояние входа в систему — являются примерами непрерывных признаков. Встроенная история поиска и просмотров являются категориальными признаками. Эти входные данные передаются в четыре плотно связанных друг с другом слоя ReLU. В процессе обучения входные данные поступают в слой softmax, который классифицирует видео по различным категориям.

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

  • Поведение пользователя время от времени меняется. Человек может интересоваться определенной темой (например, вопросами, задаваемыми на собеседовании по SQL), когда он готовится к такому собеседованию. Но после того, как кандидат устроится на работу, ему уже неинтересны будут видео о собеседованиях, и, возможно, ему захочется посмотреть смешные ролики, чтобы снять стресс. Специалисты YouTube понимают это, поэтому добавили еще один показатель — возраст истории просмотров.
  • Система YouTube не только учитывает историю просмотров со своей платформы, но и включает примеры обучения с других сайтов, где есть встроенные видео. Такой подход повышает вероятность обнаружения более нового контента.
  • Подсистема генерирует фиксированное количество примеров обучения для каждого пользователя. Это приводит к равномерному “взвешиванию” пользователей с помощью функции потерь. Таким образом обеспечиваются равные возможности для всех авторов видеоконтента, несмотря на то, что некоторые из них уже имеют более высокую популярность, чем остальные.

Во время тестирования подсистема генерирует пул кандидатов, который поступает в подсистему ранжирования. Модель ранжирования аналогична модели генерации кандидатов. Она также представляет собой глубокую нейронную сеть прямого распространения, которая принимает как встроенные категориальные, так и нормализованные непрерывные признаки.

Архитектура модели ранжирования из технической документации по глубоким нейронным сетям для рекомендаций на YouTube

Генерация кандидатов дает список видео, которые невозможно эффективно проанализировать в соответствии с заданными метриками. Поэтому в алгоритм ранжирования входят сотни дополнительных характеристик для ранжирования кандидатов согласно преференциям пользователей.

  • Языковые предпочтения пользователя и язык видеозаписей маркируются с помощью модели обработки естественного языка (NLP), которая известна как языковая модель Bag of Words. Эти маркеры далее сводятся к более низким измерениям и встраиваются в качестве категориального признака.
  • Подсистема включает идентификаторы видео, которые были показаны другим пользователям. Идентификаторы показанных видео вместе с идентификаторами видео из истории просмотров пользователя встраиваются в категориальные признаки и передаются в систему.
  • Как и в случае генерации кандидатов, возраст истории просмотров также считается признаком. YouTube отслеживает историю показов, поэтому возраст показов также учитывается при ранжировании. Эти непрерывные признаки нормализуются перед обучением.

Эти входные данные передаются в три полносвязанных слоя ReLU. В процессе обучения входные данные передаются модели, которая обучается с помощью взвешенной логистической регрессии с потерей перекрестной энтропии.

Единый алгоритм управления

Вы уже, наверное, поняли, насколько сложна система рекомендаций. В этом нет ничего удивительного: каждый час на YouTube загружается около 30 000 часов видеоконтента. Ранжирование при таких масштабах — непростая задача.

Но тот, кто поймет алгоритм YouTube, получит ключ к успеху, или, говоря по-простому, станок для печатания денег. На какое бы видео ни указал алгоритм YouTube, оно тут же становится популярным и приносит его автору огромные суммы. На самом деле, администрацию YouTube и авторов контента объединяют общие интересы.

Какой видеоблогер не хочет, чтобы его контент просмотрело как можно больше людей? В то же время YouTube стремится показывать лучшие видеоролики как можно большему числу пользователей. Цель в обоих случаях одна и та же — продвигать лучший контент. Давайте посмотрим, что могут сделать авторы контента и сам YouTube для достижения этой цели.

Авторы контента

Нет универсальной модели для создания вирусных видео на YouTube. Тем не менее, есть определенные факторы, которые следует принять во внимание, если вы хотите добиться долгосрочного успеха на YouTube. Перечислим те из них, которые может взять на вооружение любой автор видеоконтента:

  • Подбирайте ключевые слова с высоким объемом поиска и низкой конкуренцией.
  • Придумывайте для видео привлекательные названия и миниатюры — это повысит CTR.
  • Старайтесь делать видео на темы, которые обсуждают другие люди, чтобы ваш ролик рекомендовался в разделе “Предлагаемые”.
  • Делайте контент более привлекательным — так вы повлияете на время просмотра видео и улучшите коэффициент удержания пользователей.
  • Добавляйте ключевые слова в название и описание ролика для повышения его рейтинга в поиске.
Рисунок, показывающий различные типы удержания аудитории. Зеленым цветом отмечены положительные показатели, свидетельствующие о более высокой степени удержания, что приводит к увеличению количества просмотров.

Рекомендации YouTube

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

Рассмотрим моменты, которые следует учитывать YouTube при работе над предоставлением лучшего пользовательского опыта.

  • Параметр времени просмотра должен иметь меньший вес при рекомендации видео на главной странице и в рекомендациях.
  • Следует снизить объем дезинформации, особенно когда речь идет о новостях из малоавторитетных источников. Этого можно добиться, повысив рейтинг более значимых источников, например, журналистов, известных во всем мире. Такая функция должна затронуть только новостной контент.
  • Можно создать отдельный раздел для показа роликов от новых каналов — это будет стимулировать начинающих авторов видеоконтента.
  • Необходимо предоставить видеоблогерам более доступную информацию о том, как работает продвижение видео, а не полагаться только на систему аналитики YouTube.

В какой-то степени YouTube уже применяет эти инновации, но результаты этой работы не так заметны, как хотелось бы.

Заключение

Системы рекомендаций сами по себе довольно сложно устроены, а если говорить о масштабах YouTube, то становится ясно, что поставленная перед видеохостингом задача просто колоссальна. Именно поэтому сервис использует многочисленные модели глубокого обучения для работы с тщательно подбираемыми рекомендациями.

YouTube предоставляет невероятный объем аналитических данных не только для собственных нужд, но и для миллионов создателей контента, которые зарабатывают на жизнь с помощью этого видеохостинга. На YouTube есть все: от персонализированных роликов, отобранных аналитическим алгоритмом, до рекомендованных “кошачьих” видео. Неудивительно поэтому, что YouTube — крупнейшая в мире платформа для создания видеоконтента, которая развивается стремительными темпами.

Читайте также:

Читайте нас в TelegramVK и Яндекс.Дзен


Перевод статьи Swaathi Sundaramurugan, Cracking The YouTube Algorithm

Предыдущая статьяAWS WebSocket: написание документации с помощью Async API Spec
Следующая статья5 антипаттернов на языке функционального программирования