Автостатсмен для Dota 2 (командный проект)

Материал из Wiki - Факультет компьютерных наук
Версия от 13:10, 23 ноября 2016; Peter Romov (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Что это за проект?

Типичный статсмен

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

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

Чему научатся студенты? Что самое интересное в проекте?

В рамках данного проекта студенты научатся извлечению данных со страниц веб-сайтов (scraping), использованию API, алгоритмизации выполнения поисковых и аналитических запросов. Проект предполагает создание микросервиса для взаимодействия с Dota 2 API в режиме реального времени и публикации результатов в социальных сетях.

Организация работы (Как студенты будут работать в команде?)

Для работы над данным проектом потребуется как минимум 2 студента

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

Компоненеты (Из каких частей состоит проект?)

  1. Создание системы по сбору и хранению данных о профессиональных матчах используя Steam API;
  2. Создание автоматической системы сбора статистической информации о героях/игроках с Dotabuff и Datdota;
  3. Классификация типовых статистических запросов и алгоритмизация их выполнения;
  4. Построение модели машинного обучения, ранжирующую полученную информацию по интересности
  5. Автоматизация работы системы в режиме реального времени на основе данных из текущих матчей Dota 2 Live API.
  6. (*) Чат-бот, дающий ответы на вопросы по данным о матчах, вроде того: Какой герой имеет наибольший винрейт на последнем чемпионате?

Какие будут использоваться технологии?

  • Краулинг данных с веб-сайтов: 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