设计模式奏鸣曲(五):领域知识的本体模型

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.

模型方法可以看做是一种人类创造的心智手段
通过解释映射,建立起理论与待研究对象之间的同构关系

从而我们可以间接的找出理论的推论,
预测研究对象所应当满足的性质。


参考

领域模型
本体论
本体 (信息科学)
人工智能:一种现代方法
语义网基础教程
领域驱动设计
哥德尔、艾舍尔、巴赫:集异璧之大成
数理逻辑


下一篇:设计模式奏鸣曲(六):沟通结构

编辑于 2019-02-01 20:32