凡得热点

/

凡得智库

公司新闻
凡得智库
产品动态
封面图片

流程大咖说 | 流程挖掘转变业务运营方式

我们对一批高效应用流程挖掘技术的企业进行了调研,发现这些企业都能做到大规模生成运营洞察,识别流程低效问题点,从而针对性地开展行动,并能衡量流程改善的效果 。

2024-05-10
封面图片

流程发现算法第5讲 | Inductive Miner-Infrequency

Inductive Miner-Infrequency(基于频次的归纳式挖掘)是在Inductive Miner的基础上进行改进的算法,由sander改进并完善,接下来,我们将详细地介绍这个算法。 1. 背景介绍 关于Infrequency的解释:在大多数现实生活中的事件日志中,一些轨迹很少被采用,或者轨迹的不同之处仅在于不经常发生的活动。 如果流程模型中包含不常见的行为,可能会牺牲简洁度(simplicity),如果模型中排除不常见的行为,可能会牺牲拟合度(fitness)。幸运的是,帕累托原则(the Pareto principle,也称为8020规则)通常适用于事件日志。通常,80%的观察到的行为可以用一个模型来解释,这个模型只占描述所有行为所需模型的20%,80%模型展示了流程中的“高速公路”。 为了获得80%的模型,传统的方法是在发现模型之前对日志进行全局过滤,这种方法很难识别不频繁的行为,可能产生不理想的流程模型。 因此,一个能快速过滤不常见行为并发现合理的80%流程模型的流程发现算法Inductive Miner-Infrequent(IMi)应运而生。其主要思想是:在IM的所有步骤中引入了不常见行为过滤器,以便对不频繁行为进行局部过滤。 2.算法介绍 在应用IM算法时,事件日志中的轨迹和事件频率被IM忽略,但被IMi考虑在内,以区分频繁和不频繁的行为。为此,IMi算法需要预先设定一个参数K,K为用户设置的过滤阈值,用于区分频繁和不频繁的行为。该方法首先不改变地应用IM算法的步骤。只有当IM算法操作失败时将返回一个花型模型时,才会应用过滤器。具体而言,IMi算法包括在以下三个步骤中应用过滤器: (1)操作符上的过滤器和切割选择步骤;(2)基本案例上的过滤器;(3)日志分割上的过滤器。 2.1 操作符上的过滤器和切割选择步骤 (1) 启发式方法过滤 L1=[áa, b, c, a, b, eñ50, áa, b, f, eñ100, ád, e, fñ100, ád, f, eñ100,ád, e, d, fñ1] 说明:与Heuristic Miner中使用方法类似,IMi对直接跟随图进行过滤,使其仅包含最频繁的边。与e的其他输出边相比,边(e,d)相对不频繁,所以边<e,d>被过滤掉。如果一个节点的输出边的频率小于该节点最强输出边的频率的k倍,则该节点的输出边太不频繁。在切割×、→和循环之前,在IMi中过滤掉所有不常见的边被过滤掉。 图a 带有一条不频繁边的直接跟随图,黑色虚线为IM算法中顺序切分运算符的结果,但对(e,d)产生了错误切分 (2)  最终跟随关系图 L2=[áa, c, d, e, bñ, áa, b, a, e , d, cñ, áa, e, c, b, dñ, áa, d, b, c, eñ] 说明:如下图b所示,由于b的所有输出边都具有频次1,因此k的任何值都不能过滤边(b,a)。 图b 直接跟随图 若采用图c的最终跟随图,则能有效地过滤掉边<b,a>。 图c  最终跟随图 类似于弱序关系,IMi使用最终跟随图,这是直接跟随关系的传递闭包:当且仅当a后面跟b在日志中的某处时,才存在边(a,b)。 在这个例子中,使用最终遵循的图允许IMi处理不频繁的行为。 活动的不频繁发生仍然会增加不频繁边缘的频率,但每个边缘最多增加1。最终跟随图放大了所有其他行为,因此使用最终跟随图→ 切割检测提高了对不频繁行为的鲁棒性。 2.2 基本案例上的过滤器 (1) 单个活动 L1=[áeñ100, áañ100, áa,añ100, áa, a, añ100] L2=[áeñ1, áañ100, áa,añ1, áa, a, añ1] 说明:如果分割的子流程L1和L2重演一个流程模型,则存在如下问题: 在L1中,所有的轨迹都很频繁,花型模型(flower model)显然是最好的选择。然而,在L2中,只有<a>是频繁的,a最能代表频繁的行为。选择任一选项都会影响质量维度:若选择一个花型模型,L2会牺牲精确度;若选择<a>,L1会牺牲拟合度。 只有当日志中a的每个轨迹平均出现次数足够接近1(取决于相对阈值k)时,IMi才会发现a。 (3) 空轨迹 L=[áa,b,dñ100, áa,c,dñ100, áa,dñ] L1=[ áañ201] L2=[áeñ1, ábñ100, ácñ100] L3=[ádñ201] 对于L2: ×(e,...) 说明:事件日志L通过分割运算符得到三个子日志L1,L2,L3,子日志L2中存在一条空轨迹,其频次远远小于其他的轨迹的频次,如果不采用过滤,将会影响模型精度。 2.3 日志分割上的过滤器 对于每个操作符,我们描述了可以检测到的违规类型,以及如何通过IMi对其进行过滤,如示例所示。在这些例子中,∑1={a},∑2={b}是所选择的切割,L1、L2是要创建的子日志。 X: 违反×运算符的行为是在单个轨迹中存在来自多个子树的活动。例如,轨迹t1=áa,a,a,b,a,a,a,añ 包含来自∑1和∑2的活动。∑1解释了大多数活动,是最频繁的。所有不来自∑1的活动都被认为是不频繁的,并被丢弃:áa,a,a,a,a,a,añ∈L1。 →: 违反→ 运算符是指根据子树出现的无序事件。例如,在轨迹t2=áa,a,a,a,b,b,b,a,bñ中,最后一个a出现在b之后,这违反了→. 过滤不频繁的行为是一个优化问题:轨迹将以最少的事件删除方式进行拆分。在t2中,划分áa,a,a,añ∈L1,áb,b,b,bñ∈L2丢弃的事件最少。 ∧:并行运算符允许其子树的任何行为序列。因此,没有违反∧的行为,并且在拆分日志时既不能检测到也不能过滤不频繁的行为。 ?:违反?运算符是当轨迹不是以循环体开始或结束时:例如?(a,b)被所有不以a开头和结尾的轨迹所违反。对于轨迹的每个这样的无效开头或结尾,一个空轨迹会被添加到L1以增加所得到的模型的拟合度。考虑轨迹t3=áb,a,bñ,则[áeñ2, áañ1]⊆L1和[ábñ2]⊆L2 3.总结 IMi通过引入了不常见行为过滤器,将轨迹和事件的频次考虑在内,区分频繁和不频繁的行为,在三个层面上应用了行为过滤器,相比于基础的Inductive Miner,更能精准地发现流程模型。

