設計模式奏鳴曲(五):領域知識的本體模型

來自專欄業餘程序員的個人修養15 人贊了文章

1. 數學模型和本體模型

1.1 物理學所用的建模方法

物理學是一門實驗科學,它採用科學方法研究自然界的基本規律。

其中,科學方法是一種有系統地尋求知識的程序,涉及了以下三個步驟,

(1)問題的認知與表述

(2)實驗數據的收集

(3)假說的構成與測試

「假說」通常也被稱為「物理理論」,它必須是可證偽的。

在物理學中,物理理論幾乎無一例外是藉助數學模型來表示的,

它們使用數學中的概念和語言,對系統進行描述。

如圖,人們通過對大自然中的可觀測量進行分析,產生了對大自然的認知

然後提出數學模型,並不斷的修正它,檢驗它與大自然本身的同構性

因此,物理學的研究過程中,不可避免的涉及了本體論,

它是哲學中形而上學的一個分支。

本體論又稱存在論,是探究存在本身的一種學問。

在物理學的例子中,我們認為大自然本身與它所表現出來的現象(可觀測量)是不同的,現象所刻畫出來的那個大自然實體,稱為本體

例如,物理學認為,我們看到的樹木,其實並不是樹木本身,

而只是它反射出來的光線而已。

1.2 知識表示中的本體建模

20世紀90年,人們將本體論觀點引入到了人工智慧領域,

用於知識表示和知識組織,相應的,本體的概念和內涵也發生了變化。

現在,如果在計算機科學或信息科學中,人們提到了本體,那麼它指的是,

對於共享概念體系明確而又詳細的形式化說明。

我們看到,這個圖與物理學的研究過程十分相似,

「知識」,相當於物理學所研究的「自然界」,它們都是哲學意義上的本體,而人們對知識的理解——「概念」,則相當於物理學中人們對大自然的「認知」。

圖中的「本體模型」,相當於物理學中的「數學模型」,

只不過本體模型必須是形式化的,因為其構建的動機是便於計算機進行自動化的處理。

人們預期本體模型與知識之間,也要達成同構關係

2. 領域模型

理解了知識本體模型之後,再理解「領域知識」和「領域建模」就不難了。

領域模型(domain model)可以被看作是一個系統的概念模型,用於以可視化的形式描述系統中的各個實體及其之間的關係。

例如,常見的本體構成要素包括:個體,類,屬性,關係,

這些要素體現了各本體在結構上的相似性。

而UML正是反映這些構成要素的一種圖形化表示。

在《領域驅動設計》中,作者提到,

軟體的核心是其為用戶解決領域相關的問題的能力。

所以,為了對領域知識有更深入的理解,就勢必涉及這些知識的表示問題。

不過,和本體建模不同的是,我們不需要形式化的描述領域模型,因為領域建模的目的不是為了對知識進行自動化處理。

而是建立起程序世界領域知識之間的橋樑。

面向對象設計和語言能夠縮小軟體構件和我們所設想的領域模型之間的差距,

即實現低表示差異(lower representational gap)。

3. 形式理論和語義模型

上文中我們提到了很多種模型

但是至於究竟什麼是模型,我們的理解還是模糊不清的。

因此,這裡嘗試從模型論角度給出模型的定義。

很多人所理解的模型,是一種對客觀事物的抽象解釋

是將人們不關注的細節去掉而形成的。例如,物理學中所研究的數學模型,是對大自然的一種簡化描述,它可以用來解釋大自然中發生的現象。

但是在模型論中,

所謂的模型,實際上指的是對形式理論所選擇的語義解釋

設 Γ 是一階語言 L 的有窮或可數無窮的語句集合,

如果 Γ 協調,則稱 Γ 是一階語言的形式理論,簡稱形式理論

這樣定義的語義模型,為形式理論中的每條語句給出了唯一確定的語義。

這樣理解的話,以上提到的數學模型,本體模型,領域模型,

只是模型論中的理論部分,而相應的研究對象——大自然,知識,領域知識,就成為了這些理論的語義解釋

理論必須是協調的(一致的),在形式推導過程中不能出現矛盾,

理論還必須是可靠的,即可證的結論,其解釋也必然為真。

將理論與模型混為一談,會造成很多困擾,

這是整個19世紀數學的最深刻的教訓之一。

結語

本文聯繫了物理學,哲學,邏輯學三個學科,討論了模型方法的意義,

領域模型理解為,對領域知識的一種本體建模結果。

不可否認,任何研究方法都是為其目的服務的,因此有人說,

All models are wrong, but some are useful.

模型方法可以看做是一種人類創造的心智手段

通過解釋映射,建立起理論與待研究對象之間的同構關係

從而我們可以間接的找出理論的推論,

預測研究對象所應當滿足的性質。

參考

領域模型

本體論本體 (信息科學)人工智慧:一種現代方法

語義網基礎教程

領域驅動設計哥德爾、艾舍爾、巴赫:集異璧之大成數理邏輯

推薦閱讀:

相關文章