Автостатсмен для Dota 2 (командный проект)
Содержание
- 1 Что это за проект?
- 2 Чему научатся студенты? Что самое интересное в проекте?
- 3 Организация работы (Как студенты будут работать в команде?)
- 4 Компоненеты (Из каких частей состоит проект?)
- 5 Какие будут использоваться технологии?
- 6 Какие начальные требования?
- 7 Темы вводных занятий
- 8 Критерии оценки
- 9 Похожие проекты
- 10 Контактная информация
Что это за проект?
Статсмен в Dota 2 — человек, который занимается поиском любопытных статистических фактов и закономерностей в истории матчей Dota 2. Такая информация обычно используется во время трансляции игр, на постматчевой аналитике или же при подготовке команд к конкретным противникам.
При этом ключевыми источниками информации для подготовки являются 2 сайта: Dotabuff и DatDota и статсменам приходится вручную искать по ним необходимую информацию для ответа на интересующие их вопросы или составления статистических отчетов. Для того, чтобы облегчить их труд, данный процесс можно автоматизировать, сделав поиск и извлечение релевантной информации автоматическим.
Чему научатся студенты? Что самое интересное в проекте?
В рамках данного проекта студенты научатся извлечению данных со страниц веб-сайтов (scraping), использованию API, алгоритмизации выполнения поисковых и аналитических запросов. Проект предполагает создание микросервиса для взаимодействия с Dota 2 API в режиме реального времени и публикации результатов в социальных сетях.
Организация работы (Как студенты будут работать в команде?)
Для работы над данным проектом потребуется как минимум 2 студента
- специализирующийся на сборе и хранении данных
- специализирующийся на алгоритмизации извлечения и аналитики информации, полученной из данных
Компоненеты (Из каких частей состоит проект?)
- Создание системы по сбору и хранению данных о профессиональных матчах используя Steam API;
- Создание автоматической системы сбора статистической информации о героях/игроках с Dotabuff и Datdota;
- Классификация типовых статистических запросов и алгоритмизация их выполнения;
- Построение модели машинного обучения, ранжирующую полученную информацию по интересности
- Автоматизация работы системы в режиме реального времени на основе данных из текущих матчей Dota 2 Live API.
- (*) Чат-бот, дающий ответы на вопросы по данным о матчах, вроде того: Какой герой имеет наибольший винрейт на последнем чемпионате?
Какие будут использоваться технологии?
- Краулинг данных с веб-сайтов: Scrapy, HTML/CSS
- Получение полных данных о матчах и данных в live-режиме (Steam API)
- Хранение данных: , MongoDB, SQL
- Бэкенд: Python, AWS EC2
- Машинное обучение: SciKit-Learn, XGBoost, методы ранжирования
- Telegram API, Twitter API - в зависимости от выбранного способа публикации
Какие начальные требования?
- 3k+ MMR, лучше — 4k+ MMR
- Страсть к анализу данных и киберспорту
Темы вводных занятий
- Краулинг данных
- Работа со Steam API
- Способы хранения данных
- Ликбез по машинному обучению
Критерии оценки
Для получения хорошей оценки необходимо будет запустить автоматического статсмена в виде канала в социальной сети (например, Twitter), опубликовать по результатам проекта статью в релевантном издании.
Похожие проекты
Контактная информация
Даниил Яшков (daniil.yashkov@phystech.edu) — YDF, Александр Семенов — ANR HSE