可视化 1300 万 Bluesky 用户 | Joel Gustafson

主要观点

  • 介绍对 BlueSky 社交网络进行数据收集和图布局处理,以创建其网络地图。
  • 探讨多种图布局算法和技术,如力导向布局、UMAP 等在处理大规模社交网络数据时的应用与挑战。
  • 展示对 BlueSky 网络地图的不断优化和改进过程,包括添加颜色、聚类等操作,以更好地呈现网络结构和信息。

关键信息

  • 使用 BlueSky 的 AT 协议和bsky.network的 WebSocket 火喉获取数据,存储在本地 SQLite 数据库。
  • 力导向布局是一种物理模拟,通过计算节点间的排斥力和边的吸引力来确定节点位置,Barnes-Hut 优化可降低计算复杂度。
  • Andromeda 是用于力导向图布局的 Zig 引擎,受 Gephi 和 ForceAtlas2 启发,具备“自然滑块”功能。
  • UMAP 用于降维可视化,在处理 BlueSky 数据时存在一些问题,如聚类过密、点重叠等,可通过调整 Andromeda 来改善。
  • 可通过聚类算法给 UMAP 输出添加颜色,以增加信息维度,突出局部结构,如使用 k-means 聚类和插值色调。

重要细节

  • 最初在 fly.io 部署索引器并使用 litestream 同步到 AWS S3 桶,后改为在家庭服务器上运行。
  • 目前 BlueSky 有约 1300 万用户,follows表有 5 亿多行约 30GB 数据。
  • Andromeda 在处理 10 万节点的图时可实时运行,UMAP 可用于对 BlueSky 数据进行降维处理。
  • UMAP 内部在最终阶段使用自己的力导向图,存在一些计算限制导致点重叠,可通过调整 Andromeda 来解决。
  • 给 UMAP 输出添加颜色的过程包括 k-means 聚类、色调插值等,以突出局部结构和信息。
阅读 12
0 条评论