本體論 是什麼?
Ontology:本體論 的完整解釋
本體論是明確指定領域概念及其關係的正式表示,用於知識共享和推理,是知識圖譜的基礎。
容易混淆
本體論 vs 資料庫綱要
資料庫綱要像圖書館的書架編號,只管書怎麼放;本體論像圖書館的分類系統,不僅定義書的類別,還定義類別間的關係和屬性,更重視知識的語義。
最關鍵的區別:一個管語意關係,一個管資料欄位。
本體論 vs 資料庫綱要
ontology 不只管欄位,還管概念之間怎麼互相關聯
最關鍵的區別:一個重語意,一個重資料結構。
記住這句就好
先定義概念,再定義概念之間的關係
實際案例
案例 1:把醫療術語、症狀、檢查和診斷關係先畫清楚
這種情況下,本體論 會幫你把原本手工或靠直覺的步驟變得更穩。
案例 2:把公司產品、部門和流程做成可推理的知識結構
另一個常見場景也能看出 本體論 的價值,因為它處理的是同一種核心問題。
算法與應用
核心意思就是:先定義概念,再定義概念之間的關係。
常用在知識圖譜、語義推理和跨系統知識整合
如果定義不一致,後面再多資料也很難推理正確
兩個 ontology 不要搞混
這個字在中文有兩種譯法,對應兩個相關但不同的東西。
| 領域 | 中文 | 指的是什麼 |
|---|---|---|
| 哲學 | 本體論 | 探討「什麼東西存在」的哲學分支 |
| 資訊科學與 AI | 本體 / 知識本體 / 領域本體 | 一組明確定義的概念、屬性與關係,讓機器能處理某個領域的知識 |
在 AI 語境下講 ontology,講的幾乎都是第二種。它是知識圖譜(knowledge graph)的骨架,也就是那份規定「有哪些類別、每個類別有哪些屬性、類別之間有什麼關係」的規格。
名字來自哲學,因為做的事情本質相同:先講清楚這個世界裡有哪些種類的東西。但在工程上它是一份可執行的規格,不是一場思辨。
一份 ontology 由什麼組成
類別(class):概念的種類,例如「藥品」「疾病」「症狀」。類別可以有階層,例如「抗生素」是「藥品」的子類別。
屬性(property):類別之間或類別與數值之間的關係,例如「藥品 治療 疾病」「藥品 有劑量 數值」。
實例(instance):具體的個體,例如「阿莫西林」是「抗生素」的一個實例。
公理與約束(axiom):規則,例如「一個人只能有一個出生日期」「抗生素與抗病毒藥互斥」。這是 ontology 跟單純的分類表最大的差別,有了規則,機器就能推理出沒有明講的事實。
常見的技術標準是 RDF 與 OWL,查詢語言是 SPARQL。
跟 AI 現在的關係:大型語言模型知識存在參數裡、無法驗證也無法即時更新,ontology 與知識圖譜提供的是可稽核、可更新、可推理的結構化知識。兩者常搭配使用,這也是 GraphRAG 這類做法的基礎。
情境判斷
Q1(直覺題): 把醫療術語、症狀、檢查和診斷關係先畫清楚 這種情況,會先想到 本體論 嗎?
→ 會,因為它正好在處理這件事的核心問題,只是還要看資料乾不乾淨、流程穩不穩。
Q2(判斷題): 只有一張表結構,沒有概念關係,算本體論嗎?
→ 不算,這比較像資料表設計;本體論還要定義語意和推理關係
相關術語
常見問題
本體論和知識圖譜有什麼區別?
本體論是知識圖譜的模式(Schema),定義了知識圖譜中節點和邊的類型和關係。 知識圖譜是基於本體論構建的具體知識庫,包含了大量的實例和關係。 本體論是藍圖,知識圖譜是根據藍圖建造的建築。
如何選擇合適的本體論語言?
常用的本體論語言包括RDF、RDFS和OWL。 RDF是基礎的知識表示語言,RDFS提供了基本的類別和屬性定義功能,OWL則提供了更豐富的語義表達能力和推理功能。 選擇哪種語言取決於應用的需求,如果需要複雜的推理功能,則應選擇OWL。
構建本體論需要哪些技能?
構建本體論需要領域知識、知識表示技術和邏輯推理能力。 領域知識用於理解和描述特定領域的知識,知識表示技術用於將知識形式化地表示出來,邏輯推理能力用於驗證本體論的一致性和完整性。 此外,還需要熟悉常用的本體論工具和語言。