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