Ближайшие хакатоны

Контест на определение сбоев

online Регистрация закрыта

Контест на определение сбоев от Brand Analytics


Задача участников - написать приложение, которое выявляет сбои в работе российских публичных сервисов на основе анализа сообщений из соцмедиа. 
Призовой фонд 500 000 ₽

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

Срок подачи решений до 17 августа 2022 г. 20:00 MSK (UTC+3)
Подведение результатов до 01 сентября 2022 г.
Регистарция: https://hcklink.ru/11501
Призовой фонд 500 000 ₽

Ограничений на используемые языки программирования, инструментарии и библиотеки — нет.

Участникам Контеста предлагается написать приложение, которое будет определять сбои и сможет выделять сервисы и аспекты в публичных сообщениях соц.медиа о сбоях. Лучшие решения будут вознаграждены финансово и использованы в сервисе Детектор сбоев.

ЗАДАЧА
1. Выявление сбоя в тексте сообщений. Приложение должно определить, есть ли в сообщении упоминание о неработоспособности или проблемах в работе того или иного сервиса.
2. Определить категорию сбоя. Если в сообщении выявлен сбой, то, исходя из текста сообщения, нужно определить категорию сбоя, т.к. сбои бывают в совершенно в разных сферах деятельности сервисов и аспекты сбоя в них могут отличаться.
Список категорий сервисов:
  • banking - Банки и финансы
  • telecommunication - Связь и интернет
  • market - Маркетплейсы, магазины и сервисы объявлений
  • online - Сайты, социальные сети, мессенджеры, онлайн-сервисы
  • offline - Сервисы, связанные с оффлайн услугами (например, такси, почта)
... вы можете расширить его по своему усмотрению. Новые категории опишите в таком же формате и добавьте в решение в виде файла new_categories.txt.
3. Определение аспекта сбоя. Приложение должно определить основной аспект сбоя, если таковой имеется.
Общий список аспектов без привязки к категориям представлен ниже.
  • phone_app - Мобильное приложение
  • connection - Качество связи
  • atm - Банкомат
  • website - Сайт
  • login - Вход в аккаунт/кабинет
  • bank_deposit - Депозиты в банке
  • bank_online - Онлайн-банк
  • money_transfer - Денежные переводы
  • bank_card - Банковские карты
  • balance_check - Проверка баланса
  • traiding - Трейдинг / покупка и продажа акций
  • payments - Платежи
  • tracking - Отслеживание отправлений
  • order - Оформление заказа
  • streaming_video - Видео трансляция
  • streaming_audio - Аудио трансляция
  • voice_call - Голосовая связь
  • home_internet - Стационарный интернет
  • mobile_internet - Мобильный интернет
  • mobile_nosignal - Отсутствие сигнала мобильной связи
  • tv - Телевидение (в т.ч. онлайн)
  • sms - СМС-сообщения
  • search - Поиск
  • server_connection - Подключение к серверу
  • receiving - Получение
  • taxi_calling - Вызов такси
... вы можете расширить его по своему усмотрению. Новые аспекты опишите в таком же формате и добавьте в решение в виде файла new_aspects.txt.
4. Определение конкретного сервиса или продукта. Если в сообщении есть «сбой», нужно определить к какому сервису или продукту он относится.
Пример сообщения: «У пончикбанка второй день не работают банкоматы, приходится снимать деньги через Пирожок, он хотя бы работает.» - в этом случае должен определиться «сбой», категория «банки», аспект «банкомат» и продукт «Пончикбанк». Банк «Пирожок» не должен быть выделен, так как информация о сбое к нему не относится.
На каждом этапе на вход подаётся исходный файл датасета. При этом каждый последующий этап должен выполнять работу предыдущего этапа. Такое разделение позволит принять участие даже тем разработчикам, кто не уверен, что успеет или сможет реализовать все этапы Контеста.

ТЕРМИНОЛОГИЯ
Сообщение - объект с текстом и датой написания публичного сообщения из соц.медиа, структура объекта представлена в блоке «Датасеты и форматы данных»
Соц.медиа - публичные онлайн-площадки: соц.сети, форумы, блоги, мессенджеры и др.
Сбой - Информация в тексте сообщения о неработоспособности или проблемах в работе у того или иного сервиса или продукта.

ДАТАСЕТЫ И ФОРМАТЫ ДАННЫХ
Тестовые датасеты можно скачать по следующим ссылкам:
Датасеты представлены в виде jsonl-файла (1 json-объект на 1 строку).

КРИТЕРИИ К РАЗРАБОТКЕ ПРИЛОЖЕНИЯ
Ограничений на используемые языки программирования или инструментарии и библиотеки — нет. Но при равных результатах преимущество будет отдаваться более точным, качественным, легковесным и быстрым решениям. Точностьопределения на всех этапах является самым главным критерием оценки.

Статистика по результатам выполнения каждого решения будет доступна публично.
Требования:
  1. Решение должно быть самодостаточным. Интернет и сеть будут недоступны. Если для работы требуются дополнительные ресурсные данные, они должны быть сразу включены в решение.
  2. Минимум внешних зависимостей. Постарайтесь обойтись без использования внешних deb-пакетов и зависимостей. Тем не менее, их использование не запрещено и вы можете перечислить необходимые deb-пакеты в файле dependencies.txt, они будут установлены до запуска решения.
  3. Вес решения играет роль. Суммарный размер файла zip-архива решения, который нужно загрузить в Telegram-бот, не должен превышать 1 ГБ
  4. Высокая скорость обработки данных важна. Обработка должна происходить со скоростью не менее 300 объектов в секунду. Если скорость обработки будет ниже, то итоговая оценка будет снижена.
Приложение должно работать в виде самостоятельного консольного приложения detect, который принимает 3 аргумента:
  • stage - указание этапа, конкретной задачи контеста
  • input_file - файл датасета в формате jsonl, который нужно обработать
  • output_file - файл с результатами обработки в формате jsonl

ТЕСТИРОВАНИЕ РЕШЕНИЯ
Приложение будет запускаться на сервере с Ubuntu 20.04 LTS, x86_64, 12 cores, 32gb ram.
Убедитесь, что загружаемое решение будет работать на «чистом» сервере со свежеустановленной ОС и пройдёт автоматическую проверку.
Для каждого решения сначала будут установлены зависимости, перечисленные в файле dependencies.txt. Затем начнётся автоматическая проверка, которая будет осуществляться следующими командами, выполняемыми последовательно:
# 1 этап, «определение сбоя».
/detect is_crash /path/to/dataset.jsonl /path/to/result-1.jsonl 
# 2 этап, «определение категории»
./detect categories /path/to/dataset.jsonl /path/to/result-2.jsonl 
# 3 этап, «определение аспектов»
./detect aspects /path/to/dataset.jsonl /path/to/result-3.jsonl 
# 4 этап, «определение сервиса»
./detect services /path/to/dataset.jsonl /path/to/result-4.jsonl 


Детальная проверка будет проводиться для тех решений, которые успешно прошли автоматическую проверку.


Регистарцияhttps://hcklink.ru/11501


Хочешь узнавать о новых хакатонах, соревнованиях первым?
Подписывайся на нашу группу в ВК: https://vk.com/hackathoncom
Также, наш Telegram-бот, где мы присылаем хакатоны, соревнования по параметрам, которые интересны тебе: https://t.me/hackathons4ubot