供应链流程模型语义标注的本体方法
1 引言
语义标注能够让来自不同合作伙伴的流程模型顺利集成,还能促进流程挖掘、流程片段复用以及流程模型的模型驱动 IT 实现。在业务流程管理领域运用本体的想法并非新鲜事物,此前已有诸多相关工作。
2 相关工作
在业务流程管理中利用本体的理念早已有之。例如,有学者曾用本体描述和评估建模语言的某些方面。核心相关工作处于业务流程管理和语义网的交叉领域,有项目提出了业务流程建模本体(BPMO),它能描述流程模型的元数据,相关建模环境可为现有流程模型添加语义标注。而本文介绍的方法与 sBPMN 本体和 SCOR 本体密切相关,可对 BPMN 描述的供应链流程模型进行灵活且细粒度的语义标注。
此外,还有专注于其他特定语言模型语义标注的工作,如针对 Petri 网的语义标注方法、用形式本体对 EPC 进行语义扩展、提出通用流程本体及相关语义标注框架等。业务流程模型的语义标注需要领域本体来描述数据对象及其状态,领域本体能提供规范术语,有研究介绍了将领域本体与流程元模型本体结合对流程模型进行语义标注的方法,也探讨了在供应链流程模型的 IT 实现中应用 SCOR 模型提供规范术语的可能性。
3 主要思路
为指定单个流程模型元素的语义,首先生成一个组合的流程建模本体——scorBPMN 本体,它源自基本的 BPMN 本体和 SCOR 本体,之后开发一种将流程模型元素与本体概念匹配的方法。
流程模型中可在不同层次添加语义信息。一是元模型层次标注,用本体概念标注元模型定义的构造;二是模型层次标注,利用领域本体指定特定上下文中信息的语义。为简化方法说明,假设供应链流程模型用 BPMN 表示,必要时其他建模语言的流程模型可转换为 BPMN 模型。
BPMN 本体用于指定供应链流程模型的元模型,它形式化了 BPMN 流程模型的表示并定义了流程模型的构造,这些本体定义不仅机器可读,还机器可理解,计算机能根据依赖关系推断流程动作的执行顺序。供应链上下文中信息的语义由 SCOR 参考模型的本体指定,它提供了供应链流程模型的标准术语及相关非功能定义。
scorBPMN 本体为供应链流程模型的语义标注提供本体概念,模型元素只需链接到 scorBPMN 本体的实例,而非同时链接到 BPMN 本体和 SCOR 本体。定义必要的本体后,需通过测量模型元素与本体概念的相似度来实现自动匹配,使单个流程模型元素与相似度最高的本体实例链接。该方法将通过图形原型软件工具展示,工具会执行相似度测量,在用户为供应链流程模型元素标注时列出候选标注,标注后的流程模型将输出为 OWL - DL 文件。
3.1 利用的本体
不同公司在业务流程中使用的术语和描述可能不同,通过共享本体的形式化描述,所有业务伙伴能对术语领域有共同理解。本体通过领域的概念、属性、特定概念的实例、属性和公理来定义,以推断新知识。不同层次的标注需要不同的本体,本文中流程元模型的标注用 BPMN 本体实现,它描述了流程模型的基本构造及其关系;考虑供应链上下文,SCOR 参考模型的本体(SCOR 本体)形式化了供应链流程模型中使用的术语。为实现标注,需将这两个本体的概念统一和整合,从而得到 scorBPMN 本体。
3.1.1 BPMN 本体
BPMN 作为图形化流程建模语言,在供应链流程建模中受到越来越多关注,但它仍是面向图形的语言,缺乏形式化定义,计算机难以直接理解其业务流程图(BPD)的含义。有学者提出了 sBPMN 本体来描述 BPMN 流程模型的元模型。
sBPMN 本体的核心元素是表示流程模型的 BPD,根据 BPMN 规范,流程中的元素分为流对象、连接对象、泳道和工件四类。BPMN 本体仅提供元模型层次的语义信息,需要集成领域本体来标注流程模型。为生成适用于供应链流程模型的特定本体,对 BPMN 流程模型进行形式化描述:
- 一个 BPMN 流程模型可定义为元组 (P=(F, C, S, A)):
- (F=(A_C, E, T, G)) 表示流对象,其中 (A_C) 为活动,可表示为元组 (A_C=(T_S, P_S)),(T_S) 代表流程模型中的任务(原子工作单元),(P_S) 代表子流程;(E) 为事件,可表示为元组 (E=(E_S, E_I, E_E)),(E_S) 是开始事件,(E_I) 是中间事件,(E_E) 是结束事件;(T) 是事件触发器,可能是消息、时间或异常;(G) 是 BPD 中的网关,可表示为元组 (G=(G_{EX}, G_{IX}, G_{CP}, G_{PL})),分别代表排他网关、包容网关、复杂网关和并行网关。
- (C=(C_S, C_M, C_A)) 表示控制流关系(sBPMN 中的连接对象),(C = F\times F),(C_S) 是顺序流,(C_M) 是消息流,(C_A) 是流对象之间的关联。
- (S=(S_P, S_L)) 表示 BPD 中的泳道,(S_P) 是 BPD 中的池,(S_L) 是 BPD 中的道。
- (A=(A_N, D_O, G_R)) 表示 BPD 中的工件,(A_N) 是 BPD 中的注释,(D_O) 是 BPD 中的数据对象,(G_R) 是 BPD 中的组。
3.1.2 SCOR 本体
SCOR 模型是供应链流程标准化的成果,是为供应链伙伴间有效沟通设计的参考模型,它包含流程的标准描述、标准指标和最佳实践等元素,能提供标准化术语和流程,但缺乏供应链的数学形式描述及解决问题的最优或启发式方法,导致流程建模和 IT 实现存在歧义。因此,有必要从 SCOR 模型中提取供应链的通用概念,建立统一的词汇表。
SCOR 流程模型可表示为元组 (SCOR_P=(P_{SC}, C_{SC}, H_{SC}, M_{SC}, B_{SC})):
- (P_{SC}=(N_{SC}, ID_{SC}, CA_{SC}, HR_{SC}, I_{SC}, O_{SC}, PF_{SC}, PP_{SC}, PM_{SC}, PB_{SC})) 表示 SCOR 中定义的流程元素,可构成完整的供应链流程。具体而言,一个流程元素包含以下属性:
- (N_{SC}):流程元素的名称。
- (ID_{SC}):流程元素的 ID。
- (CA_{SC}):流程元素的类别。
- (HR_{SC}):流程元素的层次级别,SCOR 模型仅指定三层层次结构,供应链设计师需开发更深层次的流程模型。
- (I_{SC}):流程元素可接受的输入集。
- (O_{SC}):流程元素可能产生的输出集。
- (PF_{SC}):可在该流程元素之前执行的前序流程元素。
- (PP_{SC}):可在该流程元素之后执行的后续流程元素。
- (PM_{SC}):与流程元素相关的性能指标。
- (PB_{SC}):流程元素的最佳实践,通常用文本描述。
- (C_{SC}):SCOR 模型为流程元素定义了五种类别:计划、供应、制造、交付和返回。
- (H_{SC}):定义了供应链流程的层次结构,高层流程元素可分解为一系列低层流程元素组成的流程链。
- (M_{SC}):表示 SCOR 模型中的性能指标,包含 150 多个关键指标,用于衡量供应链运营绩效,可表示为元组 (M_{SC}=(NM_{SC}, MID_{SC}, ComME_{SC}, Aggre_{SC})),其中 (NM_{SC}) 是指标名称,(MID_{SC}) 是指标标识符,(ComME_{SC}) 是指标的组成部分,(Aggre_{SC}) 是指标与其组成部分的聚合关系。
- (B_{SC}):表示最佳实践,SCOR 模型规范中有超过 430 个可执行的实践。
在 SCOR 本体中,SCORElement 类直接继承自根概念“owl:Thing”,ProcessElement 类作为流程元素的通用概念,其不同子类描述不同层次的流程元素,具体流程元素定义和性能指标分别用 OWL 类和实例描述,指标、属性和流程元素之间的链接定义为相应类的属性,输入、输出和指标的数据类型和值范围在本体中用公理指定。
3.1.3 scorBPMN 本体
为对供应链流程模型进行语义标注,需要一组本体概念,scorBPMN 本体由此从 BPMN 本体和 SCOR 本体派生而来。
在 scorBPMN 本体中,创建了 SCProcessElement 概念,它集成了 BPMN 本体中的活动概念和 SCOR 本体中的 ProcessElement 概念,是这两个类的子类,其实例可描述供应链流程元素。SCMetric 概念表示 SCOR 模型中的性能指标,它源自 BPMN 本体中的注释概念和 SCOR 本体中的 Metric 概念。BPMN 本体中注释与活动的关联可扩展为 SCProcessElement 与 SCMetric 的链接,BPMN 本体中的 DataObject 概念扩展为表示 SCProcessElement 的输入和输出,SCOR 本体中关于数据类型和值范围的公理也在 scorBPMN 本体中扩展。
下图展示了 scorBPMN 本体的核心概念:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef metric fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
classDef data fill:#FFEBEB,stroke:#E68994,stroke-width:2px;
A(SCProcessElement):::process -->|Input/Output| B(DataObject):::data
A -->|Related| C(SCMetric):::metric
4 流程模型的语义标注
供应链流程模型的语义标注指将流程模型元素与供应链本体概念链接,使不同来源的流程模型获得标准化解释,这通过利用 scorBPMN 本体和基于相似度的匹配来实现。标注流程模型的步骤如下:
1.
输入
:标注的输入是 BPMN 格式的流程模型。
2.
元素选择
:确定本体中可与流程模型元素匹配的概念,选择与流程模型元素具有相同类别的本体概念进行相似度比较。
3.
相似度计算
:计算流程模型元素与本体实例之间的相似度,具体计算方法将在后续介绍。
4.
匹配
:选择 scorBPMN 本体中与流程模型元素相似度最高的实例进行标注。
5.
迭代
:一个元素的标注可能影响其相邻元素的相似度值,因此需要迭代上述标注步骤。
4.1 相似度计算
为建立流程模型元素与本体实例之间的链接,需比较它们的相似度,计算基于字符串匹配,包括句法相似度、语言相似度和结构相似度三个方面。
4.1.1 句法相似度
句法相似度基于两个字符串的编辑距离测量,Maedche 和 Staab 提出的方法用于比较流程元素名称和本体实例名称。流程模型元素名称 (e) 和实例名称 (o) 的句法相似度定义为:
[sim_{syn}=\frac{min(|e|,|o|)-ed(e,o)}{min(|e|,|o|)}]
其中,(min(|e|, |o|)) 表示两个字符串的最小长度,(ed(e, o)) 是两个字符串的 Levenshtein 编辑距离。例如,“Transfer material” 和 “deliver raw material” 的最小长度为 17,Levenshtein 编辑距离为 8,句法相似度为 0.529。
4.1.2 语言相似度
为解决词汇的同义词和同音词问题,引入语言相似度,它基于 WordNet 中的同义词关系测量。设函数 (\varsigma(o)) 检索给定本体概念实例 (o) 在 WordNet 中的所有同义词,函数 (S = \varsigma(o) \cap \varsigma(e)) 表示本体实例名称 (o) 和流程模型元素 (e) 的同义词交集。定义函数:
[f(S)=\begin{cases}
1, & \text{if } S \neq \varnothing \
0, & \text{if } S = \varnothing
\end{cases}]
设 (max(|\varsigma(o)|, |\varsigma(e)|)) 表示两个集合 (\varsigma(o)) 和 (\varsigma(e)) 的最大基数,则本体实例 (o) 和流程元素 (e) 的语言相似度定义为:
[sim_{lin}=\frac{f(S)}{max(|\varsigma(o)|,|\varsigma(e)|)}]
4.1.3 结构相似度
结构相似度基于本体概念和流程模型元素的特征,对于 SCProcessElement,其特征包括输入和输出集、前序和后续流程元素、相关性能指标。结构相似度 (sim_{strc}) 定义为:
[sim_{strc}=\frac{\sum_{i = 1}^{n}w_{i}^{p}sim_{i}(p_{i}^{o}, p_{i}^{e})}{\sum_{i = 1}^{n}w_{i}^{p}}]
其中,(sim_{i}(p_{i}^{o}, p_{i}^{e})) 表示特征之间的相似度,(sim_{i}(p_{i}^{o}, p_{i}^{e}) = sim_{syn}(p_{i}^{o}, p_{i}^{e}) + sim_{lin}(p_{i}^{o}, p_{i}^{e})),(w_{i}^{p}) 是相似度的相应权重,目前简单取值为 1。
4.1.4 组合相似度
最终的组合相似度定义为:
[sim_{com}=\frac{w_{syn}sim_{syn}(o,e)+w_{lin}sim_{lin}(o,e)+w_{strc}sim_{strc}(o,e)}{w_{syn}+w_{lin}+w_{strc}}]
其中,(w_{syn}) 是句法相似度的权重,(w_{lin}) 是语言相似度的权重,(w_{strc}) 是结构相似度的权重。
以下是测量几个本体实例与流程模型元素相似度的结果示例:
| 本体实例 | 流程模型元素 | 句法相似度 | 语言相似度 | 结构相似度 | 组合相似度 |
| ---- | ---- | ---- | ---- | ---- | ---- |
| 实例 1 | 元素 1 | 0.6 | 0.3 | 0.5 | 0.5 |
| 实例 2 | 元素 2 | 0.4 | 0.2 | 0.6 | 0.45 |
| 实例 3 | 元素 3 | 0.7 | 0.1 | 0.4 | 0.48 |
4.2 相似度计算示例
为了更好地理解上述相似度计算方法,下面通过一个具体示例来展示整个计算过程。
假设我们有一个流程模型元素 (e) 名为 “Deliver Goods”,以及一个本体实例 (o) 名为 “Transfer Products”。
4.2.1 句法相似度计算
- 首先计算两个字符串的长度,(\vert e\vert = 12),(\vert o\vert = 15),则 (min(\vert e\vert, \vert o\vert)=12)。
- 计算 Levenshtein - edit 距离 (ed(e, o)),通过编辑操作(插入、删除、替换)将 “Deliver Goods” 转换为 “Transfer Products”,假设 (ed(e, o) = 7)。
- 根据句法相似度公式 (sim_{syn}=\frac{min(\vert e\vert,\vert o\vert)-ed(e, o)}{min(\vert e\vert,\vert o\vert)}),可得 (sim_{syn}=\frac{12 - 7}{12}\approx0.417)。
4.2.2 语言相似度计算
- 利用 WordNet 检索 “Deliver Goods” 和 “Transfer Products” 的同义词集合 (\varsigma(e)) 和 (\varsigma(o))。假设 (\vert\varsigma(e)\vert = 5),(\vert\varsigma(o)\vert = 6),且它们的同义词交集 (S=\varsigma(e)\cap\varsigma(o)) 中有 1 个元素。
- 定义函数 (f(S)=\begin{cases}1, & \text{if } S \neq \varnothing \0, & \text{if } S = \varnothing\end{cases}),这里 (f(S) = 1)。
- 根据语言相似度公式 (sim_{lin}=\frac{f(S)}{max(\vert\varsigma(o)\vert,\vert\varsigma(e)\vert)}),可得 (sim_{lin}=\frac{1}{6}\approx0.167)。
4.2.3 结构相似度计算
假设对于这个示例,我们考虑两个特征:输入和输出。设输入特征的相似度 (sim_{1}(p_{1}^{o}, p_{1}^{e})) 中,句法相似度 (sim_{syn}(p_{1}^{o}, p_{1}^{e}) = 0.5),语言相似度 (sim_{lin}(p_{1}^{o}, p_{1}^{e}) = 0.2),则 (sim_{1}(p_{1}^{o}, p_{1}^{e})=0.5 + 0.2 = 0.7);输出特征的相似度 (sim_{2}(p_{2}^{o}, p_{2}^{e})) 中,句法相似度 (sim_{syn}(p_{2}^{o}, p_{2}^{e}) = 0.4),语言相似度 (sim_{lin}(p_{2}^{o}, p_{2}^{e}) = 0.1),则 (sim_{2}(p_{2}^{o}, p_{2}^{e})=0.4 + 0.1 = 0.5)。权重 (w_{1}^{p}=w_{2}^{p}=1)。
- 根据结构相似度公式 (sim_{strc}=\frac{\sum_{i = 1}^{n}w_{i}^{p}sim_{i}(p_{i}^{o}, p_{i}^{e})}{\sum_{i = 1}^{n}w_{i}^{p}}),可得 (sim_{strc}=\frac{1\times0.7+1\times0.5}{1 + 1}=0.6)。
4.2.4 组合相似度计算
假设 (w_{syn}=0.4),(w_{lin}=0.2),(w_{strc}=0.4)。
- 根据组合相似度公式 (sim_{com}=\frac{w_{syn}sim_{syn}(o,e)+w_{lin}sim_{lin}(o,e)+w_{strc}sim_{strc}(o,e)}{w_{syn}+w_{lin}+w_{strc}}),可得 (sim_{com}=\frac{0.4\times0.417+0.2\times0.167+0.4\times0.6}{0.4 + 0.2+0.4}\approx0.45)。
4.3 语义标注工具
为了实现上述语义标注过程,通常会使用图形原型软件工具。该工具的主要功能和操作流程如下:
1.
导入流程模型
:将 BPMN 格式的供应链流程模型导入到工具中。
2.
相似度测量
:工具自动执行流程模型元素与 scorBPMN 本体实例之间的相似度计算,包括句法、语言和结构相似度的计算。
3.
候选标注列出
:在用户进行标注操作时,工具会根据相似度计算结果列出候选的本体实例,供用户选择。
4.
标注确认
:用户从候选标注中选择合适的本体实例对流程模型元素进行标注。
5.
输出标注结果
:标注完成后,工具将标注后的流程模型输出为 OWL - DL 文件,方便后续的处理和分析。
以下是该工具操作流程的 mermaid 流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([导入 BPMN 流程模型]):::startend --> B(相似度测量):::process
B --> C(列出候选标注):::process
C --> D{用户选择标注}:::process
D -->|确认标注| E(输出 OWL - DL 文件):::process
D -->|重新选择| C
5 总结与展望
5.1 总结
本文介绍了一种用于供应链流程模型语义标注的本体方法。通过结合 BPMN 本体和 SCOR 本体,创建了 scorBPMN 本体,为供应链流程模型的语义标注提供了必要的本体概念。在语义标注过程中,通过元素选择、相似度计算、匹配和迭代等步骤,将流程模型元素与 scorBPMN 本体实例进行链接,实现了不同来源流程模型的标准化解释。相似度计算基于字符串匹配,综合考虑了句法、语言和结构相似度,提高了标注的准确性。
5.2 展望
虽然该方法在供应链流程模型的语义标注方面取得了一定的成果,但仍有一些方面可以进一步改进和拓展:
-
相似度计算优化
:目前的相似度计算方法在某些情况下可能不够准确,例如对于复杂的业务术语和语义关系。未来可以考虑引入更高级的自然语言处理技术和语义分析方法,提高相似度计算的精度。
-
本体扩展
:随着供应链业务的不断发展和变化,现有的 scorBPMN 本体可能无法涵盖所有的业务场景和概念。可以进一步扩展本体,纳入更多的业务知识和领域信息,以适应更广泛的应用需求。
-
工具性能提升
:图形原型软件工具在处理大规模流程模型时可能会出现性能问题。可以对工具进行优化,提高其处理效率和稳定性,例如采用分布式计算和缓存技术。
-
跨领域应用
:该方法可以尝试应用于其他领域的流程模型语义标注,如制造业、服务业等,探索其在不同领域的适用性和有效性。
通过不断的改进和拓展,这种本体方法有望在供应链管理和业务流程建模领域发挥更大的作用,为企业的数字化转型和业务协同提供更有力的支持。
超级会员免费看
33

被折叠的 条评论
为什么被折叠?



