Личный опыт Dmitry Melkov
486

Между результативностью и хайпом: как MEGOGO внедряет инновации

В закладки

Как CIO провайдера кино и телевидения MEGOGO рассказываю, как компания использует новые технологии при разработке продукта.

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

Мы как продуктовая IT-компания с собственными технологическими разработками придерживаемся другой точки зрения. MEGOGO на рынке более 7 лет, но мы считаем, что продукты нужно совершенствовать постоянно, какой бы зрелой компания ни была. Рынок постоянно изменяется, технологии развиваются, поэтому бизнес должен сохранять дух стартапа.

В продуктовом департаменте работают 3 R&D-команды, одна из которых занимается big data и machine learning. На примере этой команды мы расскажем, как тестируются и внедряются новые технологии.

Как работает R&D-команда

Подразделение появилось два года назад. К тому моменту у нас уже были наработки в области рекомендательных систем, которыми занимался один человек. Мы решили, что направление перспективное и уже давно де-факто является неотъемлемой частью таких OTT-гигантов, как Netflix и HBO Now.

Сейчас мы выросли до 6 человек. Три DS/ML-инженера решают различные задачи в плоскости content discovery, а также smart solutions и BI. Два data-инженера собирают чистые данные и занимаются data-пайплайнами — наборами элементов последовательной обработки данных. Не так давно в команде появились аналитик (у нашего бизнеса появилось много «хотелок») и DevOps (решения, поставляемые командой, требуют серьезного инфраструктурного setup’a).

Основной язык программирования в команде — Python, немного используем Scala и даже Lua. Для обработки больших объемов данных применяем Spark, для оркестрации job — Airflow, основные базы данных — MongoDB и Aerospike. Не брезгуем и AWS: EC2, S3 и Kinesis нам не чужды.

Для нас machine learning — это расширение возможностей работы с данными и реализация новых продуктов и дополнительных элементов для уже существующих.

Как устроены системы рекомендаций контента

История R&D-департамента началась с создания системы неперсонализированных рекомендаций. Рекомендация на странице фильма «что еще посмотреть» раньше содержала одни и те же фильмы, отобранные редакцией. Выбор фильмов был субъективным, они не менялись в зависимости от пользователя, и в какой-то момент список перестал регулярно обновляться. Система была неэффективной, но при этом тратила ресурсы контент-команды.

Мы поняли, что можем внедрить базовые модели, которые принесли бы ценность и сделали подборку релевантной для пользователя. При создании неперсонализированных рекомендаций мы использовали метаданные видеообъекта (до 10 параметров): тип, жанр, страна производства, имена членов съемочной группы. Работали над базой данных самостоятельно, не прибегая к консалтинговым услугам и готовым сервисам.

Внедрив алгоритм, мы обнаружили проблемы в его работе — среди рекомендованных были только сиквелы и приквелы фильма или же просто другие его версии. Для решения мы ввели дополнительную фильтрацию и стали проверять фильмы на высокий коэффициент подобия, а также отсекать фильмы в непривычной для конкретных пользователей озвучке (например, тем, кто смотрит кино на языке оригинала, мы не предлагаем переведенный контент).

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

При подборе рекомендаций мы также учитываем предпочтения других пользователей. Если говорить упрощенно, это выглядит так: одному зрителю нравятся фильмы A и B, а другому — B и C, значит, первому мы можем предложить посмотреть картину C, а второму — А.

Сейчас системой рекомендации контента пользуется 80% пользователей MEGOGO. Мы ее постоянно совершенствуем — занимаемся content discovery. ML-алгоритмы и искусственный интеллект меняют эту сферу.

Об использовании computer vision

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

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

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

Какие проблемы команда решает сейчас

Когда пользователь приходит на платформу, он обычно не знает, что смотреть. Мы работаем над smart-системой, которая позволит показать интересный фильм. По данным PwC, около 90% пользователей остаются довольными предложенным видеосервисами контентом, но при этом 73% респондентов уверены, что друзья и близкие лучше знают их предпочтения. Наша задача — удержать зрителя, повысить его лояльность.

Максимально персонализированные рекомендации, учитывающие пользовательский опыт в пределах платформы (включая поведенческие паттерны) — это цель R&D-команды MEGOGO.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Dmitry Melkov", "author_type": "self", "tags": [], "comments": 3, "likes": 2, "favorites": 13, "is_advertisement": false, "subsite_label": "life", "id": 62655, "is_wide": false, "is_ugc": true, "date": "Wed, 27 Mar 2019 15:53:57 +0300" }
Акции банка «Тинькофф»
19,20$
0,04$
{ "id": 62655, "author_id": 275332, "diff_limit": 1000, "urls": {"diff":"\/comments\/62655\/get","add":"\/comments\/62655\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/62655"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199123, "last_count_and_date": null }

3 комментария 3 комм.

Популярные

По порядку

0

Реально инновационного в статье только использование computer vision, да и то оказалось, что внедрять отказались, ну такое, хвастать особо нечем :)

Ответить
0

Мы временно отказались — оценив соотношение необходимых ресурсов и потенциальной прибыли. Считаем, что рынок пока не готов. Технология действительно интересная, вызовов много, хотелось бы над ними поработать, но есть более перспективные направления с точки зрения бизнеса. И в них, кстати, тоже море челленджей, которые сейчас и пытаемся решить.

Ответить
0

До сих пор нет поиска по рейтингу кинопоиска, нет архива каналов у 99 % каналов. У иви есть поиск по кинопоиску и они сразу подняли хд аренду в два раза по сранению с другими сервисами. Вот такие инновации.

Ответить
0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Приложение-плацебо скачали
больше миллиона раз
Подписаться на push-уведомления
{ "page_type": "default" }