從地名到建構 HGIS 的數位鏈金術 (6):Layer 2 知識中樞的誕生與《台灣歷史知識地圖》開源釋出

在先前的系列中,我們完成了從原始文本(Layer 0)到結構實體(Layer 1)的跨越。透過 Python 腳本,我們讓幾十萬字的《臺灣通史》變成了資料庫中清晰的人名、地名與座標。 但在數位考古的最後一哩路,我們面臨了一個更終極的挑戰:AI 該如何「理解」歷史的動態邏輯,而不僅僅是搜尋關鍵字? 這就是今天我們要分享的壓軸戰役——Layer 2:知識中樞 (Knowledge Atlas) 的建構,以及本專案正式對外開源的里程碑。 從「搜尋」進化到「理解」:何謂 Layer 2? 如果 Layer 1 是史料中的「單點實體」,那麼 Layer 2 就是將這些點連成線、織成網的「邏輯圖譜」。 當我問 AI:「為什麼清代的新竹會發展出如此發達的水利系統?」傳統的 RAG 頂多能幫我找到幾段描述。但擁有 Layer 2 知識中樞的 AI,能直接調用我們今日建立的五大專題模型: 水利開發模型 (Eco_System):結構化全台 226 處埤圳,整合開鑿者與水源脈絡。 產業貿易模型 (Economy):分析「南糖北茶」的經濟地理骨架。 官職權力模型 (Gov_Structure):釐清三代政權演變與行政邊界。 衝突因果模型 (Conflict_Logic):建模民變、械鬥與海防轉向的底層邏輯。 地名演進矩陣 (Toponym_Ref):建立「古社名 -> 舊地名 -> 現代區劃」的跨時空映射。 這意味著,現在的 AI 助理(如 Antigravity)已經不只是在陪我翻古書,它更像是一位**「數位歷史策展人」**。 數位鏈金術的成果:taiwan-history-atlas 正式釋出 為了讓這份努力產出的數位資產不只是鎖在我的硬碟裡,今天我們做了一個重要的決定:將今日建構的所有腳本、資料庫 Schema 與核心 Layer 2 知識資產,正式獨立封裝並在 GitHub 上開源。 🔗 Repo 連結: https://github.com/wuulong/taiwan-history-atlas 這個版本不僅僅是一個資料集。它包含了: taiwan_history.db:具備三層架構的核心資料庫。 全套 AI 建模腳本:讓你可以複製這套方法論去處理其他的歷史志書。 AI 導航指引:教導如何引導 GPT/Claude 等 Agentic AI 使用這座歷史大腦的方法論。 授權:公眾領域貢獻 (CC0) 我們決定採用 CC0 1.0 通用公眾領域貢獻宣告 釋出這個專案。 ...

2026-02-22 · 1 min · 97 words · Wuulong

從地名到建構 HGIS 的數位鏈金術 (4):【交織】時空縫合術——讓古地名跨越百年,精準降落在 WGS84 座標上

經過前三篇的努力,我們左手握有中研院的「1920年代空間圖資」,右手拿著從《臺灣通史》榨取出來的「600+ 個古地名與基建列表」。 這就像是一場歷史級別的相親大會——我們要讓書本裡的名字,在歷史地圖上找到歸宿,並將它們賦予現代的 WGS84 GPS 經緯度座標。這個過程,技術上叫做 Geo-Coding (地理編碼)。 同名異地的災難 原以為只要用程式名稱對齊 (Fuzzy Label Matching) 就好,但代誌不是憨人想的那麼簡單! 台灣地名有驚人的重複率。古書裡寫了個「新莊」或「福興」,如果你不用大腦,程式很容易把北部的事蹟,釘到南部的地圖上,導致座標嚴重飄移。 第一波升級:內政部兵器庫支援 首先,1920 年代的「街庄/大字」顆粒度有時仍不夠細緻,很多《臺灣通史》提到的小聚落找不到。 我決定導入國家級的兵器庫支援:內政部 3 萬筆古地名資料庫 (moi_settlements)。我把這 37,758 筆資料匯入我的資料庫,形成了一個包含了「1920 歷史界線 + 現代文史調查點位」的「三層立體查詢網」。 第二波突破:上下文錨定法 (Hierarchical Anchor) 為了解決同名造成的標記錯誤,我幫自動配對腳本裝上了**「閱讀理解能力」**。 我實作了 guess_anchor 演算法。配對前,程式會先反查《臺灣通史》原文,看看這個地名的上下文寫了什麼。 如果上下文提到了「淡水 / 艋舺」,程式會自動將這個地名的搜尋範圍 錨定 (Anchor) 在「臺北州」。 如果上下文提到「打狗 / 阿猴」,程式就只准在地圖的「高雄州」範圍內尋找這個聚落。 這招「因文定地」,徹底解決了同名異地的痛點! 史圖合一的瞬間 當我按下 geo_coding.py 的執行鍵,看著終端機不斷吐出 Log: ⚓ Anchored: 中港 -> 對應到苗栗竹南的中港 (24.6853, 120.8519) ⚓ Anchored: 六張犁 -> 成功定錨... ⚓ Anchored: 牛罵 -> 臺中市清水區牛罵頭... 憑藉著上下文疊圖與三層過濾網,我成功地讓近 200 個寫在文言文裡的歷史地名,從泛黃的紙張上躍起,精準降落在 Google My Maps 的紅色圖釘上。 ...

2026-02-22 · 1 min · 78 words · Wuulong