image

Здравствуйте, уважаемые читатели. Сегодня попробуем проанализировать одно из сообществ известной социальной сети "ВКонтакте". На предмет чего? — спросите вы. Смотреть будем на связи между участниками группы, анализировать характеристики пользователей и делать выводы.
Выбор пал на достаточно активный паблик одного высшего учебного заведения (адреса не даю во избежании недоразумений). На момент написания статье кол-во участников группы было чуть менее чем 16 тысяч человек.

Почему выбран именно этот паблик?
На мой субъективный взгляд, кол-во номинальных участников было минимальным. Также социальные связи показались достаточно интересными. Таким образом, эти факторы сыграли немалую роль в выборе сообщества.
Заинтересовавшихся милости прошу под кат.

1. Как собрать информацию?

Для решения искомой задачи было решено написать простой парсер данных, на входе которого — ссылка на сообщество, на выходе — файлы вершин и ребер (связи между участниками группы) для программы визуализации данных Gephi, а также вспомогательные файлы с различными характеристиками пользователей для последующего анализа. Стоит отметить, что под «связями» подразумевается, что связанная пара — «друзья» (в рамках соц. сети).
image
На выходе:
image

2. Что имеем?

Для начала просмотрим общую статистику. По возрасту:

*по вертикали — кол-во человек с данным возрастом, по горизонтали — непосредственно возраст
Можно заметить, что наибольшее кол-во людей в группе с возрастом 17-25 лет. Закономерно.

График отношения мужчин и женщин (по полу):
image
Занимательно, что большая часть аудитории — девушки. О чем это свидетельствует — на ваш суд. К сожалению, не все пользователи сети указывают свой пол (и не все верно).

График кол-ва друзей у участников:
image
*по вертикали — кол-во человек с данным кол-вом друзей, по горизонтали — кол-во друзей
Как видно, в среднем, участник имеет порядка 100-400 друзей.

График кол-ва подписчиков у участников:
image
*по вертикали — кол-во человек с данным кол-вом подписчиков, по горизонтали — кол-во подписчиков
В среднем участник имеет не более 200 подписчиков. Однако у отдельных индивидуумов искомое кол-во доходило до отметки свыше 50 000.

Также предоставляю вашему внимаю экспериментальный график, который показывает сколько людей имеют ID ниже/выше определенного значения (какого — показано на графике):
image
*по вертикали — диапазон ID'ов, по горизонтали — кол-во людей, входящих в этот диапазон
Для тех, кто не знает специфику ID пользователя ВКонтакте: чем больше ID, тем поздней зарегистрировался пользователь в социальной сети. Исследуя график, можно отметить, что «свежезарегистрированных» участников в сообществе больше. Причем больше в экспоненциальном отношении. Также забавный факт: есть люди в сообществе с двузначными ID (!).

3. Где же обещанные взаимосвязи между участниками?

И правда, настало время показать связи в сообществе между людьми. Сделаем это с помощью графа.
Вершинами графа будут участники сообщества, ребрами — связи между ними. Трактовку понятия «связи» я описал в начале статьи, если кто забыл. В силу большого кол-ва людей граф будет едва ли читабельным. Однако, чем больше связей — тем больше размер вершины. Это позволяет выделиться «звездам»:
image
И да, это не просто точки на белом фоне. Просто связей так много, что они слились в единую «массу».
Для справки: На 15958 вершин (пользователи) имеется 200896 ребер (связи между ними). А это в среднем по 12-13 связей на одного человека.
Розовым цветом отмечены ТОП-3 человека, которые имею наибольший вес (напоминаю, что размер вершины прямо пропорционален кол-ву связей). Ниже представлена таблица ТОП-10 людей по весу в порядке убывания:
ID VK Имя/Фамилия Относительный вес (шкала от 0 до 2215)
97723 Валерий Окунев 2215
206186029 Глеб Коломиец 1152
105522823 Ингруп Стс 541
246391591 Anya Bjork 203
84298132 Полина Клёнова 198
9448597 Артем Камаев 192
212268423 Виктор Козлов 174
56572 Данил Фёдоровых 156
11190617 Иван Чернявский 129
154122439 Константин Бородич 128
*Первые три из них в аккурат являются розовыми вершинами на графе.
Кстати, сам граф загружен в достаточно высоком разрешении (1920*1159).

4. Вывод

Беря во внимания тот факт, что самый «мощный» участник почти с двойным отрывом впереди от предыдущего, можно сделать предположение, что он играет одну из ключевых ролей в сообществе. Быть может, он является администратором? Проверить этого нельзя, т.к. контакты администрации скрыты в данном случае.
Вообще, примерно таким же образом можно попытаться вычислить админов неких «подслушек», и иных сообществ, где иногда охота узнать правителей в лицо. Тот же граф в увеличенном размере чисто для «красоты»:
image

С вами был Петр, большое спасибо за внимание. До встречи!
Поделиться с друзьями
-->

