Engineering sciences
УДК 004.738: 519.7 DOI 10.21661/r-472064
А.А. Печников, А.Н. Ермолаев
Программа для исследования малых сообществ «ВКонтакте» и некоторые результаты
Аннотация
Авторы сосредоточили внимание на исследовании малых сообществ социальной сети «ВКонтакте». Для этих целей было разработана специализированная программа сбора открытых данных о таких сообществах, размещенная в публичном домене. Программа проста в использовании и позволяет как собирать некоторые данные об участниках, так и вычислять основные метрики малых сообществ. Формат выходных данных дает возможность использовать их без предварительной обработки в программе анализа и визуализации сетей Gephi, что существенно усиливает возможности исследователей. Приводятся некоторые результаты исследований, показывающие возможности программы.
I Ключевые слова: социальная сеть, «ВКонтакте», программа, граф, метрики, ассортативность, предпочтительное присоединение.
A.A. Pechnikov, A.N. Ermolaev
Software for the study of small communities VKontakte and some of the results
Abstract
Authors focused on study of small communities of the social network Vkontakte. For this purpose, specialized program for collecting open data from such communities was developed, which is available in the public domain. The program is easy to use and allows you to collect data about the participants and calculate basic metrics of small communities. The output format is organized in a such way that it can be used without any additional processing in the program for analysis and visualization of networks - Gephi, which significantly enhances the capabilities of researchers. Numerical simulations were made to demonstrate features of the program.
| Keywords: social network, VKontakte, software, graph, metrics, assortativity, preferential attachment emergence.
Введение
Стремительный рост пользователей социальных сетей привёл к тому, что внимание исследователей в области социальных графов сфокусировалось главным образом именно на лидерах рынка. По состоянию на май 2018 года самой популярной социальной сетью в России является ВКонтакте, имеющая около 17 млн активных участников [1]. Этим обуславливается актуальность данной работы. Мы со-
средоточили внимание на так называемых «малых сообществах», к которым в этой работе отнесем: эго-со-общество, эго-эго-сообщество, тематическую группу.
Эго (или центральный индивид) идентифицируется по его уникальному идентификатору id. Эго-сооб-щество это сам эго, другие индивиды, с которыми он поддерживает отношения, связи эго с этими другими индивидами и связи между другими индивидами (участниками).
Технические науки
V
Рис. 1. Пример работы с интерфейсом в варианте Friends
В свою очередь эго-эго-сооб-щество можно определить так: все индивиды, входящие в эго-со-общество центрального индивида (первичного), принимаемые за вторичных центральных индивидов; все индивиды, входящие в эго-со-общества вторичных центральных индивидов; все связи между всеми индивидами.
Тематическая группа - это индивиды, входящие в тематическое сообщество, идентифицируемое по его названию, и все связи между ними. К тематической группе с 1 млн участников термин «малое сообщество» плохо применим, поэтому в этом случае мы ограничим число участников тысячами, учитывая имеющиеся вычислительные ресурсы.
Программа SGMaker
Для исследования малых сообществ была разработана программа SGMaker. При разработке использовались следующие программные средства:
- Python 3.6 - интерпретируемый язык программирования высокого уровня общего назначения;
- NetworkX - библиотека Python для создания, обработки и изучения структуры, динамики и функций сложных сетей;
- VK API ВКонтакте - интерфейс прикладного программирования (application programming interface - API), позволяющий получать необходимую информацию из базы данных vk.com с помощью http-запросов к специальному серверу;
- vk_requsts - библиотека Python для работы с VK API;
- PyQt - «привязка» кроссплат-форменного фреймворка Qt для Python, реализованная в виде его модуля, позволяющая упростить создание графического интерфейса пользователя (graphical user interface - GUI);
- Gephi - интерактивная платформа визуализации и исследования для сетей и сложных систем, динамических и иерархических графов.
Далее «json-ответ» обозначает результат выполнения определённой функции в формате JSON (англ. JavaScript Object Notation), текстовом формате обмена данными, основанном на JavaScript, а id является идентификатором участника социальной сети или именем тематической группы.
Для обработки запросов к Вконтакте через VK API используются функции, реализованные с помощью библиотеки vk_requests и возвращающие json-ответ c некоторыми из полей: id, имя, фамилия, город проживания, дата рождения, список друзей запрашиваемого участника и список участников запрашиваемого сообщества. На основе полученных данных основная функция строит графы, используя структуру библиотеки networkx, после чего сохраняет готовые социальные графы в папку '/ graphs'. Для оценки характеристик имеющихся графов реализованы функции, позволяющие вычислить возраст по указанной дате рождения (если указанных данных недостаточно, то результат 'n/a'), плотность и коэффициенты ассо-ртативности по возрасту и городу для заданного графа.
Для использования программы можно скачать архив программы, доступный по ссылке http://webometrics.krc.karelia.ru/ section.php?id=23, распаковать его и запустить исполняемый файл SGMaker.exe, размещенный в папке SGMaker. В Windows 8 и выше может потребоваться отключение функции SmartScreen, защищающей от запуска не доверительных файлов, сомнительных сайтов или загрузки вирусных приложений.
Пример интерфейса SGMaker приведен на рис. 1. После ввода
¿4 C:\Users\ SG М a ker, exe - □ X
87 73евЁ1349б9326 Ж
88 3435582822Й85Э %
UK в57в5521472392 %
ay SB 57еЬЬ21472332> 184649074 734£ %
L'J 79754£Й122£9»3 %
pi 411 A4?4447P %
82 02453987730061 %
a i Ё3883686981594 %
03 2SIS3374233128 %
rä ЯЙ503067484Й62 %
Lli 478b2i6e73£.197 %
9b 8428245398773
3b %
Lib Л5в1Е4в49в79Е %
rb 932S1533742i31 %
В 7 %
98 98 773066134«6932 % %
aa let 38658386748467 S.0 % %
InpDrting вга-F...
спиpitted L
16.651442289352417 seconds ---
Рис. 2. Пример успешного завершения процесса
62
Интерактивная наука | 6 (28) • 2018
Engineering sciences
идентификатора id следует выбрать одну из опций Type (Friends - эго-сообщество, Friend's Friends -эго-эго-сообщество, Group - тематическая группа).
В поле Save as нужно ввести имя, под которым сохранятся два файла в директории приложения в папке '/graphs' в формате Gephi: в файле age.gexf сохранится структура графа с пометками узлов «возраст», а в файле city.gexf - с пометками «город». Далее следует нажать кнопку Download graph и дождаться загрузки графа. Процесс выполнения можно отслеживать на консоли (рис. 2), успешное завершение подтверждается Completed!, остальные варианты означают ошибку ввода id.
Для только что загруженного файла достаточно нажать на Compute metrics и в правой части для этого социального графа появится информация о количестве узлов, рёбер, плотности, коэффициенте кластеризации, коэффициента ассортативности по возрасту и городу (рис. 1).
Для вычисления метрик ранее загруженного графа достаточно указать в поле Open file название файла, сохраненного в папке '/graphs', и нажать на Compute metrics. Эти же файлы могут быть использованы в качестве исходных данных для работы в Gephi.
Некоторые результаты
Был построен эго-граф одного из авторов статьи (id=34314751), содержащий 159 вершин и 1322 рёбер. Для каждой из вершин этого графа были построены свои эго-графы, имеющие от 12 до 2548 вершин и от 13 до 152695 ребер. В среднем построенные эго-графы имеют низкую плотность ~ 0.08, и при этом высокий
коэффициент кластеризации ~ 0.6. То есть пользователи склонны объединяться в небольшие, но тесно связанные группы. Размерность наибольшей максимальной клики [4] в среднем близка к 6.5, из чего следует, что пользователи предпочитают «тесно дружить» по 6-7 человек.
Характерным представителем небольших тематических групп является Creedence Clearwater Revival (имя - c_c_r), содержащая 526 участников и 84 ребра. Граф чрезвычайно разреженный, 434 участника не имеют друзей в этой группе, выделяется компонента связности, содержащая 55 участников.
Эго-эго граф, для которого первичным индивидом был взят тот же участник с id = 34314751, содержит 35138 вершин и 677460 ребер. По своим свойствам он очень близок к известному графу Барабаши-Аль-берт [5]. Во-первых, это весьма разреженный граф с плотностью 0.001. Во-вторых, диаметр графа очень мал и равен 4. В-третьих, у графа весьма характерное распределение степеней вершин. Эмпирическая вероятность того, что вершина графа имеет степень d, оценивается как c/dX, где X = 1.797, что весьма близко к теоретическому значению X ~ 2.1 (с - нормирующий множитель, вычисляемый из условия «сумма вероятностей равна 1»). Похоже, что здесь работает принцип предпочтительного присоединения, когда новый участник преимущественно хочет дружить с теми участниками, у которых много друзей.
Все три приведенных результата и разработанная программа открывают широкий спектр задач для исследователей.
Литература
1. Статистика социальных сетей [Электронный ресурс]. - Режим доступа: https://br-analytics.ru/statistics/author
2. Newman M.E.G. Assortative mixing in networks // Physical Review Letters. - 2002. - Vol. 89. - P. 1-5.
3. Definition of dense graph, possibly with links to more information and implementations [Электронный ресурс]. -Режим доступа: https://xlinux.nist.gov/dads/HTML/densegraph.html
4. Moon J.W. On cliques in graphs / J.W. Moon, L.Moser // Israel Journal of Mathematics. - 1965. - Vol. 3. - Is. 1. -P. 23-28.
5. Barabasi L.-A. Scale-free characteristics of random net-works: the topology of the world-wide web / L.-A. Barabasi, R. Albert, H. Jeong // Physica. - 2000. - Vol. A281. - P. 69-77.
References
1. Statistika social'nyh setei [Elektronnyi resurs]. - Rejim dostupa: https://br-analytics.ru/statistics/author
2. Newman M.E.G. Assortative mixing in networks // Physical Review Letters. - 2002. - Vol. 89. - P. 1-5.
3. Definition of dense graph, possibly with links to more information and implementations [Elektronnyi resurs]. - Rejim dostupa: https://xlinux.nist.gov/dads/HTML/densegraph.html
4. Moon J.W. On cliques in graphs / J.W. Moon, L.Moser // Israel Journal of Mathematics. - 1965. - Vol. 3. - Is. 1. -P. 23-28.
5. Barabasi L.-A. Scale-free characteristics of random net-works: the topology of the world-wide web / L.-A. Barabasi, R. Albert, H. Jeong // Physica. - 2000. - Vol. A281. - P. 69-77.