從零開始學本體論 1:AI 時代必備的知識結構化思維

AI 時代你應該重新認識「本體論」

在大型語言模型 (LLM) 與生成式 AI 席捲全球的今天,我們為何還需要回頭談論古老的哲學:本體論 (Ontology)」?

有人會猜,應該是 Palantir 這間公司一直強調本體論是他們整個系統的基礎。是這樣沒錯,但這個答案不夠好,因為它跟你一點關係也沒有,以下是一個與你直接相關的答案:

如果你希望 AI 不只是「會聊天」,而是
能「精準理解」你的業務領域,那麼,
本體論就是不可或缺的基石。

當前的 AI 雖然擅長機率預測,卻常缺乏嚴謹的邏輯結構,容易產生「一本正經胡說八道」的幻覺 (Hallucination)。如果你正在建構 AI 產品,或是負責搭建知識圖譜 (Knowledge Graph),本體論其實就是在幫你解決一個核心問題:

(HMW) 我們該如何…
把一個領域的知識結構化,
變成機器能讀懂的規則與常識』
讓 AI 有憑有據地思考?

本體論的作用,就像是為 AI 建立它即將面對解決問題的那個領域的世界觀。它有三個基本元素:

  • 類別 (Class): 什麼算是一個獨立的分類?(例如:葡萄酒、紅酒、白酒)
  • 屬性 (Property): 每個東西有哪些特徵?(例如:產地、年份、酒精濃度)
  • 關係 (Relation): 彼此之間如何連結?(例如:這瓶酒「產自」某酒莊、「適合搭配」某種食物)

把這些元素組合起來,就構成了知識圖譜的骨架,這是讓 AI 從「通用閒聊」走向「專業應用」的第一步。

從零開始,先選一個領域當作練習場

學習本體論,最怕的就是一開始太抽象。比較好的做法是先選定一個具體且範圍有限的主題,也就是所謂的「論域 (Domain of Discourse) 當開始作為練習場。

例如:

  • 葡萄酒與食物的搭配
  • 披薩種類定義
  • 非洲野生動物分類
  • 電商服飾購物分類
  • 工業維修流程

這些案例都是在論文或教科書裡的經典案例,他們的共同點是:範圍不會太大,但裡面又有明確的「類別、屬性和關係」可供練習與操作。

用經典案例快速看懂本體論的具體樣貌

作為嘗鮮的先導文章,我挑選其中三個案例,看看如何將真實世界轉化為資料結構:

  1. 葡萄酒與食物(Wine and Food)案例
    • 類別:葡萄酒、紅酒、白酒、酒莊、食物。
    • 屬性:年份、產地、葡萄品種、酒精濃度。
    • 關係:這瓶酒「由某酒莊生產」、適合「搭配某種食物」。
  2. 披薩本體論 (Pizza Ontology)
    • 用披薩的「配料」來定義類別:素食披薩、夏威夷披薩…
    • 練習「互斥性 (Disjointness)」:例如「素食披薩」和「含肉披薩」不能同時成立。
    • 特點:這是學習 OWL (Web Ontology Language,一種用來描述本體論的標準語言) 的經典教材。
  3. 非洲野生動物 (AWO) 案例
    • 練習「階層結構」:獅子是肉食動物,肉食動物是一種動物。
    • 順便理解「邏輯約束」:例如草食動物不會吃肉。
    • 特點:練習用「是某種 (is-a)」的邏輯去整理世界。

後續文章我會繼續深入一步一步解析這些案例。

本體論開發七步驟:依循邏輯而非憑空繪製

史丹佛大學的 Noy & McGuinness 提出一個很實用的流程,被很多人當作本體論開發 101,你可以在這裡下載

