生成测试数据的方法、评估流程挖掘算法的方法及介质与流程

文档序号:33472908发布日期:2023-03-15 09:06阅读:23来源:国知局
生成测试数据的方法、评估流程挖掘算法的方法及介质与流程

1.本技术涉及机器人自动化领域,具体而言本技术实施例涉及生成测试数据的方法、评估流程挖掘算法的方法及介质。


背景技术:

2.流程挖掘(process mining)是指利用企业信息系统中存储的包含业务执行信息的日志(log),挖掘业务活动间不同维度的流程知识,建立能够反映企业真实业务流程执行过程的流程模型,并以此为基础对原有的业务流程进行诊断和优化。流程挖掘是从事件日志(event logs)中挖掘并构建业务流程模型(或简称流程模型)的过程,所得到的流程模型(business process model)应能很好的反映事件日志所记录的流程行为即日志中的trace。
3.本技术的发明人在研究中发现,相关技术为了评估流程挖掘算法都是从真实企业和系统中获取测试用的日志数据,但这种做法经常只有日志,而没有标准流程模型(或称为标准业务流程模型),这样不便于评价算法。而且真实系统的日志的收集比较困难,造成测试数据的数据量不足,不能有效覆盖需要测试的流程场景,进而造成无法评估流程挖掘算法的性能。


技术实现要素:

4.本技术实施例的目的在于提供生成测试数据的方法、评估流程挖掘算法的方法及介质,本技术一些实施例的方法和系统能够自动且有效测试流程挖掘算法,也就是说本技术一些实施例构造了流程挖掘算法的自动评估方法与装置。
5.第一方面,本技术的一些实施例提供一种生成测试数据的方法,所述的方法包括:获取标准流程模型集,其中,所述标准流程模型集中包括多个标准流程模型;根据所述标准流程模型集生成测试数据。
6.本技术的一些实施例通过标准流程模型生成测试数据,可以有效避免从真实企业和信息系统中获取测试用的日志数据造成的数据量不足以及不能有效覆盖需要测试的流程场景的问题,通过提升测试数据的数量和质量得到更加准确可靠的流程挖掘算法的评估结果。
7.在一些实施例中,所述测试数据包括多组测试日志集,不同组的测试日志集的完备程度不同,所述完备程度用于表征任一组测试日志集的所有流程实例对所述标准流程模型集所包括的所有流程实例的覆盖程度。
8.本技术的一些实施例能有效模拟生成不同完备程度的日志数据,可以得到按照不同完备度条件生成的日志集合sl的算法评价结果报告,更全面的反应被评估流程挖掘算法的性能。
9.第二方面,本技术实施例提供一种用于评估流程挖掘算法的方法,所述方法包括:根据标准流程模型集生成测试数据;通过待评估流程挖掘算法对所述测试数据进行流程挖
掘得到待评估流程模型集;比较所述待评估流程集和所述标准流程模型集得到对所述待评估流程挖掘算法的评估结果。
10.本技术的一些实施例通过标准流程模型生成测试数据,可以有效避免从真实企业和信息系统中获取测试用的日志数据造成的数据量不足以及不能有效覆盖需要测试的流程场景的问题,通过提升测试数据的数量和质量得到更加准确可靠的流程挖掘算法的评估结果。
11.在一些实施例中,所述测试数据包括多组测试日志集,不同组的测试日志集的完备程度不同,所述完备程度用于表征任一组测试日志集的所有流程实例对所述标准流程模型集所包括的所有流程实例的覆盖程度。
12.本技术的一些实施例能有效模拟生成不同完备程度的日志数据,可以得到按照不同完备度条件生成的日志集合sl的算法评价结果报告,更全面的反应被评估流程挖掘算法的性能。
13.在一些实施例中,所述根据标准流程模型集生成测试数据,包括:生成所述标准流程模型集,其中,所述标准流程模型集中包括多个标准流程模型;根据所述标准流程模型集得到所述多组测试日志集。
14.本技术的一些实施例首先生成标准流程模型再根据标准流程模型生成完备程度不同的测试用的日志数据,可以保证数据量充足且数据类型丰富以便更好测试待评估流程挖掘算法的性能。
15.在一些实施例中,所述根据所述标准流程模型集得到所述多组测试日志集,包括:获取与任意一个标准流程模型对应的多种不同完备程度的日志数据,得到多个子测试日志集,其中,一个子测试日志集对应一个完备程度的日志数据;重复上述过程得到与所述流程模型集中各个标准流程模型分别对应的多个子测试日志集,将完备程度相同的所有子测试日志集确定为一组测试日志集得到所述多组测试日志集。
16.本技术的一些实施例通过获取标准流程模型集中个标准流程模型对应的不同完备程度的测试数据,进而得到多组测试日志集。
17.在一些实施例中,所述任意一个标准流程模型为第一标准流程模型,其中,所述获取与任意一个标准流程模型对应的多种不同完备程度的日志数据得到多个子测试日志集,包括:根据n个完备程度指标值和所述第一标准流程模型包括的所有流程实例的总个数确定n个子测试日志集中各个子测试日志集包括的流程实例数目,得到n个流程实例数目;根据所述第一标准流程模型生成与所述n个流程实例数目中各个流程实例数目对应数量的流程实例,得到n个子测试日志集。
18.本技术的一些实施例通过计算不同完备程度的测试数据所需的流程实例的数量,进而生成相应数量的流程实例得到对应的子测试日志集。
19.在一些实施例中,所述任意一个标准流程模型为第一标准流程模型,其中,所述获取与任意一个标准流程模型对应的多种不同完备程度的日志数据得到多个子测试日志集,包括:根据所述第一标准流程模型生成与第i流程实例数目相同数量的多条流程实例,得到第i日志数据;根据所述第i日志数据的精度值确定所述第i日志数据所属的子测试日志集,并将所述第i日志数据作为所属的子测试日志集的测试数据,其中,所述精度值用于评价所述第一标准流程模型所表达的行为中被所述第i日志数据记录的行为之间的差异性;根据
设置的步长值增加或减少第i流程实例数目的值,并重复执行上述过程直至得到所述多个子测试日志集。
20.本技术的一些实施例基于标准流程模型生成日志数据log,控制生成日志中的流程实例case的数量,然后评价该日志的精度值precision,从而得到它的完备性指标completeness,每一个标准流程模型m可以生成不同流程实例case数量的日志得到不同完备性的一组测试日志集g。
21.在一些实施例中,在首次循环中所述第i流程实例数目为设置的流程实例数量初始值。
22.本技术一些实施例通过设置的流程实例初始值控制首次根据第一标准流程模型生成的流程实例的数目。
23.在一些实施例中,通过如下公式计算所述第i日志数据的精度值:
[0024][0025]
其中,l用于表征第i日志数据,m表征第一标准流程模型,||用于求解被求解对象包括的轨迹总数目。
[0026]
本技术的一些实施例提供一种计算精度值的计算公式,通过该公式可以准确计算精度值,进而得到属于不同完备程度的日志数据。
[0027]
在一些实施例中,所述根据所述第i日志数据的精度值确定所述第i日志数据所属的子测试日志集,得到目标子测试日志集,包括:若确定所述第i日志数据的精度值与第i完备程度指标值的差值位于设置范围内,则确定所述第i日志数据属于与所述第i完备程度对应的所述子测试日志集,其中,所述第i完备程度指标值小于或等于1且用于量化对应的完备程度。
[0028]
本技术的一些实施例通过度量生成的日志数据的完备度值completeness(用精度值表征)是否在允许误差(+/-2%)的范围内,如果在就得到属于某一个完备度指标的日志数据。
[0029]
第三方面,本技术的一些实施例提供一种生成测试数据的装置,所述的装置包括:标准流程模型集获取模块,被配置为获取标准流程模型集,其中,所述标准流程模型集中包括多个标准流程模型;测试数据生成模块,被配置为根据所述标准流程模型集生成测试数据。
[0030]
第四方面,本技术的一些实施例提供一种用于评价流程挖掘算的装置,所述装置包括:测试数据生成模块,被配置为生成测试数据;测试模块,被配置为通过待评估流程挖掘算法对所述测试数据进行流程挖掘得到待评估流程模型集合;测试结果评估模块,被配置为比较所述待评估流程集合和所述流程模型集合得到对所述待评估流程挖掘算法的评估结果。
[0031]
第五方面,本技术的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面任意实施例所述的方法。
[0032]
第六方面,本技术的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面任意实施例所述的方法。
附图说明
[0033]
为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0034]
图1为本技术实施例提供的流程挖掘模块的工作过程示意图;
[0035]
图2为本技术实施例提供的流程模型示意图;
[0036]
图3为相关技术提供的评估流程挖掘算法的架构图;
[0037]
图4为本技术实施例提供的测试数据完备性的示例意图;
[0038]
图5为本技术实施例提供的生成测试数据的方法的流程图;
[0039]
图6为本技术实施例提供的用于评估流程挖掘算法的方法流程图之一;
[0040]
图7为本技术实施例提供的用于评估流程挖掘算法的方法流程图之二;
[0041]
图8为本技术实施例提供的用于评估流程挖掘算法的装置组成框图之一;
[0042]
图9为本技术实施例提供的用于评估流程挖掘算法的装置组成框图之二;
[0043]
图10为本技术实施例提供的用于评估流程挖掘算法的装置组成框图之三;
[0044]
图11为本技术实施例提供的用于评估流程挖掘算法的装置组成框图之四;
[0045]
图12为本技术实施例提供的电子设备组成示意图。
具体实施方式
[0046]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
[0047]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0048]
为了更清楚的介绍本技术实施例的技术方案首先示例性阐述事件日志相关的概念。
[0049]
一个事件日志文件由若干日志条目组成,每个日志条目包含流程挖掘所必须的三个关键字段:流程实例号case id、活动activity(或表示为action)以及时间戳timestamp,其中每个流程实例case都对应一个流程实例编号case id,一个流程实例case可以包含多个活动activity,每个活动有开始执行时间timestamp。属于同一个流程实例编号case id的所有日志条目按照时间排列得到活动activity,代表了该流程实例执行过程中活动的发生序列,该序列代表了流程执行的轨迹(trace),可以用活动在轨迹中的位置唯一标识某个活动实例,另外不同的case可以具有相同的轨迹(trace)。例如,表1是获取的某个企业的报销业务对应的日志数据,针对表1中流程实例编号为1即case id为1的流程实例包括的活动序列依次为:登记请求register request、仔细检查examine thoroughly、检查票据check ticket、决定decide以及拒绝请求reject request,这个序列的所有活动组成一个轨迹trace。也就是说,轨迹(trace)是一串活动序列,是一个流程实例的执行痕迹,序列中每个元素是案例发生的事件。
[0050]
表1事件日志
[0051][0052]
如图1所示,图1的流程挖掘模块100用于执行流程挖掘算法,该模块的输入是等待进行流程挖掘的日志数据且输出为对输入的日志数据进行流程挖掘后得到的流程模型。
[0053]
例如,输入流程挖掘模块100的事件日志如下表2所示:
[0054]
表2事件日志
[0055][0056]
则执行流程挖掘算法后输出的流程模型如图2所述。表2的不同trace表征的是事件日志记录的不同轨迹或称为行为。
[0057]
相关技术为了有效测试、评价和比较不同的流程挖掘算法,需要获取大量用于反应流程的日志数据和标准流程模型以检验流程挖掘算法提供的流程挖掘结果(即流程模型)的准确性。如图3所示,相关技术的流程觉算法测评系统包括:流程挖掘模块100和比较模块,其中,流程挖掘模型用于运行待评估的流程挖掘算法,该流程挖掘算法的输入是从真实企业和系统中获取测试用的事件日志103;比较模块200用于对流程挖掘模块100输出的多个待评价的流程模型104与标准流程模型集合105比较进而得到流程挖掘准确性评估结果106。
[0058]
为了有效测试流程挖掘算法,本技术的一些实施例提供了一种流程挖掘算法的自动评估方法与装置,本技术实施例的流程挖掘算法的评估方法和装置需要具备以下几个特点:自动化完成测试数据准备、测试执行和测试结果评价,且能够评估测试数据的不完备的情况下相应流程挖掘算法的性能,因为好的流程挖掘算法即使在数据不完备的情况下仍能有效挖掘相应流程模型。
[0059]
下面结合示例阐述数据的完备情况。
[0060]
图4简要解释了何为日志数据不完备(即测试数据的不完备)。图4中process model刻画了一个并行流程,有两条并行线路《a,b》和《x,y》。在实际执行过程中,a活动总是发生在b活动前面,x活动总是发生在y活动前面。由于是并行流程,所以活动a,b与活动x,y的发生次序是随机的,因此活动a、活动b、活动x和活动y在日志中可能出现的次序有6种情况,如图3这6种情况对应的日志log包括:《a,b,x,y》、《a,x,y,b》、《a,x,b,y》、《x,a,b,y》、《x,y,a,b,》以及《x,a,y,b》,如果日志数据包含了全部这6种序列且对应于这6种序列的dfg如图3,则对于模型来说日志是完备的(即测试数据时完备的),只要缺少一个序列,就说明日志是不完备的(即测试数据是不完备的)。
[0061]
需要说明的是,图4仅以简单流程示例性阐述测试数据完备性的概念真实流程可以非常复杂,例如,流程模型包括多条并行分支,每个分支包含很长的序列且序列中包含循环、选择、并行、非结构化子流程等结构。可以理解的是,本技术的一些实施例正是通过控制
得到的序列的数目来得到不同完备程度的测试数据,进而可以评价各种流程挖掘算法对不同完备程度的测试数据的处理结果。
[0062]
本技术一些实施例的业务流程模型(business process model:bpm)是从业务人员的角度对业务逻辑和规则进行详细描述的概念模型,并使用流程图表示从一个或多个起点到终点间的处理过程、流程、消息和协作协议。本技术一些实施例的标准流程模型中的标准是指标准答案(即该模型可以用于判断不同对象对同一日志挖掘的业务流程模型是否准确的依据)。例如,给定一个日志,不同的对象可以从其中挖掘出不同的业务流程模型,而此时可以根据标准流程模型判定不同对象挖掘的业务流程模型的准确度,即与标准流程模型越接近的业务流程模型属于越准确的模型。例如,标准流程模型可以采用相关技术的ai算法进行推测得到,具体地将采用ai算法得到的真值ground truth作为标准业务流程模型。
[0063]
如图5所示,本技术的一些实施例提供一种生成测试数据的方法,所述的方法包括:
[0064]
s11,获取标准流程模型集。
[0065]
可以理解的是,标准流程模型集中包括多个标准流程模型。
[0066]
例如,在本技术的一些实施例中s11获取标准流程模型集示例性包括从其他设备直接接收由这些设备生成的标准流程模型集。在本技术的一些实施例中,s11示例性包括生成标准流程模型集中的各个标准流程模型。
[0067]
需要说明的是,标准流程模型集中的各个标准流程模型是。。。。。
[0068]
s12,根据所述标准流程模型集生成测试数据。
[0069]
例如,在本技术的一些实施例中可以根据标准流程模型集中的各个标准流程模型生成对应的日志数据得到测试数据。
[0070]
需要说明的是,在本技术的一些实施例中,s12所述测试数据包括多组测试日志集,不同组的测试日志集的完备程度不同,所述完备程度用于表征任一组测试日志集的所有流程实例对所述标准流程模型集所包括的所有流程实例的覆盖程度。本技术的一些实施例能有效模拟生成不同完备程度的日志数据,可以得到按照不同完备度条件生成的日志集合sl的算法评价结果报告,更全面的反应被评估流程挖掘算法的性能。
[0071]
可以理解的是,本技术的一些实施例通过标准流程模型生成测试数据,可以有效避免从真实企业和信息系统中获取测试用的日志数据造成的数据量不足以及不能有效覆盖需要测试的流程场景的问题,通过提升测试数据的数量和质量得到更加准确可靠的流程挖掘算法的评估结果。
[0072]
请参看图6,图6为本技术实施例提供一种用于评估流程挖掘算法的方法,该方法包括:
[0073]
s101,根据标准流程模型集生成测试数据。
[0074]
需要说明的是,所述测试数据包括多组测试日志集,不同组的测试日志集的完备程度不同,所述完备程度用于表征任一组测试日志集的所有流程实例对所述标准流程模型集所包括的所有流程实例的覆盖程度。例如,多组测试日志集分别包括第一测试日志集、第二测试日志集以及第三测试日志集,且第一测试日志集对应的完备程度的值是70%,第二测试日志集对应的完备程度的值是80%,第三测试日志集对应的完备程度的值是100%,不同组的测试日志集是通过控制生成的流程实例的数目进行区分的。例如,第一组测试日志
集中包括的所有流程实例的数目为k,用于生成该第一组测试日志集的标准流程模型集包括的所有流程实例数目为p,则覆盖程度即k与p的比值。
[0075]
例如,在本技术的一些实施例中,s101示例性包括:
[0076]
第一步,生成所述标准流程模型集,其中,所述标准流程模型集中包括多个标准流程模型。
[0077]
第二步,根据所述标准流程模型集得到所述多组测试日志集。
[0078]
例如,在本技术的一些实施例中,该第二步示例性包括:
[0079]
s221,获取与任意一个标准流程模型对应的多种不同完备程度的日志数据,得到多个子测试日志集,其中,一个子测试日志集对应一个完备程度的日志数据。重复上述s221得到与所述流程模型集中各个标准流程模型分别对应的多个子测试日志集,将完备程度相同的所有子测试日志集确定为一组测试日志集得到所述多组测试日志集。
[0080]
下面结合两个示例阐述s221的实现方案。
[0081]
示例1
[0082]
在本技术的一些实施例中,所述任意一个标准流程模型为第一标准流程模型,其中,所述获取与任意一个标准流程模型对应的多种不同完备程度的日志数据得到多个子测试日志集,包括:根据n个完备程度指标值和所述第一标准流程模型包括的所有流程实例的总个数确定n个子测试日志集中各个子测试日志集包括的流程实例数目,得到n个流程实例数目;根据所述第一标准流程模型生成与所述n个流程实例数目中各个流程实例数目对应数量的流程实例,得到n个子测试日志集。例如,第一标准流程模型共包括1000个流程实例,完备程度指标值分别为:80%、90%以及100%,则确定完备程度指标值为80%的测试数据需要包括1000*80%=800个流程实例,完备程度指标值为90%的测试数据需要包括1000*90%=900个流程实例以及完备程度指标值为100%的测试数据需要包括1000*100%=1000个流程实例,后续只需要控制根据第一标准流程模型分别生成包含相应流程实例数目的日志数据就得到了对应子测试日志集。
[0083]
也就是说,本技术的一些实施例通过计算不同完备程度的测试数据所需的流程实例的数量,进而生成相应数量的流程实例得到对应的子测试日志集。
[0084]
示例2
[0085]
在本技术的一些实施例中,所述任意一个标准流程模型为第一标准流程模型,其中,所述获取与任意一个标准流程模型对应的多种不同完备程度的日志数据得到多个子测试日志集,包括:根据所述第一标准流程模型生成与第i流程实例数目相同数量的多条流程实例,得到第i日志数据;根据所述第i日志数据的精度值确定所述第i日志数据所属的子测试日志集,并将所述第i日志数据作为所属的子测试日志集的测试数据,其中,所述精度值用于评价所述第一标准流程模型所表达的行为中被所述第i日志数据记录的行为之间的差异性;根据设置的步长值增加或减少第i流程实例数目的值,并重复执行上述过程直至得到所述多个子测试日志集。
[0086]
例如,本技术一些实施例所述获取与任意一个标准流程模型对应的多种不同完备程度的日志数据得到多个子测试日志集,包括:1)给定第一标准流程模型m;2)给定四个完备程度指标值分别为:70%完备,80%完备,90%完备,100%,且给定完备度误差为正负2%。3)针对第一标准流程模型m,设置生成日志数据需要包括的初始流程实例数case的数
值(例如,1000个case),按照初始流程实例数case值生成包含1000个流程实例case的日志数据l。4)度量日志数据l的完备度值completeness,确定完备度值是否在70%+/-2%的范围内,如果在就得到第一个完备度指标值对应的日志数据集。5)按照一定步长增减初始流程实例数case值,并重复执行步骤3)和4)直到得到所有完备度序列的日志数据。
[0087]
本技术的一些实施例基于标准流程模型生成日志数据log,控制生成日志中的流程实例case的数量,然后评价该日志的精度值precision,从而得到它的完备性指标completeness,每一个标准流程模型m可以生成不同流程实例case数量的日志得到不同完备性的一组测试日志集g。
[0088]
例如,在本技术的一些实施例中,在首次循环中所述第i流程实例数目为设置的流程实例数量初始值。本技术一些实施例通过设置的流程实例初始值控制首次根据第一标准流程模型生成的流程实例的数目。
[0089]
s102,通过待评估流程挖掘算法对所述测试数据进行流程挖掘得到待评估流程模型集。
[0090]
也就是说,s102根据待评估流程挖掘算法对测试数据进行流程挖掘,得到所有流程模型这些模型组成待评估流程模型集。
[0091]
s103,比较所述待评估流程集和所述标准流程模型集得到对所述待评估流程挖掘算法的评估结果。
[0092]
本技术的一些实施例通过标准流程模型生成测试数据,可以有效避免需要从实企业和系统中获取测试用的日志数据造成的数据量不足以及不能有效覆盖需要测试的流程场景的问题,得到更加准确可靠的流程挖掘算法的评估结果。本技术的一些实施例能有效模拟生成不同完备程度的日志数据,可以得到按照不同完备度条件生成的日志集合sl的算法评价结果报告,更全面的反应被评估流程挖掘算法的性能。本技术的一些实施例首先生成标准流程模型再根据标准流程模型生成完备程度不同的测试用的日志数据,可以保证数据量充足且数据类型丰富以便更好测试待评估流程挖掘算法的性能。本技术的一些实施例通过获取标准流程模型集中个标准流程模型对应的不同完备程度的测试数据,进而得到多组测试日志集。
[0093]
需要说明的是,在本技术的一些实施例中,通过如下公式计算上述第i日志数据的精度值:
[0094][0095]
其中,l用于表征第i日志数据,m表征第一标准流程模型,||用于求解被求解对象包括的轨迹总数目。
[0096]
理论上precision的计算是计算日志与流程模型集model中潜在trace数量的百分比,但实际上算法并不简单,它需要比较模型中的事件和事件序列(即trace)与日志中的事件和事件序列之间的顺序关系,看它们是否相同以及相差多少。这需要对模型的状态空间进行充分遍历,对于具有高度并发性的大流程模型来说是不切实际的,会出现状态空间爆炸问题。为了能高效计算precision,有不同的算法优化。本技术的一些实施例采用如下优化方法:给定一个模型和一个日志,计算受日志trace约束时的所有可能的模型行为;日志和模型行为之间的边界定义了模型偏离日志的关键点,称为转义边,通过量化这些转义边
的边缘及其频率来计算精度值precision。
[0097]
下面结合图7示例性阐述本技术一些实施例提供的用于评估流程挖掘算法的方法。
[0098]
第一步:自动生成标准流程模型集
[0099]
例如,本技术的一些实施例根据现有的任意一种或多种流程挖掘算法得到多个标准流程模型。也就是说,本技术的一些实施例自动产生具有测试覆盖度的标准流程模型集sm,该标准流程模型集包括多个标准流程模型,例如,图7根据bmpn标准自动生成bmpn数据集(即流程模型集的一个示例)。
[0100]
需要说明的是,由于用于表示流程模型的方法有很多,其中bpmn是事实上的工业标准,所以第一步是自动生成bpmn集合。本技术的实施例不限于生成bpmn流程模型。
[0101]
第二步:根据标准流程模型自动生成测试日志集合sl即测试数据,即利用图7的日志生成模块根据第一步得到的标准流程模型集生成完备日志和不完备日志(即生成各种完备程度不同的日志数据),并最终得到测试数据即图7的流程日志数据。
[0102]
例如,本技术的一些实施例通过标准流程模型得到日志数据的过程包括:通过遍历标准流程模型中从起点到终点的所有路径,按照一定规则分配走不同路径的比例来生成日志,并给每个活动一个时间戳。例如,petri net是流程模型的理论基础,不同种类的流程模型格式,可以自动转换为petri net表示,然后再利用petri net的现有技术生成事件日志(如上述表1或上述表2所述的事件日志)。正如上文记载的日志是由若干流程实例case构成,一个行为是流程模型的一条执行路径,走这条路径的可以有很多流程实例case且通过流程实例编号case id唯一标识一个流程实例case,一个流程实例case由若干日志条目构成,每个日志条目记录一个业务的活动执行事件。
[0103]
在本技术的一些实施例中若判定日志集合中的所有的流程实例即所有case完全覆盖了对应流程模型包括的所有case时则认为日志数据完备,否则认为日志数据不完备。因此本技术的实施例通过设置生成的case数量来得到不同完备程度的日志数据。也就是说,本技术的一些实施例在生成日志数据时,可以设定一个参数:case数量,可以根据经验设置该流程实例的数量。例如,若流程越复杂,case数量应该设置的越大,因为足够大才能覆盖所有流程实例的执行情况。覆盖所有流程执行情况时称日志是完备的,完备性使用completeness来衡量完备性。本技术实施例的该参数设置多大,取决于希望用多完备的数据来测试流程挖掘算法。
[0104]
需要说明的是,在本技术的一些实施例中可以为第一步得到的标准流程模型集中的每个标准流程模型设置一个独立的的case数,也可以所有标准流程模型设置统一的case数,之后再根据设置的case数生成相应的日志数据。
[0105]
也就是说,在本技术的实施例中根据流程实例case的多少决定了日志数据是否完备。在本技术的一些实施例中为了控制生成不同完备程度的日志,需要定义什么是日志完备性completeness。需要说明的是,如果日志数据足够多,它所记录的流程行为(包括流程实例或轨迹trace)完全覆盖了标准流程模型所表达的流程行为,则日志是完备的。如果日志所覆盖的流程行为少于流程模型包括的行为,则称日志是不完备的。
[0106]
本技术的一些实施例通过定义计算公式来定量的刻画生成的日志数据的完备程度,完备程度计算公式如下:
[0107]
例如,本技术实施例的日志完备性completeness可以定义为以下公式:
[0108]
completeness=|l|/|m|
[0109]
其中,l是日志数据中轨迹trace的集合,|l|是轨迹trace数量,m代表用于生成l的标准流程模型中trace的集合,|m|是相应流程模型包含的trace数量。
[0110]
需要说明的是,轨迹数量这个值并不容易计算,尤其有并行、循环的情况时,每条并行分支又有复杂的子流程,这样各活动发生次序基本是全组合,又由于活动是否发生取决于循环次数、分支条件、嵌套结构等复杂情况,所以精确计算所有模型的trace并不容易。为此,本技术的实施例通过计算precision来得到completeness,而计算precision的过程具体可以参考不同的现有技术。
[0111]
例如,在本技术的一些实施例中precision计算公式如下:
[0112][0113]
也就是说,本技术的实施例可以利用现有计算precision的技术来计算completeness。precision用于评价流程模型所表达的流程行为有多少是日志记录的流程行为。
[0114]
例如,在本技术的实施例中生成不同完备程度的日志数据包括:基于标准流程模型生成日志数据log,控制生成日志数据中的流程实例case的数量,然后评价该日志数据的精度值precision,从而得到它的完备性指标completeness。每一个标准流程模型m可以生成不同流程实例case数量的日志得到不同完备性的一组测试日志集g,g={li,i∈[1,n]},n与完备程度的类型相等,例如,若设置三个不同完备程度则该处的l为三个,每一个包括多个行为(即多个编号不同的case)。针对m的集合sm得到与之对应的按组分割的日志集合g的集合sg。当取消分组后,sg所包含的所有日志的集合为sl。需要说明的是,本技术的一些实施例针对不同复杂度的标准流程模型m,生成日志时,给定不同的流程实例case参数,例如生成5000个case,然后评估该数据集的完备度,在按照10000来生成case,在评估完备度,依次类推,得到不同完备度的一组测试日志数据集。
[0115]
例如,在本技术的一些实施例中可以人为设定n个不同等级的完备度指标值,例如:100%,90%,80%,70%等。然后针对标准流程模型集中的一个标准流程模型设置一个初始流程实例case数量,然后生成日志,利用现有计算precision的技术来计算completeness。然后增加或减少case数量,并计算completeness。最后得到不同completeness等级时所需的case数,并得到相应的日志。
[0116]
需要说明的是,本技术的实施例之所以需要生成不同完备程度的日志数据是用于检测对于不完备的日志数据待评估的流程挖掘算法是否能够提供合适流程模型。本技术的实施例通过测试待评估的流程挖掘算法对不同完备程度的日志的流程挖掘效果,进而更加合理评价待评估流程挖掘算法,针对完备性低的组也能生成更加合理的流程模型则流程挖掘算法性能越好。
[0117]
本技术的实施例并不去计算模型中包含多少个trace或case。而是证明在我们的场景中completeness=precision,从而我们通过得到precision来间接得到completeness。
[0118]
第三步:根据待评估流程挖掘算法对流程日志数进行流程挖掘(即图7的流程发现
过程)得到流程模型(即图7的流程模型)。
[0119]
针对测试日志集sl调用待评估挖掘算法(例如,inductive miner算法或split miner算法等)得到与日志l(l∈s
l
)对应的流程模型和流程模型集合可以理解是,在本技术的一些实施例中每个标准流程模型m对应一组日志数据l和一组流程模型
[0120]
也就是说,在本技术的一些实施例中,一个标准流程模型m可以按照n个完备程度生成n个日志,组成一组日志的集合。每个日志l,使用一个流程挖掘算法可以挖掘一个流程模型
[0121]
第四步:比较流程模型集合标准流程模型集得到评估结果,例如,将图7的bmpn数据集中的标准流程模型与图7的流程模型进行对比得到评估结果。
[0122]
针对每个流程模型和与之对应的标准流程模型m,进行流程比对。比较模块所运行的比对算法可以是一个或多个比对算法,每个算法产生比对分值。最后输出针对不同被测试流程挖掘算法,在具有测试覆盖度的流程模型数据集sm下,按照不同完备度条件生成的日志集合sl的算法评价结果报告。
[0123]
例如,比对算法可以属于以下三种算法中的任意一种:第一种,graph diff比对:一个图有节点集合n与边集合e构成,每条边e由二元组《from,to》构成,from和to属于n集合。图比对算法计算两个图的n集合和e集合的差值,得到比对结果。第二种,使用token replay算法计算两个图的差异。第三种,使用alignment算法计算两个图的差异。
[0124]
需要说明的是,一个流程行为是模型的一条轨迹即执行路径,走这条路径的可以有很多case,case数作为该轨迹的权重。
[0125]
在本技术的一些实施例中,所述根据所述第i日志数据的精度值确定所述第i日志数据所属的子测试日志集,得到目标子测试日志集,包括:若确定所述第i日志数据的精度值与第i完备程度指标值的差值位于设置范围内,则确定所述第i日志数据属于与所述第i完备程度对应的所述子测试日志集,其中,所述第i完备程度指标值小于或等于1且用于量化对应的完备程度。例如,本技术的一些实施例通过度量生成的日志数据的完备度值completeness(用精度值表征)是否在允许误差(+/-2%)的范围内,如果在就得到属于某一个完备度指标的日志数据。
[0126]
也就是说,本技术的实施例为了测试流程挖掘算法,需要提供测试数据集即日志数据l及与日志数据对应的标准流程模型m。为了获得日志数据l本技术的实施例需要先生成标准流程模型m,然后根据标准流程模型m生成日志数据l,然后利用流程挖掘算法从日志数据l中进行流程挖掘得到待评估流程模型m’,然后比较m和m’得到评估结果。
[0127]
请参考图8,图8示出了本技术实施例提供的用于评价流程挖掘算的装置,应理解,该装置与上述图6方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该用于评价流程挖掘算的装置,包括:测试数据生成模块210、测试模块220以及测试结果评估模块230。
[0128]
测试数据生成模块,被配置为根据标准流程模型集生成测试数据。
[0129]
例如,该测试数据可以为图8示出的用于测试的事件日志集合201。
[0130]
测试模块,被配置为通过待评估流程挖掘算法对所述测试数据进行流程挖掘得到待评估流程模型集202。
[0131]
测试结果评估模块,被配置为比较所述待评估流程模型集和所述标准流程模型集得到对所述待评估流程挖掘算法的评估结果。
[0132]
在本技术的一些实施例中,如图9所示,测试数据生成模块210示例性包括标准流程模型集获取模块211以及日志集合获取模块212,其中,标准流程集获取模块被配置为生成多个表征流程模型213,日志集合获取模块212被配置为根据各个标准流程模型生成对应的具有不同完备程度的用于测试的事件日志集合201,得到测试数据。
[0133]
在本技术的一些实施例中,测试模块包括图10的待评估流程挖掘模块221,该模块可运行待评估的流程挖掘算法,通过运行该算法该模块可以对输入的任一完备程度包括的日志数据进行流程挖掘得到对应流程模型。
[0134]
在本技术的一些实施例中,测试结果评估模块230至少包括图11的比较模块231,该比较模块231被配置为对比与任一日志数据对应的标准流程模块和流程模型,进而确定流程模型对标准流程模型中轨迹的挖掘情况,最终完成对待评估挖掘算法的评估结果,输出图11的按照某一完备程度生成的日志结合s
l
的算法评价结果报告。
[0135]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
[0136]
本技术的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述用于评价流程挖掘算的方法包括的任意实施例中的方法。
[0137]
如图12所示,本技术的一些实施例提供一种电子设备500,包括存储器510、处理器520以及存储在所述存储器510上并可在所述处理器520上运行的计算机程序,其中,所述处理器520通过总线530从存储器510读取程序并执行所述程序时可实现如用于评价流程挖掘算的方法包括的任意实施例。
[0138]
处理器520可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器520可以是微处理器。
[0139]
存储器510可以用于存储由处理器520执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本技术实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器520可以用于执行存储器510中的指令以实现图5或图6中所示的方法。存储器510包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
[0140]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也
可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0141]
另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0142]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0143]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0144]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
[0145]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1