Как работает персонализация обложек на Netflix

Машинное обучение и многорукие бандиты.

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

Отдел разработки Netflix опубликовал в своём блоге на Medium материал, в котором подробно рассказал, как работает алгоритм персонализации обложек.

Как работает персонализация обложек на Netflix

Предложить подходящий контент — не единственная задача Netflix. Сервис должен заинтересовать пользователя, показать ему, что фильм или сериал отвечает его интересам, и его стоит посмотреть.

Для этого была создана персонализация обложек. Они предоставляют визуальное «доказательство», что продукт будет интересен: например, на них может быть изображён актёр, который нравится зрителю, или драматичный момент, передающий суть контента.

Раньше на Netflix каждому фильму и сериалу соответствовала одна обложка. Какая именно — выбиралось с помощью «голосования» зрителей: ставили ту, на которую больше раз кликнули. Но теперь разным пользователям демонстрируются разные изображения, зависящие от их предпочтений.

Как работает персонализация обложек на Netflix

Например, если человек до этого смотрел романтические фильмы, то ему больше подойдёт обложка «Умницы Уилла Хантинга», на которой изображены Мэтт Дэймон и Минни Драйвер. А тот, кто любит комедии, скорее всего кликнет на картинку с Робином Уильямсом — известным комедийным актёром.

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

Сложности

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

Как работает персонализация обложек на Netflix

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

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

Ещё одна трудность — понять, насколько сильно влияет смена обложки продукта. Мешает ли новая обложка снова найти тайтл на странице, если человек захотел его посмотреть? Решает ли пользователь включить сериал потому, что обложка сменилась на более интересную?

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

Как работает персонализация обложек на Netflix

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

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

Метод контекстных бандитов

Большая часть движка рекомендаций Netflix построена на алгоритмах машинного обучения. Алгоритмы анализируют информацию о том, как зрители используют сервис, а затем эффективность новых алгоритмов проверяют с помощью A/B-тестов.

Зрители в группе А продолжают пользоваться старыми системами, а группа B получает новые. Если спустя время вовлечение подписчиков в группе B вырастает, то алгоритм распространяется на всю базу пользователей.

Как работает персонализация обложек на Netflix

Но такой подход генерирует потери: пока проходит тестирование, огромная группа зрителей не получает преимуществ.

Как работает персонализация обложек на Netflix

Чтобы снизить потери, Netflix перешёл с обучения на пакетах данных на онлайн-обучение. Для персонализации обложек используется система контекстных бандитов (contextual bandits) — программ, обучающихся методом проб и ошибок. Вместо того, чтобы ждать новых баз данных и завершения A/B-теста, контекстные бандиты определяют оптимальную обложку для каждого отдельного пользователя и контекста.

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

Исследование имеет свою цену (часть пользователей временно получает не лучший опыт из возможных), но потери от него небольшие. К тому же, они амортизируются за счёт размера базы пользователей Netflix, каждый из которых даёт сервису ценную обратную связь об обложках небольшой части каталога.

Потенциальные признаки

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

Для определения лучшей обложки также используется число привлечений (take rates) — количество кликов на продукт, делённое на количество просмотров обложки.

Выбор изображения

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

Оценка эффективности

Офлайн

Для оценки алгоритмов контекстных бандитов используется метод «перезапуска» (replay). Он позволяет представить, что было бы в записанных ранее сценариях, если бы вместо случайного распределения использовались новые алгоритмы.

Как работает персонализация обложек на Netflix

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

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

Как работает персонализация обложек на Netflix

Онлайн

После офлайн-проверки разных моделей те из них, что показали лучшие результаты в перезапуске, были проверены в A/B тесте. Выяснилось, что персонализация действительно работает — основные параметры сервиса значительно выросли.

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

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

3535
13 комментариев

Одна из проблем персонализации обложек — что пользователю можно показать только одно изображение за разНу что они, в самом деле, как маленькие? Достаточно посмотреть на порносайты, как двигатель технологии и наилучшего угождения желаниями пользователей, где при наведении на статичный кадр из ролика, показывается нарезка «самого интересного»...

8
Ответить

Там сейчас при наведении трейлер показывается)

Ответить
Комментарий удалён модератором

Мне одному вссё равно на обложки?

Ответить

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

16
Ответить

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

Ответить