2023-07-20
封面图片

面向对象的流程挖掘-3D流程挖掘简介

本期作者简介 华北电力大学-程龙教授、XX研究所研究员-李光明博士、山东理工大学-刘聪教授,均长期从事流程挖掘关键技术研究。三位专家分别于博士后、博士期间师从流程挖掘之父Wil van der Aalst教授,并且全面参与了面向对象流程挖掘(Object-Centric Process Mining 或者OCPM)研究。 01 引言 2022年11月,超级独角兽公司、全球流程挖掘领导者Celonis在德国慕尼黑召开了第四届用户大会“2022 Celosphere”,并且推出了颠覆性产品Process Sphere,将流程挖掘视角从2D发展至3D,可将企业的数字业务流程像“3D地铁地图”一样呈现在用户面前。流程挖掘之父Wil van der Aalst教授评价Celonis Process Sphere产品是流程挖掘领域近10年最大的技术进步。 “Celonis Process Sphere represents the biggest step-change in the field for 10 years and establishes new table stakes for process mining and how companies operate”-- 流程挖掘之父Wil van der Aalst 那到底什么是面向对象的流程挖掘(以下简称3D流程挖掘或者OCPM)?这个技术相比传统流程挖掘到底有什么优点呢?以下我们对3D流程挖掘的发展和概念做一些简单的梳理和介绍。 02 研发到落地共7年 在国内市场,流程挖掘的应用当前还是处于初级阶段,3D流程挖掘的概念还显得比较前沿,知道的人并不多。同时,虽然面向对象的流程挖掘的核心技术这些年发展的比较迅速,Wil教授最近2年也一直在数字产业中力推3D流程挖掘, 但是当Celonis在“2022 Celosphere”推出3D流程挖掘时,我们整体还是感觉比较惊讶。主要原因还是其技术产品化和商业化的时间比我们预期的要早,因为我们预计的商业化时间点大概是在2024年左右。当然,3D流程挖掘技术的落地以及3D流程挖掘商业化产品的推出,除了体现了Celonis公司对新兴技术的追求和实践,进一步奠定了其在流程挖掘领域行业领先者的地位,也在另一方面反应了商业市场对3D流程挖掘的实际需求。 实际上,面向对象的流程挖掘的技术研究始于2015年。当时,在“Interacting Artifacts”概念的基础上,Wil教授意识到流程挖掘中Object(对象)的重要性。因此,Wil教授于2015年特别招聘了李光明作为博士研究生,专门进行面向对象的行为约束(OCBC)模型研究,并先后让刘聪、程龙、Gyunam、Jan、Alessandro、Anahita等人分别参与了相关技术的研究和开发,其具体内容覆盖了3D流程模型、日志格式、挖掘算法、流程分析、一致性检测等一系列技术。 随着研究的逐步推进,3D流程挖掘技术的闭环在2020年基本形成,其中Wil在2020年CBPM大会上也以“面向对象的流程挖掘”为主题进行了主旨演讲,使业界意识到了3D流程挖掘的巨大潜力和市场需求。此外,Wil在2020年入职Celonis成为首席科学家之后,也集中精力把3D流程挖掘作为一个研发关键点,并在科研活动中一直力推OCPM技术,包含推动相关标准例如OCEL(Object-Centric Event Log)的标准化,直接加速了Celonis Process Sphere产品的问世。 总的来说,3D流程挖掘的发展和落地,经历了7年多的时间。这其中有Wil教授的力推,相关研究人员的努力,也有Celonis公司整体的支持。结合流程挖掘技术自身的发展,3D流程挖掘发展的整体历程如下。 3D流程挖掘的发展历程 03 为什么要3D挖掘? 流程挖掘数据主要来源于企业信息系统。以当今大多数企业广泛使用企业资源计划(ERP)系统为例,ERP系统包括计划、制造、销售、会计、财务、人力资源管理、项目管理、库存管理和运输等模块,模块间具有松耦合的交互关系,并且基于一个中央服务器来存储不同模块的业务,这样就能够使不同的模块共享数据并进行交互。以常见的采购到付款(OTC)流程为例,其中整体的信息系统结构如下图所示。 ERP信息系统结构(基于OTC流程) 由于ERP系统由多个模块组成,一个企业部门使用一个模块,流程实例分散在企业的不同部门,经常存在一对多和多对多的关系,导致多个流程实例之间存在交互,且不同部门的案例概念也不相同,很难为整个业务流程确定全局唯一的案例概念(即流程挖掘中的case id概念)。例如,在“销售”部门的眼中,案例概念是“订单”,而在“送货”部门眼中,案例概念是“包裹”。因此,缺少一个能贯穿整个流程的全局案例概念。 传统的流程挖掘技术基于单一案例概念的假设会压平实际流程 传统的流程挖掘技术和产品大多基于单一案例概念,即以案例(case)为中心。执行数据记录的每个事件都精确地指向某个案例,一个案例对应于流程的一个执行实例,流程挖掘技术从案例概念的角度分析系统中的业务流程。当采用当前的流程挖掘技术分析ERP系统中的流程时,强加的单一案例概念会将3D流程压平投影到2D视图上,只捕捉到流程的一个基于选择的案例概念的特定视角。这种强制转换还会导致诸多问题,特别是: (1)收敛问题,即事件被复制并分散到多个案例中; (2)发散问题, 即多个同一活动的实例不能在一个案例中区分。 这些问题会使得流程挖掘得到的结果不精确或者很难从一个视角对端到端流程进行细粒度的分析。此外,现有的流程挖掘技术侧重分析业务流程的控制流方面,不能对分析数据方面提供足够的支撑,即缺少业务流程与数据对象之间的关联互动。 04 OCPM技术简介 为了使能3D流程挖掘,面向对象的流程挖掘技术应运而生。经过近些年的发展,面向对象的流程挖掘包含了一套技术,具体如下图所示。 面向对象的流程挖掘的一些技术示例 在事件数据存储方面,XOC日志格式最先被提出来存储3D的流程事件数据,避免了传统XES事件日志格式对事件数据的扁平化压缩,保留了原始事件数据中的多实例概念和复杂交互关系;而后基于本质上同样的面向对象的思想,OCEL日志格式被提出来降低日志的复杂度,提高日志的性能,成为支撑面向对象的3D流程挖掘技术可实际运用的日志格式。在流程可视化方面,OCBC模型被提出,可以在一个模型中同时描述数据和行为两个视角,其中数据视角可以描述一对多和多对多等复杂关系,行为视角可以描述ERP系统中灵活的事件约束等松耦合关系。面向对象的Petri网(OCPN)通过给库所添加类型来表示不同的对象,通过加强的关系来表示一对多和多对多等复杂关系。直接跟随多图通过重叠基于不同案例概念的子流程,得到一个描述多案例概念的端到端流程。 此外,面向对象的流程挖掘也具有了一系列的支持工具,包含从数据库抽取3D事件日志的日志生成工具、3D流程建模工具、3D流程挖掘工具、一致性校验工具和性能分析工具。这些工具进一步使能了3D流程挖掘的应用,其中学术领域中面向对象的流程挖掘工具示例如下图所示。 学术领域面向对象的流程挖掘工具示例 总的来说,在分析ERP等信息系统中的3D流程时,面向对象的流程挖掘技术存在以下优势: (1)不需要为整个业务流程确定全局唯一的案例概念,而是根据分析需求,选取关注的对象,灵活地查看与其相关的业务流程。 (2)解决了收敛和发散问题,提高了数据质量。通过采用3D事件日志格式记录事件数据,避免了对数据的扁平化压缩,使得数据保持原有的复杂对应关系,数据中和事件不直接相关的各种信息都可以得到保留。 (3)可以对流程实例之间的交互进行建模,基于数据模型和对象进行事件关联来处理多实例问题,解决现有的流程建模语言孤立地描述流程实例的问题。 (4)采取集成的方式对数据方面和控制流方面进行建模,提高对数据视角建模的能力,解决当前的流程建模语言虽然可以对数据对象进行建模,但能力偏弱,没有采用ER模型和UML类模型等专业的数据建模语言中表达力更强的元素的问题。 (5)增强了合规性校验中检测出数据方面偏差的能力。现有的一致性校验技术主要是从控制流的角度来检测偏差,但一些控制流方面的异常行为无法直接从控制流方面进行校验,它们与数据方面的异常关联,必须综合考虑控制流和数据两个方面及其之间的交互才能检测出来。 (6)进一步提高了流程性能分析的准确性。通过采用3D事件日志作为数据支撑进行分析,使得对流程的分析结果更加丰富和准确。 05 技术应用与展望 流程挖掘技术应用到面向对象的信息系统,总的来说,目前有3条路径,分别对应当前、以后、将来三个时间阶段。具体如下图所示。 应用面向对象的流程挖掘技术的3种途径 第一条路径是完全采用传统的流程挖掘技术。从系统数据库中直接抽取数据转化为标准的XES日志(或者对应数据模型),采用传统的面向案例(即假设单一案例概念)的流程挖掘技术进行分析。这种途径也是当前阶段大多数流程挖掘厂商所采用的方式,例如,通过执行SQL语句直接从ERP数据库中抽取事件日志,再采用直接跟随图的可视化形式发现业务流程。 第二条路径是首先从面向对象的信息系统数据库中抽取出面向对象的事件日志,该日志包含了用户关心的数据库的所有信息。再根据用户需求将面向对象的事件日志转化为基于不同案例的XES日志(或者对应数据模型)。最后依然采用传统的流程挖掘技术进行分析。预计在以后的一段时间内,部分厂商会尝试采用这种方式进行流程挖掘。 第三条路径是直接从面向对象的信息系统数据库中抽取出面向对象的事件日志,然后采用专门的面向对象的流程挖掘技术进行分析。 06 结束语 Cenonis Process Sphere产品的推出,意味着面向对象流程挖掘技术的最终落地,也表明了流程挖掘商业化产品从2D到3D的跨越。相比传统流程挖掘,3D流程挖掘涉及到更为复杂的模型挖掘、一致性检测算法等核心技术。因此,我们可以预测,基于构建的在3D流程挖掘方面的技术壁垒,Celonis公司在未来一段时间内仍将继续保持其在流程挖掘商业领域的领先地位。同时,其产品在实际商业中的应用,也将进一步推动流程挖掘技术的发展和创新。 另一方面,尽管当前面向对象的流程挖掘技术已经成熟,但总的来说,其在各个领域和业务方面的实际应用价值还需要进一步探索。同时,如何让3D流程挖掘与BI、AI等技术以及领域知识有机的融合起来, 也是一个需要继续研究的方向。  

