知識圖譜 是什麼?

Knowledge Graph:知識圖譜 的完整解釋

知識圖譜(Knowledge Graph)是以圖結構儲存實體(Entity)及其關係(Relation)的語意知識庫,透過「主體-關係-客體」三元組表示現實世界的知識,廣泛應用於搜尋引擎增強、問答系統

核心概念

知識圖譜(Knowledge Graph)是一種儲存和組織結構化知識的資料表示方式,其本質是一個有向標記圖(Directed Labeled Graph)。

基本組成:

  • 實體(Entity):現實世界的物件或概念節點,如「人工智慧」「Anthropic」「Claude」「台灣」
  • 關係(Relation / Predicate):連接兩個實體的有向邊,如「開發了」「位於」「屬於類別」
  • 三元組(Triple):(主體, 謂語, 客體) 是知識圖譜的基本表示單元,如 (Anthropic, 開發了, Claude)
  • 屬性(Attribute):實體的鍵值對資訊,如 Claude 的「發佈年份: 2023」
  • 本體論(Ontology):定義知識圖譜中概念的類型層次與關係約束,如「所有 LLM 都是 AI 模型的子類」

知識圖譜的三個層次:

  1. 模式層(Schema Layer):定義概念、類別和關係的抽象框架(本體論)
  2. 資料層(Data Layer):儲存具體的實體和三元組
  3. 推理層(Reasoning Layer):基於規則或嵌入推導新的隱含知識

運作原理

知識表示與儲存:

知識圖譜通常使用以下儲存方式:

  • 三元組儲存(Triple Store):如 Apache Jena、Stardog,使用 SPARQL 查詢語言
  • 圖資料庫(Graph Database):如 Neo4j(使用 Cypher 查詢),更工程友善
  • 向量化儲存(Knowledge Graph Embedding):將實體和關係映射到低維向量空間,支援相似度計算和缺失關係預測

知識圖譜嵌入(Knowledge Graph Embedding):

為了讓機器學習方法能利用知識圖譜,需要將實體和關係嵌入向量空間。代表方法:

  • TransE:假設 h + r ≈ t(主體向量 + 關係向量 ≈ 客體向量),適合一對一關係
  • RotatE:將關係建模為向量空間中的旋轉操作,更能捕捉對稱、反對稱等複雜關係模式
  • ComplEx:在複數空間(Complex Number Space)建模,支援非對稱關係

SPARQL 查詢範例:

SELECT ?company WHERE {
  ?model rdf:type :LargeLanguageModel .
  ?company :developed ?model .
  ?model :releaseYear "2023" .
}

此查詢找出「2023 年發布的大型語言模型的開發公司」,展示知識圖譜的多跳推理能力。

GraphRAG 架構:

傳統 RAG(Retrieval-Augmented Generation)使用向量相似度搜尋找出相關文本段落提供給 LLM。GraphRAG 改以知識圖譜為外部知識源,查詢流程如下:

  1. 使用者問題 → 實體提取(Entity Extraction)
  2. 在知識圖譜中識別相關實體和關係路徑
  3. 沿關係路徑進行多跳推理,擷取相關子圖
  4. 將子圖轉為自然語言描述,輸入 LLM 生成回答

GraphRAG 的優勢:能回答需要多跳推理的複雜問題(「A 公司的 CEO 的前一份工作在哪家公司」),而純向量搜尋難以處理此類邏輯鏈。

實際應用

搜尋引擎知識面板:Google 知識圖譜(Knowledge Graph)收錄超過 500 億個事實,在搜尋結果右側顯示實體的結構化資訊(如人物的出生日期、著作、關聯人物),這正是 Google 搜尋從「關鍵字比對」進化到「語意理解」的核心基礎設施。

醫療知識庫:醫療知識圖譜(如 UMLS、BioKG)連接疾病、症狀、藥物、基因等醫療實體,支援藥物交互作用查詢、副作用預測、臨床決策支援。AI 診斷系統結合知識圖譜能提供有來源可追溯的推理鏈,而非只給出「黑盒」預測。

企業知識管理:跨國企業建立內部知識圖譜連接產品、客戶、供應商、合約、人員等實體,支援複雜的跨系統查詢(如「參與過 A 專案且具備 B 技術的工程師名單」),解決傳統 RDBMS 多表 JOIN 的複雜性問題。

推薦系統:知識圖譜增強的推薦系統能利用「使用者-商品-屬性」的關係路徑提供可解釋的推薦理由。例如,推薦某本書的理由可以是「您喜歡的作者 X 推薦過 Y 作者的作品 Z」,而非僅顯示「因為購買了 A 的使用者也購買了 B」。

常見誤區

誤區一:知識圖譜等於圖資料庫

圖資料庫(如 Neo4j)是儲存圖結構資料的通用工具,強調工程效能和靈活查詢;知識圖譜是語意知識的表示框架,強調本體論設計、語意推理和知識互操作性。知識圖譜通常儲存在三元組儲存或圖資料庫中,但兩者概念層次不同:圖資料庫是工具,知識圖譜是應用架構。

誤區二:知識圖譜能解決 LLM 幻覺問題

知識圖譜提供的是結構化的事實知識,能顯著降低 LLM 在事實類問題上的幻覺(Hallucination)。但知識圖譜本身可能包含錯誤、過時或不完整的知識;LLM 的幻覺來源不只是事實不準確,還包括邏輯推理錯誤、語言生成偏差等。知識圖譜是緩解幻覺的有效工具之一,但不是萬能解藥。

誤區三:知識圖譜只適合靜態知識

早期知識圖譜確實以靜態知識為主,但時態知識圖譜(Temporal Knowledge Graph)擴展了三元組加入時間戳(如「(A, 擔任 CEO, B, 2019-2023)」),支援隨時間變化的事實表示。動態知識圖譜可自動從新聞、文件中持續提取最新知識,更新頻率可達小時級。

與相關技術的比較

技術 結構 語意理解 推理能力 規模擴展
知識圖譜 圖(三元組) 強(本體論) 多跳邏輯推理 中(建構成本高)
關聯式資料庫 表格 SQL,無語意推理
向量資料庫 向量索引 語義相似度 近似最近鄰
文件資料庫 JSON 樹 全文搜尋
GraphRAG(知識圖譜 + RAG) 圖 + 向量 多跳推理 + 語意檢索

在生成式 AI 的知識增強架構中,知識圖譜和向量資料庫是互補而非競爭關係:向量搜尋擅長語意相似度匹配,知識圖譜擅長精確邏輯推理,GraphRAG 架構正是整合兩者優勢的設計方向。

常見問題