用拓撲資料分析把 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 的方向是讓資料本身揭示結構,不是讓你手動整理。對書籤、筆記、論文這類「半結構化、長期積累」的資料,自動的形狀提取可能比手動分類更誠實——它反映你實際讀了什麼,而不是你「希望自己讀的」。
這個方向不會取代人工整理,但作為一個定期的「照鏡子」工具,告訴你你的閱讀習慣實際上長什麼樣——值得試。