2023-01-08
封面图片

流程挖掘的价值

根据Fortune Business Insights数据显示,业务流程管理(BPM)这项成熟的技术,已经拥有了巨大的市场,预计将从2021年的约110亿美元增长到2028年的260亿美元。业务流程管理的起源可以追溯到20世纪80年代,当时开发了文件工作流以加快文件的审查。现在业务流程管理涵盖了更广泛的活动,并已发展到主要以客户为中心,从而取代了以文件为中心。作为数字化转型的重要组成部分,BPM提供了将流程中的部分或全部步骤自动化的能力,只在有需要时才进行人工干预。 随着BPM使用量的增长和多个流程的加入,导致许多企业无法跟踪其多样化的流程。应用程序的复杂性(有些是新的,有些是遗留的)以及流程文件的缺乏是企业难以监控自身所有流程的原因。对企业而言流程的可见性是有限的,尤其是那些跨越不同企业系统的流程,而流程挖掘作为一类新的企业软件出现了。“流程挖掘是数据挖掘、数据科学和流程管理之间的交叉点。”Apromore公司的联合创始人Marlon Dumas表示,该公司提供同名的流程挖掘解决方案。 1 流程挖掘的重要性 流程挖掘从事件日志中收集数据,然后将其可视化,如此以来,流程所有者、业务经理或C级管理人员就可以看到他们的数据在哪里、延迟在哪里。“合规审查人员想看看企业流程中是否出现违规的情况,”Dumas说道,“在其他情况下,客户服务经理想知道为什么他们在解决投诉上花了这么多钱。” 流程挖掘在各种职能领域有许多应用案例。 2 流程挖掘带来的收益 流程挖掘主要驱动力的三个垂直行业是保险、银行、制造业和政府。“BFSI有非常多的使用案例,”Dumas指出,“在制造业,主要应用之一是通过消除返工和处理缺陷以寻求更高的效率,而在政府部门,许多面向公民的流程将从改进中受益。”在许多行业中,供应链流程(包括入库和出库)广受关注。在新冠疫情(Covid)期间,企业开始意识到供应链的问题,同时由于竞争的原因,供应链流程也越来越受到关注,这是因为交货时间对客户来说是非常重要的。Dumas说,“通过流程挖掘,企业可以提前知道,如果在供应某个部件时发生延迟,会产生什么影响,以及它将如何影响所有其他依赖于该部件时间的系统。”流程挖掘允许组织通过学习他们过去的经验来提高运营绩效。对于那些从流程挖掘中获得洞察力的组织,下一步自然是用预测能力来完善流程洞察力。例如,Apromore使用历史数据来估计正在运行流程的完成时间,这有助于在多个层面上进行规划。它还可以预测客户行为,如投诉、退货和付款。提前预测结果使组织在面对不断变化的环境时能够灵活应对。目前最先进的应用是将数据分析和人工智能用于支持持续的流程改进,就是通常我们所说的增强型业务流程管理。 3 流程挖掘性能 通过流程挖掘可以实现显著的性能改进。比如,一家20年前就进入电子商务市场的零售商,在新冠疫情(Covid)期间网上购买量增加后难以跟上客户的需求。正如流程挑战中常见情况一样,该零售商无法确定延误的根本原因。鉴于该企业的流程中涉及的因素很多,包括人力资源、供应商、交货和开票,该公司迫切希望找出如何优化他们的利润率。 于是,该公司从三个信息系统中分别提取并分析了数据。针对瓶颈、流程问题和工作量不平衡实现流程可视化。然后该公司做出了一些数据驱动的运营变革,从而使得他们的服务水平协议(SLA)的履行率从74%提高到90%,取消订单(当客户发现他们的交货被推迟时经常发生)减少,客户满意度提高。 4 选择序列 由于存在可能获得高收益的巨大潜力,企业在开始时往往希望挖掘大量的流程。然而提供流程挖掘和执行管理软件产品的Celonis公司产品营销总监Sam Attias表示,最好先有选择,然后迅速扩展。他说:“最好的方法是与关键的转型举措保持一致,如共享服务或供应链转型。”Hexion是一家特种化学品制造商,它选择了几个有显著效果的项目,包括财务交易和供应链的加强。该公司部署Celonis的第一个流程是订单到现金,这是一个复杂的核心流程,从客户订单开始到付款结束。通过流程挖掘,Hexion发现其主数据包含了不正确的交付路线。一旦主数据得到纠正,路线更改就减少了45%,从而节省了交付时间和成本。另一个以前不可见的问题是未获得的现金折扣,即客户因提前支付发票而享有的折扣。在意识到这个问题后,Hexion开始让客户了解他们的付款条件,在短短六个月内,未获得现金折扣的支付额减少了50%。在过去,咨询公司会在办公桌前观察他们,做笔记,进行访谈,并制作一份大型报告,但所有这些建议往往没有得到实施。阿提亚斯说:“进行评估花了这么长时间,当评估完成时,情况已经改变了。虽然可以通过简单的指标获得洞察力,例如将一个组织的采购吞吐时间与行业平均水平进行比较,但这种类型的指标并不能提供对延误根本原因的洞察力。Celonis着眼于特定的活动和标准流程路径的偏差,”Attias继续说道,“例如,可能会出现特立独行的购买情况,即一个人不通过采购就购买货物。”通过分析事件日志获得的数字足迹是客观的,并且可以快速获得。Attias解释说,“公司可以在几周内获得价值。在发现一个问题后,Celonis还可以就如何改进流程提出建议。我们在平台之上建立了一个知识层,”他指出,“其中包括基于过去经验的高级智能和机器学习,这样客户就可以快速使用预先建立的自动化来进行改进。” Celonis还利用了其他技术,如流程仿真、一致性检查和基准测试。Celonis的执行管理系统(EMS)旨在利用内置的自动化能力来改善流程。“我们可以让组织知道修复的内容,然后可以利用自动化来进行修复,”Attias总结说。 5 流程挖掘技术是强大的 Hexion现在计划在其所有的流程中使用Celonis并逐步实施。流程挖掘还使人们更深入地了解到一个变化对邻近流程的影响。例如,订单管理流程也影响到生产计划和采购,但在Hexion开始使用Celonis之前,该公司对这些相互依存关系并不了解。Hexion的下一步将是预测可能的不利结果,并主动纠正。 流程挖掘不被认为是BPM市场的一个子集,而是一个额外的市场。市场研究人员对其目前的规模有很大分歧,有些估值是其他市场规模的两倍。然而,研究人员一致预测,未来7年的年增长率约为50%,市场价值将达到60-150亿美元。企业不仅希望了解和改进他们的流程,而且还希望能够记录他们的流程,以便进行审计和合规。随着企业应用和流程的激增,实现这些目标的挑战只会增加,而流程挖掘是一种强大的使能技术。 6 流程发现(即任务挖掘Task Maining)与流程挖掘 流程发现是改善流程的另一条途径。与流程挖掘不同,流程发现不使用事件日志或访问企业系统的后端。相反,它在用户的桌面上操作,并通过击键或鼠标点击跟踪用户行为。流程挖掘是面向系统的,而流程发现是面向用户的,将人的因素带入对流程的理解。“例如,当一张发票在ERP系统中被更新时,它会显示在事件日志中,但应收账款人员为存档所采取的步骤却不一定能看到,”Nintex产品营销副总裁Holly Anderson说,“流程发现提供了这个缺失的部分”。Nintex提供了一套工具,可以实现流程发现和自动化,以及流程映射和流程分析。Nintex的流程发现机器人捕捉用户活动的信息,而Promapp则显示反映所收集的流程信息的地图。“Promapp优化了流程,”安德森指出,“这样,公司就不会将一个设计不好的流程自动化。” 一旦确定了最有效的路径,Kryon RPA或Nintex Workflow等Nintex自动化工具就可以将选定的流程自动化。流程发现和流程挖掘是协同的,而不是竞争的。“我们的流程发现产品可以与流程挖掘整合,”Anderson继续说,“这在企业中创造了一个更完整的流程描述。” 大多数公司都是带着一个特定的问题或担忧来找Nintex,而不是全面的数字化转型。他们需要了解有哪些流程和任务,最佳流程是什么,以及哪些现有流程可以自动化。“我们的目标是建立一个记录流程的系统,”安德森说。“我们的产品可以接触到任何系统,并从所有的系统中引入信息。我们希望建立的是一个流程的单一真相来源,这是我们迄今为止在行业内没有看到的。”

