Одна из главных отличительных особенностей Netflix - система персонализации рекомендаций. Благодаря ей каждый пользователь видит на главной странице в первую очередь те фильмы и сериалы, которые могут его заинтересовать.
Недавно в попытках улучшить этот опыт сервис начал выбирать и обложки для контента, которые больше понравятся конкретном зрителю. Сервис должен заинтересовать пользователя, показать ему, что фильм или сериал соответствует его интересам и его стоит посмотреть.
Для этого была создана персонализация обложек. Они предоставляют визуальное "доказательство", что продукт будет интересен: например, на них может быть изображен актер, нравится зрителю, или драматический момент, что передает суть контента.
ЧИТАЙТЕ ТАКЖЕ: Кинофестиваль в Каннах изменил правила через Netflix
Ранее на Netflix каждому фильму и сериалу отвечала одна обложка. Какая именно - избиралось по интересам зрителей: ставили ту, на которую больше раз "кликали". Но теперь различным пользователям демонстрируются различные изображения, в зависимости от их предпочтений.
сложности
На Netflix почти весь пользовательский контент контролируется методами: контент отображается на главной странице, в каком порядке, какие сообщения приходят пользователю и так далее.
И у каждого аспекта персонализации есть свои сложности. Одна из проблем персонализации обложек - пользователю можно показать только одно изображение за раз. В случае с контентом зрителю предлагают сразу несколько вариантов, и из того, что человек выбирает, следуют выводы о его предпочтениях.
Но обложки показываются по одной, так что сделать вывод о вкусах пользователя из действий не получится. Netflix необходимо знать, в каком случае само изображение спровоцировало зрителя на просмотр, а в каком он включил бы видео независимо от обложки. Поэтому различные алгоритмы рекомендаций должны тесно взаимодействовать друг с другом.
Еще одна сложность - понять, насколько сильно влияет изменение обложки продукта на поиск объекта. Мешает новая обложка вновь обрести окошко на странице, если человек захотел его посмотреть? Решает пользователь включить сериал том, что обложка изменилась на более интересную?
ЧИТАЙТЕ ТАКЖЕ: Netflix анонсировал новый мультфильм от создателя "Симпсонов"
Очевидно, что нужно всегда показывать наиболее подходящую картинку, но частая смена обложки может запутать человека и помешать определить, какое именно изображение привлекло его внимание к продукту.
Кроме этого, для эффективной работы алгоритма требуется значительное пул обложек для каждого продукта. Они должны демонстрировать разные стороны фильма или сериала, но не вводить зрителя в заблуждение и не быть просто "кликабельными".
Наконец, существуют еще и технические сложности: 20 млн запросов в секунду должны обрабатываться с низкой задержкой.
Метод "контекстных бандитов"
Большая часть рекомендаций Netflix построена на алгоритмах машинного обучения. Алгоритмы анализируют информацию о том, как зрители используют сервис, а затем эффективность новых алгоритмов проверяют с помощью A/B-тестов.
Зрители в группе А продолжают пользоваться старыми системами, а группа B получает новые. Если через некоторое время привлечения подписчиков в группе B вырастает, то алгоритм распространяется на всю базу пользователей.
Но такой подход создает потери: пока проходит тестирование, огромная группа зрителей не получает контент с собственными предпочтениями.
Чтобы уменьшить потери, Netflix перешел по обучению на пакетах данных на онлайн-обучения. Для персонализации обложек используется система контекстных бандитов (contextual bandits) - программ, которые учатся методом проб и ошибок.
Вместо того, чтобы ждать новых баз данных и завершения A / B-теста, контекстные бандиты определяют оптимальную обложку для каждого отдельного пользователя и контекста.
Главная задача контекстных бандитов - минимизировать потери. Данные для обучения бандитов генерируются с помощью контролируемой случайной выдачи: зрителям показывают случайно выбранные обложки фильмов и сериалов, а система записывает их поведение. Этот процесс называется "исследование данных".
Как выбирают изображение
Контекстные бандиты выбирают лучшие обложки исходя из контекста - совокупности признаков, в зависимости от которых модель корректирует свое поведение.
Признаками могут быть много данных о пользователе: на какие фильмы он кликал ранее, в каком жанре, с каким продуктом и как он взаимодействовал, страна проживания, нужен язык, устройство, время суток и день недели.
Для определения лучшей обложки также используется число привлечений (take rates) - количество кликов на продукт, деленное на количество просмотров обложки.
После того, как система научилась, она ранжирует обложки отдельно для каждого контекста. Алгоритм предусматривает вероятность клика пользователя на каждую обложку в каждом контексте и демонстрирует зрителю ту, с которой эта вероятность выше.