Научная статья на тему 'Автоматизация сбора и обработки спортивной статистики для последующего сетевого анализа'

Автоматизация сбора и обработки спортивной статистики для последующего сетевого анализа Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
4133
588
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТИЗАЦИЯ СБОРА СТАТИСТИКИ / СОЦИАЛЬНАЯ СЕТЬ ФУТБОЛИСТОВ / СЕТЕВОЙ АНАЛИЗ В СПОРТЕ / ПАРСИНГ НА JAVA / КОЭФФИЦИЕНТ СХОЖЕСТИ / ВЗАИМОДЕЙСТВИЕ В ФУТБОЛЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Семёнов Дмитрий Андреевич, Ошмарина Ольга Евгеньевна, Шадрина Елена Викторовна

В работе представлен алгоритм для автоматизации процесса сбора спортивной статистики футбольных результатов из интернет-ресурса, ее автоматическом представлении в виде наиболее удобном для сетевого анализа и проведение анализа полученных данных. Выполнение данного процесса осуществлялось с помощью фреймворка Eclipse IDE, библиотек JSoup, apache.poi, программных средств MatLab, Gephi и Microsoft Excel. Лучшие игроки по критерию взаимодействия определялись с помощью алгоритма поиска количества совпадений спортивных показателей среди футболистов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Семёнов Дмитрий Андреевич, Ошмарина Ольга Евгеньевна, Шадрина Елена Викторовна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Автоматизация сбора и обработки спортивной статистики для последующего сетевого анализа»

Д.А. Семёнов, О.Е. Ошмарина, Е.В. Шадрина. Автоматизация сбора и обработки спортивных статистики для последующего сетевого анализа. С. 45-52.

45

УДК 51-77

Д.А. Семёнов, О.Е. Ошмарина, Е.В. Шадрина АВТОМАТИЗАЦИЯ СБОРА И ОБРАБОТКИ СПОРТИВНОЙ СТАТИСТИКИ ДЛЯ ПОСЛЕДУЮЩЕГО СЕТЕВОГО АНАЛИЗА

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»

В работе представлен алгоритм для автоматизации процесса сбора спортивной статистики футбольных результатов из интернет-ресурса, ее автоматическом представлении в виде наиболее удобном для сетевого анализа и проведение анализа полученных данных. Выполнение данного процесса осуществлялось с помощью фреймворка Eclipse IDE, библиотек JSoup, apache.poi, программных средств MatLab, Gephi и Microsoft Excel. Лучшие игроки по критерию взаимодействия определялись с помощью алгоритма поиска количества совпадений спортивных показателей среди футболистов.

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

Сегодня анализ спортивных данных обретает все большую популярность, спортивная статистика общедоступна и размещена на многочисленных веб-страницах. Для своевременного анализа данных необходимо довольно часто собирать в больших объемах [1,2]. Также активно ищутся новые методы обнаружения наилучших спортсменов в различных видах спорта, в частности, в игровых. Собранная статистика позволяет анализировать текущие результаты спортсменов, а также прогнозировать их результаты на следующие сезоны.

Используемые методы и программные средства

Как известно, процесс сбора и обработки информации состоит из трех этапов: консолидация, трансформация и очистка [3,4]. В данной работе за этап консолидации отвечает приложение, написанное на языке Java с использованием фреймворка Eclipse IDE. Для извлечения информации с веб-страниц сайта www.championat.com и представлении их в виде таблиц Excel были использованы библиотеки JSoup [4] и apache.poi. Сегодня существует множество языков программирования и библиотек для подобных целей [5]: на php это PHPQuery [6], QueryPath [7], SimpleHtmlDom [8], на python это Beautiful Soup, Grab, LXML [9, 10], в Java это HTMLParser [11] и JSoup [4]. Безусловно, все они имеют свои преимущества и недостатки, но в данной работе была выбрана именно JSoup, так как она позволяет достаточно просто извлекать нужную информацию с html-страниц с помощью DOM-метода [12], осуществляя поиск по тегам. Apache.poi была выбрана из-за широких возможностей работы с форматами, основанными на XML стандартах. Именно эта библиотека позволяет нам работать с Microsoft Excel через Java. Далее идет этап трансформации и очистки. Для представления полученной статистики в виде графа и проведения сетевого анализа были использованы программное средство MatLab и редактор Gephi. MatLab позволяет нам сформировать матрицу весов для ребер графа и создать файл в формате gml, для последующего анализа в Gephi. Gephi же позволяет нам визуализировать статистику в виде графа, вычислять для него диаметр, коэффициент кластеризации, среднюю степень вершин, плотность, фильтровать граф по весу ребер, выявлять несвязные вершины [13]. Для анализа была собрана информация о следующих параметрах футболистов: команда,амплуа, минуты проведенные на поле, количество сыгранных игр, показатель гол + пас, количество отданных результативных передач (привели к голу), количество забитых голов, количество полученных карточек.Именно эти параметры дают полную картину о качестве игры футболиста на поле. Для выявления футболистов, которые наиболее эффективно взаимодействуют на поле, был

46

Вестник НГТУ им. Р.Е. Алексеева.

«Управление в социальных системах. Коммуникативные технологии».

предложен метод поиска количества совпадений статистических параметров, то есть расчета коэффициента схожести. В данном случае лучшими футболистами будут считаться футболисты, у которых ни с одним из их коллег не было менее четырёх совпадений по параметрам из девяти. Худшими же считаются футболисты, у которых ни с одним из их коллег не было более семи совпадений по параметрам из девяти.

Автоматизация процесса сбора и обработки спортивной статистики Как уже было сказано ранее, для сбора информации с веб-страниц было написано приложение на Java. Данное приложение получает данные о футболистах с html-страниц сайта и создает Excel-файл, в котором расположена и систематизирована необходимая информация об анализируемых параметрах футболистов. Схема его работы представлена ниже (рис. 1). За получение результатов в турнирной таблице отвечает функция competeTable(), за получение данных об именах игроков, их амплуа, командах, минутах на поле и количестве игр функция bombaders(), за голы и пасы функция goalpass(), за полученные карточки функция warnings(). Функция createExcelFile() создает Excel-файл и помещает в него информацию обо всех параметрах футболистов.

Приложение Java

Рис. 1. Схема работы приложения

Далее создается промежуточный Excel-файл, который получает информацию из предыдущего и создает единую таблицу, выбирая из всех параметров статистики только необходимые для анализа, создает таблицу с закодированными параметрами. Это необходимо для сравнения футболистов по параметрам в MatLab. Кодировка осуществляется нижеописанным образом (табл. 1). Далее MatLab получает закодированную статистику и формирует матрицу весов для построения графа в Gephi. Где значения в ячейках - это веса соответствующих ребер графа, которые рассчитываются как количество совпавших параметров/ число анализируемых параметров. Максимальный вес ребра 1 (если совпали 9 из 9 параметров), или, например 0,33 (если совпали три из девяти параметров). Работа в Gephi предполагает

Д.А. Семёнов, О.Е. Ошмарина, Е.В. Шадрина. Автоматизация сбора и обработки спортивных статистики для последующего сетевого анализа. С. 45-52.

47

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

Таблица 1 Кодировка статистики

Параметр Код параметра Расшифровка

номер от 1 до 156 номер игрока в таблице

команда 1 Зенит

команда 2 Локомотив

команда 3 Спартак

команда 4 Динамо

команда 5 ЦСКА

команда 6 Краснодар

команда 7 Амкар

команда 8 Ростов

команда 9 Кубань

команда 10 Крылья Советов

команда 11 Рубин

команда 12 Волга

команда 13 Томь

команда 14 Терек

команда 15 Урал

