Visualización de 13 millones de usuarios de BlueSky
(joelgustafson.com)Visualización de 13 millones de usuarios de BlueSky
-
Comparación entre Twitter y BlueSky
- Twitter es una plataforma grande con una base de usuarios masiva y muchos componentes diversos.
- BlueSky ha aumentado rápidamente su base de usuarios en los últimos meses, especialmente debido a la hostilidad continua hacia la base de usuarios de Twitter y a la prohibición de Twitter en Brasil.
- Con los datos de BlueSky, es posible visualizar toda la red.
-
Recolección de datos
- BlueSky está basado en el protocolo AT y fue diseñado para permitir el autoalojamiento de datos mediante servidores de datos personales (PDS).
- En el proyecto, se recopilan eventos en tiempo real a través del WebSocket de
bsky.networky se almacenan en una base de datos SQLite.
-
Renderizado del grafo
- Renderizar un grafo con 13 millones de nodos y 500 millones de aristas es una tarea compleja.
- Se utiliza un algoritmo de diseño dirigido por fuerzas para visualizar el grafo, similar a una simulación física.
- Se usa la optimización de Barnes-Hut para reducir la complejidad computacional.
-
Motor Andromeda
- Es un motor multihilo desarrollado en Zig, que crea la GUI con GTK4 y OpenGL.
- Está inspirado en Gephi y en el paper de ForceAtlas2, con énfasis en la interactividad para la visualización de grafos a gran escala.
-
Reducción de dimensionalidad con UMAP
- UMAP es uno de los algoritmos con mejor desempeño para visualización en 2 dimensiones.
- Se obtiene una mejor visualización al usar embeddings de nodos como entrada para UMAP.
- En la etapa final de UMAP, se usa un grafo dirigido por fuerzas para ajustar las distancias entre nodos.
-
Agregar color
- Se agrega color aplicando un algoritmo de clustering a la salida de UMAP.
- Se usa clustering k-means para asignar un tono a cada clúster, y el brillo se ajusta según la cantidad de seguidores de cada nodo.
-
Resultados y planes futuros
- La visualización muestra con claridad la densidad y la estructura de los clústeres grandes.
- Como función futura, se planea agregar una barra lateral que muestre la línea de tiempo de las cuentas visibles en la pantalla actual.
1 comentarios
Comentarios de Hacker News