背景

1.1 问题引入

在我们的日常生活中,业务系统随处可见,例如医疗系统、自动控制系统等等。这些系统中的工作日志记录了流程活动中各个阶段的运行时间和关联数据,包含了业务活动实际运转的流程。充分挖掘并合理使用这些信息,能够提高商业自动化的运行效率,降低企业运营成本。

由于传统的流程设计方法过分依赖于理想化的流程,因此在流水线瓶颈、工作环境等因素的影响下,日常的业务可能无法按照理想流程进行 [1]。

▲ 图源:https://www.uipath.com/rpa/what-is-process-mining

1.2 相关领域

这一小节主要介绍流程挖掘的两个相关领域:业务流程管理(BPM,business process management)和数据挖掘(data mining)业务流程管理,是一套达成企业各种业务环节整合的全面管理模式。传统的流程管理方法主要是基于先验知识建模,即模型驱动的流程管理,例如工作流技术(Workflow)。这类方法的缺点在于

  • 模型过于关注理想化的结构化数据,无法有效的管理半结构化和非结构化数据 [1];
  • 自顶向下的设计模型,无法捕捉同一流程不同事件之间的因果关系 [2]。

因此,亟需一种充分利用事件信息/时间日志而非先验知识的流程管理模型。数据挖掘是指从大量的数据中通过算法搜索隐藏于其中信息的过程。在数据挖掘领域,虽然涌现了 Hadoop、Spark、Storm 等数据存储和处理技术,能够准确记录事件日志,但是很少涉及对临时的工作日志的分析

为了填补数据挖掘和业务流程管理之间的空白,流程挖掘应运而生 [3]。下图展示了流程挖掘和数据科学、管理科学之间的关系 [4],简言之,流程挖掘是一种基于业务流程的数据挖掘方式

 

定义

流程挖掘的核心是从管理系统内的事件日志中提取信息,从而去发现、监控和改进真实流程(即非假定流程)。—— From Springer Link 流程挖掘是指从商业活动的保存的数据中提取结构化、可解释的流程的方法。[1]

 

研究领域流程挖掘主要分为三个方面 [5]:

  • 流程发现(discovery):基于事件日志获取知识,构建流程模型;
  • 一致性检查(conformance):检验事件日志和流程模型的一致性,发现真实流程中存在的问题,并分析原因;
  • 流程优化(enhancement):优化流程设计,包括工作时间、等待时间、瓶颈等,提高流程的流畅程度,进而提高业务效率。

其中,流程发现是流程挖掘领域中最受关注的方向。