這七步驟簡述如下:

  1. 確定領域與範圍 (Determine Domain and Scope)
    先問自己:這個本體論要回答哪些問題?
    這些問題就叫做「能力問題 (Competency Questions)」。
    例如做葡萄酒本體論,可以列:
    • 這款酒產自哪個酒莊?
    • 適合搭配哪些食物?
    • 是哪一年生產的?
  2. 考慮重複使用,不要從零開始 (Consider Reusing Existing Ontologies)
    世界上已經有很多現成的本體:
    • 像 BFO、CCO 這種「通用上位本體」,已經把很抽象的概念整理好。
    • 有時直接擴充現成的,往往比自己重新發明一套還更穩健。
  3. 列出重要術語 (Enumerate Important Terms)
    接下來是很務實的一步:先用 A4 紙或白板,把領域裡的:
    • 名詞 (如:演員、導演、電影、類型…)
    • 動詞/關係 (演出、執導、上映…)
      通通先寫出來,再慢慢分類。
  4. 定義類別與階層的 is-a 關係 (Define Classes and the Class Hierarchy)
    用「是某種 (is a)」來建分類樹,例如:
    • 白葡萄酒  一種葡萄酒
    • 動作片  一種電影類型
      注意:這裡講的是「類別階層」,不是地理或部件那種「部分-整體」的關係。
  5. 定義屬性 (Define Properties – Slots)
    定義每個類別需要有哪些欄位?
    • 內在屬性:酒精濃度、年份、片長、生日…
    • 外在關係:
      • 「這瓶酒由某酒莊生產」
      • 「這部電影由某導演執導」
  6. 定義約束 (Define Facets of Slots)
    把「規則」說清楚:
    • 資料型態限制:年份必須是整數;價錢是數字。
    • 數量限制:一瓶酒只能有一個生產者;一個人可以演出多部電影。
  7. 建立實例 (Create Instances)
    最後,把真實世界的東西放進來:
    • 「2015 年某款紅酒」
    • 「某一部實際存在的電影」
      有了實例,你就可以實際測試本體:查詢好不好用?推理結果合不合理?

7. 新手最常踩的幾個坑

在學本體論的過程中,看看「錯誤示範」會很有幫助。以下是 3 個坑:

  • 把「部分-整體」當成「類別階層」
  • 粒度 (Granularity) 拿捏失當
    • 太細:一堆極小的類別,後期維護很辛苦。
    • 太粗:查詢結果太模糊,沒辦法支援精準應用,應用價值低。
      實務上通常會回頭問:「這個系統要解決什麼問題?」再來調整粒度。
  • 邏輯衝突未被察覺
    • 定義過程中,有時會產生互相矛盾的規則或定義。
    • 靠推理機幫忙找出「不可滿足的類別 (Unsatisfiable Classes)」,非常重要。

兩個生活化的比喻,記住本體論

1 像是在編一本百科全書的分類索引

不是只把所有詞丟進去,而是要:

  • 定義什麼是「家具」這個類別
  • 規定椅子一定要有支撐結構 (約束)
  • 紀錄「這把柚木椅是某位工匠製作的」(關係)

當設計一個家具店網站時,本體論就是在決定:

  • 左邊選單長什麼樣子
  • 使用者用什麼關鍵字能找到什麼東西

2 像是從看食譜到自己設計菜單

  • 一開始看別人的食譜 (案例):
    • 學會有哪些食材 (概念)
    • 學會有哪些料理手法 (邏輯關係)
  • 熟練之後,便可以:
    • 針對不同場合 (領域需求)
    • 設計一整套菜單 (本體系統)

本體論的學習正是「先模仿,再創作」。

本體論是知識圖譜的靈魂

本體論不是僅供學者研究的高深理論,而是一套讓資料說人話、讓系統具備常識的方法論。

從小型的葡萄酒或披薩案例起步學習,然後一路進階至醫療、金融等工業級應用。如果希望未來的 AI 系統能擺脫「黑盒子」的不可解釋性,並擁有紮實的知識推理能力,那麼本體論絕對是這個時代必須掌握的第一個關鍵工具。

在接下來的文章中,我將進一步探討如何利用這些結構,構建出能與 LLM 協作的知識圖譜 (Knowledge Graph)。

Similar Posts

發表迴響