Gephi — самый известный инструмент для визуализации графов и сетевого анализа. С его помощью можно исследовать и население Викторианской Англии, и отношения героев «Войны и мира», и странички друзей Вконтакте. Рассказываем максимально просто, как пользоваться Gephi
Иллюстратор: Женя Родикова
Прежде чем приступить к изучению нашего инструмента, сделаем небольшое отступление в сторону сетевого анализа. Сетевой анализ (анализ социальных сетей, network analysis) — это метод исследования, который лежит в основе Gephi. Базовое понимание, что это такое, поможет вам понять, для чего нужен инструмент и как вы его можете применить.
Изначально сетевой анализ — метод социологии для изучения сообществ, основанный на математической теории графов. Основа сетевого анализа, как ни логично, — сети, а точнее — представление данных в виде сети. Сеть (тот же граф) — это какое-то количество объектов и связь между ними, следовательно она состоит из двух важнейших элементов:
а) узлы (nodes) — это сами объекты или элементы, которые мы исследуем;
б) ребра (edges) — это формализованные связи между нашими элементами. На примере сообщества реальных людей или персонажей художественного текста это можно объяснить так: кто с кем общается, между теми и возникают связи.
Итак, сетевой анализ, условно говоря, это анализ наших данных в виде графа. Его преимущество как метода исследования в том, что мы можем найти скрытые и неочевидные связи между изучаемыми элементами. Кроме того, сетевой анализ универсален, мы можем применять его ко многим сферам (истории, филологии, социологии), и в каждой из них найти кучу областей, где будут полезны графы. И самое главное достоинство — сочетание наглядности и репрезентативности. За визуализацией данных стоят цифры, которые можно отдельно в виде таблички представить и изучить.
Сам инструмент мы можем скачать с официального сайта 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). Помимо монохрома у нас есть два варианта раскраски:
Мы раскрасим героев разными цветами по половому признаку (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» под кнопкой «Обновить», либо через «Файл» > Экспорт. И мы получим картинку с нашим прекрасным графом.
Компания Google представила много новых ИИ-продуктов, а модель GPT опровергла известную математическую гипотезу Пала Эрдёша — рассказываем, что произошло в мире ИИ за последнее время
Facebook* и Instagram* будут сканировать фото и видео, чтобы находить детей, которые скрыли свой возраст
Можно ли заниматься NLP, если при словах «производная» и «матрица» хочется закрыть ноутбук? Да — если изучать математику не абстрактно, а через реальные задачи. Объясняем, какие разделы действительно нужны джуну,…