Автостатсмен для Dota 2 (командный проект): различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показано 12 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{Карточка_командного_проекта
|name=Автостатсмен для Dota 2
|company=Yandex Data Factory & Co
|semester=Осень 2016
|course=3
|number_of_students=2-3
|categorize=yes
}}


=== Что это за проект? ===
=== Что это за проект? ===
[[Файл:Dota Statsman Screenshot 3.png|x300px|обрамить|справа|Типичный статсмен]]
Статсмен в Dota 2 — человек, который занимается поиском любопытных статистических фактов и закономерностей в истории матчей Dota 2. Такая информация обычно используется во время трансляции игр, на постматчевой аналитике или же при подготовке команд к конкретным противникам.  
Статсмен в Dota 2 — человек, который занимается поиском любопытных статистических фактов и закономерностей в истории матчей Dota 2. Такая информация обычно используется во время трансляции игр, на постматчевой аналитике или же при подготовке команд к конкретным противникам.  


Строка 22: Строка 17:


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


=== Какие будут использоваться технологии? ===
=== Какие будут использоваться технологии? ===
TBD
* Краулинг данных с веб-сайтов: Scrapy, HTML/CSS
* Получение полных данных о матчах и данных в live-режиме (Steam API)
* Хранение данных: , MongoDB, SQL
* Бэкенд: Python, AWS EC2
* Машинное обучение: SciKit-Learn, XGBoost, методы ранжирования
* Telegram API, Twitter API - в зависимости от выбранного способа публикации


=== Какие начальные требования? ===
=== Какие начальные требования? ===
Строка 35: Строка 37:


=== Темы вводных занятий ===
=== Темы вводных занятий ===
* Скрапинг данных и работа с API
* Краулинг данных
* Работа со Steam API
* Способы хранения данных
* Ликбез по машинному обучению


=== Критерии оценки ===
=== Критерии оценки ===
Строка 44: Строка 49:


=== Контактная информация ===
=== Контактная информация ===
Даниил Яшков (daniil.yashkov@phystech.edu) — YDF, Александр Семенов — МТС, Петр Ермаков — HeadHunter
Даниил Яшков (daniil.yashkov@phystech.edu) — YDF, Александр Семенов — [https://anr.hse.ru/ ANR HSE]

Текущая версия от 10:10, 23 ноября 2016

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

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

Статсмен в 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