李多芹,方贤文
(安徽理工大学数学与大数据学院,安徽淮南 232001)
为了快速应对不断变化的商业环境,现代企业对业务流程建模提出了更高的要求;然而流程模型的建立是一项非常耗时耗力的工作,于是流程建模推荐技术得到越来越多的研究。利用现有流程库潜在价值驱动的数据挖掘和流程推荐技术构建流程,可以在领域知识不足或缺失时,通过缩短思考时间,加快业务流程设计工作;可以指导选择最可能的任务,尽量减少业务流程设计工作中可能出现的错误,通过提供有用的建议来完善主要意图和模糊的想法;能减少新流程和现有流程之间的不兼容问题。文献[1]研究表明,尽管推荐技术已经在学术研究和工业领域中得到了广泛的应用,但在业务流程管理领域中,推荐技术还是一个相对较新的课题。
现有的基于数据库的流程建模推荐主要分为两类。第一类是基于图结构的推荐,其中:文献[2]中对现有的度量流程相似性方法做了改进,并将其用于在流程库中查询结构相似的流程;文献[3]中利用最大公共子图和最小公共超图概念,以参考流程和流程模式间距离的计算结果作为流程推荐的依据;文献[4]中提出了一种数据模型用以支撑流程建模推荐系统的开发,并通过真实世界中的系统逆向工程进行验证。然而现有基于图结构的流程推荐方法多数情况下无法保证准确性,于是产生了第二类基于行为的推荐方法。目前为止,关注流程行为的建模推荐方法并不多,其中:文献[5]中提出了一种基于流的方法,用于捕获业务流程建模中指定的流程,并通过对IBM Blueworks 案例的重新建模,验证了所提的方法;文献[6]中利用流程结构树和独立路径概念在流程库中进行相似度计算,选取高相似度路径中的节点作为推荐节点。然而,在实际的工作流程中实现同一业务目标可能有各种图结构及多种不同的路径,因此基于图结构或路径的推荐可能导致很多有用推荐信息的丢失。文献[7]研究表明,目标是利益相关者和系统期望达成的状态,回答“为什么”问题,这一问题是流程模型不能处理的,因为流程擅长回答“何时”的问题,因此两种视图是互补的。这一事实表明,在建模过程中考虑流程的目标能够为建模者提供强有力的指引,但是目前为止关联流程目标的建模推荐方法并不多见。
本文提出了一种基于行为轮廓定义业务目标实现规则的流程建模推荐方法,旨在为建模者提供更多有用的推荐信息。首先,建模者根据业务陈述将业务拆分成更为具体的k个子业务,同时明确子业务间基于行为轮廓表达的能够实现业务目标的交互规则,即制定当前建模模型的k阶目标轮廓。随后,提取流程库中流程模型的行为轮廓,并将满足目标轮廓的流程作为候选流程。接着,利用基于行为轮廓的度量方法计算当前建模模型与候选流程库中模型的相似度,选取相似度最高的m(由建模者自定义的参数)个流程,并将这些流程中与当前建模下一节点匹配的节点作为推荐节点。最后,在真实的数据集上验证所提方法的有效性。
定义1标签Petri 网[8]。带标签的Petri 网是一个三元组(N,L,fL),其 中:N=(S,T;F) 是一个Petri 网;L=(l1,l2,…,l|L|)为标签集合fL:T→L是将T中变迁映射到L中标签的标签函数,即∀ti∈T,∃li∈L使得fL(ti)=li。
图1 为使用标签Petri 网表示的两种简化业务流程。
图1 两种运输组织的业务流程Fig.1 Business processes of two transportation organizations
定义2映射函数[9]。给定两个标签Petri 网NL=(N,L,fL)和=,Petri 网间的映射函数表示为:={ei→ej|ei∈NL,ej∈}。
定义3行为轮廓[10]。令标签Petri 网P=(N,L,fL),其中N=(S,T,F) 且T′ ⊆T是一个 变迁集,一对变 迁(x,y) ∈(T′×T′)可能呈现的行为关系如下:
1)严格序关系x→y,当且仅当x≻y,yx;
2)严格逆序x→-1y,当且仅当y≻x,xy;
3)排他序关系x+y,当且仅当xy,yx;
4)交叉序关系x||y,当且仅当x≻y,y≻x。
以上几种关系构成了网N的行为轮廓,记作BP={ →,→-1,+,||}。
为了联合表示标签Petri 网中所有可能变迁对的上述行为关系,引入行为轮廓矩阵的概念,旨在以矩阵的形式表达标签Petri 网的上述行为关系。方便起见,→-1,→,+和‖,分别被简记为0,1,2 和3。以图1 中的Process1 为例,由于活动F 既可以发生在活动G 之前也可以发生在活动G 之后,即满足定义3 中的4),于是表1 中的第6 行第7 列及第7 行第6 列元素均为3。类似的,对所有变迁对进行上述分析,就可以得到图1 中两个流程模型的行为轮廓矩阵如表1 和表2所示。
表1 Process1的行为轮廓矩阵Tab.1 Process1’s behavioral profile matrix
表2 Process2的行为轮廓矩阵Tab.2 Process2’s behavioral profile matrix
为了计算候选流程库中的模型与当前建模模型的相似度,引入文献[11]中提出的一种基于行为轮廓量化流程间相似性的度量方法。该方法建立在系数和流程模型活动对间的行为关系上,且已经证实了其能够成功地近似建模专家的评估。具体定义如下:
定义4行为轮廓度量[11]。给定两个标签Petri 网P和Q,→P和→Q分别代表行为轮廓BPP和BPQ的严格序关系,于是P和Q 的严格序相似性为:
同理定义排他序和交叉序相似性如下:
于是网P和网Q的行为轮廓相似性为:
以图1 中的两个标签Petri 网及表2 中对应的行为轮廓为例,计算得到:
若为每种相似性定义相同的权重,则可以得到Process1和Process2 的行为轮廓相似性为:
针对企业内部的某一项业务,尤其是新增业务,其目标指的是期望达成的状态。文献[7]中阐述了结合目标与过程带来的许多已知好处,并表明在建模过程中考虑流程的目标能够为建模者提供强有力的指引。于是,本章介绍了现存的业务目标表示方法,并针对这些方法的不足之处提出了一种业务目标表示的新视角。
关于业务目标的表示,很多学者已经做了相关的研究。文献[7]中把目标表示为有向图模型,通过有向的图结构展示子目标之间的相互作用。其中,AND-refinement links 表示当且仅当所有子目标都被满足时,父目标才被满足;ORrefinement links 则只要求满足可选子目标的其中一个。子目标之间的两种联系作用描绘了子目标对其他子目标的积极或消极影响程度。文献[12]中指出,传统的方法过分关注于过程和数据,不能发掘过程和数据背后更深层次的原因,于是提出了一种相对复杂的目标建模理念,即从使命/任务陈述中识别执行者间的依赖并明确期望、愿景和能力等与活动间的关系,在这个基础上目标建模的过程就是通过不断地询问“为什么”“怎样做”“如果不这样做,应该如何做”等问题不断地揭示利益相关者的诉求。文献[13]将业务流程的目标定义为合取范式中布尔条件的结合,即goal=g1∧g2∧…∧gn,并通过领域约束对子目标排序。
上述各种目标表示方式各有优势且有相通之处,但对业务流程模型的建立而言,这些表达方式无法在建模过程中为建模者提供明确的指引信息。基于此,下面将提出一种基于行为轮廓定义规则的业务目标表示方法。
企业的每一项内部业务都可以拆分成更为具体的子业务。用k表示拆分出的子业务个数时,k的大小代表着子业务的抽象程度:当k为1 时,即整项业务,抽象程度最高;随着k的增加,子业务的抽象程度逐步降低;当k取到可能的最大值时,子业务的抽象程度降到最低,此时k值与业务中各项具体活动总数相等。关于业务的拆分,已有学者做了深入的研究,文献[12]中以海上搜救活动为例,从使命/任务陈述中识别子活动。在真实的业务场景中,k值的选取同样也有很清晰的模块划分。以“Package Sorting”业务为例,通过业务陈 述,建模者 可以该 业务分解为a:“Receiving”,b:“Checking”,c:“Sorting”,d:“Dispatching”及e:“Information Updating”这5 个子业务。
另一方面,拆分出的子业务间都有明确的交互规则,且这些规则的满足情况直接决定着业务目标能否达成。在行为轮廓背景下,这些交互规则同样可以用行为关系的形式来表达。与行为轮廓矩阵的提出类似,为了联合表示所有子业务对的行为关系,本文引入目标轮廓矩阵的概念。用目标轮廓矩阵来形式化子业务的交互规则,除了规则表达的规范性外,更重要的是,对于某一业务流程来说,目标轮廓矩阵可以看作是行为轮廓矩阵以目标为导向的抽象。
于是,在建立模型之前,建模者可以通过对业务陈述的分析,将业务拆分成更为具体的k个子业务,明确子业务间的交互规则,用行为轮廓刻画子业务对间的交互规则后,再通过目标轮廓矩阵联合表示子业务对间的行为关系。注意,每一个子业务对应业务流程模型中的一个活动。同样以“Package Sorting”业务为例,从业务陈述中可以知道:a 总是最先发生,b 发生在c 之前,d 与b 和c 之间没有固定的发生顺序,e 总是最后发生。利用行为轮廓形式化这些交互规则之后可以得到如表3 所示的业务目标轮廓,其中0:严格逆序→-1;1:严格序→;2:排他序+;3:交叉序||。
表3 “Package Sorting”业务目标轮廓Tab.3 Business target profile of“Package Sorting”
此时,当流程库中某流程满足表3 中的目标轮廓时,即流程的行为轮廓矩阵包含目标轮廓矩阵时,就表示执行该流程能够实现业务目标,这样的目标表示方式将业务目标与业务流程紧密链接,体现业务目标与业务流程间深层次的内在联系。于是,当建模者期望从流程库中获取流程知识以辅助建模时,可先制定业务目标轮廓,然后在流程库里搜索满足该轮廓的流程作为候选推荐流程。这种候选推荐流程的捕获方式能够打破路径和图结构的限制,即那些满足目标轮廓但路径或图结构相似度低的流程,同样有机会能够作为候选推荐流程展示给建模者。这些流程对建模者来说也十分重要,因为它们能够指引建模者最终建立一个能够实现业务目标的业务流程模型。
本文所提方法的整体框架如图2 所示,共分为预处理、行为轮廓比对及流程节点推荐3 个部分。
图2 本文方法的框架Fig.2 Framework of the proposed method
预处理部分包括以下两个方面:
1)目标轮廓的制定。建模者根据业务陈述制定用于实现业务目标的子业务间基于行为轮廓表达的交互规则,即制定目标轮廓矩阵。
2)流程库的预处理。先用标签Petri 网表示流程库中的所有流程,于是有P={p1,p2,…,pn},其中n为流程库中流程的数量;然后,提取流程库中所有流程的行为轮廓,并获取流程库的行为轮廓矩阵集={A1,A2,…,An}。所有的轮廓均以矩阵的形式存储在后端,于是每个流程模型只需提取一次行为轮廓。
行为轮廓比对指的是当前建模模型的目标轮廓与从流程库中提取的行为轮廓之间的比较,旨在从流程库中找到与当前建模模型目标一致的流程模型,即获取候选流程集CPS。节点推荐部分则是从候选流程集中选出与当前建模模型相似度最高的流程,并把对应的下一节点作为推荐节点。算法1 给出了以和m为输入生成推荐节点集Rnodes的具体步骤,其中p0为当前建模模型,m是建模者自定义的参数。
算法1 基于行为轮廓定义目标规则的流程建模推荐算法。
算法1 主要分为4 个部分:
1)首先,第1)行初始化一个候选流程集CPS和一个推荐节点集Rnodes。
2)通过2)~5)行获取候选流程集。具体地:首先获取目标轮廓矩阵所关联的事件集E(2)行);然后,对流程库中的每个流程,如果对应的行为轮廓矩阵存在k阶子矩阵使得子矩阵关联的事件集与E相等,且子矩阵Di与目标轮廓Atark相等,则将对应的业务流程pi放入取候选流程集CPS中(3)~5)行)。
3)再通过6)~12)行获取推荐节点。具体地:对候选流程集中的每一个流程,利用定义4 中给出的行为轮廓度量方法计算其与当前建模模型的相似度(7)行)。然后,筛选出候选流程集CPS中与当前建模模型相似度最高的m个流程(8)行),并根据定义2 中的映射函数建立这些模型与当前建模模型之间的节点映射(9)~10)行)。最后,将这些流程中与当前建模节点对应的节点的下一节点作为推荐节点,并放入推荐节点集Rnodes中(11)~12)行)。
4)最后,13)行返回长度m的推荐节点集Rnodes。
本文实验在真实数据集上进行,从推荐能力和推荐准确率两方面将文本方法与现存方法进行对比评估。首先,由于本文所提的基于行为轮廓定义目标规则的流程建模推荐方法,旨在为建模者从流程库中提取更多有用的信息,于是将在推荐能力上与现有的独立路径匹配方法[6]进行比较。其次,在证明了所提方法确实能够为建模者提供更多有用信息后,进一步与独立路径匹配算法比较在推荐准确率方面的表现。此外,实验中用到的真实数据集可在线访问:https://github.com/duoqinLi/real-business-process-data。
4.1.1 流程库数据集
为了验证本文所提方法的有效性及适用性,实验在真实数据集上进行评估。该数据集是从中国浙江省杭州市某区政府收集的各种业务流程模型,最早在文献[1]中使用。表4 中给出了该数据集的统计信息。
表4 数据集的统计信息Tab.4 Statistics of dataset
此外,文献[1]已将这些原始的业务流程模型转化为矩阵的形式,同时为每一个流程编号,并用数字1~52 表示数据集中的事件,本文将从该数据集中随机抽取2 组每组20 个流程作为实验的流程库。
4.1.2 当前建模模型的构造
为确保实验的可信度,将在剩余的数据集中随机选取1条业务流程模型G531,并取前半部分的模型片段作为当前建模模型。同时追溯到原始的业务流程模型,在某区政府工作人员的帮助下制定这些业务流程的目标轮廓如表5 所示,其中0:严格逆序→-1;1:严格序→;2:排他序+;3:交叉序||。
表5 当前建模模型的业务目标轮廓Tab.5 Business target profile of current modeling model
表5中标识符与实际活动的对应关系如表6所示。
表6 标识符与实际活动的对应关系Tab.6 Corresponding relationship between identifiers and actual activities
本文所提的行为轮廓定义目标规则的流程建模推荐方法,旨在为建模者从流程库中提供更多有用的信息。为验证这一点,将本文方法与文献[6]中的独立路径匹配方法进行比较,评估比较两种推荐方法搜索流程知识的能力。
4.2.1 实验步骤
为了评估比较两种推荐方法搜索流程知识的能力,设计如下实验步骤:首先,当固定当前建模路径的节点数量时,对表5 中的目标轮廓,从实验流程库中搜索满足该目标轮廓的流程模型。对搜索出来的每一条流程模型,利用文献[6]中所给出的基于最长公共子序列计算独立路径间相似度的方法,分别计算每条独立路径与当前建模路径的相似度。根据整体的相似性情况,将计算出来的相似度划分为3 个等级:Sim≥0.7,极有可能作为推荐路径;0.6≤Sim<0.7,有可能作为推荐路径;Sim<0.6,不可能作为推荐路径。图3 给出了第1组实验流程库中满足目标轮廓的流程模型,以及当分别固定当前建模路径的节点数为4~8 时,每条流程模型上3 个相似度等级分别占独立路径总数的百分比。
注意,当业务流程中含有循环结构时,基于独立路径匹配的方法具有一定的局限性,因为在这种情况下独立路径的数量是无限的。然而循环结构在实际的业务流程中是常见的,于是在本实验中假设,当业务流程中存在循环结构时,只考虑包含1 循环和2 循环的路径。
4.2.2 结果分析
由图3 可知,实验流程库中有12 个流程模型满足目标轮廓。虽然大部分满足目标轮廓的流程模型中都含有与当前建模路径相似度很高的独立路径,但仍存在一些例外。例如,从图3 中可以看出,当前建模路径的节点数7 时,G530、G609 和G623 的每条独立路径与当前建模路径的相似度都在60%以下,并且在独立路径匹配算法中,该流程模型的每条路径都不会作为候选路径,相应的对应节点也不会作为推荐节点。然而,该流程满足目标轮廓,即执行该流程的某条或某几条路径能够达成建模者所期望的目标,对建模者来说是非常具有参考价值的。相较于独立路径匹配方法,本文所提的基于行为轮廓定义目标规则的流程建模推荐方法能从业务目标达成的角度为建模者提供更多有用的推荐信息。
图3 推荐能力实验结果Fig.3 Experimental results of recommendation ability
在本节中将进一步评估两种方法在推荐准确率方面的表现。
4.3.1 实验步骤
为了评估比较两种推荐方法的推荐准确率,设计如下实验步骤:当固定需要推荐的节点数量为5 时,对于独立路径匹配方法,先利用流程结构树和独立路径在流程库中进行相似度计算,再选取相似度最高的5 条路径中的节点作为推荐节点集;对于本文所提方法,先通过目标轮廓矩阵获取候选流程库,再利用定义4 中给出的行为轮廓度量方法计算候选流程库中流程与当前建模模型的相似度,最后,选取相似度最高的5 个流程的下一节点作为推荐节点集。
4.3.2 评估标准
分别获取两种推荐方法的推荐节点集后,下面给出评估准确率所遵循的评估标准。首先,在4.1.2 节中已经给出了当前建模模型的构造方法,于是其在原模型中的后续节点即可作为准确率评估的参考节点;其次,当前建模模型的节点数量分别为4~8 时,依次计算每组实验流程库上正确推荐节点数;最后,两种推荐方法的准确率值为两组实验流程库上正确推荐节点数之和与10(因为每组实验流程库上获取的推荐节点集中都有5 个节点)的比值。
按照上述的实验步骤和评估标准可计算得到如图4 所示的结果。
图4 推荐准确率实验结果Fig.4 Experimental results of recommendation accuracy
4.3.3 结果分析
整体上,两种方法在准确率方面的差异是可接受的,这表明本文所提的建模推荐方法在准确度上是满足实际应用要求的。更具体地,可以看到,虽然本文所提方法的最低正确率略低于独立路径匹配算法,但平均准确率为70%高于独立路径匹配算法的68%。这是因为:一方面独立路径匹配算法只追求路径的相似度,而忽略了在实际的业务流程执行中可能存在相似度较低的两条路径都能达到相同目标状态的情况。另一方面流程中的循环结构会在一定程度上影响独立路径间的相似度,而本文所提的方法不会受此影响。此外,从图4 中可以观察到,随着当前建模路径节点数的增加,相比独立路径匹配方法,本文所提目标轮廓方法的推荐准确率呈平稳上升趋势。
上述所有的实验结果表明,本文所提出的基于行为轮廓定义目标规则的流程建模推荐方法能够满足实际应用的需求,同时相较于现有的流程建模推荐方法,可以向建模者提供更多有价值的推荐信息。
本文基于行为轮廓和业务流程的目标提出了一种新的业务流程建模推荐方法。首先,为业务目标的实现制定目标轮廓;然后通过其与流程库中行为轮廓矩阵的比对获取候选流程库;最后,利用行为轮廓度量方法计算候选流程库中流程与当前建模模型的相似度,进而为当前建模模型推荐最可能的下一节点。实验结果表明所提方法在准确率满足实际应用需求的同时能够为建模者提供更多有价值的信息。正如实验中所反映的,两种方法在一定程度上是互补的,在未来的工作中将考虑把两种方法有效地结合起来以达到更好的推荐效果。