команда 16 Анжи

амплуа 1 нападающий

амплуа 2 защитник

амплуа 3 полузащитник

сыгранные минуты 1 сыграл до 500 мин.

сыгранные минуты 2 сыграл от 501 до1000мин.

сыгранные минуты 3 от 1001 до 1500 мин.

сыгранные минуты 4 от 1501 до 2000 мин.

сыгранные минуты 5 от 2001 до 2500 мин.

сыгранные минуты 6 более 2500 мин.

проведенные игры 1 до 5 игр

проведенные игры 2 сыграл от 6 до 10 игр

проведенные игры 3 сыграл от 11 до 15 игр

проведенные игры 4 сыграл от 16 до 20 игр

проведенные игры 5 сыграл от 21 до 25 игр

проведенные игры 6 сыграл от 26 до 30 игр

проведенные игры 7 сыграл свыше 30 игр

гол + пас 1 от 0 до 3

гол + пас 2 от 4 до 6

гол + пас 3 7 до 10, выше 10

гол 1 от 0 до 3 забитых голов

гол 2 от 4 до 6

гол 3 от 7 до 10

гол 4 более 10

результативный пас 1 от 0 до 5

результативный пас 2 6 до10

результативный пас 3 более 10

полученные карточки 1 ни одной карты

полученные карточки 2 от 1 до 5 карт

полученные карточки 3 от 6 до 10 карт

полученные карточки 4 более 10 карт

48

Вестник НГТУ им. Р.Е. Алексеева.

«Управление в социальных системах. Коммуникативные технологии».

Рис. 2. Схема работы с данными для получения графов

Анализ полученных результатов

В основе анализа социальных сетей лежит математическая теория графов [14,15]. Существует две стратегии сбора данных для последующего анализа социальных сетей. Первая помогает получить данные по взаимодействию всех людей в социальной сети. Вторая стратегия заключается в сборе данных обо всех взаимодействиях, в которые включен данный человек [17]. Рассмотрим, чем же отличаются данные подходы на примерах. Примером первого подхода может служит взаимодействие игроков одной любой футбольной команды. Но тогда становится очень трудно описать границы данной сети. Ведь если взять один конкретный футбольный матч, можно легко увидеть, что игроки взаимодействуют не только внутри своей команды, но и с игроками команды соперника. Если брать границей рамки одного клуба, можно получить неполное взаимодействие игроков. Если же взять границей социальных сетей весь чемпионат России, тогда можно лишится внешних связей [18]. Рассмотрим второй подход. Он обычно используется, когда моделируются социальные сети на основе опросов. Тогда имеем полную информацию о человеке и его связях за промежуток времени. Обычно такие характеристики устойчивы [19]. Для анализа социальной сети футболистов лучше использовать первый из вышеописанных подход. Так как влияние игроков внутри одного чемпионата более велико, чем вероятность влияния внешних связей. Мы анализируем заданный

Д.А. Семёнов, О.Е. Ошмарина, Е.В. Шадрина. Автоматизация сбора и обработки спортивных статистики для последующего сетевого анализа. С. 45-52.

49

взвешенный граф (рис. 3). Для анализа используем параметры графа - диаметр (максимальное расстояние между двумя вершинами), плотность (число ребер по отношению к числу возможных ребер), степени вершин (число ребер связывающих данную вершину с другими) и коэффициент кластеризации (показывает, насколько плотно узлы упакованы в ближайшем окружении). Исследовательская гипотеза: похожие по параметрам футболисты лучше взаимодействуют на поле и поэтому являются сильнейшими и наиболее стабильными.

Мы получили граф для анализа. Сначала анализируем граф с весом ребер от 0,1 до 0,36. Это означает, что связаны только те футболисты, которые имеют схожесть между собой по 1-3 из 9 параметров. Диаметр графа 10, значит для таких футболистов чтобы передать информацию от одного до другого может потребоваться 10 шагов. Плотность 0,076 - в социальной сети мало футболистов, которые схожи с другими только по 1 -3 параметрам. Средняя степень вершин 11,158 - в среднем каждый футболист связан напрямую с 11 другими по 1-3 параметрам. Коэффициент кластеризации 0,473 - выделяются некоторые кластеры, но также есть люди со слабыми связями. Мы ищем несвязные вершины. Их всего 7 - это футболисты, которые имеют схожесть с другими только по 4-9 параметрам.

Рис. 3. Заданный граф

50

Вестник НГТУ им. Р.Е. Алексеева.

«Управление в социальных системах. Коммуникативные технологии».

Затем анализируем граф с весом ребер от 0,8 до 1. Это означает, что связаны только те футболисты, которые имеют схожесть между собой по 8-9 из 9 параметров. Диаметр графа 5, значит для таких футболистов чтобы передать информацию от одного до другого может потребоваться 5 шагов. Это в 2 раза быстрее. Плотность 0,067 - в социальной сети очень мало футболистов, которые схожи с другими только по 8-9 параметрам. Средняя степень вершин 10,356 - в среднем каждый футболист связан напрямую с 10 другими по 8-9 параметрам. Коэффициент кластеризации 0,031 - сложно выделить кластеры (тесно связанные группы). Мы ищем несвязные вершины. Их всего 14 - это футболисты, которые имеют схожесть с другими только по 1-7 параметрам (рис. 4).

Рис. 4. Заданный граф. Фильтр от 0,8 до 1

Результаты и выводы

Для данной работы был выбран полуавтоматический способ поиска информации и разработан программный продукт на языке программирования Java, позволяющий вести сбор информации о результатах Кубка России по футболу 2013/2014 годов, сбор информации об игроках, принимающих участие в данном спортивном соревновании для проведения дальнейшего сетевого анализа результатов. Анализ социальных сетей в спорте, в данном случае в футболе, мне кажется наиболее интересным. В данной работе было решено проанализировать, как повлияли показатели игроков на игру команды в целом. Составив таблицу показателей и представив ее в виде графа, мы смогли проанализировать ее и прийти к некоторым результатам.

Д.А. Семёнов, О.Е. Ошмарина, Е.В. Шадрина. Автоматизация сбора и обработки спортивных статистики для последующего сетевого анализа. С. 45-52.

51

Было рассмотрено 156 футболистов чемпионата по 9 показателям. Для удобства анализа был установлен фильтр, и все игроки были условно разделены на три группы. В первую группу попали те игроки, связи которых находятся в отрезке от 0 до 0,36, во вторую группу -футболисты со связями от 0,36 до 0,8. В последнюю группу попадают оставшиеся игроки, а именно те, кто имеет самые высокие показатели связности с другими от 0,8 до 1. Из 156 футболистов 7 вошли в первую группу, 14 - в третью, оставшиеся вошли во вторую. Футболисты, которые имеют наименьшее или наибольшее количество связей, являются своеобразным отклонением от стандартной, средней второй группы. Футболисты, которые попали в первую группу - это игроки с выдающимися показателями. Это лучшие бомбардиры, полузащитники, защитники. Поддержать высокий уровень, могут немногие, из-за более низкой подготовки спортивных показателей, или травм, выведших из строя многих знаменитых игроков. Именно их необходимо вовлечь в свои ряды каждой команде, хотя более стабильной команду делает средняя группа. Теперь рассмотрим футболистов третьей группы. Они имеют низкие показатели. Если у этих футболистов будут столь же низкие показатели и в следующем сезоне, то клубы должны задуматься об их продаже, или другом способе подготовки. Проводя анализ, специалисты смогут получить полную картину, и использовать ее для изучения динамики и формирования состава на каждый отдельный матч, изучая показатели своей команды и команды соперника.

Библиографический список

1. Найденов, Н. Автоматический сбор информации из открытых Интернет-источников [Электронный ресурс] // Режим доступа: https://www.google.ru/url?sa=t&rct=j&q (Дата обращения 01.06.2014).

2. Ahoestra R., Bosch O., Harteveld F. Automated Data Collection from Web Sources for Official Statistics: First Experiences, 2010.

3. Акимова, Г.П. Современные автоматизированные технологии обработки разнородных инфор-

мационных потоков [Электронный ресурс] / Г.П. Акимова, Д.С. Богданов, И.В. Мусатов, М.А. Пакшин, Д.В. Соладтов, Н.В. Сомин // Режим доступа: https://www.google.ru/url?sa

=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CBwQFjAA&url=http%3A%2F%2Fcognitive.ru% (Дата обращения 01.06.2014).

4. Введение в data-mining [Электронный ресурс] // Режим доступа: http://habrahabr.ru/events /4332 (Дата обращения 01.06.2014).

5. Jsoup: Java HTML Parser [Электронный ресурс] // Режим доступа: http://jsoup.org/ (Дата обращения 01.06.2014).

6. Laender A.H.F., Ribeiro-Neto B. A., Juliana S.Teixeria. A brief survey of web data extraction tools // ACM SIGMOD Record 31(2). 2202. Рp 84-93.

7. Библиотека PHPQuery [Электронный ресурс] // Режим доступа: http://parsing.valemak.com /ru/php/library/phpquery/ (Дата обращения 01.06.2014).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

8. Библиотека QueryPath для PHP [Электронный ресурс] // Режим доступа: http://api.querypath. org/ (Дата обращения 01.06.2014).

9. PHP Simple HTML DOM Parser Manual [Электронный ресурс] Режим доступа: http://simplehtmldom. sourceforge.net/manual.htm.(Дата обращения 01.06.2014).

10. Библиотека парсинга вебсайтов для языка Python [Электронный ресурс] // Режим доступа: http://ru.wikibooks.org/wiki/Grab (Дата обращения 01.06.2014).

11. XML и HTML для Python [Электронный ресурс] // Режим доступа: http://lxml.de/ (Дата обращения 01.06.2014).

12. HTML Parser [Электронный ресурс] // Режим доступа: http://htmlparser.sourceforge.net/. (Дата обращения 01.06.2014).

13. Gupta S., Kaiser G., Neistadt D., Grimm P. DOM-based content extraction of HTML documents, 2003.

14. Bastian M., Heymann S., Jacomy M. Gephi: An Open Source Software for Exploring and Manipulating Networks// Proceedings of the Third International ICWSM Conference, 2009.

52

Вестник НГТУ им. Р.Е. Алексеева.

«Управление в социальных системах. Коммуникативные технологии».

15. Берж, К. Теория графов и ее применение [Текст] / К. Берж. - М.: Издательство иностранной литературы, 1962. - 320с.

16. Райгородский, А. М. Модели случайных графов и их применение [Электронный ресурс] // Режим доступа: http://mipt.ru/science/trudy/N+4+(8)/Pages_130-140_from_Trud-8-14-arphcxl1tgs. pdf. (Дата обращения 01.06.2014).

17. Tsvetovat, M. Social network analysis for startups// M. Tsvetovat A. Kouznetsov: O’Reilly Production Services.-2011.- P. 190.

18. Fast, A. The NFL Coaching network: analysis of the social network among professional football coaches [Электронный ресурс] /A. Fast, D.-Jensen//University of Massachusetts.- 2006.-P. 1-8. Режим доступа: http://www.aaai.org/Papers/Symposia/Fall/2006/FS-06-02/FS06-02-017.pdf. (Дата обращения 01.06.2014).

19. Radicchi F. Who Is the Best Player Ever? A Complex Network Analysis of the History of Professional Tennis, 2011.

i Надоели баннеры? Вы всегда можете отключить рекламу.