6-8 апреля на территории Московского авиационного института прошел хакатон, организованный IT-центром МАИ, на котором были представлены задачи от IT-компаний и представителей авиационной индустрии.
Онлайн-кинотеатр ivi выступил партнёром хакатона: предоставил набор данных о контенте, а также осуществил менторскую поддержку команд. Финальные презентации оценивало независимое жюри, в которое вошли представители it-центра МАИ. Немного подробностей под катом.
Формулировка задачи
Данными от ivi стали три датасета:
— Выгрузка истории просмотров за неделю в формате CSV: дата и время просмотра, длительность просмотра и идентификатор пользователя (данные анонимизированы);
— Геоданные о просмотре: страна и город, описание видео-контента в виде XML (этот документ получают в т.ч. партнёры ivi, реализующие свои продукты на базе API);
— Текстовое описание контента в формате TSV (для рекомендательных систем на основе алгоритмов natural language processing). Все данные доступны для скачивания в репозитории организаторов.
Участникам хакатона было предложено создать сервис для развлечения пассажиров во время авиаперелётов: для длинных путешествий важно подобрать подходящий контент. Также в качестве бейзлайна участникам был предоставлен скрипт для полнотекстового поиска по описаниям контента (которым в итоге никто не воспользовался ¯_(ツ)_/¯).
Работа команд
Формально хакатон длился с 6-го по 8-е апреля, но фактически вечером в пятницу участники знакомились друг с другом, а в воскресенье вечером уже нужно было презентовать проекты, поэтому ребята писали код всю ночь с субботы на воскресенье, конвертируя кофе и булочки с капустой в приложения.
Данные о контенте от ivi заинтересовали 4 команды из 12: команда «Black Rose» сделала бота, который отвечал на запросы от пользователей в Telegram; команда «Data Cats», в которой были ребята из крупнейшего открытого сообщества Open Data Science, предоставила приложение для планшета с оффлайн-частью на Spark, где кроме рекомендаций контента были разделы с рекомендациями образовательных курсов и книг.
Победителями в номинации от ivi, а также абсолютными лидерами по общему числу баллов, стала команда «Level Pro» в составе двух студентов: Черепко Игоря и Кузьмина Антона, оба с 3-го курса бакалавриата, факультет №8 «Информационные технологии и прикладная математика»). Ребята грамонтно организовали командную работу: Игорь занимался визуализацией и базой данных, а Антон приложением на Android и бэкендом на PHP.
Для бекэнда была использована облачная платформа от партнёров мероприятия — Microsoft Azure. Данные от ivi (XML и CSV) были загружены в виртуалку, на которой крутился расчёт рекомендаций.
Android-приложение представляло собой интерфейс, где у пассажира уточнялись данные о полёте — город назначения и время в воздухе:
После этого запрос летел на бекенд, где доступный контент сортировался по популярности в городе назначения (данные CSV) и по рейтингу IMDB (данные XML), отсортированный список возвращался в приложение в виде JSON. В клиентское приложение прилетали ссылки на ivi — если на устройстве установлен клиент ivi (например Android или iOS), то пассажир продолжал просмотр в удобном интерфейсе.
Заключение
По результатам хакатона: мероприятие было организовано на высоком уровне, благодаря этому команды менее чем за 48 часов дошли от сырых идей до полноценных продуктов, получили опыт использования новых технологий и «больших данных». Ребята улучшили навыки командной работы и расширили свой технологический стек: например, данные о просмотрах контента никак не влезали в оперативную память ноутбука, что привело разработчиков к идее воспользоваться облачными технологиями от Microsoft. Победители хакатона пройдут собеседование на позиции стажёров в ivi.
Напомним, что в МАИ осенью стартуют новые «магистерские программы», которые были подготовлены совместно с it компаниями (Mail.ru, Avito, ivi, НeadНunter, КРОК, LUXOFT и др.)
Автор: Джумурат Александр