【过程挖掘算法3】Heuristic Miner(启发式挖掘算法)

Heuristic Miner(启发式挖掘算法)是在2003年被A.J.M.M. Weijters 所提出来,并在2006年进行完善,是一种继α算法之后又一经典的过程发现算法,接下来,我们将详细地介绍这一算法。

1.背景介绍

现代的工作流管理系统是由显式的过程模型驱动的,也就是说,为了制定给定的工作流过程,需要一个完全指定的工作流设计。创建工作流设计是一个复杂的耗时的过程,通常,实际的工作流过程和管理层所感知的过程之间存在差异。因此,提出了一种可重新发现(rediscovering)工作流模型的技术。该技术使用工作流日志来发现实际执行的工作流过程。工作流日志包含有关发生事件的信息。我们假设这些事件是完全有序的,每个事件指的是单个案例中正在执行的一个任务。这些信息可以很容易地从业务信息系统(例如,企业资源规划系统,例如SAP)中提取出来。

已有提出的过程发现算法如α算法是不能够处理噪声的,对短循环和长循环也无法处理。为此,一种更为先进的算法Heuristic Miner被提出,用于解决这些问题。

2.算法介绍

算法大致分为四个步骤:(1)构造一个依赖/频次表(D/F表);(2)建立活动的依赖度量表; (3)根据依赖/频次表和活动的依赖度量表建立依赖图,(3)将依赖图转化为WF-Net。

2.1 构建一个依赖/频次表

这里使用了α算法中定义的四种基本关系:跟随,因果,并行,无关,这里使用了直接跟随关系,定义如下:

 比如,给定一个事件日志L = [<a,e>5 , <a,b,c,e>10 , <a,c,b,e>10 , <a,b,e>1 , <a,c,e>1 , <a,d,e>10 , <a,d,d,e>2 , <a,d,d,d,e>1]

注:<>里表示的是活动序列即轨迹,后面的数字表示轨迹的频次。

那么,在事件日志L中的直接跟随关系集合为>L={(a,e),(a,b),(b,c),(c,e),(a,c),(c,b),(b,e),(a,d),(d,e),(d,d)}

再根据直接跟随关系集合中对应的频次,建立一个依赖/频次表,如下所示。

 2.2 建立活动的依赖度量表

2.3 根据依赖/频次表和活动的依赖度量表建立依赖图

 2.4 将依赖图转化为WF-Net

对应图6.4的Petri网
对应图6.5的Petri网

  

以上为启发式挖掘算法如何从一个事件日志转化为Petri网过程模型的简单示例。下面我们具体来看看启发式挖掘算法是怎么解决之前过程发现算法存在的问题。

3.启发式挖掘算法解决的问题

一个Petri网

3.1 噪声的处理(相关阈值参数设置)

 从上图的Petri网生成一个日志L0=[<ABCD>9,<ACBD>,<AED>9,<ABCED>,<AECBD>,<AD>],其中有三条不正确(incorrect)的轨迹: <ABCED>,<AECBD>,<AD>.

注:<>里表示的是活动序列即轨迹,后面的数字表示轨迹的频次,没数字的表示频次为1。

通过第2节中的算法流程,我们可以完成对噪声处理。

但是,在实际业务过程中,我们不知道轨迹<AD>是否为真的噪声还是低频率模式,为了处理这个问题,Heuristic Miner中设置了三个阈值参数:

(i) 依赖阈值(the Dependency threshold);

(ii)积极观察阈值(the  Positive observations threshold);

  (iii)   相对最佳阈值(the Relative to best threshold).

通过这些阈值,我们认为(i)依赖性度量高于依赖性阈值,以及(ii)频次高于积极观察阈值的活动之间的依赖关系,以及(iii)具有依赖性度量,其与“最佳”依赖性度量的差值小于相对最佳阈值。

3.2 处理短循环

3.2.1 处理长度为1的短循环

使用下方公式:

3.2.2  处理长度为2的短循环 

 特别注意:一个长度为1的循环C与一个并发进程A相结合,可以很容易地生成类似CAC的模式。为了防止这个陷阱的启发,我们需要一个长度为2的依赖关系只有当A和C不是长度为1的回路时,A和C之间的WC才成立。简而言之,我们先计算方程式(1),然后再计算方程式(2)。这样,在搜索长度为2的循环之前,我们将捕获长度为1的循环构造中的所有任务。

3.3 处理AND/XOR-split/join 和不可观测任务

一个Petri网

   上图中所示的事件日志W=[ABCD,ABCD,ACBD,ACBD,AED]的过程模型是一个Petri网。活动由变迁来表示。

   在执行第一个任务A之后,可以选择是同时执行B和C(即并行或以任何顺序),或者只执行活动E。如果并行执行B和C,就需要添加了两个不可观测(non-observable)的活动(AND-split 和AND-join),注:不可观测变迁也可叫作无声变迁、静默变迁等,在Petri网可视化工具中通常以黑色方块形式出现。挖掘这些不可观测的活动很困难,因为它们不存在于事件日志中。为了避免对不可观测进行显式建模。

在HeuristicsMiner中,我们不使用Petri网来表示过程模型,而是使用所谓的因果矩阵(Causal Matrix)。作为一个例子,我们展示了上图的Petri网到因果矩阵表示的转换,下图为因果矩阵。

 使用下述公式计算:

 3.4 处理长距离依赖关系

一个非自由选择结构的过程模型

  上图显示了一个长距离依赖关系构造。在执行活动D之后,存在活动E和活动F之间的选择。然而,E和F之间的选择是由之前的B和C之间的选择“控制”的。显然,这种非局部行为是很难挖掘的,因为主要基于直接跟随关系(a>Wb)的挖掘方法。

使用的HeuristicsMiner挖掘图中的流程模型生成的事件日志,将生成一个没有B到E和C到F连接的依赖关系图。

4.工具插件

(1)使用prom6运行的插件svn下载地址:prom - Revision 46137: /Packages/HeuristicsMiner/Trunk (tue.nl)

运行插件界面图:

生成的是一个依赖图,要得到最后的Petri网,插件转化:

(2)使用pm4py调用Inductive Miner算法的链接地址:

PM4Py - Process Mining for Python (fraunhofer.de)

5.总结

Heuristic Miner算法将轨迹的频次考虑在内,存在以下优势:

(1)对噪声敏感;

(2)能够处理长度为1和长度为2的短循环;

(3)处理AND/XOR-split/join 和不可观测任务;

(4)处理长距离依赖关系。
 

参考文献:

1.《过程挖掘:业务过程的发现、合规和改进》,Wil van der Aalst著,王建民、闻立杰等译;

2.Weijters A, Van der Aalst W M P. Rediscovering workflow models from event-based data using little thumb[J]. Integrated Computer Aided Engineering, 2003, 10(2): 151-162.

3.Weijters A, van Der Aalst W M P, De Medeiros A K A. Process mining with the heuristics miner-algorithm[J]. Technische Universiteit Eindhoven, Tech. Rep. WP, 2006, 166(July 2017): 1-34.

下一讲将介绍最经典的过程挖掘算法α系列算法(包括α算法、α+算法、α++算法、α$算法等)。

如需进行相关的了解或者交流,欢迎私信或者加入QQ群:

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北冥有鱼zsp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值