IaaS, VPS, VDS, Частное и публичное облако, SSL
253,62
рейтинг
25 мая 2015 в 21:57

Разработка → «Под капотом» Netflix: Анализ мирового кинематографа перевод



/ фото Brian Cantoni CC

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

Если вы – пользователь Netflix, то, скорее всего, вы замечали, что иногда вам предлагаются фильмы странных жанров. Алексис Мадригал из The Atlantic обнаружил, что провайдер видеоконтента может размечать свои фильмы и сериалы 77-ю тысячами различных описаний и тегов.

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

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

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

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

Независимое кино: эмоциональные фильмы о спорте
Шпионские и приключенческие фильмы 1930х годов
Культовые ужастики со злыми детьми
Культовые спортивные фильмы
Сентиментальные европейские драмы 1970х

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

Базовый шаблон, по которому формируется жанр, исследователи представили следующим образом:

Откуда + Прилагательные + Существительное + Основан на … + Снят в … + От режиссера … + О… + Для возрастов от X до Y

Для более полноценной расшифровки грамматики был использован AntConc – это бесплатная программа, разработанная профессором из Японии. Обычно это ПО используется лингвистами в цифровых центрах гуманитарных наук для обработки больших объемов текста.

AntConc, по сути, превращает текст в легкоуправляемый набор данных. Программа может посчитать число вхождения слов в текст, например, в базу данных Netflix. Так, по поиску фраз, начинающихся с «Для…» можно увидеть, что у компании есть контент для детей возрастов от 0 до 2 лет, от 0 до 4, от 2 до 4, от 5 до 7, о 8 до 10 и от 11 до 12 лет.

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



/ фото Austen Squarepants CC

Тодд Йеллин пригласил журналистов к себе в офис и попытался передать им суть устройства его системы описания контента. Старый способ рекомендации контента Netflix сильно отличается от нынешнего. По словам инженера, только на разработку документации для нового проекта, получившего название «Квантовая теория Netflix», ушло несколько месяцев работы специалистов компании.

Основная ставка была сделана на описания, которые будут составлены понятным языком и сделают рекомендации более точными. Часть «микро-тегов» сделали «скалярными» (от 1 до 5), а жанры ограничили тремя основными факторами (кстати, жанры с более чем пятью дескрипторами отсутствуют):

1) до 50 знаков в названии;
2) условие накопления достаточного объема контента для конкретного жанра;
3) условие синтаксически «правильных» жанров.

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

P.S. Мы стараемся делиться не только собственным опытом работы над сервисом по предоставлению виртуальной инфраструктуры 1cloud, но и рассказывать о смежных областях знаний.

Не забывайте подписываться на наш блог на Хабре, друзья!
Автор: @1cloud ALEXIS C. MADRIGAL
1cloud.ru
рейтинг 253,62
IaaS, VPS, VDS, Частное и публичное облако, SSL

Комментарии (10)

  • +7
    Отличная статья! Как детектив. Прочитал на одном дыхании. Спасибо за перевод.
  • –1
    Довольно странный подход к категоризации.
    Почему вместо жанра «оскарносные романтические комедии 1950х» не сделать тэги oscar, romantic comedy, 1950?
    Это же в разы уменьшит количество сущностей которые нужно хранить в базе. Хотя вполне возможно что они так и записывают все раздельно, а пользователям просто показывают объединенные тэги для красивости.
    Но если так то я не очень вижу в чем новизна подхода, разнообразие тэгов это весьма старая идея, у нетфликса возможно подход более основательный, но не более.
    • +9
      Например потому, что жанр «оскарносные романтические комедии 1950х» — это на самом деле название кластера в многомерном пространстве параметров фильма. Каждый фильм, после проставления ему всех параметров по тому 36-страничному документа, это точка в N-мерном пространстве (судя по всему, там больше 100 параметров, то есть больше 100 измерений). Каким-то образом, на основе уже имеющейся базы оценок, точки объединяются в кластера, и для названия кластера выбираются наиболее значимые измерения.

      Когда пользователь смотрит фильмы, рекомендательная система вырисовывает области предпочтений в том N-мерном пространстве, и ищет наиболее близлежащие кластера, и их подсовывает пользователю.
  • +1
    Большие облачные данные в кинематографе, вычисленные Netfilx.
  • +1
    Это самое интересное из того, что я читал за месяц.
    Очень понравилась идея, что в контенте есть некие «пакеты энергии» эмоционального характера.

    С загадкой Берра ставлю на то, что на каком то этапе все серии запроцессились как отдельный фильм, таким образом их общие черты получили мощный множитель.
  • +1
    У меня есть теория про Бёрра: дело в том, что про фильмы с Мерил Стрип можно и без того подобрать множество эпитетов, не обязательно каждый раз упоминать ее имя, в вот про фильмы с этим Бёрром сказать больше нечего кроме того что это фильм с Бёрром, вот и ставят на его фильмы этот тег постоянно те кто занимается там их присваиванием.
    • +1
      Я думаю, что всем фильмам автоматом добавляются в параметры все звезды, которые в нем играли. это же самое простое, что можно автоматизировать, решая задачу категоризацию фильмов.
  • 0
    Интересно, а происходит ли потом коррекция пользовательских предпочтений? Ведь вкусы меняются.
  • 0
    Спасибо за материал. Интересно как российские компании решают подобные задачи
    • 0
      Боюсь, они об этом еще даже и не задумывались

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка