Муромцев. Методы анализа социальных графов и поиска...
TRANSCRIPT
![Page 1: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/1.jpg)
Методы анализа социальных графов и поиска
сообществ Муромцев Никита
Научный руководитель: Баева Наталия Валерьевна
![Page 2: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/2.jpg)
2/49
Содержание
1. Основные понятия a. Граф и социальный граф b. Что такое сообщества в графах
2. Зачем производить поиск сообществ 3. Метрики графов 4. Критерии качества разбиения на сообщества 5. Основные методы выделения сообществ 6. Модели социальных графов 7. Примеры разбиений 8. Литература
2
![Page 3: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/3.jpg)
3/49
1. Основные понятия
![Page 4: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/4.jpg)
4/49
Что такое социальный граф
Социальный граф (далее граф) – набор сущностей и отношений: • сущности (вершины) – социальные объекты (книги, статьи,
люди); • вершины обладают специфическими свойствами; • ребра – методы социального взаимодействия • типы отношений: список использованной литературы,
цитирование, круги общения и т.п. • В зависимости от выбора связей для рассмотрения,
получаются разные графы
Граф – совокупность непустого множества вершин и наборов пар вершин (связей).
![Page 5: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/5.jpg)
5/49
Особенности социального графа Социальный граф
• Динамический – меняется под действием многих вершин
• Натуральный – имеет естественную природу образования
• Пример: корпорация, взаимоотношения внутри отдела и между отделами
Обычный граф • Статический – меняется
под действием внешних факторов
• Как правило создаётся в рамках эксперимента или на основе наблюдений
• Пример: диаграмма классов в программе
![Page 6: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/6.jpg)
6/49
Свойства социального графа
![Page 7: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/7.jpg)
7/49
Типы социального графа • Цельные сети - отношения в пределах определённо
очерченных границ • Электронная почта • Социальная сеть
• Эго-сети – каждый элемент выборки в подобном анализе обозначается как «эго», а узлы, связанные с эго, обозначаются как «другие» • Список друзей одного человека
• Неполные сети – выборка из относительных данных, созданная методом снежного кома • Выборка + друзья выборки + друзья друзей выборки • Сообщество + другие сообщества подписчиков
![Page 8: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/8.jpg)
8/49
Что такое сообщества в графах
Сообщество – группа вершин в графе такая что: • состоит из одной компоненты
связности (всегда есть связь между вершинами);
• имеет более плотные связи внутри, чем снаружи;
• может пересекаться с другими сообществами.
Граф из 3-х компонент
![Page 9: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/9.jpg)
9/49
2. Зачем поиск сообществ
![Page 10: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/10.jpg)
10/49
Что можно представить в виде графа • Люди и их социальные взаимоотношения • Люди и их интересы • Интернет-ресурсы и ссылки • Научная литература и цитаты • Бизнес процессы и связи между ними • Протеины и их взаимодействия • Блуждания пользователей по сайтам
Важную роль играет тип связей – из одного источника мы можем получить разные графы. Пример: три типа связей – коллеги по работе, собутыльники, друзья по игровому клубу.
![Page 11: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/11.jpg)
11/49
Зачем производить поиск сообществ • Маштабирование графов (Рост размера и
сложности) • Поиск определенной группы вершин (людей,
связанных научных работ) • Поиск смежных тематик (смежный контент,
совместимые научные работы) • Определение альфа-точек (влиятельные вершины) • Предсказание действий вершин из одного
сообщества и рекомендации • Идентификация пользователей (поиск одного
пользователя в разных сетях) • Выявление «настоящих связей»
![Page 12: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/12.jpg)
12/49
3. Метрики графов
![Page 13: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/13.jpg)
13/49
Метрики графов - связи • Гомогенность – степень, с которой схожие по какому-то
признаку участники формируют связи между собой в сравнении с несхожими.
• Множественность – количество форм, содержащихся в связи (прочность отношений). Пример: коллега по работе и друг, множественность = 2.
• Обоюдность/Взаимность – степень, с которой двое участников отвечают друг другу взаимностью в сфере дружеских или других взаимодействий.
• Закрытость сети – степень, в которой друзья пользователя являются друзьями друг другу.
• Соседство – склонность участников иметь больше связей с теми, кто находится ближе.
![Page 14: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/14.jpg)
14/49
Метрики графов - распределение
• Структурные дыры – отсутствие связи между двумя частями сети
• Мост – вершины, заполнители структурных дыр • Центральность – степень важности вершин • Расстояние – минимальное количество связей
(рёбер) между вершинами • Сила связи – количество путей между вершинами • Плотность – отношение прямых связей в сети к
общему возможному количеству связей
![Page 15: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/15.jpg)
15/49
Метрики графов - сегментация
• Коэффициент кластеризации – мера вероятности, с которой два партнёра одного узла являются приятелями.
• Сплоченность – степень, с которой участники связаны напрямую друг с другом при помощи социальных связей.
• Структурная сплочёность – минимальное количество участников, которые, будучи удаленными из группы, развалят группу.
• Клика – группа, в которой все пользователи имеют «прямые» связи.
![Page 16: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/16.jpg)
16/49
Метрики графов - центральность • Центральность по степени - количество связей у вершины • Центральность по посредничеству – число кратчайших путей от
всех до всех, проходящих через данную вершину • Центральность по близости – сумма расстояний от вершины до
всех вершин
• Центральность собственного вектора – зависимость между центральностью вершины и центральностями её соседей (сумма центральностей соседних вершин, поделенных на const)
• Альфа центральность – распределение влияния вершины между своих соседей
• Центральность Каца – количество всех вершин связанных с вершиной, умноженное на коэффициент в зависимости от удаленности этих вершин
![Page 17: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/17.jpg)
17/49
4. Критерии
![Page 18: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/18.jpg)
18/49
Критерии качества разбиения
• Модулярность • Редакторское расстояние для
разбиений • Нормализованная взаимная
информация
![Page 19: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/19.jpg)
19/49
Модулярность Описывает, насколько при заданном разбиении графа на группы плотность внутригрупповых связей больше плотности межгрупповых связей. Плюсы: • Модулярность возможно эффективно пересчитывать
при небольших изменениях в кластерах. Минусы: • Функционал не непрерывный, задача его
оптимизации — дискретная. • Функционал не видит маленькие сообщества.
![Page 20: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/20.jpg)
20/49
Модулярность
![Page 21: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/21.jpg)
21/49
Редакторское расстояние для разбиений split-join distance = минимальному количеству операций необходимых для преобразования одного разбиения в другое: • Добавить вершину в существующее сообщество. • Удалить вершину из существующего сообщества. • Создать новое сообщество с 1 вершиной. • Удалить сообщество с 1 вершиной.
Т.е. чем больше значение, тем более непохожи сообщества
![Page 22: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/22.jpg)
22/49
Нормализованная взаимная информация
H(X) H(Y)
I(X;Y) H(X|Y) H(Y|X)
H(X;Y)
![Page 23: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/23.jpg)
23/49
Нормализованная взаимная информация
![Page 24: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/24.jpg)
24/49
5. Методы выделения
![Page 25: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/25.jpg)
25/49
Основные методы выделения сообществ • Betweenness — количество кратчайших путей между всеми
парами вершин, проходящих через данное ребро. • Fastgreedy — метод, основанный на жадной оптимизации
функции модулярности. • Multilevel — метод, основанный на многоуровневой
оптимизации функции модулярности, c использованием эвристики.
• LabelPropogation — метод, основанный на присвоении меток к каждой вершине и максимальной встречаемости.4
• Walktrap — подход, основанный на случайном блуждании. • Infomap — метод случайного блуждания, основанный на
понятии информационных потоков в сетях, кодирования и сжатия информации.
• Eigenvector — метод, основанный на собственных векторах матрицы модулярности, которая получается из матрицы смежности.
![Page 26: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/26.jpg)
26/49
Betweenness
• Подсчет коэффициентов “центральности по посредничеству” на всех ребрах графа.
• Поочередное удаление ребер с самым большим коэффициентом.
• Сообществами считаются оставшиеся компоненты связности.
• Процедура удаления связей завершается, когда достигает максимума модулярность результирующего разбиения.
Число кратчайших путей, проходящих через данное ребро
![Page 27: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/27.jpg)
27/49
Fastgreedy
• Инициализация сообществ в каждой вершине.
• Объединение сообществ, в результате которого максимальным образом увеличивается модулярность.
• Выход, если дальнейшее увеличение значения функционала модулярности невозможно.
Жадная оптимизация модулярности.
![Page 28: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/28.jpg)
28/49
Multilevel
1. Инициализация сообществ в каждой вершине 2. Первый Этап
a. Жадно максимизируем модулярность путем перемещения вершины в сообщество вершины-соседа
b. Нет перемещений – Выход. 3. Второй этап
a. Создать метаграф из полученных сообществ с суммарным весом всех ребер
b. Перезапустить алгоритм на метаграфе
Многоуровневая оптимизация модулярности.
![Page 29: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/29.jpg)
29/49
Multilevel
![Page 30: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/30.jpg)
30/49
LabelPropogation
• Каждую вершину определяем в своё сообщество. • Определяем в случайном порядке каждую вершину
в то сообщество, в которое входит большинство соседей данной вершины.
• Повторяем, пока происходят изменения.
Для нейтрализации зависимости от порядка, на каждой итерации алгоритма выбирается новый случайный порядок перебора. Результаты нескольких разметок можно агрегировать пересечением.
Вершина относится к тому сообществу, что и большинство ее соседей.
![Page 31: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/31.jpg)
31/49
Walktrap • Инициализация сообществ в каждой вершине. • Вычисление расстояния между всеми смежными вершинами. • На каждом шаге:
• Выбрать два сообщества C1 и C2, объединение которых минимизирует изменение среднего квадратов расстояний между каждой вершиной графа и их совместным сообществом.
• Объединить эти сообщества в одно новое, C3. Обновить расстояния между сообществами.
• На n−1 шаге мы получим одно сообщество. Таким образом, выводится дендрограмма (дерево группировки) для вершин графа.
• Выбираем наилучшее разбиение, максимизирующее модулярность.
![Page 32: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/32.jpg)
32/49
Walktrap
![Page 33: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/33.jpg)
33/49
Infomap
• Каждая вершина в сообществе имеет уникальный код
• Происходит случайное блуждание по графу • При переходе в другое сообщество записывается
• код сообщества из которого вышли • код нового сообщества • код вершины, в которую попали
• При переходе внутри сообщества записываются коды вершин
• Далее оцениваются вероятности перехода
Минимизация кода для случайного пути
![Page 34: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/34.jpg)
34/49
Infomap
![Page 35: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/35.jpg)
35/49
Eigenvector
![Page 36: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/36.jpg)
36/49
Методы агрегирования результатов
• Агрегирование кластеризацией (любым из методов)
• Агрегирование базовыми методами • Пересечением • Выделением метаграфа и применением к
нему метода выделения сообщества
Агрегирование нужно для усреднения полученных результатов работы нескольких методов
![Page 37: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/37.jpg)
37/49
Методы агрегирования результатов - кластеризация • Номер сообщества из каждого разбиения – признак • Запустить любой метод кластеризации с
категориальными признаками
Особенности: • Чувствителен к методу • Чувствителен к метрике • Не гарантирует локальность оптимума • Не гарантирует улучшение результата
![Page 38: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/38.jpg)
38/49
6. Модели соц. графов
![Page 39: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/39.jpg)
39/49
Модели социальных графов Потенциально могут заменить «реальные» социальный графы. • Функционально-управляемые модели – нацелены на
воспроизведение статистических характеристик графа (степенное распределение и динамические изменения плотности).
• Модель Барабаши — Альберт • Модель «Горящий лес»
• Намеренно-управляемые модели – сфокусированы на эмуляцию процесса создания оригинального графа.
• Случайный обход/случайные блуждания • Ближайший сосед
• Структурно-управляемые модели – на основе статистических данных из структуры графа, воспроизводить случайные графы с теми же структурными ограничениями.
• Графы Кронекера • dK-графы
![Page 40: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/40.jpg)
40/49
7. Примеры разбиений
![Page 41: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/41.jpg)
41/49
Примеры выделения сообществ – digg.com
![Page 42: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/42.jpg)
42/49
Кластеризация сайтов в интернете
За 2015 год 18 кластеров Ссылка
![Page 43: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/43.jpg)
43/49
Кластеризация сайтов в интернете
За 2015 год 18 кластеров Без прореживания Ссылка
![Page 44: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/44.jpg)
44/49
Кластеризация сайтов в интернете
За 2014 год 12 кластеров Ссылка
![Page 45: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/45.jpg)
45/49
Примеры выделения сообществ – ВК
45
![Page 46: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/46.jpg)
46/49
8. Литература
![Page 47: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/47.jpg)
47/49
Литература 1. http://igraph.org/c/#docs – описание методов 2. http://www.dialog-21.ru/digests/dialog2010/materials/html/78.htm? 3. http://habrahabr.ru/company/darudar/blog/139911/ 4. http://postnauka.ru/longreads/20259http://www.machinelearning.ru/wiki/imag
es/6/60/2015_417_SlavnovKA.pdf 5. http://www.hse.ru/edu/vkr/?id=125365020 6. http://www.hse.ru/edu/vkr/?id=153012854 7. http://dix.ontos.ru/dix/bookmarklet.jsp 8. http://habrahabr.ru/company/dca/blog/264811/ 9. http://modis.ispras.ru/wp-content/uploads/2010/10/comdet16.pdf 10.http://www.machinelearning.ru/wiki/images/7/76/Pres_for_IPPI_report.pdf 11.https://en.wikipedia.org/wiki/Centrality 12.http://modis.ispras.ru/wp-content/uploads/2010/10/comdet16.pdf 13.http://habrahabr.ru/company/dca/blog/264811/
![Page 48: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/48.jpg)
48/49
Инструменты
• GraphX • Apache Giraph • graph-tool • Gephi • GraphLab Create • networkX • Алгоритм марковскойкластеризации (MCL)
http://micans.org/mcl/index.html • igraph
![Page 49: Муромцев. Методы анализа социальных графов и поиска сообществ](https://reader038.vdocuments.site/reader038/viewer/2022102609/587094b71a28ab412b8b63db/html5/thumbnails/49.jpg)
49/49
СПАСИБО ЗА ВНИМАНИЕ!!!