一种基于托肯日志的过程模型相似性度量方法与流程

文档序号:24123908发布日期:2021-03-02 12:36阅读:129来源:国知局
一种基于托肯日志的过程模型相似性度量方法与流程

[0001]
本发明涉及一种过程模型相似性度量方法,具体涉及一种基于托肯日志的过程模型相似性度量方法,属于过程挖掘技术领域。


背景技术:

[0002]
现如今,人工智能被广泛应用于各行各业,改变了人们的生活方式,也提高了生产效率,促进了社会的发展。近些年来,人工智能和法律的结合已成为一个非常热门的研究方向。利用人工智能技术相关的技术,例如数据挖掘、信息检索、自然语言处理和机器学习等,解决法律领域中的实际问题取得很不错的效果。许多学者已经做出很多重要的研究工作。
[0003]
业务过程是一种用于管理所有活动并提升部件或者过程之间关联,以最佳方式运行业务过程的工具。近年来,业务过程被广泛的应用于大型公司的业务管理。业务过程模型简称过程模型,是企业分析、管理以及优化业务过程必不可少的工具。
[0004]
随着大数据时代的到来,企业事务的不断增多,随之而来的是业务过程的复杂化,使得管理变得困难。如果企业希望对业务过程进行优化升级,甚至是企业过程的自动化,对业务过程进行建模是前提条件。过程模型结构的质量,严重影响着企业办公自动化、信息化等体系的效率,对企业的日常过程起着至关重要的作用。过程模型库涵盖企业日常的方方面面,由于大型企业结构的复杂,他们的过程模型库也随之庞大复杂,为维护增加了难度。对过程模型库的维护过程中,需要高效的方式存储过程模型,用于版本控制或者模型检索。在存储过程中,需要对比待存储模型是否已经存在于模型库,这就涉及模型相似性对比。目前主要用的检索方法是分析过程模型间相似性的方法,通过将模型库中的模型与目标模型或查询条件一一进行对比,从而获得检索的目标模型。业务过程模型相似性对比成为其中关键的技术。一个好的相似度度量方法,无论是过程模型检索还是过程模型版本控制,都会有很大效率上的提升,有效的提升企业的工作效率。此外,相似性还是聚类算法重要的环节。
[0005]
目前研究过程模型相似度主要是针对于过程模型结构图进行行为、标签、语义等的相似度分析,对过程模型结构图进行分析,求取因果足迹、有限前缀、最大覆盖图等的分析方式。对过程模型本身的分析较为常见但复杂。本发明则突破传统的基于过程模型本身的相似性对比,基于过程挖掘的思想,从过程模型的事件日志出发,利用事件日志相似性对比避免复杂的过程模型结构分析,从而提高相似性对比的计算效率。我们设计一种特殊的事件日志-托肯日志(token log)来代替过程模型。托肯日志记录了库所中资源的改变,相较于传统事件日志有着更高的运行效率。基于托肯日志可以等价代替过程模型结构的前提,对托肯日志进行相似性分析对比,从而提出了一种新的相似度分析的思路,从过程挖掘的角度对比过程模型相似性。
[0006]
业务过程可以被定义为一组过程,其中包含一系列彼此相关的任务,以产生支持组织目标和战略目标的输出。过程定义了如何执行任务,例如何时执行,以何种顺序执行。业务过程模型是以有向图为基础,对大型企业的业务过程进行建模,以便于更好的分析、了
解、优化企业的业务过程。petri网是由德国的carl adam petri提出的一种过程建模和分析工作,用网状图来描述异步的、并发的系统模型。petri网长期以来被广泛的应用于过程建模,并包含于各个过程模型语言中。petri网一直被用作过程建模工具并被广泛使用。在本文中,我们也将使用petri网来模拟我们的业务过程。
[0007]
托肯(token)是petri网中库所中的动态对象,可以从一个库所移动到另一个库所,用来代表两个任务之间的流动信息。托肯是在生成时间pt由生产任务p生成,在消费时间ct由消费任务c消耗。因此,生产者、生产时间、消费者、消费时间组成了托肯的四要素,但是在不同的运行实例中,可能存在相同的托肯,因此,可以由运行实例、生产者、生产时间、消费者、消费时间唯一确定一个托肯t=<cid,p,pt,c,ct>,其中,cid为运行实例id。托肯日志是一个完整运行实例中托肯的集合,用以记录过程模型运行过程中库所中资源的消耗与产生。
[0008]
本发明以托肯日志为基础,着重研究了一种基于托肯日志的过程模型相似性度量方法。


