业务信息系统运行过程中会产生大量的事件数据记录,这些数据组成了事件日志,通过相应的流程发现算法可以将事件日志进行可视化处理,使得人们能够直观地对业务流程的运行有更加清晰明确地认识。将事件日志通过流程发现算法建模得到的形式化表示就是流程发现模型。目前在流程挖掘领域,最常见的流程模型形式包括有向图,Petri网,BPMN,Process Tree三种形式的模型。接下来我们将详细地介绍这几种流程模型。
1.有向图(DFG)
有向图也叫直接跟随关系图(Directly Follow Graph,DFG),是目前最简单的流程模型,也是商用最为广泛的可视化形式。在一个DFG图中,每个节点表示一个活动,其中的边表示活动之间的直接跟随关系。在流程模型中,DFG只有一个起点和一个终点,分别代表开始和结束活动。
例如,给定一个事件日志L=[<a,b,c,g>1,<a,c,d,f,g>4,<a,b,d,e,g>2,<a,c,d,f,g>2,<a,b,d,e,f,g>1]共10条轨迹,其对应的DFG如下图所示。

其中绿色a表示开始活动,红色g表示结束活动,如果事件日志L的轨迹中存在b紧紧跟随a这样的活动关系,那么就在a和b之间连接一条有向边。
2.Petri网
Petri网是一个三元组,其中的P表示库所,T表示变迁,F表示流关系 ,下面我们将举例说明简单Petri网的基本概念。
从上述日志L中使用流程发现算法Inductive Miner得到的Petri网模型如下图所示。

其中的库所在图中用圆圈表示,变迁在图中用方块表示,而流关系F则用有向弧表示,如上图所示,
库所集合P为{source,p1,p2,p3,p4,p5,p6,sink};其中的source表示源库所,sink表示终结库所,一般赋予初始库所一个token,图中用黑色小圆点表示,可以通过token触发发生规则,来判断轨迹是否能拟合模型,这里先不再赘述。
变迁集合T为{a,b,c,d,e,f,g}(对应事件日志中的活动,图中的黑色方块表示静默变迁,表示隐藏的活动,在事件日志中并没有对应的表示,所以我们不计算在内。)
流关系F集合对应有向弧,包含source->a,a->p1,...
值得注意的是,当用Petri网对业务流程进行建模的时候,通常会考虑Petri网的一个子类-工作流网(WF-nets),一个工作流网,是一个有着明确的源库所和终结库所的Petri网,流程从源库所开始并在终结库所结束。此外,所有结点都在从源库所到终结库所的路径上,上述的Petri网就是一个工作流网。
3.BPMN
BPMN(Business Process Modeling Notation,即业务流程建模与标注)已成为使用最广泛的业务流程建模语言之一。BPMN被许多工具提供商支持。
上述示例日志L转化为BPMN模型如下所示,
4.流程树
流程树(Process Tree)是一种块结构的流程模型,它是以一种树的形式呈现给用户,其中树的结点由流程树运算符和事件活动组成,叶子节点为事件日志中的活动,非叶子节点则是流程树运算符的集合,流程树运算符包括顺序,排他,并发,循环四种,具体的解释如下:
X: 排他运算符; -> : 顺序运算符; Q : 循环运算符; ^ : 并发运算符
- 排他运算符的规则为一个子过程A与另一个子过程B两个之间没有任何关联,一个子过程A中的活动的后继活动不能在另一个子过程B中,一个子过程B中的活动的后继活动不能在另一个子过程A中,两者互不关联。
- 顺序运算符的规则为从一个子过程A到另一个子过程B有出边,但是无入边,两者总体上只有一方到另一方。
- 并发运算符的规则为一个子过程A既有到另一个子过程的出边,也有另一个子过程B到这个子过程A的入边。两者彼此交叉,并行存在。
- 循环运算符的规则为一个活动从子过程A出发,到达另一个子过程B中,再由B重现回到A。总结为起于此终于此。
示例日志L通过模型发现算法Inductive Miner发现的流程树模型如下图所示。
5.总结
除了上述常用的4种流程模型外,还有YAML,EPC,因果网等其他的流程模型,我们可以通过模型来分析事件日志的行为,找出其偏差的活动,从而来优化业务流程。
参考文献:
《流程挖掘:业务流程的发现、合规和改进》,Wil van der Aalst著,王建民、闻立杰等译;
下一讲将介绍关于模型与日志之间的四个常用的度量维度。
如需进行相关的了解或者交流,欢迎私信或者加入QQ群: