Читать нас в Telegram
Иллюстратор: Женя Родикова

Предисловие. Что такое сетевой анализ и зачем нам это?

Прежде чем приступить к изучению нашего инструмента, сделаем небольшое отступление в сторону сетевого анализа. Сетевой анализ (анализ социальных сетей, network analysis) — это метод исследования, который лежит в основе Gephi. Базовое понимание, что это такое, поможет вам понять, для чего нужен инструмент и как вы его можете применить. 

Изначально сетевой анализ — метод социологии для изучения сообществ, основанный на математической теории графов. Основа сетевого анализа, как ни логично, — сети, а точнее — представление данных в виде сети. Сеть (тот же граф) — это какое-то количество объектов и связь между ними, следовательно она состоит из двух важнейших элементов: 

а) узлы (nodes) — это сами объекты или элементы, которые мы исследуем;

б) ребра (edges) — это формализованные связи между нашими элементами. На примере сообщества реальных людей или персонажей художественного текста это можно объяснить так: кто с кем общается, между теми и возникают связи. 

Итак, сетевой анализ, условно говоря, это анализ наших данных в виде графа. Его преимущество как метода исследования в том, что мы можем найти скрытые и неочевидные связи между изучаемыми элементами. Кроме того, сетевой анализ универсален, мы можем применять его ко многим сферам (истории, филологии, социологии), и в каждой из них найти кучу областей, где будут полезны графы. И самое главное достоинство — сочетание наглядности и репрезентативности. За визуализацией данных стоят цифры, которые можно отдельно в виде таблички представить и изучить.

В качестве примера покажем кусочек графа по персонажам «Недоросля» Д. И. Фонвизина. Такого типа визуализации нам и позволит строить Gephi.

Подготовка данных

Где взять данные для анализа?

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

А какие именно данные нам нужны, и как их узнать?

Работа с графами требует файлов определенного вида и формата, ведь если для нас в этом деле важен визуал, то для машины — данные, которую она сможет прочитать. Самый простой формат представления сетей в понятном компьютеру виде — это таблицы. Мы можем закодировать сеть в виде таблицы, представив, что одна строка = одна связь. Самый простой формат таблицы, который можно записывать и читать хоть в блокноте (но и в excel тоже можно) — это формат вида CSV (comma separated values). В CSV наша информация записана просто в строчку, но каждый элемент отделен запятой. На примере графа по «Недорослю», который мы показали выше, строка CSV-файла для описания связи Простаковой с Митрофанушкой может выглядеть так:

Госпожа Простакова,Митрофанушка,11 

(11 — условный вес их связи, в данном случае — число диалогов между персонажами на протяжении пьесы). 

Это определенно самый простой формат, и такую запись можно делать прямо в блокноте или подобном текстовом редакторе (например, Notepad++). Но удобнее, конечно, это делать в таблицах, к тому же любой табличный редактор по умолчанию поддерживает формат CSV.

Существуют более навороченные форматы представления данных для графа на основе языка разметки XML (например, форматы  GraphML и GEXF). Такие форматы могут хранить больше информации о графе, в том числе в них может быть закодирована готовая визуализация. Однако для начального понимания работы разбираться в их устройстве не нужно. Далее мы воспользуемся готовым файлом в формате GEXF — это самый нативный формат для Gephi, хотя загружать CSV туда тоже очень легко. 

Мы постепенно подбираемся к практической части нашей статьи. Для демонстрации работы Gephi мы остановимся на сайте DraCor и выберем комедию Н. В. Гоголя «Ревизор». Всё необходимое находится на вкладке Downloads. В особенности нас интересует эта троица:

Здесь есть граф в знакомом нам формате CSV и двух XML-форматах. При этом GEXF помечен значком программы Gephi — это не случайно. Этот формат разработан теми же людьми, что и Gephi, одновременно с ней. Именно GEXF мы и выберем.

Самое интересное: начинаем визуализировать

При открытии программы нас сразу встречает приветственное окошко, через которое мы должны либо «Создать проект», либо «Открыть файл с графом». Второй вариант — наш!

После этого надо выбрать скачанный GEXF-файл.

Мы сразу увидим, сколько узлов и рёбер в нашем графе. выбирать здесь ничего специально не нужно. А в будущем ещё будет важно проверять, что наш граф добавляется в новое рабочее пространство (New workspace). Теперь просто жмем ОК.

Чтобы загрузить данные из таблицы .csv или просто открыть проект не из специального окна, нужно открыть вкладку Файл > Import spreadsheet и выбрать файл. 

Обратимся к вкладке Просмотр: мы либо окажемся на ней автоматически после загрузки файла, либо перейдем сами. Все вкладки подписаны в самом верху. 

И на этой вкладке мы, скорее всего, ничего не увидим. Нам нужно нажать Обновить в Настройке предпросмотра. Первое, что мы увидим — это страшное и паутинообразное нечто:

Чтобы сделать наш граф красивым и наглядным, а  самое главное — понятным, нужно будет настроить цвет и размер узлов, их расположение, длину ребер и т. д. Для этого заходим во вкладку Обработка:

Добавляем цвет

Первое, что мы сделаем, раскрасим наш граф. Это делается через вкладку Appearance — выбираем Nodes и значок палитры. По умолчанию все узлы и ребра раскрашены одним цветом (Unique). Помимо монохрома у нас есть два варианта раскраски: 

  • разными цветами по одному из признаков (Partition; в наш файл зашито несколько таких признаков: пол; принадлежность к группе, например «Купцы»; количество произнесенных за пьесу слов);  
  • одним цветом, но будет отличаться его интенсивность и яркость: по признакам «количество произнесенных слов» и «степень» (количество связей этого узла) (Ranking > Degree), чем больше значение признака, тем ярче цвет. 

Мы раскрасим героев разными цветами по половому признаку (Gender). Главное, что нужно запомнить, после каждого вносимого изменения нужно нажать «Применить».

Над словом «Применить» вы увидите маленькую надпись Palette — перейдя по ней, можно выбрать цвета, в которые будут раскрашены узлы. По умолчанию в палитре 8 цветов, а иногда бывает нужно значительно больше. В таких случаях в Gephi предусмотрена возможность сгенерировать палитру: чтобы цветов было столько, сколько разных значений у графа. Просто снимите галочку с «Limit number of colours», а затем нажмите нажать Generate и OK. Кроме того, здесь же есть и другие настройки по цвету, с которыми вы можете поэкспериментировать.

Здесь надо сделать важное замечание: раскрасить персонажей по полу мы смогли не потому, что Gephi как-то магически угадал их пол. Такую возможность нам дала информация из GEXF-файла, где каждому узлу графа приписан в том числе и пол. А  GEXF-файл в свою очередь сгенерирован на основе машиночитаемой разметки, сделанной создателями DraCor. 

Укладка графа

Следующий наш шаг — добавить графу ясности и включить подписи узлов. Это делается по нажатию на букву Т на нижней панели под графом:

Сейчас имена могут налезать друг на друга и сбиваться в кучу. Ничего страшного: всё это решается укладкой. Изначально, весь граф уложен случайным образом, все элементы расположены хаотично. Но у Gephi есть несколько встроенных способов укладки. Сейчас мы порекомендуем вам ForceAtlas2, вы же можете опробовать все другие и выбрать понравившийся. Чтобы укладка состоялась, необходимо нажать «Пуск», а после этого «Стоп», когда граф примет нужный вид, чтобы он больше не двигался. В этом же меню мы можем выбрать «Укладка меток», чтобы наши названия узлов (метки) точно не наслаивались друг на друга.

Размер узлов

Последнее, о чём мы поговорим из базовых функций — это размер узлов. Это делается также во вкладке Appearance — Nodes, но уже под значком совмещенных кругов. Мы также можем задать единый размер для всех или проранжировать по какому-то признаку. Мы ранжировали по количеству слов у персонажа.

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

Здесь нет кнопки «Назад», так что будьте осторожны с изменениями, чтобы потом не пришлось все переделывать с начала.

Лаборатория данных

Следующий этап знакомства с Gephi — вкладка «Лаборатория данных». Здесь мы можем посмотреть на все наши данные в табличном виде, увидеть ту самую цифру под визуалом. Мы можем рассмотреть каждую строчку, удалить что-то или добавить новое, можем добавить новый столбец — это будет новый признак, который будет характеризовать тех или иных героев в нашем случае.

Просмотр 

Финальный этап — мы снова возвращаемся во вкладку «Просмотр». Чтобы все наши наработки появились здесь, мы должны нажать «Обновить» (здесь это такое же правило как с «Применить» в «Обработке»: всегда жмём «Обновить» после любого изменения). Кроме того, нам потребуется заново включить отображение меток. Если они наслаиваются друг на друга, то рекомендуем снять галочку с «Пропорционального размера». Остальные же настройки оставим на ваш вкус, тут снова важно экспериментировать и не бояться пробовать. Здесь уже ничего нельзя «испортить», а любое действие можно поправить. 

В итоге у нас получился вот такой граф!

В качестве небольшой интерпретации можем сказать, что благодаря цвету и размеру узлов мы понимаем, что из персонажей мужского пола больше всех говорил Городничий, а из женских персонажей – Анна Андреевна, его жена. Самые толстые ребра между героями, которые больше всех взаимодействовали: например, Анна Андреевна и ее дочь, Мария Антоновна. И это лишь небольшая часть анализа, который мы можем провести: мы также можем узнать, кто из персонажей оказался «проводником» между всеми, кто объединил какой-то маленькое общество. Простор интерпретаций огромен, и весь он в ваших руках!

Экспорт

Экспортировать наш граф мы можем в формате png, pdf или векторном svg. Сделать это можно, ибо нажав на кнопку «Экспорт: SVG/PDF/PNG» под кнопкой «Обновить», либо через «Файл» > Экспорт. И мы получим картинку с нашим прекрасным графом.

Что почитать у нас про применение сетевого анализа и продвинутый анализ графов