2022-12-06
封面图片

流程发现算法第4讲|Inductive Miner

Inductive Miner(归纳式挖掘)是一种基于流程树的算法,并在其基础上衍生了各种变体算法,比如Indcutive Miner-Infrequency,Inductive Miner-Lifecycle等。接下来,我们将详细地介绍这一基本的Inductive Miner算法。 1 背景介绍 ▼ 已有流程发现算法比较 上表总结了之前已有的流程发现算法的特点。从表中可以看出,现有的流程发现算法不能保证在有限的时间内(没有死锁和其他异常)得到的流程模型是fitting(表示所有的行为)和soundness(合理的)。 因此,需一个更综合的方法保证合理性和拟合度,并且在有限的时间内得到块结构(block-structured)模型,Inductive Miner算法应用而生。 2 思想介绍 Indcutive Miner算法主要采用分而治之的思想,将发现一个日志L的过程模型问题分解为发现通过拆分日志L得到n个子日志的n个子过程模型问题。其具体的做法是如下: a)选择最适合日志L的切分运算(顺序、并发、循环、排他);b)将日志L中的活动通过切分运算划分为不相交的集合;c)使用这些集合将日志L拆分为子日志L1, L2,…, Ln。通过上述步骤递归挖掘这些子日志L1, L2,…, Ln,直到子日志只包含一个活动。 在介绍算法之前,我们先引入四种切分运算符,分别如下:           上图中的每个小圆圈代表每个子流程,四种运算符的详细规则如下: 排他运算符的规则为一个子流程A与另一个子流程B两个之间没有任何关联,一个子流程A中的活动的后继活动不能在另一个子流程B中,一个子流程B中的活动的后继活动不能在另一个子流程A中,两者互不关联; 顺序运算符的规则为从一个子流程A到另一个子流程B有出边,但是无入边,两者总体上只有一方到另一方; 并发运算符的规则为一个子流程A既有到另一个子流程的出边,也有另一个子流程B到这个子流程A的入边。两者彼此交叉,并行存在; 循环运算符的规则为一个活动从子流程A出发,到达另一个子流程B中,再由B重现回到A。总结为起于此终于此。 3 主要步骤 1.将事件日志转化为直接跟随活动图(DFG) 假设存在事件日志L = {<a, b, c>,<a,c,b>,<a,d,e>,<a,d,e,f,d,e>},将其转化为直接跟随活动关系图如下:   2 .切分DFG   其中图中a,b,c,d依次进行的切分操作为顺序切分,排他切分,并发切分,循环切分用流程语言可表示为:     3 .将上述过程转化为流程树语言 发现模型: M= →(a, X(∧(b, c), Q (→ (d,e),f))),其中Q表示循环运算符。 最终生成的流程树如下图所示: 4.流程树转化为Petri网 按照上述流程树转化为Petri网规则转化第3步流程树为下述Petri网: 4 总结 Inductive Miner算法得到的流程模型能够完全拟合事件日志中的行为,但还存在以下不足: (1)没有考虑事件日志中直接跟随活动关系的频次; (2) 生成的模型中不可见变迁行为增多,使得流程模型精确度降低。

