Self-Att-BiLSTM: 一种面向业务流程活动与时间的多任务预测方法 下载: 1343次
1 引言
预测性业务流程监控是流程挖掘[1-2]的一个研究热点。预测性业务流程监控可以识别出流程运行中不符合某些标准的异常事件,及时地做出相应措施。针对活动和时间的多任务预测,业务流程不仅可以准确、高效地提高企业服务效率、降低运行成本、预防违规活动发生及提前发现异常案例等,而且可以人为地规划和分配资源,达到更高的效率和实现更好的服务目标。目前预测的范畴主要包括预测流程未来活动[3]、预测流程结果[4]、预测时间相关属性[5-6]、预测业务流程执行结束后的性能[7]等。关于业务流程预测,已有的成果所使用的方法包括使用转换系统(TS)来预测剩余时间[8]、使用概率有限自动机(PFA)预测未来活动[9]、使用马尔可夫链方法预测未来活动[10]、基于传统的机器学习方法(包括决策树[11]、随机森林预测流程结果[12])等。
21世纪以来,由于关于深度学习方面的研究不断深入,传统手工提取特征的过程逐渐被关于深度神经网络的方法所取代。对于事件日志这样的大量样本数据,通过学习事件日志中的内在特征和表示层次,深度神经网络可以容易地预测业务流程中的相关任务。Evermann等[13]使用递归神经网络(RNN)预测下一个活动,该网络由两个隐藏的RNN层组成,其中使用基本的长短期记忆(LSTM)网络[14-15]单元。Tax等[16]使用LSTM预测下一个活动及其持续时间。Navarin等[17]提出一种用于业务流程实例的数据感知剩余时间预测的LSTM网络。Tello-Leal等[18]使用LSTM神经网络预测业务流程中的活动。然而一方面,现有的深度学习的方法多数使用单一的信息进行预测,这些预测方法由于都是对某个任务定制的,可迁移性不高,并且没有考虑事件日志中属性之间的相互关联关系,因此不同的预测任务需要构建不同的模型。另一方面,虽然Tax等[16]使用LSTM网络来对业务流程活动和时间进行多任务预测,但在活动和时间方面的精度均不高,并且它仅仅解决了非重复活动的预测。
综上,为了提高活动和时间多任务预测的精度以及解决对于重复活动的预测,本文提出一种Self-Att-BiLSTM的深度神经网络模型,用于进行业务流程活动和时间的多任务预测。首先将事件轨迹转换为特征编码,并将其作为输入,通过嵌入层将高维稀疏特征转换为低维稠密并且有相互关系的向量;利用双向LSTM(BiLSTM)对事件日志进行时序信息建模,使用注意力机制(Self-Attention)捕获事件日志中长距离的相互依赖的特征并且动态地调整事件日志中重复活动的隐藏状态的重要性,在网络共享层之后,时间通过全连接层预测,活动通过全连接层和softmax分类器预测。
2 业务流程相关定义
在业务流程中,每个事件的相关属性都会被顺序记录下来形成事件日志。事件日志是一个具有层次结构的文件,其中包含执行业务流程的数据,这些数据是由事件轨迹组成的。事件是一个事件轨迹的原子部分,它包含着其他属性。事件典型的属性是执行活动的名称、活动的时间戳、活动生命周期(例如“开始”或“完成”)、组织资源及角色。事件按照其发生的时间戳排序,其他属性可能包含特定情况的信息。每个事件轨迹表示一个业务流程实例(也称案例)的执行。业务流程中,对于活动和时间的预测通常理解为在事件日志的事件轨迹运行过程中预测下一个执行活动和该活动发生的时间。如下为流程相关定义。
定义1 事件(Event):也可称为活动,是业务流程中最小的单元,它的基本形式定义为e=(c,a,ttimestamp,d1,…,dm)。其中,e中的属性c是案例的序号,每个案例的序号都是唯一的。而a则是该事件任务的名称,值是唯一的,包括任务名称或者代称。ttimestamp表示事件的时间戳。d1,…,dm则是该事件对应的其他属性。
定义2 事件轨迹(Event Trace):业务流程中一个事件轨迹是一个非空的有序事件序列,称为流程序列。σ=<e1,e2,e3,…,en>为长度为n的事件轨迹,ei∈σ则是事件轨迹σ中的第i个发生的事件。事件轨迹中每个事件的c属性都是一致的,每一个事件轨迹也称为一个案例或者流程序列。
定义3 事件日志(Event Log):记录的事件日志是一系列事件轨迹的集合。L={σ1,σ2,σ3,…,σk}是包含了k个事件轨迹的事件日志,其中σj∈L是事件日志L中第j个事件轨迹。所有被记录的事件轨迹均为同一业务流程运行过程中的事件日志。
3 Self-Att-BiLSTM多任务预测模型
为了进行重复活动和时间的多任务预测,采用多任务学习框架[19-21]来进行业务流程活动和时间预测,通过网络共享层表示方法,把活动和时间这两个任务放在一起学习。使用来自活动和时间这些任务的样本来优化所有网络参数,同时提升多任务的性能。通过共享相关任务之间的表示,模型能更好地泛化学习任务,使得每一个任务的预测效果都有提升。
3.1 输入层与Embedding层
事件日志需要将包含的属性处理为特征向量才能用于预测模型中,事件日志为L={σ1,σ2,σ3,…,σk},σj表示第j个事件轨迹,其中σj=<et1,et2,et3,…,etn>,n=
将特征向量输入到Embedding层,如
图 2. 将one-hot编码转换为embeddings向量
Fig. 2. Transformation from one-hot code to embeddings vector
3.2 BiLSTM层
BiLSTM由一个前向传播和一个后向传播的LSTM组成,LSTM对长期依赖关系具有强大的建模功能。LSTM的细胞单元如
LSTM通过当前输入的et和之前的隐藏状态ht-1来更新一个隐藏状态ht。it为输入门,有选择性地保留输入的信息,并对细胞状态进行更新;gt为遗忘门,有选择性地遗忘冗余信息;ot为输出门,决定输出细胞状态的某些部分。具体表达式分别为
式中:w为上一个向量的输出与当前特征向量的输入经过控制门的权重;b为通过控制门的偏置;sigmoid、tanh为激活函数。通过引入隐藏的连接,BiLSTM网络以相反的时间顺序流动扩展了单向LSTM网络。通过同时前向传播来获得输出状态
3.3 Self-Attention层
Self-Attention层可以增强预测重复活动的特征,通过使用注意力机制[22]来构造预测模型。注意力机制考虑了每个输入元素不同的权重系数,更加注重与其输入元素相关的内容,忽略了一些其他无关的信息。其最大的优点就是能一步到位地捕捉全局依赖和局部依赖,引入Self-Attention后,会更容易捕获事件日志中长距离的相互依赖的特征并且动态地调整事件日志中重复活动隐藏状态的重要性,它很少依赖外部的信息,更加善于捕获事件中内部特征的关联性。循环神经网络LSTM按照时间序列进行计算,当有依赖关系的特征距离较远时,要进行多个时间步才能将两者的信息联系起来。在计算过程当中,Self-Attention会直接对事件轨迹中任意两个活动的依赖进行关联,这样既可以对出现的重复活动进行连接,并且距离较远的特征关系被很大程度缩短,还高效地使用了相关特征。该方法更适用于处理顺序数据的注意力机制,可以充分考虑每个时间戳的上下文信息。将BiLSTM层输出的向量矩阵[h1,h2,h3,…,ht]输入到Self-Attention层中。引入自注意矩阵A来捕获任何特征相对于所有邻居的相似性。Self-Attention的实现类似LSTM的细胞结构,具体表达式为
式中:at,t'∈A表示在时间戳为t和t'时通过隐藏状态ht和ht'获得的相似性矩阵;wg和wg'分别对应隐藏状态ht和ht'的权重矩阵,wa表示它们非线性组合对应的权重矩阵;ba和bg为偏置向量;lt表示在t时刻的注意力隐藏状态是由在时间为t'内所有其他隐藏状态ht'和相似性矩阵at,t'加权求和得到的。
3.4 多任务输出层
多任务学习共享表示既可以防止过拟合,又能够学习更好的特征表达来提高泛化能力。在多任务输出层主要有两个任务,一是预测活动,二是预测时间,将预测活动任务转换为一个多分类任务,将预测时间转换为一个回归任务。对于预测活动,使用softmax分类器输出活动预测值,使用的交叉熵损失函数表达式为
式中:x为输入的事件轨迹;pL为待分类的活动总数;
对于时间预测,使用的损失函数为平均绝对误差(MAE),是预测时间结果与预期产出之间的平均绝对差。在神经网络进行前向传播阶段,依次调用每个层的前向函数,得到逐层的输出,对最后一层与目标函数进行比较后得到损失函数,通过计算误差来更新权值。反向传播到达网络第一层,在反向传播结束时,前向传播与后向传播的网络的权值将一起更新,得到的损失值越小,模型的预测结果就越接近真实情况,神经网络模型的准确性也就越好。采用ReLU激活函数来进行时间预测,表达式为
ReLU激活函数可以使网络训练更快,因为时间预测是非线性的,ReLU激活函数增加网络的非线性,还可以防止梯度消失,并且减少过拟合风险。
4 实验及结果分析
4.1 实验配置与数据
实验均使用Python3.6软件实现,采用Keras框架搭建神经网络预测模型。Keras是一个深度学习框架,有许多模块包,方便模型构建来验证模型的准确性和精度。实验运行环境为Windows10,Intel Core i5 CPU, 2.6GHz,8G RAM。
表 1. 实验参数
Table 1. Experimental parameters
|
实验采用2个数据集,一个为Helpdesk数据集,另一个为BPI12数据集,这两个数据集均为真实流程数据。
Helpdesk数据集:此事件日志包含来自意大利软件公司Helpdesk帮助台的票务管理流程。这个流程由9个活动组成,所有情况都是在票务管理系统中插入一张新票开始的。每个案例在问题解决和票据关闭时结束。这个事件日志包含了大约3804个案例和13710个事件。
BPI12数据集:此事件日志源于业务流程智能挑战(BPI12),为某大型金融机构业务流程的真实流程数据。事件日志描述的是全球金融组织中申请个人贷款或透支的流程。这个流程包含3个子流程:一是记录应用程序的状态,二是记录与应用程序相关的工作项状态,三是记录反馈用户的状态。该日志总共包括262200事件和13087个案例。
4.2 实验评价方法
同时进行活动和时间的多任务预测,对于活动的预测任务是一个分类问题,通常使用分类算法度量指标精度。精度指标既适用于二分类任务,同时适用于多分类问题。简单来说,精度是分类正确的样本数占样本总数的比例。精度的表达式为
式中:Ntp、Ntn、Nfp和Nfn分别为真正例、真负例、假正例和假负例。时间预测任务是一个回归问题,采用MAE进行评估,MAE可以用于误差相互抵消的情况,因而可以准确反映实际预测误差的大小。其基本的数学表达式为
式中:D为事件日志的总个数,d为事件日志序号。MAE作为误差度量,越低越好。因为方均根误差(RMSE)对数据点上异常值的错误非常敏感,而如果两个活动之间的时间间隔非常大,RMSE会认为是异常值,所以采用MAE进行时间预测评估。
4.3 实验结果与分析
在两个数据集上评估预测活动和时间的多任务学习性能,将数据集中75%的事件日志作为训练集,在训练集中分出10%的数据作为验证集,将25%的事件日志作为测试集。
表 2. 不同方法的结果对比
Table 2. Result comparison of different methods
|
图 4. 不同数据集中重复活动预测精度对比
Fig. 4. Comparison of prediction accuracy of repeated activities on different datasets
从
图 5. 不同数据集上的模型训练损失图。(a) BPI12; (b) BPI12_O; (c) BPI12_A; (d) BPI12_W; (e) Helpdesk
Fig. 5. Model training loss under different datasets. (a) BPI12; (b) BPI12_O; (c) BPI12_A; (d) BPI12_W; (e) Helpdesk
对多任务与Breuker等[9]单个预测活动任务进行对比,所提方法在活动预测方面均比Breuker方法预测结果高。从
5 结论
提出了一种Self-Att-BiLSTM深度神经网络模型,用来进行业务流程活动和时间的多任务预测。该方法将业务流程中的事件日志作为输入,将事件日志中的属性编码为one-hot,并转换为embeddings向量,应用Self-Att-BiLSTM模型进行多任务预测。BiLSTM有助于对事件日志序列进行建模,而Self-Attention则有助于通过不同的权重从序列中提取出信息。通过共享相关任务之间的表示,模型能更好地泛化学习任务,使得每一个任务的预测效果都有提升。最后对预测活动和时间有效性进行实验验证,结果表明,所提方法在活动和时间的多任务方面都有所提升,尤其在重复活动方面更加显著。未来将进一步扩展其他事件属性的预测,进一步提高活动和时间预测的精度。
[1] . Process mining: a research agenda[J]. Computers in Industry, 2004, 53(3): 231-244.
[2] van der Aalst W M P. 过程挖掘: 业务过程的发现、合规和改进[M]. 王建民, 闻立杰, 译. 北京: 清华大学出版社, 2014.
van der Aalst W M P. Process mining: discovery, conformance and enhancement of business processes[M]. Wang J M, Wen L J, Transl. Beijing: Tsinghua University Press, 2014.
[3] PravilovicS, AppiceA, MalerbaD. Process mining to forecast the future of running cases[M] ∥Appice A, Ceci M, Loglisci C, et al. New frontiers in mining complex patterns. Lecture notes in computer science. Cham: Springer, 2014, 8399: 67- 81.
[4] Kang B, Kim D, Kang S H. Periodic performance prediction for real-time business process monitoring[J]. Industrial Management & Data Systems, 2012, 112(1): 4-23.
[5] Rogge-SoltiA, WeskeM. Prediction of remaining service execution time using stochastic petri nets with arbitrary firing delays[M] ∥Basu S, Pautasso C, Zhang L, et al. Service-oriented computing. Lecture notes in computer science. Heidelberg: Springer, 2013, 8274: 389- 403.
[6] 郑婷婷, 陈洁璇, 许洋, 等. 业务流程中一种个性化的任务完成时间预测方法[J]. 计算机集成制造系统, 2019, 25(4): 993-1000.
[7] Maggi FM, di FrancescomarinoC, DumasM, et al. Predictive monitoring of business processes[M] ∥Jarke M, Mylopoulos J, Quix C, et al. Advanced information systems engineering. Lecture notes in computer science. Cham: Springer, 2014, 8484: 457- 472.
[9] Breuker D, Group H, Matzner M, et al. Comprehensible predictive models for business processes[J]. MIS Quarterly, 2016, 40(4): 1009-1034.
[11] ConfortiR, de LeoniM, La RosaM, et al. Supporting risk-informed decisions during business process execution[M] ∥Salinesi C, Norrie M C, Pastor O. Advanced information systems engineering. Lecture notes in computer science. Cham: Springer, 2013, 7908: 116- 132.
[12] LeontjevaA, Conforti R, di Francescomarino C, et al. Complex symbolic sequence encodings for predictive monitoring of business processes[M] ∥Motahari-Nezhad H R, Recker J, Weidlich M. Business process management. Lecture notes in computer science. Cham: Springer, 2015, 9253: 297- 313.
[13] EvermannJ, Rehse JR, FettkeP. A deep learning approach for predicting process behaviour at runtime[M] ∥Dumas M, Fantinato M. Business process management workshops. Lecture notes in business information processing. Cham: Springer, 2017, 281: 327- 338.
[14] Greff K, Srivastava R K, Koutnik J, et al. LSTM: a search space odyssey[J]. IEEE Transactions on Neural Networks and Learning Systems, 2017, 28(10): 2222-2232.
[15] 朱铭康, 卢先领. 基于Bi-LSTM-Attention模型的人体行为识别算法[J]. 激光与光电子学进展, 2019, 56(15): 151503.
[16] TaxN, VerenichI, La RosaM, et al. Predictive business process monitoring with LSTM neural networks[M] ∥Dubois E, Pohl K. Advanced information systems engineering. Lecture notes in computer science. Cham: Springer, 2017, 10253: 477- 492.
[17] NavarinN, VincenziB, PolatoM, et al.LSTM networks for data-aware remaining time prediction of business process instances[C]∥2017 IEEE Symposium Series on Computational Intelligence (SSCI), November 27-December 1, 2017, Honolulu, HI, USA.New York: IEEE Press, 2017: 477- 492.
[18] Tello-LealE, RoaJ, RubioloM, et al.Predicting activities in business processes with LSTM recurrent neural networks[C]∥2018 ITU Kaleidoscope: Machine Learning for a 5G Future (ITU K), November 26-28, 2018, Santa Fe. New York: IEEE Press, 2018.
[19] Ruder S. An overview of multi-task learning in deep neural networks[EB/OL]. ( 2017-06-15)[2020-06-04]. http:∥ArXivabs/1706. 05098.
[20] 杨恢先, 陈凡, 甘伟发. 基于多任务学习的深层人脸识别算法[J]. 激光与光电子学进展, 2019, 56(18): 181005.
[21] 侯春萍, 蒋天丽, 郎玥, 等. 基于卷积神经网络的雷达人体动作与身份多任务识别[J]. 激光与光电子学进展, 2020, 57(2): 021009.
[22] ZhengG, MukherjeeS, Dong XL, et al.OpenTag: open attribute value extraction from product profiles[C]∥Proceeding of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, August 19-23, 2018, London, England. New York: ACM Press, 2018: 1049- 1058.
Article Outline
贺琪, 杨巧青, 黄冬梅, 宋巍, 杜艳玲. Self-Att-BiLSTM: 一种面向业务流程活动与时间的多任务预测方法[J]. 激光与光电子学进展, 2021, 58(4): 0410003. Qi He, Qiaoqing Yang, Dongmei Huang, Wei Song, Yanling Du. Self-Att-BiLSTM: A Multitask Prediction Method for Business Process Activities and Time[J]. Laser & Optoelectronics Progress, 2021, 58(4): 0410003.