Visualisierung von 13 Millionen BlueSky-Nutzern
(joelgustafson.com)Visualisierung von 13 Millionen BlueSky-Nutzern
-
Vergleich zwischen Twitter und BlueSky
- Twitter ist eine große Plattform mit einer gewaltigen Nutzerbasis und vielen unterschiedlichen Bereichen.
- BlueSky hat in den letzten Monaten ein starkes Wachstum seiner Nutzerbasis verzeichnet, insbesondere durch die anhaltende Feindseligkeit gegenüber der Twitter-Nutzerbasis und das Twitter-Verbot in Brasilien.
- Mit den Daten von BlueSky lässt sich das gesamte Netzwerk visualisieren.
-
Datenerfassung
- BlueSky basiert auf dem AT-Protokoll und wurde so konzipiert, dass Daten über Personal Data Server (PDS) selbst gehostet werden können.
- Im Projekt werden Ereignisse in Echtzeit über den WebSocket von
bsky.networkgesammelt und in einer SQLite-Datenbank gespeichert.
-
Graph-Rendering
- Einen Graphen mit 13 Millionen Knoten und 500 Millionen Kanten zu rendern, ist eine komplexe Aufgabe.
- Zur Visualisierung wird ein Force-Directed-Layout-Algorithmus verwendet, der einer physikalischen Simulation ähnelt.
- Zur Verringerung der Rechenkomplexität wird die Barnes-Hut-Optimierung eingesetzt.
-
Andromeda-Engine
- Eine in Zig entwickelte Multithread-Engine, die mit GTK4 und OpenGL eine GUI erstellt.
- Inspiriert von Gephi und dem ForceAtlas2-Paper, mit Fokus auf Interaktivität für die Visualisierung großer Graphen.
-
Dimensionsreduktion mit UMAP
- UMAP ist einer der Algorithmen mit sehr guter Leistung für 2D-Visualisierungen.
- Durch Node Embeddings als Eingabe für UMAP wird eine bessere Visualisierung erzielt.
- Im letzten Schritt von UMAP wird ein Force-Directed-Graph verwendet, um die Abstände zwischen den Knoten anzupassen.
-
Farben hinzufügen
- Auf die UMAP-Ausgabe wird ein Clustering-Algorithmus angewendet, um Farben hinzuzufügen.
- Mit k-Means-Clustering wird jedem Cluster ein Farbton zugewiesen, und die Helligkeit jedes Knotens wird anhand seiner Follower-Zahl angepasst.
-
Ergebnisse und künftige Pläne
- Die Visualisierung zeigt Dichte und Struktur großer Cluster klar.
- Als künftige Funktion ist geplant, eine Seitenleiste hinzuzufügen, die die Timeline der aktuell auf dem Bildschirm sichtbaren Accounts anzeigt.
1 Kommentare
Hacker-News-Kommentare