2022-12-06
封面图片

流程发现算法第3讲|Heuristic Miner

Heuristic Miner(启发式挖掘算法)是在2003年被A.J.M.M. Weijters 所提出来,并在2006年进行完善,是一种继Alpha算法之后又一经典的流程发现算法,接下来,我们将详细地介绍这一算法。 1 背景介绍 现代的工作流管理系统是由显式的流程模型驱动的,也就是说,为了制定给定的工作流流程,需要一个完全指定的工作流设计。 创建工作流设计是一个复杂的耗时的过程,通常,实际的工作流过程和管理层所感知的过程之间存在差异。 因此,提出了一种可重新发现(rediscovering)工作流模型的技术。 该技术使用工作流日志来发现实际执行的工作流过程。 工作流日志包含有关发生事件的信息。 我们假设这些事件是完全有序的,每个事件指的是单个案例中正在执行的一个任务。 这些信息可以很容易地从业务信息系统中提取出来。 已有提出的流程发现算法如Alpha算法是不能够处理噪声的,对短循环和长循环也无法处理。 为此,一种更为先进的Heuristic Miner算法被提出,用于解决这些问题。 2 算法介绍 算法大致分为四个步骤: (1)构造一个依赖/频次表(D/F表);(2)建立活动的依赖度量表; (3)根据依赖/频次表和活动的依赖度量表建立依赖图;(4)将依赖图转化为WF-Net。 1. 构建一个依赖/频次表 这里使用了Alpha算法中定义的四种基本关系之一的直接跟随关系(也叫紧邻关系),定义如下: 再根据直接跟随关系集合中对应的频次,建立一个依赖/频次表,如下所示。 2. 建立活动的依赖度量表 首先,给出了依赖度量的定义,如下所示。 下表中展示了事件日志L的依赖度量。 3. 根据依赖/频次表和活动的依赖度量表建立依赖图 根据步骤1的依赖/频次表和步骤2的活动依赖度量表建立依赖图,下面2图表示了在不同阈值设置下生成的依赖图(左图设置阈值为0.7,右图设置阈值为0.9)。 4. 将依赖图转化为WF-Net 将步骤3中的两个依赖图转化为Petri网如下两图所示。 阈值为0.7的依赖图对应的Petri网   阈值为0.9的依赖图对应的Petri网 以上为Heuristic Miner算法如何从一个事件日志转化为Petri网流程模型的简单示例。 下面我们具体来看看Heuristic Miner算法是怎么解决之前流程发现算法存在的问题。 3 解决问题 1. 噪声的处理(阈值参数设置) 通过第2部分中的算法流程,我们可以完成对噪声处理。 但是,在实际业务流程中,我们不知道轨迹<AD>是否为真的噪声还是低频率模式,为了处理这个问题,Heuristic Miner中设置了三个阈值参数: (1)依赖阈值(the Dependency threshold); (2) 积极观察阈值(the Positive observations threshold); (3)相对最佳阈值(the Relative to best threshold). 通过这些阈值,我们认为(i)依赖性度量高于依赖性阈值,以及(ii)频次高于积极观察阈值的活动的依赖关系,以及(iii)活动依赖度量与“最佳”依赖性度量的差值小于相对最佳阈值。 在实际情况下(具有数千条轨迹、低频轨迹和一些噪声的事件日志),这些参数对于了解流程的主要行为或细节非常有用。 2. 处理短循环 对于长度为1的短循环,采用下方公式来判断活动是否存在自循环。 对于长度为2的短循环,采用下方公式来判断是否存在长度为2的短循环。 特别注意 : 一个长度为1的循环C与一个并发流程A相结合,可以很容易地生成类似CAC的模式。 为了防止误判断为长度为2的短循环,我们先计算下方公式,然后再计算上方公式。 这样,在搜索长度为2的循环之前,我们将捕获长度为1的循环构造中的所有活动。 3. 处理AND/XOR-split/join 和不可观测活动 上图中所示的事件日志L1= [<A,B,C,D>,<A,B,C,D>,<A,C,B,D>,<A,C,B,D>,<A,E,D]的流程模型是一个Petri网。 在执行第一个任务A之后,可以选择是同时执行B和C(即并行或以任何顺序),或者只执行活动E。 如果并行执行B和C,就需要添加了两个不可观测(non-observable)的活动(AND-split 和AND-join),注: 不可观测变迁也可叫作无声变迁、静默变迁等。 挖掘这些不可观测的活动很困难,因为它们不存在于事件日志中。 为了避免对不可观测进行显式建模。 在HeuristicsMiner中,我们不使用Petri网来表示流程模型,而是使用所谓的因果矩阵(Causal Matrix)。 作为一个例子,我们展示了上图的Petri网到因果矩阵表示的转换,下图为因果矩阵。 通过因果矩阵可以完成对不可观测活动的识别,此外,通过下方公式完成对AND-split和AND-XOR的区分。 4. 处理长距离依赖关系 上图显示了一个长距离依赖关系构造。 在执行活动D之后,存在活动E和活动F之间的选择。 然而,E和F之间的选择是由之前的B和C之间的选择“控制”的。 显然,这种非局部行为是很难挖掘的,因为主要基于直接跟随关系(a>Wb)的挖掘方法。 Heuristics Miner中定义的a>>>W b关系将很好地挖掘出此关系,定义如下: 4 总结 Heuristic Miner算法将轨迹的频次考虑在内,具有以下优势: (1)对噪声敏感; (2) 能够处理长度为1和长度为2的短循环; (3)处理AND/XOR-split/join 和不可观测活动; (4)处理长距离依赖关系。

