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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Новая страница, с помощью формы Новый_командный_проект)
 
 
(не показано 13 промежуточных версии 2 участников)
Строка 1: Строка 1:
{{Карточка_командного_проекта
 
|name=Автостатсмен для Dota 2
 
|company=Yandex Data Factory & Co
 
|semester=Осень 2016
 
|course=3
 
|number_of_students=2-3
 
|categorize=yes
 
}}
 
  
 
=== Что это за проект? ===
 
=== Что это за проект? ===
Статсмен в Дота 2 — человек, который занимается поиском любопытных статистических фактов и закономерностей в истории матчей Dota 2. Такая информация обычно используется во время трансляции игр, на постматчевой аналитике или же при подготовке команд к конкретным противникам.  
+
 
 +
[[Файл:Dota Statsman Screenshot 3.png|x300px|обрамить|справа|Типичный статсмен]]
 +
 
 +
Статсмен в Dota 2 — человек, который занимается поиском любопытных статистических фактов и закономерностей в истории матчей Dota 2. Такая информация обычно используется во время трансляции игр, на постматчевой аналитике или же при подготовке команд к конкретным противникам.  
  
 
При этом ключевыми источниками информации для подготовки являются 2 сайта: Dotabuff и DatDota и статсменам приходится вручную искать по ним необходимую информацию для ответа на интересующие их вопросы или составления статистических отчетов. Для того, чтобы облегчить их труд, данный процесс можно автоматизировать, сделав поиск и извлечение релевантной информации автоматическим.
 
При этом ключевыми источниками информации для подготовки являются 2 сайта: Dotabuff и DatDota и статсменам приходится вручную искать по ним необходимую информацию для ответа на интересующие их вопросы или составления статистических отчетов. Для того, чтобы облегчить их труд, данный процесс можно автоматизировать, сделав поиск и извлечение релевантной информации автоматическим.
Строка 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]

Текущая версия на 13: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