Комментарии (28)


  1. robert_ayrapetyan
    22.06.2016 21:22
    +16

    Простите, но ваша статья ни о чем…


    1. ParadoxFilm
      23.06.2016 00:05

      Хотел показать метод обнаружения «звезд» сообществ. Не получилось? Извините, что не оправдал заголовок…


      1. ov7a
        23.06.2016 12:54

        Существует более 20 разных способов определить важные узлы в графе — степень вершины, промежуточность, pagerank, и т.д. Даже в статье на википедии их 8. Почему вы выбрали самую простую (и не очень показательную)?


        1. ParadoxFilm
          23.06.2016 13:50

          Метод — Betweenness Centrality. Другие дают более худший результат.


          1. ov7a
            23.06.2016 13:55

            А как вы оцениваете «худшесть» результата?


            1. ParadoxFilm
              23.06.2016 14:14

              Различие между вершинами (или группы вершин). Если у вас имеется интерес, могу предоставить вам исходные данные вершин/ребер из статьи.


              1. ov7a
                23.06.2016 14:55

                Различие между вершинами как считете? Или имелось в виду различие между значениями меры для вершин? Но меры-то не нормированы… Можете привести подробное описание выбора меры?


  1. Nekto_Habr
    22.06.2016 21:58
    +1

    Картинки, на мой абсолютно неавторитетный взгляд, совершенно неинформативны. Но выглядят потрясающе — действительно, как звезда с атмосферой.


  1. NeoCode
    22.06.2016 22:48
    +1

    У самого ВКонтакта наверняка имеются и дополнительные данные (вроде логов входа на сайт и поведения пользователей), и какие-нибудь мощные инструменты анализа социального графа, выявления сложных закономерностей и различных аномалий…
    Интересно, как много они о нас знают? Как много знают о природе общества, о тайных законах, которые управляют людьми, их поведением и мышлением… Информация, что в отдельности не представляет никакого интереса, в совокупности миллионов аккаунтов наверняка содержит много интересного и для ученых, и для спецслужб…


    1. ParadoxFilm
      23.06.2016 00:11

      Да, наверняка так и есть.


  1. lizarge
    22.06.2016 23:05

    Исходя из моего опыта работы с графами — получение таких картинок свидетельство неправильного подхода к анализу. По сути графом есть только последняя картинка, которая абсолютно не информативна так как мало отличается просто от какого нибудь случайного распределения.
    Попробуйте почитать теорию графов более глубоко, кроме того отсечь все «неважные данные» (средние показатели) и сделать новому графу развертку, что бы показать связи именно ваших розовых вершин с остальными ключевыми вершинами, будет более показательно.


    1. ParadoxFilm
      23.06.2016 00:10

      Спасибо за критику! В след. раз буду более тщательно проводить анализ. На более маленьких сообществах получается более информативно:
      image


      1. lizarge
        23.06.2016 11:19
        +1

        Дык у вас все инструменты под рукой:) Действуйте! В свое время в рамках диплома делал отдаленно подобные штуки, правда в другой области (анализ программ), жалею что забросил после того как сдался


  1. Ockonal
    22.06.2016 23:08

    Статья бессмысленная в большей части, только последний раздел заинтересовал. Попробуйте взять группу с известным администратором и проверить.


    1. ParadoxFilm
      23.06.2016 00:08

      Уже проверяли, и данные совпали. Тогда граф выглядел так:
      image
      Самый «жирный» как раз и был администратором.


      1. Dreamastiy
        23.06.2016 09:25
        +1

        У вас на графе есть участники с весами больше 239, почему тогда «самый жирный» участник с весом 239?


        1. Primus_IP
          23.06.2016 14:00

          Это, видимо порядковые номера.


        1. ParadoxFilm
          23.06.2016 14:15

          Действительно, это не вес, это порядковый номер (ID) вершины.


  1. vais
    22.06.2016 23:36

    Можно попросить исходники?


    1. ParadoxFilm
      23.06.2016 00:07
      -6

      К сожалению, на данный момент не могу предоставить. Так как делались «на коленке». В будущем, как доведу до ума — возможно.


  1. mnepohyi
    22.06.2016 23:37

    Можно соус?


    1. ParadoxFilm
      23.06.2016 00:07

      Ответ выше. Спасибо за интерес!


  1. alex_the_first
    22.06.2016 23:37

    Спасибо за статью, но все же имхо выкладывать реальные данные людей не вполне корректно…


    1. mnepohyi
      23.06.2016 00:04
      +4

      В статье же только паблик инфа.


      1. Oxoron
        23.06.2016 09:13

        Промахнулся.


  1. Oxoron
    23.06.2016 09:14
    +2

    А стоило скрывать ВУЗ? Почти наверняка он однозначно устанавливается по тем людям, что указаны в таблице

    ТОП-10 людей по весу в порядке убывания


    1. ParadoxFilm
      23.06.2016 09:29
      +1

      Конечно, установить можно. Дело в том, что правила хабра не позволяют привести ссылку (можно счесть за рекламу).


  1. vadkor
    24.06.2016 00:18

    «Беря во внимания тот факт, что самый «мощный» участник почти с двойным отрывом впереди от предыдущего, можно сделать предположение, что он играет одну из ключевых ролей в сообществе. Быть может, он является администратором?»

    Все гораздо проще. Он просто добавляет всех из универа и со страницей это никак не связано :)