2022-10-30
封面图片

流程发现算法第2讲|Alpha系列算法

回顾上一讲Alpha算法的内容,我们发现Alpha算法存在很多无法处理的一些问题(如短循环、重名任务、不可见变迁等)。为此,研究学者提出了一系列Alpha算法的扩展算法进行完善,常用的有Alpha+算法、Tsinghua-Alpha算法、Alpha++算法、Alpha$算法、Alpha#算法和Alpha*算法,下面我们对Alpha系列算法进行简单介绍。 1 Alpha+算法 如图,N1为长度为1的短循环Petri网,应用基础Alpha算法挖掘时,通常会导致右上角的错误结果,这是由于在基础Alpha算法中不存在B>B这种结构;N2为长度为2的短循环Petri网,应用基础的Alpha算法挖掘时,通常会导致右下角的错误结果,这是由于ABA序列常常被识别为A||B和B||A,而不是A->B,B->A。 Alpha算法不能识别上述两种类别的Petri网,Alpha+算法进行了如下改进: (1)定义“XYX”次序关系,区分短循环和并行; (2)将流程挖掘分为三阶段过程:预处理,处理,后处理。在预处理步骤中移除长度为1的短循环任务,在后处理步骤中将短循环任务添加到模型的正确位置. 2 Tsinghua-Alpha算法 一个变迁的执行对应两个事件类型(strat和complete),换言之,事件的执行需要时间,是带有生命周期的。Alpha算法并不能区分这种事件到底是串行短循环还是并行短循环。为此,Tsinghua-Alpha算法从该角度出发,定义了如下关系,用于处理带有生命周期的事件日志。 3 Alpha#算法 基础Alpha算法无法处理不可见任务,对应Petri网也就是不可见变迁或者静默变迁。含有不可见变迁的Petri网模型具体分为SIDE类型、SKIP类型、REDO类型、高级SKIP类型、高级REDO类型以及SWITCH类型,各类型用例如下所示: 对于上述类型结构,Alpha#算法定义了一种虚假的依赖关系,如下所示: 若满足上述关系,则对应的Petri网结构为: 4 Alpha++算法 下图中的N9是非自由选择结构,由于变迁A和D,变迁B和E之间存在远程的依赖关系,导致变迁D和变迁E的执行不再是自由的竞争关系,而基础的Alpha算法不能发现库所p1和p2。 对此,Alpha++算法对此进行改进,引入了任务间非紧邻的可达关系,并推导依赖关系。 从上图可以发现,变迁a后面永远跟着ai,不会跟着bj,变迁b后面永远跟着bj,不会跟着ai。那么如果ai的输入变迁集合是bj输入变迁集合的子集的话,则相信a和ai之间存在这种没有被发现的库所p。 5 Alpha*算法 我们展示了一个网上购物模型,该模型如下图所示,其中a表示登录,b表示浏览商品对购物篮进行操作,c表示汇总购物篮中的商品计算总钱数,d表示决定购买,e表示交易,f表示退出。 该模型存在重名任务c和f,Alpha算法并不能挖掘该模型,为此Alpha*算法被提出。该算法和Alpha+的思想类似,使用了三阶段的挖掘方法:利用启发式规则重命名日志中的事件,使用其他Alpha算法挖掘后,将任务名字重命名回来。 6 Alpha$算法 Alpha$算法是对Alpha++算法和Aplha#算法的整合。其简单流程思想如下: 1.通过改进的虚假依赖关系检测不可见任务; 2.补充可达的依赖关系; 3.检测非自由选择结构; 4.调整不可见任务。 7 总结 Alpha算法存在的一些问题在Alpha的扩展系列算法中得到了解决,现在我们将其总结如下: (1) 短循环(Alpha、Tsinghua-Alpha); (2) 不可见任务(Alpha#、Alpha$); (3) 非自由选择(Alpha++、Alpha$); (4) 重名任务(Alpha*)。

