第2讲 | 合规性检查
发布时间:2022-08-27
合规性检查旨在将现实中发生的行为与过程模型中捕获的行为进行比较,验证现实中发生的行为是否遵循事先定义好的业务流程规范。
01 什么是合规性检查?
合规性检查通过对比流程的事件日志与业务模型(可以是预定义的参考模型也可以是挖掘出的模型)是否一致,帮助我们了解流程是否按照预期运行。
02 应用场景
合规性检查有如下两个主要的应用场景:
- 合规性检查(用于审计、欺诈检测等): 进行审计是为了确定有关组织及其相关流程信息的有效性和可靠性。同时,进行审计有助于检查业务流程是否在管理者、政府和其他利益相关者设定的某些界限内执行;
- 评估流程挖掘算法的结果:将发现的流程模型与用于学习模型的日志或未见过的测试日志进行比较,进而评估一个模型相对于日志的质量。
03 合规性检查算法
托肯重演(Token Replay)
托肯重演是一种启发式技术,它使用四个计数器(产生的托肯、消耗的托肯、丢失的托肯和剩余的托肯)来计算给定过程模型和事件日志的拟合度。尽管该方法容易理解,并且能够有效实施,但由于托肯重演采取的是局部决策,因此可能导致误导性的结果。
托肯重演方法根据Petri网的变迁引发规则将实例在过程模型上进行逐步重演,在重演过程中,统计产生的托肯数p,消耗的托肯数c。若某个变迁没有被使能,需要强制执行时,在其前集库所中增加额外托肯以使其能够被引发执行,并记录一个丢失的托肯m,在重演结束后统计剩余的托肯数r。可通过如下公式计算实例σ和给定过程模型N的拟合度:
下面给出托肯重演的一个例子。给定实例σ=<a,c,d,f>,实例σ与过程模型N的重演过程如下图所示:
重演结束后在变迁e前的库所中有一个遗留的托肯,这是因为依据实例,活动e不应该发生,但是模型希望活动e发生。根据p,c,m,r计算过程模型N和实例σ的拟合度为0.75。
上述的案例展示了如何计算单个实例与过程模型的拟合度,计算整个事件日志的拟合度的公式如下:
其中,mN,σ表示在过程模型N上重演σ时产生的托肯,用相同的方式定义rN,σ、pN,σ、cN,σ,L(σ)是实例σ在事件日志中出现的次数。
托肯重演方法存在的一个问题是当过程模型中存在重复任务时,可能无法明确定位要执行的任务, 另一个问题是在处理不可见变迁时搜索遍历状态空间会导致高昂的代价。另外局部添加的托肯可能会对后续的重放产生影响,导致精度降低。
对齐法(Alignment)
Alignment是一种技术,它执行详尽的搜索,以找出记录的实例和过程模型之间的最佳对齐方式。因此,它能保证返回与实例最接近的模型执行序列。
在托肯重演方法中我们提到,在处理重复任务和不可见变迁时,要考虑模型的不同状态,这引发了一个搜索问题,即要探索所有可能以寻找最佳的重演轨迹,将这个想法推广就引出了对齐的思想。对齐法的主要思想是将实例中的每个事件和模型执行序列中的一个执行任务连接,反之亦然。当然,存在事件和执行任务都没有相对应连接的情况。
下面我们更详细的来描述对齐的概念。
对齐将事件日志的实例与模型的执行序列连接起来。它由一个两行矩阵表示,其中第一行由实例中的事件所表示的活动和一个特殊的符号≫ (下面由ei共同表示)组成。第二行由模型的执行序列中任务执行所捕获的活动和一个特殊的符号≫ (用ai共同表示)组成。
表格中的每一列,即一对(ei,ai)就是对齐的一个移动,可以认为对齐是一系列的移动。对齐包含以下三种移动:
第一种是同步移动(ei=ai≠≫),代表实例中的事件和执行序列中的任务互相对应,事件和执行任务所代表的活动相同,即实例中记录的事件与过程模型执行序列中的任务相一致。
第二种是模型移动(ei=≫,并且ai≠≫),一个活动根据模型应该被执行,但实例中没有相应的事件,这种情况被称为模型移动。也就是说,实例和模型的执行序列之间存在偏差,模型中的执行活动被跳过。
第三种是日志移动(ei≠≫,并且ai=≫),当实例中的一个事件表明一个活动应该被执行,而依据模型该活动不能被执行时,就代表发生了一个日志移动。和模型移动一样,日志移动也表示存在一个偏差。
下面我们给出一个对齐的例子,给定实例σ1=<a,b,f>,给定过程模型N1如下图。
实例σ1和过程模型N1的一个对齐如下所示。
不过,上述对齐只是一种可能的对齐。即使对于相同的实例和执行序列,也可能有很多不同的对齐。一致性检查是基于最优对齐的,最优对齐是尽可能以最少的偏差将实例和执行序列连接起来的对齐。
下面简单介绍对齐的运行机制。首先,将实例转化为一个顺序过程模型,称为实例模型,然后对于实例模型和过程模型中每一对代表相同活动的任务创建一个同步任务,生成同步积。为同步积中的每个任务设置代价函数,然后基于一个好的算法(比如A*算法),通过遍历同步积的状态空间来构造最优对齐,直到找出从初始状态到最终状态的最短路径,也就是代价成本最小的执行路径。找到这条最短路径后,根据任务每次执行对应的移动类型,就可以转换为一个对齐。
如果日志中所有的实例都只能通过同步移动来对齐,那么就说明模型能够很好的解释日志中记录的行为,它们是拟合的。如果实例不拟合,则偏差由对齐中的模型移动和日志移动给出。然而,在实践中同步积的状态空间可能是巨大的,甚至是无限的。
04 小结
托肯重演方法仅仅给我们提供实例可重演性的直观感受,而对齐提供的是一种更加详细、细粒度、完整的分析。
"有一个很好的比喻可以直观说明托肯重演法和对齐法的区别,就是在一个城市里寻找一个特定的地方(例如,一家餐馆):在托肯重演中,你只需根据眼前信息就可以决定走的方向。在对齐法中,你拿着手机看谷歌地图,它会告诉你最佳的路线(但要付出连接GPS、下载城市地图等的代价......)" - Josep Carmona,加泰罗尼亚理工大学教授。