Начало
Тема исследования связей в социальных сетях становится все более актуальной по разным причинам: попытка ответить на вопрос о степени связности участников сетей; скорости и путях распространения информации; об эффективности целевой рекламы, в конце концов. Да и сам процесс исследования и поиска неявных связей затягивает! Для своих исследований в этом направлении я выбрал самый «кипящий» кусок рунета, а именно – русский сегмент Живого Журнала. Туманно сформулированный вопрос звучал примерно таким образом: можно ли выделить блоггерские «группировки» исходя из структуры связей между пользователями сервиса ЖЖ, т.е. располагая лишь информацией о «френдах». Выдвинув в качестве рабочей гипотезы идею о том, что подобную информацию можно извлечь из анализа аудиторий популярных журналов я столкнулся с задачей получения достоверных данных об этих аудиториях. Базовые средства сервиса livejournal не дают возможность получить полный список читателей блога мультитысячника. Поэтому, первым шагом, пришлось собрать структуру связей русского ЖЖ на домашнем компьютере. Забегая вперед скажу: социальный граф русского ЖЖ в моем исследовании имеет 2,08 млн. вершин и 58,05 млн. дуг. Интересно? Тогда под катом довольно много букв, цифр и картинок. Для своих исследований в этом направлении я выбрал самый «кипящий» кусок рунета, а именно – русский сегмент Живого Журнала. Туманно сформулированный вопрос звучал примерно таким образом: можно ли выделить блоггерские «группировки» исходя из структуры связей между пользователями сервиса ЖЖ, т.е. располагая лишь информацией о «френдах». Выдвинув в качестве рабочей гипотезы идею о том, что подобную информацию можно извлечь из анализа аудиторий популярных журналов я столкнулся с задачей получения достоверных данных об этих аудиториях. Базовые средства сервиса livejournal не дают возможность получить полный список читателей блога мультитысячника. Поэтому, первым шагом, пришлось собрать структуру связей русского ЖЖ на домашнем компьютере. Забегая вперед скажу: социальный граф русского ЖЖ в моем исследовании имеет 2,08 млн. вершин и 58,05 млн. дуг. Интересно? Тогда под катом довольно много букв, цифр и картинок. Выдвинув в качестве рабочей гипотезы идею о том, что подобную информацию можно извлечь из анализа аудиторий популярных журналов я столкнулся с задачей получения достоверных данных об этих аудиториях. Базовые средства сервиса livejournal не дают возможность получить полный список читателей блога мультитысячника. Поэтому, первым шагом, пришлось собрать структуру связей русского ЖЖ на домашнем компьютере. Забегая вперед скажу: социальный граф русского ЖЖ в моем исследовании имеет 2,08 млн. вершин и 58,05 млн. дуг. Интересно? Тогда под катом довольно много букв, цифр и картинок. Забегая вперед скажу: социальный граф русского ЖЖ в моем исследовании имеет 2,08 млн. вершин и 58,05 млн. дуг. Интересно? Тогда под катом довольно много букв, цифр и картинок. Сбор информации
По оценкам сервиса Яндекс.Блоги русский сегмент Живого Журнала насчитывает чуть более 2 млн. блогов. Взяв этот список за основу я проделал некоторую автоматизированную работу по заполнению базы данных «дружеских» отношений между блогами, позволяющую ответить как минимум на один вопрос: кто читает конкретный блог.Немного цифр
Были собраны связи 2,08 млн. пользователей. Т.е. граф с 2,08 млн. вершинами получил еще 58,05 млн. дуг(направленных отношений дружбы между пользователями) на 13.03.2011. Причем, только половина – 1,08 млн. пользователей читает кого-то еще (имеет исходящую дугу) и 1,26 млн. имеют читателей. В качестве иллюстрации можно привести некоторую статистику по количеству френдов (читателей):

Оценка погрешности
Для оценки полноты собранного графа сравним «официальное» количество читателей из топа livejournal.com с количеством для тех же блоггеров, но полученным суммированием входящих дуг на графе. Для большей точности были взяты два фрагмента ТОП-50:


Как объять необъятное?
С одной стороны, численных данных достаточно для проведения различных прикладных исследований. С другой стороны, для некоторых исследователей просто необходимо оценить визуально рабочее поле. Давайте попробуем покрутить данные перед глазами. Как? Тут нам пригодятся методы наглядного представления многомерных данных с понижением размерности: попробуем «втиснуть» наш 10-ти мерный набор данных (блоггеров, читающих журналы из ТОП-10) в двумерную картинку на плоскости. При этом, в идеале, было бы неплохо получить некоторую группировку читателей по читаемым блогам. Не очень запутано? Первый вариант группировки – провести кластеризацию алгоритмами g-means (кластеризация с автоматическим определением количества кластеров) или k-means (кластеризация по заданному количеству кластеров). В принципе, мысль здравая, но этот подход не решает проблемы отображения полученных результатов и имеет свои недостатки с учетом структуры наших данных. Поэтому я попытался воспользоваться своим любимым инструментом кластеризации – самоорганизующимися картами Кохнена в реализации аналитической системы Deductor (версия Academic) от компании BaseGroup Labs. Детали алгоритма можно почитать в соответствующих публикациях, скажу лишь, что в данной задаче важна его способность проецировать многомерный рельеф данных на плоскость отображения. То, что получается в результате и то, как именно интерпретировать его – сильно зависит от параметров обработки и пониманием природы обрабатываемых данных. Поэтому, дальнейший анализ – это частный случай, не претендующий на абсолютную истину. Итак, после скармливания выборки нейронной сети, которая и является картой Кохонена, получаем вот такую картинку. Количество кластеров (разноцветных зон в правом нижнем окне) чуть подрегулировано вручную – поставил 7 штук (нумерация 0..6) — для лучшей визуальной разбивки результата.




Техническая ремарка
Как я уже говорил, в данном случае наполнение и структура отображаемых кластеров зависит от их числа, которое может настраиваться. Например, для этой модели число «физических» кластеров, на которые разбилось множество читателей в результате обработки равно 19, но для наглядности я сделал более грубую модель с 7 «визуальными» кластерами. Точность такого разбиения (да и самого метода кластеризации через нейросети) не абсолютна, поэтому может получиться так, что в кластер «Навального» попадет пользователь его не читающий. Но эта погрешность, в принципе, не критична для поверхностного оценочного анализа.Вместо заключения
На этом я заканчиваю демонстрацию проделанной работы, а над прикладным ее значением (например, анализом ТОП-30 или ТОП-50 или специально сформированного списка) предлагаю подумать рекламодателям, использующих ЖЖ для продвижения своих товаров и услуг. На этом я заканчиваю демонстрацию проделанной работы, а над прикладным ее значением (например, анализом ТОП-30 или ТОП-50 или специально сформированного списка) предлагаю подумать рекламодателям, использующих ЖЖ для продвижения своих товаров и услуг. P.S. Пользователи ЖЖ, не зарегистрированные на Хабре, могут задать вопросы в моем блоге infist-xxi.livejournal.comОригинальный текст статьи Вы можете найти здесь
from inetpsy.ru