2022-08-29
封面图片

流程发现算法第1讲| Alpha算法

流程挖掘旨在从事件日志中提取关于业务流程的有效信息,从而去发现、监控和改进实际过程。流程发现是最具挑战性的流程挖掘任务之一,它允许在不使用任何先验信息的情况下从事件日志中发现流程模型。Alpha算法是最早应用于流程挖掘的流程发现算法,其方法和原理对我们有很好的借鉴作用。 1 Alpha算法的背景介绍 在过去的二十年中, Staffware、IBM MQSeries、COSA等工作流管理系统为结构化业务流程提供通用建模和实施功能。通过创建图形化的流程定义,即单独描述典型案例(工作流实例)生命周期的模型,可以配置这些系统以支持业务流程。除了纯工作流管理系统外,许多其他软件系统都采用了工作流技术。例如,考虑SAP、CRM软件等ERP(企业资源计划)系统,在应用工作流技术时会遇到许多问题。其中一个问题是,这些系统需要工作流设计,也就是说,必须构建一个详细的模型,准确地描述工作流程。为工作流建模绝非易事:它需要对工作流语言有深入的了解。因此,需要算法来对工作流进行建模,来构造一种可理解的流程模型语言,Alpha算法应运而生。 Alpha算法是最早应用于流程挖掘的流程发现算法,在2000年左右由“流程挖掘之父”Wil van der Aalst提出,后续并被很多研究学者所完善,提出了一系列的扩展Alpha算法,比如Alpha+,Alpha++,Alpha#等。接下来,我们将详细介绍这一经典算法。 2 算法基本原理 (1) 定义次序关系 首先定义了四种基于日志的次序关系:紧邻,因果,并行,无关,详细介绍如下(其中x,y指的是日志中的活动): 紧邻:x>y当且仅当存在一条轨迹使得活动x后面紧跟着y;因果:x->y当且仅当x>y且非y>x;并行:x||y当且仅当x>y且y>x;无关:x#y当且仅当非x>y且非y>x. 比如,在示例日志L={<A,B,C,D>,<A,C,B,D>,<E,F>}中,其中的紧邻关系(也叫做直接跟随关系)为A>B, B>C, C>D,A>C, C>B, B>D, E>F。 (2) 生成足迹矩阵 示例日志L对应的足迹矩阵如下表 所示。   A B C D E F A # -> -> # # # B <- # || -> # # C <- || # -> # # D # <- <- # # # E # # # # # -> F # # # # <- # (3) 对应关系建模 根据上述足迹矩阵,按照下述关系建模Petri网。 (4) 发现流程模型 根据上述对应关系,构造示例日志L对应的Petri网模型如下图所示。   3 Alpha算法的局限性 Alpha算法能够从日志中抽取基本次序关系从而根据活动间的关系构造过程模型,但是Alpha算法存在很多缺点,Alpha算法假设日志的直接跟随次序关系是完备的,这在实际过程中却很少见。Alpha算法存在如下缺点: (1)不能处理冗余库所 日志L1=[<a, c, e, g>2,<a, e, c, g>3,<b, d,f, g>2,<b, f, d, g>4]在Alpha 算法下生成的Petri网如下图,p1和p2称为隐含库所(implicit places),移除它们并不会影响该Petri网的行为(行迹等价性)。这种问题不大,只是增加了发现Petri 网的复杂性,不过在模型很大时是很严重的。 (2) 无法处理短循环 短循环分为活动长度为1和活动长度为2的短循环。例如,日志L2=[<a, c>2,<a, b, c >3,<a, b, b, c>2,<a, b, b, b, b, c>1]发现的错误模型和正确模型如下: 由Alpha算法发现日志L2对应的模型   日志L2对应的正确流程模型(长度为1的短循环) 日志L3=[<a, b, d>3,<a, b, c, b, d >2,<a, b, c, b, c, b, d>1]发现的错误模型和正确模型如下: 由Alpha算法发现日志L3对应的流程模型   日志L3对应的正确流程模型(长度为2的短循环) 发生错误的主要原因是Alpha 算法会错误地将短循环中的活动判断为并发而不是循环,并且算法没有考虑并发关系。Alpha+算法解决了这个问题。 (3) 非自由选择流程结构导致的非局部依赖 日志L4=[<a, c, d>45,<b, c, e >42]发现模型没有下图的p1和p2库所,Alpha 算法无法得到这种非局部依赖,这导致发现的模型会运行不在日志中的更多行为。 (4) 没有考虑关系频次/频率 Alpha算法仅考虑了日志间的紧邻关系,并未将日志间的紧邻关系频数或者频率作为参考,这样会导致发现的流程模型的不准确性。 4 总结 使用 Alpha算法的前提是保证日志中的活动直接跟随关系是完备的,用于挖掘不带短循环的SWF-net,SWF-net不含隐式库所,且不能包含如下两种子结构(即XOR-join和AND-join不能同时存在):   针对Alpha算法的不足,一系列Alpha算法的扩展版本相应而生,我们将在下一节介绍Alpha算法的扩展算法。

2022-08-29