发明内容
本发明的第一目的在于克服现有技术的缺点与不足,提供了一种业务流程事件日志采样方法,突破传统的过程发现方法不能处理大规模事件日志或者可能导致发现过程处理效率低下的问题,通过将任意大规模事件日志作为输入来获得代表性样本日志,此样本日志比原始日志小得多,处理效率也更高。
本发明的第二目的在于提供一种业务流程事件日志采样系统。
本发明的第一目的通过下述技术方案实现:一种业务流程事件日志采样方法,包括以下步骤:
1)获取事件日志的活动数和直接跟随活动数量;
2)根据步骤1)获取的活动数和直接跟随活动数量计算事件日志的活动代表值和直接跟随活动代表值;
3)根据步骤2)获得的活动代表值和直接跟随活动代表值计算事件日志中每条轨迹的平均活动代表值和平均直接跟随活动代表值;
4)根据步骤3)获得的每条轨迹的平均活动代表值和平均直接跟随活动代表值计算事件日志中每条轨迹代表值,并根据所得轨迹代表值对轨迹排序;
5)根据设定的采样率计算出所选择的轨迹数量N,依次选择排序后的前N条轨迹,组成新的日志即为采样日志。
在步骤1)中,所述事件日志是由案例组成,所述案例是由事件组成,案例中的事件用轨迹的形式来表示,事件有很多属性,用活动表示事件;所述直接跟随活动是指在事件日志的一条轨迹中,满足活动b紧紧跟随在活动a之后,记作<a,b>。
在步骤2)中,结合事件日志的活动数和直接跟随活动数,求出事件日志的活动代表值和直接跟随活动代表值;所述活动代表值是指事件日志中一个活动在所有轨迹中出现的次数与事件日志中的所有活动数量的比值;所述直接跟随活动代表值是指事件日志中一个直接跟随活动在所有轨迹中出现的次数与事件日志中的所有直接跟随活动数量的比值;其中,活动代表值与直接跟随活动代表值的计算如下:
事件日志中活动a的活动代表值sig(a)的计算公式如下:
式中,L表示事件日志,σ
i表示事件日志L中的第i条轨迹,1≤i≤|L|;
表示在事件日志L中,包含活动a的轨迹σ
i∈L的总数,|L|表示事件日志L中的轨迹数;
事件日志L中直接跟随活动<a,b>的直接跟随活动代表值sig(a,b)的计算公式如下:
式中,
表示在事件日志L中,包含直接跟随活动〈a,b〉的轨迹σ
i∈L的总数。
在步骤3)中,根据步骤2)得出的事件日志的各个活动代表值和直接跟随活动代表值,计算出每条轨迹的平均活动代表值和平均直接跟随活动的代表值;所述轨迹的平均活动代表值是指对该轨迹中的所有活动的活动代表值求和,然后除以该轨迹中的活动总数;所述轨迹的平均直接跟随活动代表值是指对该轨迹中的所有直接跟随活动的直接跟随活动代表值求和,然后除以该轨迹中的直接跟随活动总数;其中,每条轨迹的平均活动代表值与平均直接跟随活动代表值的计算如下:
每条轨迹的平均活动代表值sigAvgA(σ)的计算公式如下:
式中,σ表示事件日志中的轨迹,sig(i)表示轨迹σ中的活动i的活动代表值,
表示在轨迹σ中的所有活动的活动代表值的总和,|σ|表示轨迹σ中的活动数;
每条轨迹的平均直接跟随活动代表值sigAvgDFA(σ)的计算公式如下:
式中,sig(i,i+1)表示轨迹σ中的直接跟随活动<i,i+1〉的直接跟随活动代表值;
表示在轨迹σ中的所有直接跟随活动代表值的总和,|σ|-1表示轨迹σ中的直接跟随活动数量。
在步骤4)中,根据步骤3)得到的事件日志中每条轨迹的平均活动代表值和平均直接跟随活动的代表值,计算出每条轨迹的代表值;所述轨迹代表值是指1减去该轨迹的平均活动代表值和平均跟随活动代表值之和的一半所得到的结果;对于事件日志中的每条轨迹,计算它们的轨迹代表值,并将所有的轨迹按照轨迹代表值的大小,从小到大进行排序;其中,所述轨迹代表值的计算公式如下:
式中,σ表示事件日志中的轨迹,sigAvgA(σ)表示轨迹σ的平均活动代表值,sigAvgDFA(σ)表示轨迹σ的平均直接跟随活动代表值;
所述
式中,sig(i)表示轨迹σ中的活动i的活动代表值,
表示在轨迹σ中的所有活动的活动代表值的总和,|σ|表示轨迹σ中的活动数;
所述
式中,sig(i,i+1)表示轨迹σ中的直接跟随活动<i,i+1>的直接跟随活动代表值;
表示在轨迹σ中的所有直接跟随活动代表值的总和,|σ|-1表示轨迹σ中的直接跟随活动数量。
在步骤5)中,根据预先输入的特定的采样率,计算采样率与原始日志大小乘积后取整得到的整数,即为所选择的轨迹数量N,针对步骤4)中已经排序好的所有轨迹进行选择,选取前N条轨迹组成新的事件日志,即为采样日志L';其中,所述采样率是指事先确定最终所得日志占原始日志的百分比,所述原始日志大小为|L|,即事件日志L中的轨迹数。
本发明的第二目的通过下述技术方案实现:一种业务流程事件日志采样系统,其特征在于,包括数据获取模块、事件日志代表值计算模块、事件日志轨迹排序模块、事件日志轨迹选择模块;其中:
所述数据获取模块获取事件日志的活动数和直接跟随活动数量,用于事件日志代表值计算模块来计算活动代表值和直接跟随活动代表值;其中,所述事件日志是由案例组成,所述案例是由事件组成,案例中的事件用轨迹的形式来表示,事件有很多属性,用活动表示事件,所述直接跟随活动是指在事件日志的一条轨迹中,满足活动b紧紧跟随在活动a之后,记作<a,b〉;
所述事件日志代表值计算模块用于计算事件日志的活动代表值和直接跟随活动代表值,然后再对每一条轨迹计算平均活动代表值和平均直接跟随活动代表值,最后计算事件日志中的每一条轨迹代表值;
所述事件日志轨迹排序模块用于根据事件日志代表值计算模块中的轨迹代表值对轨迹按从小到大的顺序进行排序;
所述事件日志轨迹选择模块用于根据预先输入的特定的采样率,对于已经按照轨迹代表值大小排序好的所有轨迹,选取前N条轨迹组成新的事件日志,即为采样日志。
进一步,所述事件日志代表值计算模块执行如下操作:
根据数据获取模块得出的事件日志的各个活动代表值和直接跟随活动代表值,先计算出事件日志活动代表值和直接跟随活动代表值;所述活动代表值是指事件日志中一个活动在所有轨迹中出现的次数与事件日志中的所有活动数量的比值;所述直接跟随活动代表值是指事件日志中一个直接跟随活动在所有轨迹中出现的次数与事件日志中的所有直接跟随活动数量的比值;其中,活动代表值与直接跟随活动代表值的计算如下:
事件日志中活动a的活动代表值sig(a)的计算公式如下:
式中,L表示事件日志,σ
i表示事件日志L中的第i条轨迹,1≤i≤|L|;
表示在事件日志L中,包含活动a的轨迹σ
i∈L的总数,|L|表示事件日志L中的轨迹数;
事件日志L中直接跟随活动〈a,b〉的直接跟随活动代表值sig(a,b)的计算公式如下:
式中,
表示在事件日志L中,包含直接跟随活动〈a,b〉的轨迹σ
i∈L的总数;
然后根据计算出事件日志活动代表值和直接跟随活动代表值,对每一条轨迹计算平均活动代表值和平均直接跟随活动代表值;所述轨迹的平均活动代表值是指对该轨迹中的所有活动的活动代表值求和,然后除以该轨迹中的活动总数;所述轨迹的平均直接跟随活动代表值是指对该轨迹中的所有直接跟随活动的直接跟随活动代表值求和,然后除以该轨迹中的直接跟随活动总数;其中,每条轨迹的平均活动代表值与平均直接跟随活动代表值的计算如下:
每条轨迹的平均活动代表值sigAvgA(σ)的计算公式如下:
式中,σ表示事件日志中的轨迹,sig(i)表示轨迹σ中的活动i的活动代表值,
表示在轨迹σ中的所有活动的活动代表值的总和,|σ|表示轨迹σ中的活动数;
每条轨迹的平均直接跟随活动代表值sigAvgDFA(σ)的计算公式如下:
式中,sig(i,i+1)表示轨迹σ中的直接跟随活动〈i,i+1〉的直接跟随活动代表值;
表示在轨迹σ中的所有直接跟随活动代表值的总和,|σ|-1表示轨迹σ中的直接跟随活动数量;
最后,根据计算出的每条轨迹的平均活动代表值与平均直接跟随活动代表值,计算事件日志中的每一条轨迹代表值;所述轨迹代表值是指1减去该轨迹的平均活动代表值和平均跟随活动代表值之和的一半所得到的结果;对于事件日志中的每条轨迹,计算它们的轨迹代表值,并将所有的轨迹按照轨迹代表值的大小,从小到大进行排序;其中,所述轨迹代表值的计算公式如下:
式中,σ表示事件日志中的轨迹,sigAvgA(σ)表示轨迹σ的平均活动代表值,sigAvgDFA(σ)表示轨迹σ的平均直接跟随活动代表值。
进一步,所述事件日志轨迹选择模块执行如下操作:
根据预先输入的特定的采样率,计算采样率与原始日志大小乘积后取整得到的整数,即为所选择的轨迹数量N,针对事件日志轨迹排序模块中已经排序好的所有轨迹进行选择,选取前N条轨迹组成新的事件日志,即为采样日志L';其中,所述采样率是指事先确定最终所得日志占原始日志的百分比,所述原始日志大小为|L|,即事件日志L中的轨迹数。
本发明与现有技术相比,具有如下优点与有益效果:
1、本发明首次实现了对于大规模事件日志,采用较以往更高效的业务流程事件日志采样方法对其采样,选择一个具有代表性的轨迹子集组成样本日志,利于处理大规模事件日志。
2、本发明首次使用较以往更高效的业务流程事件日志采样方法进行采样,更有效率,极大地提高了事件日志的采样效率,为过程挖掘领域提供了一种新的采样方法。
3、本发明可以结合大数据领域,部署在分布式系统上,能更高效地处理大规模的事件日志。
4、本发明在对大规模日志进行过程发现方面具有广泛的使用空间,实用性强,在过程发现、一致性检查等诸多过程挖掘领域有广阔前景。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
本实施例公开了一种业务流程事件日志采样方法,如图1所示,该方法已经在Prom工具以插件的方式实现,如图2所示;该采样方法通过获取事件日志的活动数与直接跟随活动数量,再分别计算事件日志的活动代表值和直接跟随活动代表值、事件日志中每条轨迹的平均活动代表值和平均直接跟随活动的代表值,再根据轨迹代表值进行排序,最后采用特定的采样率产生采样日志;具体包括以下步骤:
1)获取事件日志的活动数和直接跟随活动数量。其中,所述事件日志是由案例组成,所述案例是由事件组成,案例中的事件用轨迹的形式来表示。事件可以有很多属性,本发明中用活动表示事件;所述直接跟随活动是指在事件日志的一条轨迹中,满足活动b紧紧跟随在活动a之后,记作〈a,b〉;
采用上述步骤,事件日志L={<a,b,d,e>,<a,c,e>,<b,c>,<b,d>},在Prom工具中如图4所示;在事件日志L中,共包含4条轨迹,有a,b,c,d和e共5个活动,直接跟随活动有<a,b>,<b,d>,<d,e>,<a,c>,<c,e>,<b,c>共6个。
2)计算事件日志的活动代表值和直接跟随活动代表值,其中活动代表值与直接跟随活动代表值的计算如下:
事件日志中活动a的活动代表值sig(a)的计算公式如下:
式中,L表示事件日志,σ
i表示事件日志L中的第i条轨迹,
表示在事件日志L中,包含活动a的轨迹σ
i∈L(1≤i≤|L|)的总数,|L|表示事件日志L中的轨迹数;
经过本步骤,事件日志L={<a,b,d,e>,<a,c,e>,<b,c>,<b,d>}中,|L|=4,包含活动a的轨迹有<a,b,d,e>,<a,c,e>共2条轨迹,所以sig(a)=2/4=1/2;包含活动b的轨迹有<a,b,d,e>,<b,c>,<b,d>共3条轨迹,所以sig(b)=3/4;包含活动c的轨迹有<a,c,e>,<b,c>共2条轨迹,所以sig(c)=2/4=1/2;包含活动d的轨迹有<a,b,d,e>,<b,d>共2条轨迹,所以sig(d)=2/4=1/2;包含活动e的轨迹有<a,b,d,e>,<a,c,e>共2条轨迹,所以sig(e)=2/4=1/2;
事件日志L中直接跟随活动<a,b>的直接跟随活动代表值sig(a,b)的计算公式如下:
式中,L表示事件日志,σ
i表示事件日志L中的第i条轨迹,
表示在事件日志L中,包含直接跟随活动<a,b>的轨迹σ
i∈L(1≤i≤|L|)的总数,|L|表示事件日志L中的轨迹数;
本步骤中,事件日志L={<a,b,d,e>,<a,c,e>,<b,c>,<b,d>},|L|=4,包含直接跟随活动〈a,b〉的轨迹有<a,b,d,e>共1条轨迹,所以sig(a,b)=1/4;包含直接跟随活动〈b,d〉的轨迹有<a,b,d,e>,<b,d>共2条轨迹,所以sig(b,d)=2/4=1/2;包含直接跟随活动<d,e〉的轨迹有<a,b,d,e>共1条轨迹,所以sig(d,e)=1/4;包含直接跟随活动<a,c〉的轨迹有<a,c,e>共1条轨迹,所以sig(a,c)=2/4=1/2;包含直接跟随活动<c,e〉的轨迹有<a,c,e>共1条轨迹,所以sig(c,e)=1/4;包含直接跟随活动<b,c>的轨迹有<b,c>共1条轨迹,所以sig(b,c)=1/4。
3)计算事件日志中每条轨迹的平均活动代表值和平均直接跟随活动代表值;
每条轨迹的平均活动代表值sigAvgA(σ)的计算方式如下:
式中,σ表示事件日志中的一条轨迹,sig(i)表示轨迹σ中的活动i的活动代表值,
表示在轨迹σ中的所有活动的活动代表值的总和,|σ|表示轨迹σ中的活动数;
采用本步骤,事件日志L={<a,b,d,e>,<a,c,e>,<b,c>,<b,d>}中,有4条轨迹,分别记σ1=<a,b,d,e>,σ2=<a,c,e>,σ3=<b,c>,σ4=<b,d>;σ1共有a,b,d,e等4个活动,所以|σ1|=4,依次类推,|σ2|=3,|σ3|=2,|σ4|=2;所以sigAvgA(σ1)=sig(a)+sig(b)+sig(d)+sig(e)/|σ1|=9/16,同理,sigAvgA(σ2)=1/2,sigAvgA(σ3)=5/8,sigAvgA(σ4)=5/8;
每条轨迹的平均直接跟随活动代表值sigAvgDFA(σ)的计算方式如下:
式中,σ表示事件日志中的轨迹,sig(i,i+1)表示轨迹σ中的直接跟随活动<i,i+1>的直接跟随活动代表值;
表示在轨迹σ中的所有直接跟随活动代表值的总和,|σ|-1表示轨迹σ中的直接跟随活动数量;
采用本步骤,事件日志L={<a,b,d,e>,<a,c,e>,<b,c>,<b,d>}中,有4条轨迹,分别记σ1=<a,b,d,e>,σ2=<a,c,e>,σ3=<b,c>,σ4=<b,d>。σ1共有<a,b>,<b,d>,<d,e>等3个直接跟随活动,所以|σ1|-1=3,依次类推,|σ2|-1=2,|σ3|-1=1,|σ4|-1=1。所以sigAvgDFA(σ1)=sig(a,b)+sig(b,d)+sig(d,e)/(|σ1|-1)=1/3,同理,sigAvgDFA(σ2)=1/4,sigAvgDFA(σ3)=1/4,sigAvgDFA(σ4)=1/2。
4)计算事件日志中每条轨迹的代表值,并根据所得轨迹代表值对轨迹排序;所述轨迹代表值是指1减去该轨迹的平均活动代表值和平均跟随活动代表值之和的一半所得到的结果。对于事件日志中的每条轨迹,计算它们的轨迹代表值,并将所有的轨迹按照轨迹代表值的大小,从小到大进行排序;其中,轨迹代表值的计算公式如下:
其中,σ表示事件日志中的轨迹,sigAvgA(σ)表示轨迹σ的平均活动代表值,sigAvgDFA(σ)表示轨迹σ的平均直接跟随活动代表值;
采用本步骤,事件日志L={<a,b,d,e>,<a,c,e>,<b,c>,<b,d>}中,有4条轨迹,分别记σ1=<a,b,d,e>,σ2=<a,c,e>,σ3=<b,c>,σ4=<b,d>。sig(σ1)=1-(9/16+1/3)/2=53/96,同理sig(σ2)=5/8,sig(σ3)=9/16,sig(σ4)=7/16。
在本步骤中,根据前面计算的轨迹代表值,从小到大排序为σ4,σ1,σ3,σ2。
所述
其中,σ表示事件日志中的轨迹,sig(i)表示轨迹σ中的活动i的活动代表值,
表示在轨迹σ中的所有活动的活动代表值的总和,|σ|表示轨迹σ中的活动数;
所述
其中,σ表示事件日志中的轨迹,sig(i,i+1)表示轨迹σ中的直接跟随活动<i,i+1>的直接跟随活动代表值;
表示在轨迹σ中的所有直接跟随活动代表值的总和,|σ|-1表示轨迹σ中的直接跟随活动数量。
5)根据特定的采样率选择前N条轨迹,包括如下步骤:
5.1)确定特定的采样率为0.3,如图3所示;
5.2)计算步骤5.1)中的采样率与原始日志大小(即|L|,为事件日志L中的轨迹数)的乘积,再取整;
在本步骤中计算的值为4*0.3=1.2,向下取整为1;
5.3)从前面步骤4)排序好的轨迹进行选择,选取步骤5.2)得到的整数条轨迹;
在本步骤中,根据前面步骤4)的排序,选择前1条轨迹即σ4,组成采样日志L',在Prom工具中运行的结果如图5所示。
实施例2
本实施例公开了一种业务流程事件日志的采样系统,系统架构如图6所示,包含数据获取模块、事件日志代表值计算模块、事件日志轨迹排序模块、事件日志轨迹选择模块,其中:
所述数据获取模块获取事件日志的活动数和直接跟随活动数量,用于事件日志代表值计算模块来计算活动代表值和直接跟随活动代表值;其中,所述事件日志是由案例组成,所述案例是由事件组成,案例中的事件用轨迹的形式来表示,事件有很多属性,用活动表示事件,所述直接跟随活动是指在事件日志的一条轨迹中,满足活动b紧紧跟随在活动a之后,记作〈a,b>;
所述事件日志代表值计算模块用于计算事件日志的活动代表值和直接跟随活动代表值,然后再对每一条轨迹计算平均活动代表值和平均直接跟随活动代表值,最后计算事件日志中的每一条轨迹代表值;
所述事件日志轨迹排序模块用于根据事件日志代表值计算模块中的轨迹代表值对轨迹按从小到大的顺序进行排序;
所述事件日志轨迹选择模块用于根据预先输入的特定的采样率,对于已经按照轨迹代表值大小排序好的所有轨迹,选取前N条轨迹组成新的事件日志,即为采样日志。
所述事件日志代表值计算模块执行如下操作:
根据数据获取模块得出的事件日志的各个活动代表值和直接跟随活动代表值,先计算出事件日志活动代表值和直接跟随活动代表值;所述活动代表值是指事件日志中一个活动在所有轨迹中出现的次数与事件日志中的所有活动数量的比值;所述直接跟随活动代表值是指事件日志中一个直接跟随活动在所有轨迹中出现的次数与事件日志中的所有直接跟随活动数量的比值;其中,活动代表值与直接跟随活动代表值的计算如下:
事件日志中活动a的活动代表值sig(a)的计算公式如下:
式中,L表示事件日志,σ
i表示事件日志L中的第i条轨迹,1≤i≤|L|;
表示在事件日志L中,包含活动a的轨迹σ
i∈L的总数,|L|表示事件日志L中的轨迹数;
事件日志L中直接跟随活动<a,b>的直接跟随活动代表值sig(a,b)的计算公式如下:
式中,
表示在事件日志L中,包含直接跟随活动<a,b>的轨迹σ
i∈L的总数;
然后根据计算出事件日志活动代表值和直接跟随活动代表值,对每一条轨迹计算平均活动代表值和平均直接跟随活动代表值;所述轨迹的平均活动代表值是指对该轨迹中的所有活动的活动代表值求和,然后除以该轨迹中的活动总数;所述轨迹的平均直接跟随活动代表值是指对该轨迹中的所有直接跟随活动的直接跟随活动代表值求和,然后除以该轨迹中的直接跟随活动总数;其中,每条轨迹的平均活动代表值与平均直接跟随活动代表值的计算如下:
每条轨迹的平均活动代表值sigAvgA(σ)的计算公式如下:
式中,σ表示事件日志中的轨迹,sig(i)表示轨迹σ中的活动i的活动代表值,
表示在轨迹σ中的所有活动的活动代表值的总和,|σ|表示轨迹σ中的活动数;
每条轨迹的平均直接跟随活动代表值sigAvgDFA(σ)的计算公式如下:
式中,sig(i,i+1)表示轨迹σ中的直接跟随活动<i,i+1>的直接跟随活动代表值;
表示在轨迹σ中的所有直接跟随活动代表值的总和,|σ|-1表示轨迹σ中的直接跟随活动数量;
最后,根据计算出的每条轨迹的平均活动代表值与平均直接跟随活动代表值,计算事件日志中的每一条轨迹代表值;所述轨迹代表值是指1减去该轨迹的平均活动代表值和平均跟随活动代表值之和的一半所得到的结果;对于事件日志中的每条轨迹,计算它们的轨迹代表值,并将所有的轨迹按照轨迹代表值的大小,从小到大进行排序;其中,所述轨迹代表值的计算公式如下:
式中,σ表示事件日志中的轨迹,sigAvgA(σ)表示轨迹σ的平均活动代表值,sigAvgDFA(σ)表示轨迹σ的平均直接跟随活动代表值。
所述事件日志轨迹选择模块执行如下操作:
根据预先输入的特定的采样率,计算采样率与原始日志大小乘积后取整得到的整数,即为所选择的轨迹数量N,针对事件日志轨迹排序模块中已经排序好的所有轨迹进行选择,选取前N条轨迹组成新的事件日志,即为采样日志L';其中,所述采样率是指事先确定最终所得日志占原始日志的百分比,默认为0.3,所述原始日志大小为|L|,即事件日志L中的轨迹数。
综上所述,在采用以上方案后,本发明为现有过程发现方法不能正确处理大规模事件日志中的信息,而且会导致发现过程模型的低效率提供了新的方法,能够有效地通过采样获取代表性的样本日志,极大地降低了大规模事件日志过程发现的时间复杂度,具有实际推广价值,值得推广。
以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。