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