Анализ сообществ в социальных сетях

advertisement
Анализ сообществ
в социальных сетях
Николай Скворцов
Социальные сети как области
с интенсивным использованием данных






Телекоммуникационные связи (звонки, адресные книги и др.)
Информационные сети (медиа, цитирование, сайты)
Данные о социальных связях (территориальные, родственные,
взаимодействия, знакомства, …)
Данные о совместном использовании ресурсов
Социальные сети в интернет (Facebook,VK, LinkedIn, …)
Организационные взаимодействия
Составляющие сетей




Участники (персоны, организации, сообщества)
Ресурсы (книги, видео, фотографии)
Атрибуты (профили, анкеты, текст комментариев)
Отношения (друзья, оценки, метки, посещения, публикации,
цитирования, комментарии, транзакции, взаимодействия, роли)
Рассматриваемые классы задач над сетями

Участники и ресурсы сети не равнозначны из-за различий в
рассматриваемых связях между ними


Участники и ресурсы сети образуют связанные структуры


Обнаружение и анализ сообществ
Социальные сети – живые системы




Ранжирование участников по различным критериям
Моделирование развития сетей с разными свойствами
Устойчивость сети к воздействиям
Моделирование распространения событий различной природы
Необходимость анализа больших сетей

Подходы к редуцированию и распараллеливанию вычислений над сетями
План лекции



Представление сетей
Метрики центральности вершин
Алгоритмы выявления сообществ
Представление сетей

Граф G = (V,E)




V – Вершины (Участники, Ресурсы)
E – Рёбра (Отношения)
Ориентированные рёбра (дуги)
Атрибуты вершин и рёбер



A
C
D
Например, вес, тип, метрики структуры графа
Матрица смежности M

B
Элементы множества V
по горизонтали и вертикали
Mij = 1, если между вершинами
i и j есть ребро, иначе 0
A B C D
A 0
1
0
1
B 1
0
1
1
C 1
0
0
0
D 1
0
1
0
Центральность вершин сети

Свойства вершин




Метрики центральности вершин





Степень вершины – количество рёбер, соединяющих вершину с другими
Для ориентированных сетей определяют входящую и исходящую полустепени
вершины
Центральность вершин – ранжирование их важности по некоторому критерию,
учитывающему структуру всего графа
по степеням вершин – по количеству соседей вершины
по посредничеству – по количеству минимальных путей, проходящих через вершину
по близости к центру – по средней длине минимальных путей от вершины к другим
вершинам сети
по собственному вектору – с учётом центральности соседних вершин
Для ориентированных графов


Престиж вершины – метрика центральности вершины по входным дугам
Влияние вершины – метрика центральности вершины по выходным дугам
Центральность вершин сети (2)
По степеням
По близости
По посредничеству
По собственным векторам
Сетевые сообщества

Сообщество (связанная подгруппа) – это группа вершин социальной сети,
которые связаны существенно большим количеством рёбер, чем между
сообществами

Зачем искать сообщества?







Параметры и поведение сети могут сильно отличаться от сообщества к сообществу
Исследование изоляции подгрупп (слабое распространение информации)
Исследование влиятельных участников на подгруппы
Локализация хранения и обработки информации о взаимодействии участников
Вложенные сообщества
Перекрывающиеся сообщества
Другие цели
Возможные критерии определения сообществ





Взаимность связей множества участников
Частота связей
Близость и достижимость вершин
Относительная частота связей между членами и нечленами сообщества
Другие критерии
Задача выявления сообществ




Сеть G: n вершин, m рёбер
Cообщество C: nC вершин, mC рёбер
mext внешних рёбер
Базовый подход




Плотность графа  = 2m / (n (n - 1))
Плотность внутренних связей сообщества
int (С) = 2mC / (nC (nC - 1))
int (С) > 
Плотность внешних связей
ext (C) = mext / (nC (n - nC))
ext (С) < 
Задача обнаружения сообществ состоит в максимизации суммы разностей
плотности (int - ext) по всем сообществам сети
Локальные подходы к обнаружению сообществ


Локальные подходы принимают во внимание структуры,
обнаруживаемые в графах
Клика – подграф, в котором каждая вершина
связана со всеми остальными в подграфе



Связь каждый с каждым
Неприменимо центральное расположение вершин
k-ядро – подграф, в котором каждая вершина связана
минимум с k другими вершинами того же подграфа 3
4
Локальные подходы к обнаружению сообществ (2)
 n-клика – подграф, в котором максимальное
расстояние между любыми двумя
вершинами не больше n
2
p-клика – подграф, в котором вершины имеют не менее
p-той части соседних вершин того же подграфа
 Перколяция клик – максимальное объединение
k-клик, любые две из которых соединены
набором смежных k-клик


Все перечисленные подходы – NP-полные задачи
2
Глобальные подходы к обнаружению сообществ


Применение глобальных свойств сетей в качестве критериев сообществ
Используются различные критерии сходства вершин




Случайное блуждание – количество посещений вершины при случайных переходах по
графу
Центральность по посредничеству – количество кратчайших путей, проходящих через
вершину
Модульность вершин – характеристика, основанная на разности между фактическим
количеством рёбер подграфа и ожидаемым количеством рёбер, если бы это была
случайная сеть
Иерархические подходы с использованием мер сходства вершин


Агломеративные подходы – итеративное слияние подгрупп вершин, сходных по разным
критериям
Разделяющие подходы – итеративное удаление рёбер между слабо связанными
вершинами
Иерархические алгоритмы

Расчёт веса для всех пар вершин





По различным критериям (например, улавливание сообществом случайного блуждания)
Инициация: n несвязанных вершин
Добавление рёбер между парами в порядке убывания веса
Получаем дерево вложенных компонентов
Уровень среза определяет детализацию сообществ
По посредничеству рёбер

Посредничество (betweenness) – количество кратчайших путей графа, проходящих
через ребро
Иерархический алгоритм по посредничеству рёбер удаляет рёбра с высоким
показателем посредничества (мосты), разбивая сеть на компоненты
Эти компоненты являются сообществами полной сети

Пока посредничество любого ребра больше порогового значения


Удалить ребро с наибольшим посредничеством
 Пересчитать посредничество
Плохо масштабируется
 Удаление дуги влияет на посредничество других рёбер
(расчёт кратчайших путей всех пар за один проход – O(N3))

•
По модульности подгруппы






Рассмотрим рёбра в пределах сообщества или между сообществом и остальной частью сети
Модульность:

di d j
1
Q
 Aij 

2m ij 
2m

A – матрица смежности
didj/2m – вероятность ребра между двумя вершинами, пропорциональная их степеням
 – находятся ли обе вершины в одном сообществе
Агломеративный подход





 (ci , c j )


Инициализация: каждая вершина является сообществом
Жадная стратегия: последовательно соединяются сообщества с наибольшим увеличением Q
До тех пор, пока Q <= 0 от при соединении любых сообществ
Подграф представляет собой сообщество, если число ребер внутри подграфа превышает ожидаемое
число внутренних ребер, которое этот подграф имел бы в нулевой модели (случайной сети)

ожидаемая последовательность степеней соответствует реальной последовательности степеней графа
Спектральная кластеризация


Каждую вершину графа описываем точкой в многомерном вещественном
пространстве
Строится лапласиан





D - диагональная матрица степеней
А – матрица смежности графа
Находятся собственные числа и векторы матрицы
Оптимальное решение – минимизация собственных чисел
Однако первое собственное число пропускается, так как выделяет
всю сеть как одно сообщество
Спектральная кластеризация (2)
Сообщества (k-means):
{1, 2, 3, 4}
{5, 6, 7, 8, 9}
19
Спектральная кластеризация по модульности

Матрица модульности
Сообщества
{1, 2, 3, 4}
{5, 6, 7, 8, 9}
Итоги

Определение сообщества вершины


Определение сообщества группы


Клика, перколяция клик
Определение сообществ в иерархической сети


Клика, k-клика
Агломеративные и разделяющие иерархические подходы
Определение сообществ сети в целом

Методы на основе сходства вершин, спектральная кластеризация
Download