Воскресная забава: “социальные графы” ЕЖЕ-листа и что можно сделать

ezhe20smgraph (В качестве развлечения, немного аналитической кухни, с описанием инструментария.) Вот зашёл разговор о “визуализации сообществ”. С одной стороны, есть, например, такой старый сборник сведений об интернет-персонах, как ФРИ. С другой стороны, некоторые бойкие и многообещающие затейники из числа молодёжи делают, скажем, каталоги-досье на всяких сетевых деятелей постарше.

А между тем, технологии-то движутся вперёд, поэтому можно делать более интерактивные штуки. Иллюстрирую. Берём недавний конкурс РОТОР, а точнее его самый социальный “отдел” – “Великолепную двадцатку”, – и строим интересные “социальные графы”, рассказывающие об устройстве ЕЖЕ-сообщества. Прежде, впрочем, нужно пояснить, что такое “Великолепная двадцатка”. Цитирую официальное описание:

Награждаются двадцать сетевых деятелей, внесших неоценимый вклад в дело развития русского сегмента Сети.

У каждого члена жюри десять плюс-голосов, которые он может добавить уже выдвинутым номинантам или выдвинуть новые кандидатуры, а так же один минус-голос, который он может вычесть у одного из выдвинутых номинантов.

Все данные голосования прозрачны (публикуются на всеобщее обозрение): кто кого выдвигает, кто за или против кого голосует.

В двадцатке ещё есть бонусы, связанные с основным РОТОРом, мы их не учитываем.

Сразу оговорюсь, это просто воскресный досуг, так что за точность не ручаюсь: к базе результатов голосования доступа у меня нет, поэтому исходные данные извлекались написанным на скорую руку перловым скриптом (лучшие традиции, кстати, – это вам не PHP) прямо из официальной страницы с результатами “Великолепной двадцатки”.

Исходные данные – это информация о том, кто и как голосовал, в удобном для машинной обработки представлении. Перловый скрипт генерит текстовые файлы в формате, пригодном для скармливания в Graphviz (gv).

Скармливая файлы по назначению, на основе собранных данных строим пару графов. “Полный” граф, со всеми результатами (около 300 узлов, куча рёбер), не самое “визуально информативное”, что можно сделать. Поэтому я построил такие графы: 1) распределение минус-голосов: узлы графа – персоны, получившие/выдавшие хотя бы один минус-голос; рёбра – направления отправки минус-голосов. 2) как голосуют внутри группы “выдвинутых” (это те участники игры, которые попали в номинанты 20-ки): узлы – это номинанты (те из них, кто подал хотя бы один голос в рамках затеи или получил хотя бы один голос от номинантов); а рёбра тут двух видов – отражают плюс-голоса и минус-голоса (красный цвет). При этом во втором графе плюс-голоса направлены от голосующего к тому, за кого он голосует, а минус-голос направлен от “пострадавшего” к голосующему (так лучше выравниваются узлы).

Первый граф распадается на крупные “куски” и вообще довольно просто выглядит, поэтому его лишь отображаем в виде gif-картинки (все ссылки ниже).

А вот со вторым графом, – который сложнее и позволяет увидеть небольшие группы, а также “голосовательные кольца”, – делаем настоящий интерактив. Данные экспортируются в формат SVG, который может показывать на веб-странице вживую java-апплета – замечательный ZGRViewer.

В итоге получается интерактивная страница, показывающая персоналии и кто из них как голосовал. При этом, по графу возможен текстовый поиск (строка для запросов – в апплете) и хитрая навигация с разными инструментами просмотра (подведите мышку к левой границе области просмотра апплеты – выползает тулбар).

Интерактивная страница расположена вот здесь, по ссылке: пример визуализации графов, отражающих явления внутри социальных групп.

Ещё ссылки:

Первый граф в виде изображения – минус-голоса. Второй файл (с очень большими измерениями, поэтому лучше смотреть через апплету, по ссылке в предыдущем абзаце) – граф голосования.

Адрес записки: https://dxdt.ru/2009/06/14/2425/

Похожие записки:



Далее - мнения и дискуссии

(Сообщения ниже добавляются читателями сайта, через форму, расположенную в конце страницы.)