跳到主要內容
用拓撲資料分析把 X 書籤的「形狀」畫出來:TDA Mapper + embedding 的個人知識地圖

用拓撲資料分析把 X 書籤的「形狀」畫出來:TDA Mapper + embedding 的個人知識地圖

@poetengineer__ 用拓撲資料分析(TDA)的 Mapper 算法加上 embedding 提取,把自己的 X 書籤轉成三種視圖:density(注意力重心在哪)、PCA(變異的主軸方向)、centroid(哪些是典型內容、哪些是邊緣異類)。這不是搜尋,是在問:我的閱讀習慣的形狀是什麼?

目錄+

@poetengineer__(Kat,Poet Engineer)做了一件有趣的事:用拓撲資料分析(TDA)的 Mapper 算法加上 embedding 提取,把自己多年積累的 X 書籤轉成一張視覺化地圖。

不是關鍵字搜尋,不是標籤分類,是問一個不同的問題:我的書籤作為一個整體,形狀是什麼?

Mapper 是什麼

Mapper 是拓撲資料分析(TDA)的核心算法之一,設計用來「提取高維資料的形狀」。

直覺上,你可以把它想成:把資料點投影到一個低維空間,然後把距離近的點聚在一起,最後畫出這些群之間的連結——結果是一張圖(graph),而不是一個座標空間。這張圖保留了資料的拓撲結構:哪些區域密集?哪些地方是橋接點?有沒有獨立的島?

在數學上,Mapper 用 Reeb graph 的概念把高維空間的「形狀」投影下來,不是精確的幾何,是結構。

Kat 的具體做法

流程分幾個步驟:

1. Embedding 提取:把每條書籤的文字內容送進語言模型,把書籤轉成高維向量(embedding)。語意相近的書籤在向量空間裡距離近。

2. Mapper 算法:把所有 embedding 向量送進 Mapper,生成一個圖結構,反映書籤之間的拓撲關係。

3. 三種視圖:

  • Density:哪些區域密集?這是注意力的重心——反映你反覆回到、或大量收藏的主題
  • PCA:主成分分析,找出書籤資料最主要的變異方向。哪個方向的差異最大?這給你看「你的閱讀範圍的主軸」
  • Centroid:中心 vs 邊緣。在 Mapper 圖的中心是「典型」書籤——代表性強、連結多;邊緣的是異類——不尋常、孤立、outlier

這能告訴你什麼

這個方法和一般的書籤管理工具想法根本不同。

大多數工具假設你知道自己在找什麼——搜尋、標籤、資料夾,都是「我知道我想要什麼,幫我找到它」的思路。

TDA Mapper 的思路相反:我不知道自己在關注什麼,讓資料告訴我結構。

density 視圖告訴你注意力實際上落在哪,不是你「以為」自己在關注什麼。很多人收藏的書籤和自我形象有差距——你以為自己廣泛關注 AI、設計、商業,但 density 可能顯示 90% 的書籤實際上在一個小主題上。

centroid 視圖裡的 outlier 最有意思:那些邊緣書籤是什麼?可能是你一時衝動收藏、後來沒再回去的;也可能是真正異類的思考——跟你日常閱讀圈完全不同的視角。

技術可行性

這個方法在 Python 上完全可以重現,主要工具:

  • sentence-transformers 或 OpenAI embeddings API:把文字轉成向量
  • tda-mapper(lucasimi/tda-mapper-python)或 kmapper:Mapper 算法實作,支援 scikit-learn API
  • UMAP 或 PCA:降維,作為 Mapper 的 lens function
  • Plotly 或 PyVis:互動式視覺化

書籤資料可以從 X 的 export 功能取得(Settings → Your Account → Download an archive of your data)。

個人知識管理的新視角

過去幾年,PKM(Personal Knowledge Management)工具大量出現:Obsidian、Notion、Roam Research、Logseq。大多數工具的核心是人工連結——你要自己畫 link、自己分類。

TDA Mapper 的方向是讓資料本身揭示結構,不是讓你手動整理。對書籤、筆記、論文這類「半結構化、長期積累」的資料,自動的形狀提取可能比手動分類更誠實——它反映你實際讀了什麼,而不是你「希望自己讀的」。

這個方向不會取代人工整理,但作為一個定期的「照鏡子」工具,告訴你你的閱讀習慣實際上長什麼樣——值得試。