Netflix обирає фільми і навіть картинки, які сподобаються особисто вам. У компанії розповіли як

В кінокомпанії Netflix розповіли, яким чином вони застосовують "індивідуальний підхід" до кожного користувача, і пропонують "виграшний" набір фільмів, серіалів та навіть картинок до них

Про це йдеться у матеріалі Medium.

Одна з головних відмінних рис Netflix - система персоналізації рекомендацій. Завдяки їй кожен користувач бачить на головній сторінці в першу чергу ті фільми і серіали, які можуть його зацікавити.

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

Як це працює

"Запропонувати відповідний контент - не єдине завдання Netflix. Сервіс повинен зацікавити користувача, показати йому, що фільм або серіал відповідає його інтересам і його варто подивитися", - розповідають у компанії.

Для цього була створена персоналізація обкладинок. Вони надають візуальний "доказ", що продукт буде цікавий: наприклад, на них може бути зображений актор, який подобається глядачеві, або драматичний момент, що передає суть контенту.

Раніше на Netflix кожному фільму і серіалу відповідала одна обкладинка. Яка саме - обиралося по інтересам глядачів: ставили ту, на яку більше разів "клікали". Але тепер різним користувачам демонструються різні зображення, залежно від їх вподобань.

Наприклад, якщо людина до цього дивився романтичні фільми, то йому більше підійде обкладинка "Розумники Уілла Хантінга", на якій зображені Метт Деймон і Мінні Драйвер. А той, хто любить комедії, швидше за все натисне на картинку з Робіном Вільямсом - відомим комедійним актором.

Зрозуміло, реальні сценарії використання зазвичай складніше, тому правила персоналізації створюються за допомогою алгоритмів на основі призначених для користувача даних.

Складнощі 

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

І у кожного аспекту персоналізації є свої складнощі. Одна з проблем персоналізації обкладинок - користувачеві можна показати тільки одне зображення за раз. У випадку з контентом глядачеві пропонують одразу кілька варіантів, і з того, що людина оибирає, випливають висновки про його вподобання.

Але обкладинки демонструються по одній, так що зробити висновок про смаки користувача з дій не вийде. Netflix необхідно знати, в якому випадку саме зображення спровокувало глядача на перегляд, а в якому він ввімкнув би відео незалежно від обкладинки. Тому різні алгоритми рекомендацій повинні тісно взаємодіяти одне з одним.

Ще одна складність - зрозуміти, наскільки сильно впливає зміна обкладинки продукту на пошук об'єкта. Чи заважає нова обкладинка знову знайти віконце на сторінці, якщо людина захотіла його подивитися? Чи вирішує користувач ввімкнути серіал тому, що обкладинка змінилася на більш цікаву?

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

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

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

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

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

Глядачі в групі А продовжують користуватися старими системами, а група B отримує нові. Якщо через деякий час залучення передплатників в групі B виростає, то алгоритм поширюється на всю базу користувачів.

Але такий підхід генерує втрати: поки проходить тестування, величезна група глядачів не отримує контент з власними вподобаннями.

Щоб зменшити втрати, Netflix перейшов з навчання на пакетах даних на онлайн-навчання. Для персоналізації обкладинок використовується система контекстних бандитів (contextual bandits) - програм, які навчаються методом проб і помилок.

Замість того, щоб чекати нових баз даних і завершення A / B-тесту, контекстні бандити визначають оптимальну обкладинку для кожного окремого користувача і контексту.

Головне завдання контекстних бандитів - мінімізувати втрати. Дані для навчання бандитів генеруються за допомогою контрольованої випадкової видачі: глядачам показують випадково вибрані обкладинки фільмів і серіалів, а система записує їх поведінку. Цей процес називається "дослідження даних".

Як обирають зображення

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

Ознаками можуть бути багато даних про користувача: на які фільми він клікав раніше, в якому жанрі, з яким продуктом і як він взаємодіяв, країна проживання, потрібна мова, пристрій, який час доби і день тижня.

Для визначення кращої обкладинки також використовується число залучень (take rates) - кількість кліків на продукт, поділене на кількість переглядів обкладинки.

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

Читайте також: Всі говорять про штучний інтелект. Простими словами пояснимо, що це