肖宗水,潘凤薇,张宝晨,钱 进,孔兰菊
(1.山东大学 软件学院,山东 济南 250101;2.山大地纬软件股份有限公司,山东 济南 250100)
当前很多领域的业务流程设计受固定模式影响,与现实情况不符合,造成业务办理中存在大量反复的环节,需要业务人员多次交流沟通进行协同办公。这些重复的环节主要是由于业务流程设计不合理、流程业务环节衔接不流畅、人力资源配置不合理等因素造成的,因此为了提高各领域的业务办事效率,简化业务的办事流程,业界学者探索通过流程挖掘提高业务流程协同效能的方法[1-2]。
流程挖掘是指从事件日志存储的历史数据中提取有关已执行业务流程的相关信息。通常可用的数据包括执行的任务、时间信息和可支配的资源。利用这些数据,可以发现流程的功能、行为和组织视角,进而依据研究目的从特定方向对业务流程进行优化。现阶段,业务流程中关于角色协同模式的挖掘及优化已成为业务流程研究中备受关注的问题[3-4],角色协同模式的挖掘成果将引领研究者深入剖析业务流程的运作原理,协同模式的优化将直接提升业务流程的运行效率。
部分研究者对业务过程进行挖掘从而得到协作模式,文献[5]建立了一种挖掘方法,可以生成包含所有流程类型的可视图,过程模型也处理简单和复杂的资源分配规则的提取,但其较多关注资源分配,流程挖掘的效率有待提高。文献[6]构建了一个具有资源意识的过程挖掘模型,使用标准符号BPM的表达性资源分配语言,自动分析结果模型的组织视角,然而其并未分析角色的操作效率与模式,也没有关注角色之间的协同。因此,要想对协同模式进行有效的改进,不但要提高协同模式挖掘的效率,而且要设计出能够将多重影响因素考虑在内的协同模式优化方案。
时间序列模型是根据已有的以时间为维度的历史数据对未来数据进行预测[7]。异常点检测环节是利用时间序列模型进行预测时的必要环节,如文献[8]提出了时间序列中离群点检测框架,识别危险驾驶行为和危险道路位置。借助时间序列算法对异常业务流程进行检测,然后只对异常流程进行环路挖掘将使问题简便很多。但目前时间序列多用在经济、交通、网络流量预测中,根据预测结果进行风险防范或效果优化[9-10]。元路径是由不同对象类型(即元级别的结构路径)之间定义的一系列关系组成的路径[11],元路径可以准确地搜索重叠关系,目前元路径多用于社交网络[12]。本文将元路径的概念引入业务流程优化中,探索角色、任务、时间节点之间的关系,显著提高了角色协同模式的挖掘效率。
文献[13]构建了一个角色分配的框架,该框架能够对与角色分配和任务分配有关的内容进行基本的推理,并指导角色如何高效的与协同者协作。然而,文献[13]在对角色进行分配时只参考了业务人员对任务的熟练程度,未能将其他重要的资源、成本等因素考虑在内。这也激发了本文去设计将操作效率、资源支配范围、操作权限等要素都考虑在内的协同模式优化算法。
本文借助时间序列算法挖掘异常业务流程,并对低效流程进行基于元路径的环路挖掘,将环路检测与角色的权限、可支配资源、操作效率一并纳入,综合考虑角色的可替代性,实现了业务流程中角色协同的优化。
下面将对反复协同问题作进一步描述:如图1所示,在一个业务过程中,若A4和A5环节需要两个环节的业务人员进行沟通,则业务人员的最小办公时间为C3+C4+C5+C6,但是在现实生活中由于A4和A5环节中需要反复沟通进行信息的查询和确认,整个流程的耗时通常为C3+C4+C5+C4+C5…+C6。但是通常A4和A5环节中两个业务人员的沟通只是一方在数据库中进行查询操作并返回信息,不会进行插入、更改和删除(insert、update和delete)等操作,其实可以通过合并两个环节,分配一个人员进行处理即可。
然而,要想优化以上案例中的流程,必须攻克以下两个挑战:①建立能够量化评价角色专业能力的模型;②构建契合业务流程的优化方案,消除不必要的协同。为解决上述问题,本文提出了业务流程协同优化算法,具体贡献如下:
(1)建立能够量化评价角色专业能力的模型,将角色的可支配资源、操作效率纳入其中,并结合角色权限的判定方法,构建更为科学的协同忧化方案。
(2)利用时间序列模型挖掘业务流程数据库,以业务量数据作为时间序列变量,挖掘业务流程中相对异常的流程(高效流程和低效流程),并寻找异常流程中的环路。
(3)设计并实施了基于元路径的环路挖掘算法(Meta Path-based Loop Mining Algorithm,MPLMA),该算法可快速有效地检测由协同造成的低效业务流程。
本章建立了基于可支配资源和操作效率的角色专业能力评价模型,完成对业务流程中角色的专业能力量化评价;构建时间序列预测模型检测异常业务流程,提出一种基于元路径的角色协同模式挖掘算法(MPLMA),并基于角色权限和专业能力评价模型改进角色的协同模式。
对于一个业务流程,本文用Ω={h1,h2,…,hm}表示业务流程中的操作集合,A={A1,A2,…,An}表示任务集合,一个任务可能包含多个操作,为方便描述,下面给出本文相关的定义。
定义1角色,即业务过程中每个任务的执行人,设为R={R1,R2,…,Rn}。业务过程中每个角色都固定在某个业务环节中执行任务,同时根据协同的要求与业务流程中其前后连接的角色进行沟通,从而完成整个业务流程。角色的三要素RC=({任务内容},{专业水平},{协同时间}),其中:任务内容指该角色执行的任务环节,专业水平指角色对任务的完成能力,协同时间指业务流程中前后连接的两个角色之间沟通交涉的时间。
流程日志记录海量流程实例的执行历史,包括实例ID、开始时间、结束时间等。而对于任何一个业务流程而言,其数据库日志中都有具体的日志操作类型和时间戳等信息。这些记录能够客观地反映业务执行过程中与数据库的交互过程。因此,基于日志中角色操作的类型和持续时间,可以定量分析角色的专业能力。从操作类型来看,流程日志中的3种操作(选择、插入和更新等,在日志中记为select,insert和update)表示角色可以自由配置的资源。本文将选择、插入和更新这样的操作统称为基于可支配资源的操作类型,并采用字母D表示这一系列操作的集合。角色的可支配资源定义如下。
定义2对给定的业务流程,给定角色Ri∈R,i≤n,针对操作hk,k≤m。假设num(Ri,hk)表示角色Ri在数据库中进行操作的次数,则角色Ri在业务流程a中的可支配资源
(1)
根据业务流程中每个任务节点完成的时间戳数据,计算任务的完成时间,完成任务所花费的时间越少,角色的执行效率相对越高。操作效率定义如下。
(2)
式中effi(Ri,Ai)越大表明角色Ri完成任务Ai的效率越高。
考虑到可用资源与完成任务的角色的操作效率之间存在正相关性,使用加法加权模型评估角色能力:
prof(Ri)=w1·domi(Ri,a)+w2·
effi(Ri,Ai)。
(3)
根据文献[14]提出的变异系数的信息量权重法,在具体实验中可以根据实际数据,计算可利用资源与操作效率在式(3)中的权重占比,即w1与w2的具体数值。
本文采用业务量衡量业务流程中角色的操作效率,首先可知同样时间内同一业务流程的办理业务量大,说明角色重复操作的次数和协同时间都较少,角色操作效率高;相应地,业务量小表明角色操作效率低。业务流程编号表示业务流程唯一标识,需要统计每天不同的业务流程编号数量获得业务量。由于业务量的时间序列稳定性未知,选择差分整合移动平均自回归(AutoRegressive Integrated Moving Average, ARIMA)模型进行业务量预测:
Xt=c+φ1Xt-1+…+φpXt-p+εt-θ1εt-1
-…-θqεt-q,t∈N+。
(4)
算法1异常业务流程检测算法。
输入:数据集D=(X1,…,Xt,…Xt+m);差分次数d=0;阈值θ>0。
输出:高效流程时间集合H,低效流程时间集合L。
1:初始化集合:H=∅;L=∅
2:for i=1,…,t do
4:end for
7:end while
9: 生成序列的自相关系数图和偏自相关系数图,a确定p,q的值
11: for i=1,2,…,m do
13: if ei>θ or ei<-θ
15: if ei<-θ
16: 把t+i添加到L
17: else
18: 把t+i添加到H
19: end if
20: end if
为便于在异常流程中挖掘流程环路,定义任务—角色—时间戳对应关系和任务—角色—时间戳相对关系序列。
定义4任务—角色—时间戳相对关系记为三元组(Ai,Rj,Tk),其中:Ai表示任务环节,Rj表示Ai的执行角色,Tk为Rj完成Ai的时间戳。
定义5任务—角色—时间戳的相对关系序列,可以表示为:(A1,R1,T1)→…→(Ai,Rj,Tk)→…→(An,Rm,Tl)。若存在(Ai,Rj,Tk),(Ai,Rj,Tq),k≠q,则任务序列中存在业务流程环路。
由元路径的定义可知,两个角色可以通过角色—任务—角色路径建立连接,不同路径下的语义意味着不同意义下的连接,在流程中的每个任务中本文都找到了与之相关的路径,即角色与时间戳。对同一个任务,当不同时间戳的路径指向的顶点中出现相同的角色时,该流程中存在环路。基于以上分析,设计基于元路径的环路挖掘算法(算法2),检测由环路造成的低效业务流程。
算法2基于元路径的环路挖掘算法。
输入:算法1中集合H,L中的流程日志D;
输出:环路集合M。
1:初始化环路集合:M=∅
2:while D≠∅
3: 按照流程实例编号读取D,以(Ai,Ri,Ti)的格式根据时间戳排序,定义为流程序列D′
4:end while
5:for i=0,i 6: 选择D′的第i行的三元组关系序列,记长度为n 7: for j=0,j 8: 搜索Ai对应的角色,如果执行任务Ai的角色相同,时间点不同,产生环路,将其添加到M中 9: end for 10: end for 将高、低效业务流程中环路的任务节点和数目进行相互比较,如果高、低效时间段中都在同样的任务节点处的协同环路上没有差异,则可以判断出流程办理效率产生差异的原因不是角色环路,排除这种情况;相反,业务流程产生办理效率差异的原因是出现大量协同环路,保留这样的业务流程并进一步对低效流程的协同环路进行拆解,并对流程进行重新设计。 检测出协同环路导致的低效业务流程后,用Φj、Ωj、Ψj表示其中第j个环路的角色、操作和任务集合。若hk是由Ri执行的,记为hk→Ri;相应地,若hk不是由Ri执行的,记为hkRi。有些业务流程中的环路虽然会耗费过多协同时间,但却是必要环节,不能被拆解,因此需要首先判断低效流程中每个环路是否可以进行拆解,为了进行这一步判断,先对环路中角色的权限进行分析,确定其是否有权执行协同者的任务。 角色权限是指决策的范围和程度。像select这样的查询操作不会更改数据库的内容,其权限对所有角色都是开放的;像update、insert这样的更改类操作会更改数据库的内容,其权限是有限制的。协同环路中Ri的操作权限定义如下。 定义6业务流程的第j个环路中,给出角色Ri∈Φj,i≤n,则Ri在第j个环路中的操作权限定义为: (5) 式中:Q指查询类操作,U指更改类操作。若该业务流程中第j个环路中所有非Ri执行的操作hk都是查询类的操作,则Ri的操作权限Pi=1;若该业务流程的第j个环路中存在非Ri做的操作hk,且hk是插入、更改等更改类操作,则Ri的操作权限Pi=0。 对环路中角色的操作权限进行判断和赋值后,根据角色权限的赋值判断环路拆解规则,结合专业能力模型对角色进行专业能力评估,最终可以完成部分环路的拆解,具体步骤如下: (1)当环路中的角色权限全都为0时,不对环路进行拆解。 (2)当环路中有一个或多个角色的操作权限不为0时,则对权限不为0的角色根据专业能力模型分析其专业能力。如果只有一个操作权限不为0的角色,则将环路中的任务分配给该角色;若有多个角色,则从中分析专业能力评价得分最高的角色,将其专业能力记为prof(R环)(如果一个环路中有两个或多个专业能力得分最高的角色,则任选一个),将prof(R环)与高效流程中相同节点的角色专业能力prof(R高)进行对比,如果prof(R高)-prof(R环)<σ(σ为给定阈值),对环路进行拆解。 下面连接ORACLE数据库获取数据集,并利用PLSQL抓取出差申请这一业务流程的数据库日志,本次实验共统计了某地区2018年8月17日~11月12日之间共计87天的业务量。 高效的业务流程涉及12个角色。根据本次出差申请业务流程中每个环节在数据库的操作类型(增删改查)、操作时间戳和操作耗时等内容,利用本文式(1)和式(2)可以量化出差申请业务流程中每个任务环节的可支配资源和操作效率,如表1所示。 表1 可支配资源与操作效率数值 根据基于变异系数的信息量权数法求得式(3)中的w1,w2,结果如表2所示。 表2 信息量权数法计算权重所涉数值 专业能力评价模型为: prof(Ri)=0.246 8·domi(Ri,a)+ 0.753 2·effi(Ri,Ai)。 要建立ARIMA模型预测异常业务量,首先需要判断基于业务量的时间序列是否平稳,以及是否是白噪声序列,经过检测发现原始时间序列是非平稳的,因此对原始序列作一阶差分操作,检测后发现序列变为平稳序列,故可知d=1。除了差分数d之外,ARIMA模型中的另外两个参数p和q也需要确定。 由图2可判断q值在1附近,p值在4附近。对p=3,4,5,q=0,1,2的所有组合的AIC值进行计算,AIC值的计算结果如表3所示。 表3 不同p,q值下的AIC值 由表3可知,当p=4,q=1时,AIC值最小,因此得到时间序列模型ARIMA(4,1,1)。对2018年10月13日~2018年10月22日的业务量进行预测,并与实际业务量进行对比,如表4所示。 表4 预测数据与实际数据对比表 设定阈值θ=300,则可判定:2018年10月14日的整体办公效率相对较高,当月15、20日的办公效率相对较低。 利用MPLMA对异常业务流程进行环路挖掘。经过检测发现10月14日的1 000个业务流程中并没有环路出现,分析结束。如表5所示,在10月15、20日的2 450个业务流程中有755个流程中有环路出现,且440个在“出差信息确认请求—出差信息确认”这两个任务环节之间出现环路(环路1),315个在“填写出差回执单—审核出差回执单”这两个任务环节之间出现环路(环路2)。因为在10月15、20日出差申请业务的办理效率低下,业务办理数量比往常少,且在两个不同的业务环节中出现了大量的协同环路,所以初步推测出差申请业务流程办理效率低下的原因是协同环路的大量出现,需要后续进一步分析确认。 表5 带环路流程比例分析 分析各角色在环路1中的操作类型,确认出行信息人员的操作类型仅为查询(select),申请出差人员不仅可以进行查询(select),还可以进行更新和插入(update和insert),因此根据本文的权限判定方法,出差申请人的权限为1,确认出行信息人的权限为0,进而对出差申请人进行专业能力评价,从而判断其能否同时执行“出差信息确认请求”与“出差信息确认”。 根据出差申请这一业务流程的业务量和流程中各角色的专业能力,设σ=0.1,低效流程中的环路1在高效流程中的对应节点仅为“确认出行信息”这一个环节,且执行该任务的角色的专业能力prof(R高)=0.246 8×0.135 4+0.753 2×0.550 0=0.447 7。低效流程中“出差申请人”的操作效率为0.495 0,可支配资源为0.142 0,prof(R环)=0.408 0,prof(R高)-prof(R环)=0.039 7<σ=0.1,因此“出差申请人”能够同时执行“出行信息确认请求”与“出行信息确认”两个任务,环路1拆解完成出差申请业务流程中的环路2,填写出差回执单人的操作类型为update、select、insert,审核出差回执单员的操作类型为insert、update,两者的权限都为0,因此无法对环路2进行拆解。 通过研究低效的出差申请业务流程,本文拆解了环路1,对环路2进行保留。基于该实验结果,本文对某地区多个机构出差申请业务流程进行优化,项目施行后,出差申请业务流程实际业务量与预测业务量对比如表6所示。可以看出,业务流程优化后,没有异常业务量出现,说明所提出的业务流程角色协同优化方案有效地提升了业务流程的效率。 表6 优化后业务量预测对比 本文研究了业务流程中由协同导致的低效问题,提出一种结合专业能力评价模型和角色权限判定的角色协同调优算法。构造了基于时间序列预测模型的环路挖掘算法MPLMA,以检测由协同导致的低效流程,并结合专业能力评价模型和角色权限判定方法,指导由环路造成的低效流程中的角色再分配。根据本文的研究结果,未来可以进一步通过更加精确的机器学习算法对协同环路进行挖掘,一方面可以通过神经网络算法对业务流程办理效率的高低进行判断,从而更加精准定位低效业务流程;另一方面可以引入除可支配资源、操作效率外的其他专业能力因素,对专业能力评价模型进行进一步优化。2.4 优化
3 实验
3.1 专业能力建模
3.2 基于时间序列模型的异常流程检测
3.3 基于元路径的环路挖掘算法MPLMA
3.4 优化
4 结束语