鄭婷婷
(廣東開(kāi)放大學(xué)信息工程學(xué)院,廣州 510091)
深度學(xué)習(xí);事件日志;流程管理;預(yù)測(cè)分析
業(yè)務(wù)流程的執(zhí)行進(jìn)度預(yù)測(cè)可以為業(yè)務(wù)流程的管理提供有價(jià)值的決策信息,例如當(dāng)前進(jìn)度、剩余時(shí)間、資源分配,等等,這些信息能讓流程管理員識(shí)別可能出現(xiàn)異常的案例,并提早采取相應(yīng)的預(yù)防異常措施。流程數(shù)據(jù)分析和預(yù)測(cè)的來(lái)源主要是流程執(zhí)行時(shí)產(chǎn)生的歷史日志信息[1]。預(yù)測(cè)結(jié)果的可以是實(shí)時(shí)產(chǎn)生的[2][5],也可以是基于經(jīng)驗(yàn)庫(kù)的。預(yù)測(cè)的范疇包括:后續(xù)活動(dòng)、剩余時(shí)間、數(shù)據(jù)流、資源調(diào)度等方面[2-5]。
關(guān)于業(yè)務(wù)流程性能預(yù)測(cè)已有的成果所使用的方法包括:狀態(tài)轉(zhuǎn)換模型[2]、隨機(jī)過(guò)程[3]、時(shí)序分析[4]、遺傳進(jìn)化算法[5]等。隨著近年機(jī)器學(xué)習(xí)成為一個(gè)研究熱點(diǎn),機(jī)器學(xué)習(xí)在數(shù)據(jù)分析和預(yù)測(cè)中的應(yīng)用也逐漸受到重視。機(jī)器學(xué)習(xí)是一門涉及概率論、統(tǒng)計(jì)學(xué)、算法復(fù)雜度理論等多領(lǐng)域的交叉學(xué)科,研究計(jì)算機(jī)怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識(shí)或技能,其構(gòu)建算法可從數(shù)據(jù)中進(jìn)行學(xué)習(xí)和預(yù)測(cè)[6]。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)研究中的一個(gè)新的領(lǐng)域,其動(dòng)機(jī)在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機(jī)制來(lái)解釋數(shù)據(jù),是機(jī)器學(xué)習(xí)中一種基于對(duì)數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法[7,8]。深度學(xué)習(xí)可以用非監(jiān)督式或半監(jiān)督式的特征學(xué)習(xí)和分層特征提取高效算法來(lái)替代手工獲取特征。
為了讓業(yè)務(wù)流程運(yùn)行中產(chǎn)生的數(shù)據(jù)用于深度學(xué)習(xí)的模型,下面先給出業(yè)務(wù)流程分析及預(yù)測(cè)中涉及到的一些定義。
定義1(事件):業(yè)務(wù)流程中的一個(gè)事件定義為元祖e=(caseID,task,timeStart,timeEnd,prop1,…,propm),其中屬性caseID是案例的ID,task是該事件所完成的對(duì)應(yīng)的任務(wù),timeStart和timeEnd分別是事件開(kāi)始和結(jié)束的時(shí)間戳,prop1,…,propm是該事件對(duì)應(yīng)的其他屬性。令所有事件的集合為ε。
對(duì)于任意事件ei,設(shè)ei(attribute)為其對(duì)應(yīng)的屬性值,例如ei(timeStart)和ei(timeEnd)分別為該事件開(kāi)始和結(jié)束的時(shí)間戳,則事件ei的持續(xù)時(shí)間為ei(timeEnd)-ei(timeStart)。
定義2(事件軌跡):一個(gè)事件軌跡定義為一個(gè)非空的事件序列。一個(gè)長(zhǎng)度為n的事件序列為σn=<e1,e2,…,en>,其中ei∈σn是事件軌跡中的第 i個(gè)事件。
定義3(事件日志):一個(gè)事件日志定義為一系列事件軌跡的集合,一個(gè)包含了n個(gè)時(shí)間軌跡的事件日志為L(zhǎng)n=<σ1,σ2,…,σn,>,其中σj∈Ln是事件日志中的第j個(gè)事件軌跡。
定義 4(事件軌跡及其預(yù)測(cè)的映射):函數(shù)f∈X→Y表示事件軌跡到其預(yù)測(cè)函數(shù)的映射。其中X表示所有事件軌跡的集合,Y表示預(yù)測(cè)的值域。
遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)主要用于處理序列數(shù)據(jù)[9]。RNN是包含循環(huán)的網(wǎng)絡(luò),允許信息的持久化。在RNN中,一個(gè)序列輸出與前面的輸出相關(guān)。RNN按時(shí)間節(jié)點(diǎn)的展開(kāi)如圖1所示,每個(gè)xi是不同時(shí)間節(jié)點(diǎn)的輸入。顯然,RNN中每次的輸出都會(huì)受到當(dāng)前和之前的輸入xt-2,xt-1,xt等的影響。RNN的輸入長(zhǎng)度可以是任意的,st是在時(shí)間點(diǎn)t的一個(gè)隱藏狀態(tài),且st受到時(shí)間點(diǎn)t之前所有輸入的影響[7,8]。而當(dāng)獲取了當(dāng)前輸入xt后,s根據(jù)st和xt更新,其中st為:st=f(Uxt+Wst-1),U和W分別是當(dāng)前輸入xt和隱藏狀態(tài)st-1的權(quán)重向量。函數(shù)f是激活函數(shù),通常定義為sigmoid函數(shù):
圖1 RNN節(jié)點(diǎn)展開(kāi)示例
長(zhǎng)短期記憶單元(Long Short-Term Memory,LSTM)是循環(huán)網(wǎng)絡(luò)的一種變體,帶有所謂長(zhǎng)短期記憶單元,可以解決RNN中梯度消失或梯度爆炸等問(wèn)題[7-9]。LSTM將誤差保持在更為恒定的水平,讓循環(huán)網(wǎng)絡(luò)能夠進(jìn)行許多個(gè)時(shí)間步的學(xué)習(xí)(超過(guò)1000個(gè)時(shí)間步),從而打開(kāi)了建立遠(yuǎn)距離因果聯(lián)系的通道。RNN與LSTM最大的區(qū)別在于LSTM使用了一個(gè)更加復(fù)雜的記憶單元Ct來(lái)取代st。Ct可以存儲(chǔ)、寫(xiě)入或讀取信息,Ct通過(guò)門的開(kāi)關(guān),即不同的權(quán)重集,對(duì)輸入信息進(jìn)行篩選,決定是否輸入、輸出或遺忘,判定哪些信息需要存儲(chǔ),以及何時(shí)讀取、寫(xiě)入或清除信息。LSTM記憶單元的工作原理如圖2所示。
圖2 LSTM工作原理
若ft表示“遺忘門”,即表示哪些信息可以遺忘,it表示“輸入門”,即當(dāng)前獲取的輸入,ot表示“輸出門”,即當(dāng)前節(jié)點(diǎn)的輸出信息,則LSTM的工作原理可以用以下公式描述:
其中,Cˉt是可以對(duì)當(dāng)前狀態(tài)Ct產(chǎn)生影響的狀態(tài)參數(shù),Ct-1是前序狀態(tài),當(dāng)前節(jié)點(diǎn)的輸出信息還可以通過(guò)tanh(Ct)進(jìn)行篩選,最終輸出為ht。
可以把一個(gè)事件e=(caseID,task,timeStart,timeEnd,prop1,…,propm)作為深度學(xué)習(xí)中的一種狀態(tài),則事件軌跡σn=<e1,e2,…,en>就是一系列的狀態(tài)變化。在表示事件的屬性時(shí),非數(shù)值型的屬性可以使用所謂的onehot編碼,即所謂的“獨(dú)熱”編碼來(lái)處理。one-hot編碼的方法是使用N位狀態(tài)寄存器來(lái)對(duì)N個(gè)狀態(tài)進(jìn)行編碼,每個(gè)狀態(tài)都有它獨(dú)立的寄存器位,并且在任意時(shí)候,只有其中一位有效。這樣,所有的非數(shù)值型屬性都可以在深度學(xué)習(xí)網(wǎng)絡(luò)中表示。對(duì)于每一個(gè)特征,如果它有m個(gè)可能值,那么經(jīng)過(guò)“獨(dú)熱”編碼后,就變成了m個(gè)二元特征。并且,這些特征互斥,每次只有一個(gè)激活。因此,數(shù)據(jù)集就會(huì)變成稀疏的?!蔼?dú)熱”編碼的好處主要包括解決了分類器不好處理屬性數(shù)據(jù)的問(wèn)題,在一定程度上也起到了擴(kuò)充特征的作用。如果要把包含若干軌跡的事件日志映射到LSTM網(wǎng)絡(luò)中,并利用其屬性實(shí)現(xiàn)預(yù)測(cè),可令每個(gè)LSTM記憶單元描述一個(gè)事件,其中每組的第一個(gè)LSTM單元分別描述事件軌跡的第一個(gè)事件,即初始狀態(tài),并按軌跡的順序依次引入其他LSTM記憶單元。事件的屬性都可映射到LSTM記憶單元中,這樣經(jīng)過(guò)多次的學(xué)習(xí),即可得到業(yè)務(wù)流程的進(jìn)度預(yù)測(cè),如圖3所示。
圖3 使用事件及其屬性預(yù)測(cè)流程執(zhí)行情況示例
使用RNN及LSTM算法預(yù)測(cè)一個(gè)關(guān)于借貸的金融服務(wù)的業(yè)務(wù)流程[10]。這個(gè)流程的概要如圖4所示。
實(shí)驗(yàn)中采用平均絕對(duì)誤差(MAE)作為誤差分析的標(biāo)準(zhǔn)。其公式如下:
圖4 實(shí)驗(yàn)業(yè)務(wù)流程
其中fi和yi分別表示樣本的預(yù)測(cè)值和真實(shí)值。平均絕對(duì)誤差由于離差被絕對(duì)值化,不會(huì)出現(xiàn)正負(fù)相抵消的情況,因而,平均絕對(duì)誤差能更好地反映預(yù)測(cè)值誤差的實(shí)際情況。經(jīng)多次實(shí)驗(yàn),使用RNN及LSTM算法預(yù)測(cè)案例執(zhí)行時(shí)間的MAE如表1所示。實(shí)驗(yàn)表明這兩種算法的使用可以達(dá)到較高的準(zhǔn)確率。
表1 RNN及LSTM算法應(yīng)用于流程預(yù)測(cè)的誤差對(duì)比
本文介紹了深度學(xué)習(xí)算法RNN和LSTM,并把這兩種算法用于流程執(zhí)行預(yù)測(cè),實(shí)驗(yàn)數(shù)據(jù)表明深度學(xué)習(xí)算法用于流程預(yù)測(cè)具有較高準(zhǔn)確率,具有一定的實(shí)際意義。我們下一步將研究如何把深度學(xué)習(xí)算法用于執(zhí)行序列、資源管理等方面的預(yù)測(cè)。