Компьютерная визуализация социальных сетей
Основные понятия анализа социальных сетей
Краткий обзор программ для визуализации социальных сетей
Программы для ручного рисования социограмм
Программы для автоматического построения социограмм
Проект «исторические личности как социальная сеть»
Создание наглядной социограммы
Создание интерактивной web-версии социограммы
Основные понятия анализа социальных сетей
SNA (Social network analysis — анализ социальных сетей) — направление современной компьютерной социологии, которое занимается описанием и анализом возникающих в ходе социального взаимодействия и коммуникации связей (сетей) различной плотности и интенсивности. Поведение личности — это производное от социальных сетей, элементами которых она выступает. Метод SNA получил широкое распространение при изучении процессов коммуникации в различных социальных группах, в развитии научных школ, социологии межличностных отношений, политических и международных процессов и т.д. Сеть социальных взаимодействий — это сеть, состоящая из так называемых социальных акторов (актор — от англ. actor (деятель, личность) — термин используется в русскоязычной литературе и имеет более широкое значение, чем русское слово «лицо», то есть это может быть не только человек или юридическое лицо, но и совокупность организаций или целая страна) и наборов взаимосвязей между ними. Метод исследования является универсальным. В качестве социальных акторов могут выступать не только индивиды, но и социальные группы, организации, города и страны. Под связями понимаются не только коммуникационные взаимодействия между акторами, но и связи по обмену различными ресурсами, взаимодействия, связанные с совместной деятельностью, включая конфликтные отношения. При использовании метода SNA ключевым является описание характеристик, выражающих плотность, интенсивность и пространственную координацию социальных связей, что дает возможность выделять структурные единицы исследования («узлы», «блоки», «клики», «кусты») в системе социальных отношений.
Полученная сеть взаимодействий может быть проанализирована различными методами теории графов, теории информации, математической статистики. В отличие от классических методов анализа, которые исследуют индивидуальные свойства объектов, основные цели анализа сетей — это исследование взаимодействия между социальными объектами (акторами) и выявление условий возникновения этого взаимодействия.
Отдельным направлением исследования является визуализация (графическое отображение социальной сети). Визуализация имеет важное значение, поскольку сама возможность увидеть сеть позволяет сделать важные выводы о характере взаимодействия акторов, не прибегая к другим методом анализа графа. Для пояснения данного тезиса целесообразно привести пример использования SNA-метода с целью выявления террористов, спланировавших теракт 11 сентября 2001 года в США (рис. 1). В данной работе была построена сеть, в которой в качестве акторов (вершин) выступали конкретные личности (пилоты), а в качестве линий связи (ребер) — факты попарных связей (переговоров). То, что террористы готовили теракт (имели избыточные на общем фоне коммуникации), наглядно видно по сгущению плотности линий связи вокруг террористов.
Рис. 1. Пример исследования взаимодействий террористов
при планировании и осуществлении теракта 11 сентября 2001 года в США.
Обозначения на графике: точки — пилоты, соединения между точками — интенсивность коммуникаций между этими лицами.
Цветом даны номера рейсов:
После ознакомления с технологией SNA у автора статьи возникла идея построить и наглядно представить социальную сеть, отображающую взаимодействия наиболее важных исторических деятелей русской истории. В процессе выполнения данного проекта пришлось поработать с целым рядом программ для построения социальных сетей. Полученный опыт и позволил написать данную статью. Часть описываемых ниже программ можно загрузить с прилагаемого к журналу CD.
Краткий обзор программ для визуализации социальных сетей
Программы для построения графов можно разделить на две категории: первая — это редакторы — приложения, которые позволяют автоматизировать ручное построение графа и обеспечивают возможность автоматического изменения граней при перемещении вершин графа; вторая группа — это программы, которые позволяют отказаться от ручного рисования графа. При этом пользователь задает некоторую базу данных, по которой программа рассчитывает положение вершин и граней и строит граф. Для построения социограмм могут применяться программы обоих типов, поскольку для конкретных случаев та или иная программа может оказаться наиболее подходящей.
Программы для ручного рисования социограмм
udraw (Graph) 3.1.1
Рисовать графы, пользуясь графическими редакторами широкого профиля, не всегда удобно. Гораздо эффективнее воспользоваться специализированными приложениями. Одной из подобных специализированных программ является uDraw (Graph), автоматизирующая процесс построения графов и диаграмм (рис. 2).
Рис. 2. Пример построения диаграммы в uDraw (Graph)
Весьма удобной функцией программы является возможность деформирования графа, когда при перемещении одной из вершин графа (на рис. 3 вершина topic передвинута вправо) все остальные деформируются автоматически. Поэтому если нужно выделить место под новые вершины, то вам не придется заново перерисовывать сетку.
Рис. 3. Пример трансформации диаграммы uDraw (Graph) в режиме drag&drop
Программа позволяет не только генерировать боксы разной формы, но и вставлять растровые картинки в качестве вершин графа (рис. 4).
Рис. 4. Пример использования растровых изображений в uDraw (Graph)
Более подробную информацию о программе можно найти по адресу: http://www.informatik.uni-bremen.de/uDrawGraph/en/uDrawGraph/gedit.html.
Visio 2003
Весьма удобным инструментом для ручного построения графов является программа Visio 2003 (рис. 5), которая содержит средства построения графов и диаграмм, необходимые широкому кругу пользователей. Имеется возможность легко передвигать отдельные боксы так, что при этом деформируются линии, связывающие данный бокс с другими. Программа позволяет сохранить Visio-диаграмму в web-формате. Интерфейс создаваемых в Visio web-страниц отличается привлекательностью, предоставляет широкие возможности для совместной работы с данными как в организации, так и за ее пределами.
Рис. 5. Построение графа в Visio 2003
Программы для автоматического построения социограмм
Очевидно, что ручное построение графа — весьма длительный и трудоемкий процесс. Анализ структуры графа, состоящего из сотен вершин, просто невозможен при ручном построении. Здесь необходимо обратить внимание на автоматизированные системы. Именно они позволили визуализировать сложные социальные сети и наглядно анализировать структуры, содержащие сотни и тысячи вершин. Одна из первых работ в области автоматического построения социограмм — программа SOCK — была выполнена в 1970 году (авторы — Альба (Alba), Гутман (Gutmann) и Кадушин (Kadushin)). Эта программа позволяла автоматически строить граф (социограмму) на базе текстовых исходных данных. На рис. 6 показан пример использования программы для анализа американских интеллектуальных кругов.
Рис. 6. Компьютерная социограмма американских интеллектуальных кругов
Интересной особенностью работы было то, что на базе графа анализировались субгруппы. На рис. 6 они показаны в виде изолиний, объединяющих вершины (людей) по некоторому профилю: «литературная интеллигенция», «биологи», «литераторы и социологи» и т.п. Таким образом можно было проанализировать пересечение множеств людей, обладающих той или иной профессией, имеющих определенные политические убеждения и т.д.
После этой работы, выполненной в начале 1970-х годов, в течение нескольких лет велись исследования, направленные преимущественно на анализ сетей, а непосредственно визуализацией занимались мало.
NEGOPY
В 1978 году Лесняк (Lesniak) и ряд других авторов предложили программу NEGOPY (http://www.sfu.ca/~richards/negopy.htm), которая предусматривала графическую визуализацию сетей. Программа получила широкое распространение. Сегодня NEGOPY — это одна из старейших программ для анализа социальных сетей, для поиска связей в коллективах, так называемых клик и изолированных групп в сетях, имеющих до тысячи членов и 20 тыс. связей. Программа используется в более чем 100 университетах и исследовательских центрах по всему миру.
Основная цель приложения — выделить области, в которых контактов друг с другом больше, чем с узлами, принадлежащими другим кластерам (рис. 7). Данные кластеры называются группами (groups) и концептуально близки по смыслу термину «клики» (cliques), часто используемому в социометрической литературе. NEGOPY также позволяет сортировать узлы в ограниченный набор ролевых категорий (role categories).
Рис. 7. Основная цель программы — выделить субгруппы (клики)
В качестве вводимых данных NEGOPY принимает на вход список пар, имеющих связь. Связи (links) определяются путем присвоения ID-номеров личностям, связанным линками, а кроме того, задается число, определяющее силу этой связи. Программа позволяет учитывать направленные или ненаправленные связи.
Заказать программу можно по адресу: richards@sfu.ca. PDF-копия руководства пользователя находится по адресу: http://www.sfu.ca/~richards/Pdf-ZipFiles/negman98.pdf.
View_Net II
Программа View_Net II (автор — Кловдаль (Klovdahl)) была написана под платформу Silicon Graphics и предназначалась для визуализации и анализа больших баз данных. Данное приложение впервые позволяло построить трехмерное изображение социальной сети. Работа была новаторской в плане интеграции визуального и численного анализа графов.
На рис. 8 показан результат работы программы View_Net II. Картинка показывает взаимодействия студентов, которые учились вместе с разработчиком программы в 1989 году в Канберре (Австралия).
Рис. 8. Визуализация социальных связей среди студентов на базе программы View_Net II
MultiNet
MultiNet — это программа, которая позволяет анализировать исследовательские данные, представленные в виде социальных или иных сетей. MultiNet — это интерактивная программа, которая позволяет получить как численный анализ исходных данных, представляющих некий граф, так и визуальное представление сети. Использование цвета и интерактивности является новаторским элементом, реализованным в MultiNet. Программа позволяет находить положения вершин, представлять социосеть в виде двух- и трехмерных изображений, а также манипулировать объектом (вращать сеть в трехмерном представлении и менять цвет вершин). Рис. 9 свидетельствует о том, что программа позволяет визуализировать действительно сложные системы.
Рис. 9. Визуализация сложных социальных сетей (MultiNet)
MultiNet с самого начала создавалась как приложение для анализа больших объемов информации и поэтому использует специальные компактные форматы хранения данных, специальные схемы вычислений, оптимизированные для анализа больших массивов данных. Подробную информацию о программе можно найти по адресу: http://www.sfu.ca/%7Erichards/Papers/DissAJS.pdf.
Spring Embedder
Spring embedder — это разработка студентов Университета штата Иллинойс (University of Illinois), Java-программа для анализа и визуализации социальных сетей.
В качестве исходных данных вводятся параметры, описывающие силу связи (значимость взаимодействия) в каждой паре. Данные о силе связи используются для описания оптимальной длины гипотетической пружины (ребра), связывающей двух акторов (две вершины) в паре. Далее программа пытается найти положение всех точек таким образом, чтобы общее напряжение в конструкции из виртуальных пружин было минимальным. Интерактивную web-версию социограммы, показанной на рис. 10, можно посмотреть по адресу: http://www.cmu.edu/joss/content/articles/volume1/images/fig30A/.
Рис. 10. Пример работы программы Spring Embedder
Как видно из приведенного обзора, программ для построения социограмм существует довольно много, однако мы остановили свой выбор на программе NetDraw, о которой расскажем подробнее.
NetDraw
NetDraw — это бесплатное приложение, написанное Стивом Боргатти (Steve Borgatti) для визуализации социальных сетей. Скачать программу можно по адресу: http://www.analytictech.com/Netdraw/netdraw_versions.htm или загрузить с прилагаемого к журналу CD-ROM.
Для ввода данных используется так называемый DL-протокол, который включает несколько форматов: nodelist (лист узлов), edgelist (лист граней) и fullmatrix (матричная запись).
Формат Nodelist
Данный формат весьма прост. Вам необходимо создать текстовый файл, для чего подойдет любой текстовый редактор. Рассмотрим конкретный пример:
dl
n = 50
format = nodelist
data:
1 7 8 2
3 19 21 49 6
2 6
…
DL в начале списка указывает на тип файла; n = 50 указывает программе, что ожидается 50 узлов (nodes); format = nodelist означает, что ожидается nodelist-формат; data: показывает начало собственно данных в записи.
Первая строка (1 7 8 2) говорит о том, что персона 1 имеет связи с тремя людьми, которые обозначены как 7, 8 и 2. Вторая строка (3 19 21 49 6) говорит о том, что персона 3 имеет связи с четырьмя людьми, которые обозначены как 19, 21, 49 и 6.
Формат Edgelist
Этот формат ввода данных удобен, когда имеется информация о парах. Рассмотрим конкретный пример:
dl
n=4
format = edgelist
labels embedded
data:
ROMUL AMBROSE 1
ROMUL PETER 3
ROMUL ALBERT 1
N = 4 — это четыре узла, первая строка (ROMUL AMBROSE 1) говорит о том, что ROMUL и AMBROSE 1 имеют связь, и т.д. На рис. 11 показана социограмма, соответствующая данному примеру, а на рис. 12 — сеть, в которой уже 18 узлов.
Рис. 11. Отображение направленных связей в NetDraw (4 узла)
Рис. 12. Отображение направленных связей в NetDraw (18 узлов)
Формат FullMatrix
Этот формат удобен для небольших наборов данных, которые содержат множество связей. Для подготовки данных можно использовать любой текстовый редактор или Excel (не забудьте сохранить файл как текстовый). Данные должны быть представлены следующим образом:
dl
n = 5
format = fullmatrix
data:
0 0 1 0 0
0 0 0 1 1
1 0 0 1 0
0 1 1 0 0
0 1 0 0 0
Строка format = fullmatrix указывает на тип формата. После указателя data: следуют данные в виде таблицы типа «персона-персона» (person-by-person table). Поскольку у нас пять узлов (n = 5), матрица должна иметь пять строк и пять столбцов. Первая строка (0, 0, 1, 0, 0) показывает, что персона 1 имеет связь с персоной 3. Вторая строка показывает, что персона 2 имеет связи с персонами 4 и 5.
Нецифровые метки могут быть вставлены при внесении указателя labels embedded в следующем виде:
dl
n = 5
labels embedded
format = fullmatrix
data:
Bill Jan Jim Sue Zoe
Bill 0 0 1 0 0
Jan 0 0 0 1 1
Jim 1 0 0 1 0
Sue 0 1 1 0 0
Zoe 0 1 0 0 0
С использованием вышеописанных программ авторы попытались выполнить собственный проект — построить социальную сеть исторических личностей России.
Проект «исторические личности как социальная сеть»
Целью данного проекта была разработка социограммы наиболее значимых исторических деятелей русской истории.
Сбор данных
Для построения графа использовались исторические ресурсы Интернета. С помощью поисковых запросов типа «N входил в ближайшее окружение M», «N познакомился c M», «N вел приписку с M» и т.д. составлялась база значимых взаимодействий исторических деятелей и краткие описания данных взаимодействий. При этом типы взаимодействий были разделены на пять категорий:
- родственные и брачные связи (ненаправленная связь).
- наставничество (один являлся учеником другого) (направленная связь).
- друзья или соратники (ненаправленная связь).
- конфликтные отношения (ненаправленная связь).
- один явился прямой или косвенной причиной смерти другого (направленная связь).
Планирование структуры графа
Далее необходимо было спланировать расположение вершин графа, для чего использовалась программа NetDraw. В качестве примера на рис. 13 показан небольшой фрагмент графа.
Рис. 13. Фрагмент графа, полученный с помощью программы NetDraw
Программа позволяет создавать структуру с оптимальным расположением узлов, трансформировать граф (рис. 14), перетаскивать отдельные узлы вручную и рассматривать трехмерное представление графа (рис. 15 и 16).
Рис. 14. Возможности реструктуризации графа (NetDraw)
Рис. 15. Возможности 3D-представления графа (NetDraw)
Рис. 16. Возможности манипуляций с 3D-моделью графа (NetDraw)
Создание наглядной социограммы
Программа NetDraw позволяет спланировать и отобразить структуру графа при малом числе элементов — при большом количестве элементов наглядность падает. Получить наглядную схему большой социальной сети, на которой можно нарисовать боксы разного цвета и связи (грани) разной толщины, в программе Netdraw нам не удалось. Используя NetDraw для построения отдельных фрагментов графа, мы в дальнейшем перешли к ручному построению графа с помощью программы Visio (рис. 17).
Рис. 17. Фрагмент графа в программе Visio
Создание интерактивной web-версии социограммы
Следует отметить, что при всей наглядности графическое изображение социальной сети не удобно для изучения, пока не снабжено интерактивной справочной системой. Гораздо удобнее рассматривать сеть, где, щелкнув мышью по любому элементу (вершине, грани), можно получить справку.
Для создания интерактивной web-версии мы конвертировали граф в программу Flash. Как средство разработки интерактивных приложений, Flash дает массу преимуществ, позволяя быстро создать интерактивные кнопки и разворачивающиеся меню при минимальном уровне программирования.
В результате была создана интерактивная версия графа (пока только фрагмент), в котором все вершины и грани (при щелчке по ним мышью) вызывают окно-справку о том или ином историческом деятеле или о событиях, которые раскрывают суть взаимодействия в паре.
В качестве примера на рис. 18 показан фрагмент графа с иллюстрацией интерактивной справки о взаимодействии в паре «Екатерина II — Потемкин», а на рис. 19 — «Екатерина II — Павел I».
Рис. 18. Фрагмент графа с иллюстрацией справки по связи (Екатерина II — Потемкин)
Рис. 19. Фрагмент графа с иллюстрацией справки по связи (Екатерина II — Павел I)
Полученный граф выполняет роль как социограммы, так и интерактивного интерфейса для просмотра базы данных об исторических деятелях и их взаимодействиях.
В таком виде граф может использоваться как пособие, в котором можно анализировать различные социальные подгруппы, получать справки по отдельным личностям и, главное, по связям в парах. Проект находится в развитии, фрагмент графа в Flash-версии можно посмотреть на прилагаемом к журналу CD-ROM. По завершении работы планируется создание сайта и, возможно, энциклопедического мультимедийного диска. Учитывая масштабность проекта, авторы заинтересованы в подключении к работе соисполнителей. Авторы будут признательны за комментарии, которые можно присылать по адресу: alproh@aha.ru.