技术实现要素:

[0009]
本发明是一种基于托肯日志的过程模型相似性度量方法,提供一种过程模型相似性度量方法,包括基于过程模型结构图运行生成托肯日志,预处理托肯日志并基于过程模型的托肯日志挖掘过程模型任务之间的关系,构造任务关系矩阵,同维化任务关系矩阵,基于有权重的jaccard系数对比任务关系矩阵相似性,并输出过程模型相似性结果。该方法不同于传统的基于模型对比相似性方法,可以减少的分析复杂性,从过程挖掘的角度对比过程模型相似性。从而满足随着业务过程复杂,有效管理过程模型的需求。
[0010]
1.一种基于托肯日志(token log)的过程模型相似性度量方法,其特征在于,包括:
[0011]
获取待对比的两个过程模型的结构图;
[0012]
模拟执行两个过程模型,随机模型执行多次,直到过程模型中的所有任务都执行至少一次,分别保存执行后产生的托肯日志;
[0013]
根据固定的几个步骤对两份托肯日志进行预处理;
[0014]
根据已经公开的基于托肯日志的过程挖掘算法从两份日志中分别挖掘过程模型中的特殊结构,包括并行和选择结构,生成两个任务关系矩阵;
[0015]
根据固定的几个步骤计算两个任务关系矩阵之间的相似性,并作为原过程模型的相似性结果返回。
[0016]
2.根据权利要求1所述的方法,其特征在于获取待对比的两个过程模型的结构图中,是利用已公开的pipe工具绘制过程模型,生成过程模型对应的xml表示文件。
[0017]
3.根据权利要求1所述的方法,其特征在于模拟执行两个过程模型,随机模型执行多次,直到过程模型中的所有任务都执行至少一次,分别保存执行后产生的托肯日志包括:
[0018]
模拟执行中使用单线程模拟执行过程模型的并发、选择和循环等结构,同时模拟一个过程模型的多个实例同时执行;
[0019]
维护一个全局变量记录所有被执行的任务,每当有任务被执行后,更新该全局变量,并且每当有运行实例结束时,检查是否所有活动都被执行过,如果满足情况则停止,否
则继续;
[0020]
模拟执行是从初始化输入库所开始,往其中填入一定数量的托肯,当执行到模型中没有库所剩余,但是仍有任务未被执行时,继续重新初始化输入库所,继续模拟执行;
[0021]
执行过程中,所有填入托肯的库所使用非空库所队列(nonemptyplacequeue)记录,如果进入非空库所队列的库所并没有可执行的输出任务,则移入库所等待队列(placewaitingqueue);
[0022]
模拟执行任务的方法称为executetask(
·
),其效果是从任务所有输入库所中移除一个托肯,并向所有输出库所中填入新托肯;
[0023]
执行结束后,将所有被使用的托肯保存为托肯日志。
[0024]
4.根据权利要求1所述的方法,其特征在于根据固定的几个步骤对两份托肯日志进行预处理包括:
[0025]
在保存的托肯日志中去除所有托肯内容相同的重复运行实例;
[0026]
归并包含循环结构的实例中循环部分,使得循环部分运行次数为1。
[0027]
5.根据权利要求1所述的方法,其特征在于所述构造任务关系矩阵的具体步骤包括:
[0028]
为托肯日志创建空矩阵,并将所有位置初始化无穷大;
[0029]
依次挖掘托肯日志中的顺序结构,并发结构,循环结构和选择结构,标记各结构中的任务;
[0030]
分别根据顺序结构,并发结构,循环结构和选择结构中的任务检索任务关系矩阵中的对应位置,并将结构对应的任务关系值填入任务关系矩阵。
[0031]
6.根据权利要求1所述的方法,其特征在于根据固定的几个步骤计算两个任务关系矩阵之间的相似性,并作为原过程模型的相似性结果返回包括:
[0032]
将待计算相似度的两个关系矩阵作同维化处理,使用两个矩阵中所有任务的并集作为新矩阵任务维度,将两个任务关系矩阵中的值填入同维化后的矩阵;
[0033]
使用有权重的jaccard系数计算两同维矩阵之间的相似性,作为模型相似性结果。
[0034]
7.根据权利要求6所述的方法,其特征在于所述权重由模型结构类型、任务是否同时为两个模型共有构成,顺序结构权重小于选择结构,选择结构权重小于并发结构,独有任务权重小于共有任务权重。
[0035]
本发明与现有技术相比,其显著优点是:首先模拟过程模型运行,产生过程模型的托肯日志,通过对比过程模型的日志反映过程模型的相似性。相较于传统的基于过程模型分析相似性的方法,可以避免过程模型相似性对比中的复杂过程模型分析,可以极大地减少对比的复杂度。通过挖掘过程模型托肯日志中的特殊结构,构成任务关系矩阵。任务关系矩阵可以完全代表过程模型中的特殊结构,减少存储托肯日志的空间复杂度,将过程模型中的任务之间关系用一个矩阵表示。为了对比任务关系矩阵之间的相似性,采用考虑权重的jaccard系数方法对比任务关系矩阵之间的相似性。对不同的特殊结构,给予不同的权重,使得计算的结果更加准确。
附图说明
[0036]
图1基于托肯日志的过程模型相似性度量方法流程图
[0037]
图2模拟运行过程模型的算法
[0038]
图3过程模型四种结构图
[0039]
图4任务关系矩阵示例图
[0040]
图5同维化任务关系矩阵示例图
具体实施方式
[0041]
为使本发明的目的、技术方案和优点更加清晰,下面将结合附图及具体实施例对本发明进行详细描述。
[0042]
本发明的目的在于解决过程模型相似性问题,提出一种基于托肯日志的过程模型相似性度量方法。为了从大量的过程模型资源库中检索到目标模型,需要对比模型的相似性。不同于传统的分析过程模型结构的相似性度量方法,本文提出一种基于托肯日志的过程模型相似性度量方法。首先模拟过程模型运行,产生过程模型的托肯日志,通过对比过程模型的日志反映过程模型的相似性。避免了分析过程模型的复杂结构,减少对比复杂度。然后挖掘过程模型托肯日志中的特殊结构,构成任务关系矩阵。将托肯日志中蕴含的模型结构的信息转化为任务关系矩阵,减少存储托肯日志的空间复杂度。为了对比任务关系矩阵之间的相似性,采用考虑权重的jaccard系数方法对比任务关系矩阵之间的相似性。对不同的特殊结构,给予不同的权重,使得计算的结果更加准确。本发明概括来说主要包括以下步骤:
[0043]
步骤(1)输入待对比的过程模型的结构图;
[0044]
步骤(2)运行过程模型结构图,并保存运行事件日志为托肯日志;
[0045]
步骤(3)预处理过程模型的托肯日志;
[0046]
步骤(4)依据托肯日志挖掘过程模型中的特殊结构,生成任务关系矩阵;
[0047]
步骤(5)对比任务关系矩阵相似性;
[0048]
步骤(6)输出过程模型的相似性。
[0049]
上述一种基于托肯日志的过程模型相似性度量方法的详细工作流程如图1所示。这里将对上述步骤进行详细描述。
[0050]
1.首先选定需要对比的两个过程模型,利用pipe绘制过程模型或者上传过程模型文件,输入待对比的两个模型图。
[0051]
2.为了从过程模型获得托肯日志,并用于对比相似性,需要先模拟运行过程模型,生成托肯日志。使用单线程模拟执行过程模型的并发、选择和循环等结构,同时实现一个过程模型的多个实例同时执行。模拟执行过程模型的算法如图2所示。其具体步骤是:
[0052]
步骤(2.1)初始化过程模型的输入库所initmodelinput(
·
)方法。其工作是在模型输入库所中填入新托肯,并将输入库所添加到nonemptyplacequeue中。托肯是两个任务间流动的信息,并通过记录这些信息的生产者与使用者获取任务间的关系。在执行过程中,随机执行该方法则可实现多个实例同时运行的效果。如果其执行的次数达到约定的实例个数,则不再执行它。
[0053]
步骤(2.2)开始执行任务。过程模型通过库所(place)列表(placelist)和任务(task)列表(tasklist)表示,库所记录它所有的输入任务(inputtasks)和输出任务(outputtasks),任务记录它所有的输入库所(inputplaces)和输出库所(outputplaces)。
所有填入托肯的库所使用非空库所队列(nonemptyplacequeue)记录,如果进入非空库所队列的库所并没有可执行的输出任务,则移入库所等待队列(placewaitingqueue)。每个任务执行条件为其输入库所中均填有托肯,如果该库所有多个输出任务且都已经至少执行过1次则随机选择一个。模拟执行任务的方法executetask(
·
),其效果是从任务所有输入库所中移除一个托肯,并向所有输出库所中填入新托肯。
[0054]
步骤(2.3)输出所有被使用的托肯。在托肯被消耗时打印托肯的信息。
[0055]
算法核心过程是不停地从非空库所队列中取出库所,获取可执行任务并模拟执行,其关键是维护非空库所队列。非空库所队列的改变均发生在任务执行后。首先。任务执行可能需要非当前选中库所中的其他托肯,则要将新的空库所移除队列。任务执行后会向某些库所中添加新的托肯,则要将新非空库所加入队列。任务执行后,可能导致某些非空库所没有可执行的输出任务,则要将该非空库所加入到库所等待队列。库所等待队列用来保证非空库所在确定可以执行后再添加到非空库所队列中,避免直接加入后导致的下次遇到时还是没有可以执行的输出任务。因此在任务执行后,还需要将库所等待队列中有可执行输出任务的库所添加到非空库所队列中。
[0056]
为实现模拟多个实例同时运行的效果,在执行过程中添加了随机启动新实例的过程。如果启动的实例个数达到预设值,则停止启动新实例。为实现交叉打印托肯日志信息,所有的运行实例都使用同一个非空库所队列。
[0057]
3.对模拟运行过程模型产生的托肯日志进行预处理,目标是去除重复的运行实例以及多次运行的循环结构。这样可以去掉无效的运行实例,减少挖掘的复杂度。具体步骤包括:
[0058]
步骤(3.1)去除重复的运行实例。使用java列表存储运行实例,然后采用hashset去除重复的运行实例。由于哈希表为hashmap<key,value>的形式,因此我们将同一运行实例中的托肯以列表形式存储在哈希表的key中。由于哈希表的key是唯一的,通过这种方式,运行实例必须是唯一的,由此可以删除重复的实例。
[0059]
步骤(3.2)归并包含循环结构的实例中循环部分,使得循环部分运行次数为1。去重后,判断每个实例内是否包含两个托肯t1,t2满足t1.cid=t2.cid,t1.p=t2.p,t1.c=t2.c,t1.pt≠t2.pt,t1.ct≠t2.pt。满足这样条件的两个托肯必定是由于循环结构运行不止一次产生的。所以要去除多余的托肯,使得循环结构的运行次数不大于1。在实际运行中,由于循环结构的循环次数不同,导致实例个数增加的概率是很大的,这样就导致需要挖掘的运行实例个数增加,增加了计算复杂度。所以采用循环归并来减少挖掘的计算复杂度。
[0060]
4.经过预处理的托肯日志包含了过程模型中所有的任务关系并且去除了冗余部分。过程模型主要是由顺序结构,并发结构,选择结构以及循环结构组成的。挖掘出过程模型中所有的任务构成的这四种关系,就获得了模型关键的部分。我们将构成这四种结构中相邻的两任务之间标记为对应的标志:顺序结构(

),并发结构(‖),选择结构(#)和循环结构(∞),没有相邻关系的两任务之间不再标记。我们首先根据所有的任务名称初始化一个以任务名称为第一行和第一列的矩阵,矩阵的其他位置初始化为null。然后通过挖掘所有的任务之间关系,对应地填入矩阵中相应位置。存在不止一种关系的不同关系之间以逗号分隔开。其具体步骤包括:
[0061]
步骤(4.1)新建任务关系矩阵m并初始化。通过遍历托肯日志可以获得所有托肯中
的生产者和消费者名称,即过程模型中所有的任务名称,其个数为n。创建方阵m(n+1)*(n+1),其所有位置初始化为null。将方阵m(0,i),i∈(0,n+1)和m(j,0),j∈(0,n+1)分别设置为过程模型中任务的名称。
[0062]
步骤(4.2)挖掘顺序关系。遍历所有运行实例中的托肯,同一个托肯中的生产任务和消费任务两个任务之间的关系为顺序关系,即托肯t=(cid,p,pt,c,ct)中的任务p和任务c之间为顺序关系,那么矩阵m(p,c)=
″→″

[0063]
步骤(4.3)挖掘并发关系。并发关系存在于同一个运行实例中。同一个实例中的两个托肯t1=(cid1,p1,pt1,c1,ct1)和t2=(cid2,p2,pt2,c2,ct2),如果满足cid1=cid2,p1=p2,pt1=pt2,那么t1和t2为并发结构的开始节点;如果满足cid1=cid2,c1=c2,ct1=ct2,那么t1和t2为并发结构的结束节点。在当前实例中找到t1和t2之间所有托肯集合t,托肯t=(cid,p,pt,c,ct),t∈t,m(p,c)=




[0064]
步骤(4.4)挖掘循环关系。循环关系也是存在于同一个运行实例中。同一个实例中的两个托肯t1=(cid1,p1,pt1,c1,ct1)和t2=(cid2,p2,pt2,c2,ct2),如果满足cid1=cid2,p1=p2,pt1≠pt2,那么t1和t2分别为循环结构的开始节点和结束节点。先被消耗的任务是循环结构的开始任务,后被消耗的任务是循环结构的结束任务。在当前实例中找到t1和t2之间所有托肯集合t,托肯t=(cid,p,pt,c,ct),t∈t,m(p,c)=




[0065]
步骤(4.5)挖掘选择关系。选择结构的挖掘是介于不同的运行实例之间的。首先我们提取每个实例中的每个托肯中的生产者和消费者,组成任务对,将一个实例中所有的任务对存入一个集合s中,利用集合的特性去除生产者与消费者完全相同的托肯(这样的托肯是由于循环结构的重复执行导致的)。两个不同的运行实例的任务对集合s1,s2中,如果存在两个任务对的生产任务相同,消费任务不同,那么两个托肯是选择结构的开始节点;如果存在两个任务对的生产任务不同,消费任务相同,那么两个托肯是选择结构的结束节点。在两个实例中分别找到所有托肯集合t,托肯t=(cid,p,pt,c,ct),t∈t,m(p,c)=

#


[0066]
在填入矩阵时需要首先判断两个任务之间是否已经存在其他关系。如果已存在其他关系,那么这几种关系之间以逗号分隔填入矩阵。如果不存在其他关系,则直接填入矩阵。本说明中给出一个示例任务关系矩阵,如图4所示。
[0067]
5.本说明采用考虑了权重的jaccard系数对比两个任务关系矩阵之间的相似性。由于不同的过程模型可能有不同数目的任务,那么其对应的任务关系矩阵大小也不一致。为对比两个不同大小的任务关系矩阵的相似度,需要先同维化。然后对比同维的任务关系矩阵相似性。其具体步骤包括:
[0068]
步骤(5.1)同维化任务关系矩阵。待比较的两个过程模型可能因为任务数量的不同而计算出两个不同维度的任务关系矩阵,难以直接进行比较。因此,在比较矩阵之前,检查两个任务关系矩阵是否大小相同,若大小一致,则直接对比;若不一致,则需要先同维化两个矩阵。假设两个任务关系矩阵m1,m2中的任务集合分别为t1,t2,那么同维化后的矩阵的任务集合为t=t1∪t2。新建两个大小为|t|*|t|的矩阵m1’
、m2’
分别为m1和m2的同维矩阵,并初始化为null,其任务集合均为t。对于任务关系矩阵m1’
,将m1中两任务之间的关系对应地填入m1’
对应的两任务之间,其他的均为null。m2’
同理可得。同维后的矩阵示意图如图5所示。
[0069]
步骤(5.2)对比同维任务关系矩阵的相似性。由于不同的结构对于过程模型相似
性的影响不同,所以我们对不同的任务关系赋予不同的权重。每种关系的权重由两个任务关系矩阵中该种关系的总个数占两个任务关系矩阵中所有关系的总个数的比例决定。其计算公式如下所示:
[0070][0071]
然后我们分别计算每种关系的jaccard系数相似性,其计算方式是由两个任务关系矩阵中,该种关系对应位置相同的个数占该种关系总个数的比例。其计算方式如下公式所示:
[0072][0073]
最终两个任务关系矩阵的相似性由每种关系的权重乘以该种关系的jaccard系数的总和,其计算公式如下所示:
[0074]
sim=σ
i=

,#,‖,∞
w
i
×
j
i
[0075]
6.输出过程模型的相似性结果。根据上一步骤中得到的任务关系矩阵的相似性代表过程模型的相似性,输出过程模型的相似性。
[0076]
为了进一步评估方法的正确和高效,本发明结合过程模型相似性算法应该满足的性质以及计算效率进行评估本方法。结合客观事实和人的主观感受,过程模型相似性算法应该满足五条基本性质:漂移不变性,跨度负相关性,长度负相关性和数量负相关性。经过实验验证,本发明的方法可以完全满足过程模型相似性算法应该满足的这五条基本性质。表明该方法符合客观事实和人的主观感受。此外,进一步对比了本方法与目前现有的最先进的相似性度量方法cfs(correlation-based feature selection,基于相关性的特征选择)的计算效率。针对具有相同结构的过程模型,分别从理论和实际计算时间角度对比两种相似性算法的复杂度。本发明所提出方法从理论与实际出发均比cfs方法有较高的计算效率。本发明提出的算法可以完全满足过程模型相似性算法应该满足的五条基本性质,并且比目前最先进的相似性度量方法有着更高的计算效率。针对从大型过程模型库中检索相似过程模型的实际问题,可以给出更高效的解决方法。
[0077]
上面已经参考附图对根据本发明实施的一种基于托肯日志的过程模型相似性度量方法进行了详细描述。本发明具有如下优点:首先模拟过程模型的运行,生成过程模型的托肯日志,通过对比过程模型的日志反映过程模型的相似性。避免了分析过程模型的复杂结构,减少对比的复杂度。考虑了过程模型结构中的顺序结构,并发结构,选择结构和循环结构这四种基本的结构。基于过程模型的行为关系构建任务关系矩阵,保留了过程模型的四种基本结构。将托肯日志中蕴含的模型结构的信息转化为任务关系矩阵,减少了存储托肯日志的空间复杂度。为了对比任务关系矩阵之间的相似性,采用考虑权重的jaccard系数方法对比任务关系矩阵之间的相似性。对不同的结构,赋予不同的权重,使得最终的计算结构更加准确。
[0078]
需要明确,本发明并不局限于上文所描述并在图中示出的特定配置和处理。并且,为了简明起见,这里省略对已知方法技术的详细描述。当前的实施例在所有方面都被看作是示例性的而非限定性的,本发明的范围由所附权利要求而非上述描述定义,并且,落入权利要求的含义和等同物的范围内的全部改变从而都被包括在本发明的范围之中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1