
AI 時代你應該重新認識「本體論」
在大型語言模型 (LLM) 與生成式 AI 席捲全球的今天,我們為何還需要回頭談論古老的哲學:本體論 (Ontology)」?
有人會猜,應該是 Palantir 這間公司一直強調本體論是他們整個系統的基礎。是這樣沒錯,但這個答案不夠好,因為它跟你一點關係也沒有,以下是一個與你直接相關的答案:
如果你希望 AI 不只是「會聊天」,而是
能「精準理解」你的業務領域,那麼,
本體論就是不可或缺的基石。
當前的 AI 雖然擅長機率預測,卻常缺乏嚴謹的邏輯結構,容易產生「一本正經胡說八道」的幻覺 (Hallucination)。如果你正在建構 AI 產品,或是負責搭建知識圖譜 (Knowledge Graph),本體論其實就是在幫你解決一個核心問題:
(HMW) 我們該如何…
把一個領域的知識結構化,
變成機器能讀懂的規則與常識』
讓 AI 有憑有據地思考?
本體論的作用,就像是為 AI 建立它即將面對解決問題的那個領域的世界觀。它有三個基本元素:
- 類別 (Class): 什麼算是一個獨立的分類?(例如:葡萄酒、紅酒、白酒)
- 屬性 (Property): 每個東西有哪些特徵?(例如:產地、年份、酒精濃度)
- 關係 (Relation): 彼此之間如何連結?(例如:這瓶酒「產自」某酒莊、「適合搭配」某種食物)
把這些元素組合起來,就構成了知識圖譜的骨架,這是讓 AI 從「通用閒聊」走向「專業應用」的第一步。
從零開始,先選一個領域當作練習場
學習本體論,最怕的就是一開始太抽象。比較好的做法是先選定一個具體且範圍有限的主題,也就是所謂的「論域 (Domain of Discourse) 當開始作為練習場。
例如:
- 葡萄酒與食物的搭配
- 披薩種類定義
- 非洲野生動物分類
- 電商服飾購物分類
- 工業維修流程
這些案例都是在論文或教科書裡的經典案例,他們的共同點是:範圍不會太大,但裡面又有明確的「類別、屬性和關係」可供練習與操作。
用經典案例快速看懂本體論的具體樣貌
作為嘗鮮的先導文章,我挑選其中三個案例,看看如何將真實世界轉化為資料結構:
- 葡萄酒與食物(Wine and Food)案例
- 類別:葡萄酒、紅酒、白酒、酒莊、食物。
- 屬性:年份、產地、葡萄品種、酒精濃度。
- 關係:這瓶酒「由某酒莊生產」、適合「搭配某種食物」。
- 披薩本體論 (Pizza Ontology)
- 用披薩的「配料」來定義類別:素食披薩、夏威夷披薩…
- 練習「互斥性 (Disjointness)」:例如「素食披薩」和「含肉披薩」不能同時成立。
- 特點:這是學習 OWL (Web Ontology Language,一種用來描述本體論的標準語言) 的經典教材。
- 非洲野生動物 (AWO) 案例
- 練習「階層結構」:獅子是肉食動物,肉食動物是一種動物。
- 順便理解「邏輯約束」:例如草食動物不會吃肉。
- 特點:練習用「是某種 (is-a)」的邏輯去整理世界。
後續文章我會繼續深入一步一步解析這些案例。
本體論開發七步驟:依循邏輯而非憑空繪製
史丹佛大學的 Noy & McGuinness 提出一個很實用的流程,被很多人當作本體論開發 101,你可以在這裡下載。
這七步驟簡述如下:
- 確定領域與範圍 (Determine Domain and Scope)
先問自己:這個本體論要回答哪些問題?
這些問題就叫做「能力問題 (Competency Questions)」。
例如做葡萄酒本體論,可以列:- 這款酒產自哪個酒莊?
- 適合搭配哪些食物?
- 是哪一年生產的?
- 考慮重複使用,不要從零開始 (Consider Reusing Existing Ontologies)
世界上已經有很多現成的本體:- 像 BFO、CCO 這種「通用上位本體」,已經把很抽象的概念整理好。
- 有時直接擴充現成的,往往比自己重新發明一套還更穩健。
- 列出重要術語 (Enumerate Important Terms)
接下來是很務實的一步:先用 A4 紙或白板,把領域裡的:- 名詞 (如:演員、導演、電影、類型…)
- 動詞/關係 (演出、執導、上映…)
通通先寫出來,再慢慢分類。
- 定義類別與階層的 is-a 關係 (Define Classes and the Class Hierarchy)
用「是某種 (is a)」來建分類樹,例如:- 白葡萄酒 是 一種葡萄酒
- 動作片 是 一種電影類型
注意:這裡講的是「類別階層」,不是地理或部件那種「部分-整體」的關係。
- 定義屬性 (Define Properties – Slots)
定義每個類別需要有哪些欄位?- 內在屬性:酒精濃度、年份、片長、生日…
- 外在關係:
- 「這瓶酒由某酒莊生產」
- 「這部電影由某導演執導」
- 定義約束 (Define Facets of Slots)
把「規則」說清楚:- 資料型態限制:年份必須是整數;價錢是數字。
- 數量限制:一瓶酒只能有一個生產者;一個人可以演出多部電影。
- 建立實例 (Create Instances)
最後,把真實世界的東西放進來:- 「2015 年某款紅酒」
- 「某一部實際存在的電影」
有了實例,你就可以實際測試本體:查詢好不好用?推理結果合不合理?
7. 新手最常踩的幾個坑
在學本體論的過程中,看看「錯誤示範」會很有幫助。以下是 3 個坑:
- 把「部分-整體」當成「類別階層」
- 錯誤:省份是國家的一部分 (Part-of),而非國家的子類別 (Is-a)
- 例子:「台中市是台灣的一種」這句話文法沒問題,但顯然不合邏輯,這是常見的錯誤。
- 粒度 (Granularity) 拿捏失當
- 太細:一堆極小的類別,後期維護很辛苦。
- 太粗:查詢結果太模糊,沒辦法支援精準應用,應用價值低。
實務上通常會回頭問:「這個系統要解決什麼問題?」再來調整粒度。
- 邏輯衝突未被察覺
- 定義過程中,有時會產生互相矛盾的規則或定義。
- 靠推理機幫忙找出「不可滿足的類別 (Unsatisfiable Classes)」,非常重要。
兩個生活化的比喻,記住本體論
1 像是在編一本百科全書的分類索引
不是只把所有詞丟進去,而是要:
- 定義什麼是「家具」這個類別
- 規定椅子一定要有支撐結構 (約束)
- 紀錄「這把柚木椅是某位工匠製作的」(關係)
當設計一個家具店網站時,本體論就是在決定:
- 左邊選單長什麼樣子
- 使用者用什麼關鍵字能找到什麼東西
2 像是從看食譜到自己設計菜單
- 一開始看別人的食譜 (案例):
- 學會有哪些食材 (概念)
- 學會有哪些料理手法 (邏輯關係)
- 熟練之後,便可以:
- 針對不同場合 (領域需求)
- 設計一整套菜單 (本體系統)
本體論的學習正是「先模仿,再創作」。
本體論是知識圖譜的靈魂
本體論不是僅供學者研究的高深理論,而是一套讓資料說人話、讓系統具備常識的方法論。
從小型的葡萄酒或披薩案例起步學習,然後一路進階至醫療、金融等工業級應用。如果希望未來的 AI 系統能擺脫「黑盒子」的不可解釋性,並擁有紮實的知識推理能力,那麼本體論絕對是這個時代必須掌握的第一個關鍵工具。
在接下來的文章中,我將進一步探討如何利用這些結構,構建出能與 LLM 協作的知識圖譜 (Knowledge Graph)。