May 5, 2015

Сетевой анализ коммуникативных связей

Сетевой анализ коммуникативных связей в социальной сети «ВКонтакте» на примере нацистских и националистических Интернет-сообществ Петербурга.

Методологическим основанием данного исследования является сетевой анализ (social network analysis), где моделируются отношения между акторами, которые представляются в виде вершин графа, а ребра графа есть связи между акторами.
Единицами анализа были выбраны пользователи социальной сети «ВКонтакте», аффилированные с сообществами националистического или даже национал-социалистического толка Санкт-Петербурга. Отбор сообществ осуществлялся методом снежного кома построения сети, так как многие сообщества имеют ссылки друг на друга, перепубликуют сообщения из других, схожих по интересам и направленности. Определенность сообществ к национализму и национал-социализму определялась исходя из анализа текста или исторического контекста, выявленного в СМИ. Стоит сказать, что в сообществах прослеживаются две основные модели. Первая связана с созданием дискурса, вторая с созданием организации со своей структурой (трудно проследить что было первично: оффлайн-структура или онлайн-сообщство). Строгое разграничение мы встретили только у Народной Социалистической Инициативы (НСИ), которая до недавнего времени была Национальной. Существует сообщество структура НСИ и сообщество коммуникативное пространство НСИ Информ. Другие же либо придерживаются одной модели, либо пытаются с разным успехом совмещать сразу две.
Список сообществ, которые были исследованы: НСИ, НСИ Информ, Русский Марш - Санкт Петербург, Русское имперское движение, Правая группа помощи задержанным, Стоп мигрант, Русская пробежка Санкт-Петербург, Правые Петербург, Славянская Сила-Nord West Peterburg, Славянская Сила Северо-Запад(Питер), Правый Русский Марш в Санкт-Петербурге, Русская община Санкт-Петербурга, Русские против Путина, Национально-Демократическая Партия – СПб, "Народный собор" Санкт-Петербург, Против исламизации Санкт-Петербурга.
Суммировав аудиторию сообществ воедино (количество неуникальных пользователей) мы получили 54 тыс. пользователей. Естественно, число аудитории уникальных пользователей значительно меньше. Но при этом работать со всей аудиторией затруднительно и не из-за больших чисел. К слову стоит сказать, что в первых попытках исследовать националистическое сообщество Петербурга мы создали матрицу смежности пользователей около 50 сообществ, где уникальных было около 242 тыс., а сам текстовый файл, содержащий матрицу, занимал около 100 Гб. Также из минусов стоит отметить, что создание такой матрицы занимало очень много времени, исчисляемое часами.
Таким образом, мы переходим к самому интересному на наш взгляд – описанию инструментария. Если в социально-политических исследованиях с количеством единиц анализа менее 1 тыс. исследователь зачастую работает вручную, то в работе с большими данными вручную работать просто нельзя. Массивы информации просто огромны, да и к слову не всегда программы могут визуализировать текстовые файлы с большими данными. Потому нами были созданы автоматические способы работы с большими данными, которые ввиду пробного исследования представляют пока что отдельные приложения и программы.
Для сбора информации о пользователях нами было создано web-приложение, для функционирования которого был арендован сервер. Сбор информации из онлайн-источников принято называть парсингом или синтаксическим анализом. Социальная сеть «ВКонтакте» парсится через VK API, где создается простой запрос, на который поступает json-ответ. Данные можно выводить в табличный или текстовый формат.
В рамках исследования националистов Петербурга наше внимание было сфокусировано на коммуникативных связях между пользователями. То есть предметом исследования было ядро сети: пользователи, которые присутствуют в двух сообществах и более. Под связью между пользователями мы понимали аффилированность с несколькими сообществами. Другими словами, если один пользователь подписан на некое альтернативное СМИ или сообщество, а другой пользователь также, то между ними присутствует коммуникативная связь, выраженная в ранге 1. Такая связь есть у всех подписчиков одного сообщества. Если число таких сообществ больше, то ранг пропорционально больше. В качестве минимального ранга мы взяли 2, то есть границу между аудиторией и ядром сети. Другими словами, если пользователи имеют пересечение только в одном сообществе, то трудно связывать одну лишь такую связь с принадлежностью к дискурсу. Кроме того, в качестве связей мы не рассматривали сети дружбы, хотя мы имеем неавтоматический способ анализа их.
Другим важным шагом после парсинга социальной сети является представление данных в виде матрицы смежности. Матрица смежности – это способ упорядочивания элементов множества, в которой записываются связи между вершинами. В нашем случае вершинами являются пользователи. Для представления данных в матрицу мы выбрали следующий способ. Мы создали матрицу смежности на каждое сообщество, сравнивая подписчиков данного сообщества с рангом 2 и выше со ядром. Была создана многопотоковая программа, выполняющая сравнение и запись в файл построчно.
Следующий этап по разным причинам оказался самым сложным для нас. Определенное количество матриц смежности необходимо было сложить между собой. Ввиду того, что многие программы для математического анализа не могут работать с такими большими данными (MathCad имеет предел размерности матриц 600×600, Matlab складывает матрицы целиком, не построчно), наш взгляд упал снова на многопотоковые программы. Таким образом, была создана программа для сложения матриц, где сложение и запись в файл проходило построчно.

Построив матрицу смежности ядра сети, мы сразу же решили построить граф. На основании полученных данных с помощью программного обеспечения Ucinet 6 мы смогли визуализировать коммуникативные сетевые отношения в ядре сети. К сожалению, визуализация коммуникативных связей между 6468 пользователями не представила нам наглядно все эти отношения. С другой стороны, появилось сомнение в инструментарии. Все ли верно мы сделали. Для этого, мы создали случайную бесповторную выборку из общей аудитории на 50 пользователей, провели все процедуры. Визуализация графа на выборку получилась. Видны пользователи, не имеющие коммуникативных связей, клики и сетевые брокеры. Кроме того, мы хотели дополнить этот пример, создав матрицу смежности сетей дружбы, но после всех подсчетов оказалось, что пользователи не имеют между собой отношений дружбы.
Таким образом, мы смогли создать инструмент для сетевого анализа больших данных, где сбор и представление данных происходит не вручную, а автоматически, хоть и в разных этапах. В качестве перспективы, мы надеемся, что получится связать все эти этапы воедино для облегчения труда исследователя.