Авиахакатон

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) были загружены в виртуалку, на которой крутился расчёт рекомендаций.

4b94626dad5e911d2299b4e2286ecc55.jpg

Android-приложение представляло собой интерфейс, где у пассажира уточнялись данные о полёте — город назначения и время в воздухе:

9475ced7bd488110dfc0b1c8e02f0d6b.jpg


После этого запрос летел на бекенд, где доступный контент сортировался по популярности в городе назначения (данные CSV) и по рейтингу IMDB (данные XML), отсортированный список возвращался в приложение в виде JSON. В клиентское приложение прилетали ссылки на ivi — если на устройстве установлен клиент ivi (например Android или iOS), то пассажир продолжал просмотр в удобном интерфейсе.

9b104d114beb76c264d339104c7bba75.jpg

47b4bfc7f52f79160a5d456b9f6abb3c.jpg

Заключение


По результатам хакатона: мероприятие было организовано на высоком уровне, благодаря этому команды менее чем за 48 часов дошли от сырых идей до полноценных продуктов, получили опыт использования новых технологий и «больших данных». Ребята улучшили навыки командной работы и расширили свой технологический стек: например, данные о просмотрах контента никак не влезали в оперативную память ноутбука, что привело разработчиков к идее воспользоваться облачными технологиями от Microsoft. Победители хакатона пройдут собеседование на позиции стажёров в ivi.

Напомним, что в МАИ осенью стартуют новые «магистерские программы», которые были подготовлены совместно с it компаниями (Mail.ru, Avito, ivi, НeadНunter, КРОК, LUXOFT и др.)

© Habrahabr.ru