蔡啟明,張 磊,許宸豪
南京航空航天大學 經(jīng)濟與管理學院,南京 211106
業(yè)務流程管理在企業(yè)走向數(shù)字化、信息化的過程中扮演著重要的作用,能夠顯著地提高公司的效率,其應用場景包括員工培訓、工作資料傳遞、項目歸檔等,但是廣泛的使用造成了業(yè)務流程模型數(shù)量的龐大,給企業(yè)的有效利用帶來挑戰(zhàn)。為了對現(xiàn)有流程更好的使用、分析、管理,公共組織或者大型企業(yè)開始建立流程倉庫,中國移動建立了一個超過40 000的業(yè)務流程倉庫;荷蘭政府保存有600個流程;德國政府嘗試建立能訪問和保存公共管理流程模型的平臺。
而僅僅建立流程庫無法滿足當今快速變化的市場需求,為了更好地描述業(yè)務工作,迅速地構建業(yè)務流程模型是企業(yè)實現(xiàn)業(yè)務流程管理的先決條件。傳統(tǒng)的流程建模方式完全仰賴建模人員自身的業(yè)務水平,需要建模人員具備豐富的領域知識、熟悉業(yè)務流程的執(zhí)行過程,以及應對突發(fā)狀況的能力,使得人工建模需要耗費企業(yè)大量的人力物力。若能為建模人員推薦現(xiàn)有流程庫內(nèi)的相似流程,在已有流程的基礎上進行修改將大幅縮短建模周期,減少重復性工作,目前主流的業(yè)務流程推薦技術都是基于流程相似性的思想。
近年來流程相似度計算的相關研究已經(jīng)取得了較好的成果,現(xiàn)有的方法可以歸為三類:
(1)基于文本內(nèi)容的流程相似性研究。該方法面向節(jié)點的文本內(nèi)容,包括語義相似性、字符串編輯距離等。Akkiraju等人[1]基于SAP標準化流程集,從流程與節(jié)點內(nèi)容的角度使用文本內(nèi)容相似性衡量業(yè)務流程的相似性。該方法忽略流程圖結構的影響,面對相同的任務采用不同的圖結構卻使用同樣的文本內(nèi)容時,該方法的可信度將無法保證[2]。
(2)基于流程圖結構的流程相似性研究。針對該方法的研究較多,Deb等人[3]提出基于服務質(zhì)量的業(yè)務流程設計方法,該方法對服務質(zhì)量定量、定性,得到較好的業(yè)務流程模型的路徑。Fellmann等人[4]提出了過程建模推薦系統(tǒng),對各過程逐個分析,完成流程建模工作。曹斌等人[5]從業(yè)務流程資源庫入手,運用圖挖掘方法對流程模式提取,基于近距離最大子圖優(yōu)先的流程匹配策略對參考流程與流程模式的相似性進行判斷。Huang等人[6]提出了一種基于業(yè)務流程圖結構的兩階段流程搜索方法。基于圖結構的相似度計算方法準確度較高,但是由于在對流程圖結構處理過程中會造成語義信息的丟失,以致于對流程行為之間的關系辨識能力較低。
(3)基于流程行為的流程相似性研究。該方法借助于流程的圖結構,梳理節(jié)點之間的邏輯關系得到節(jié)點執(zhí)行序列,從而獲得行為信息。Takeru等人[7]提出一種基于點過程模型框架,并以數(shù)據(jù)驅(qū)動的方式構建其模型,將在線活動回歸模型擬合到實驗數(shù)據(jù)完成流程建模。Jalali等人[8]提出一種混合的業(yè)務流程建模方法,它基于聲明性規(guī)則來處理必要的跨領域關注點和命令性業(yè)務流程模型。
上述針對三類方法的研究中,基于文本內(nèi)容的流程相似性忽略圖結構的影響,可信度較低;基于圖結構的相似性準確度較高,相關的研究較多,但是存在語義信息丟失的情況;而基于流程行為的相似性計算方法更貼近現(xiàn)實過程中流程運行的真實情況,參考意義較高。所以本文從流程行為的角度出發(fā),從流程系統(tǒng)記錄的日志數(shù)據(jù)中挖掘節(jié)點之間的行為信息,通過使用神經(jīng)網(wǎng)絡模型對日志數(shù)據(jù)進行訓練,獲得每個節(jié)點的向量表達,進而描述整個業(yè)務流程結構,計算業(yè)務流程間的相似性。
本章將介紹本文中出現(xiàn)的相關概念,以便于更好地理解本文使用的方法。
業(yè)務流程是一組將輸入轉(zhuǎn)化為有價值的輸出的流程節(jié)點的有序集合。業(yè)務流程的表示方法有很多,包括WF-net、C-net、Process Tree等[9],本文僅介紹Petri網(wǎng)。
定義1(Petri網(wǎng))一個Petri網(wǎng)是一個三元組(P,T,F),其中:
(1)P表示一個有限的庫所集;
(2)T是一個有限的變遷集(P?T=φ);
(3)F=(P×T)?(T×P)是弧的集合。
Petri網(wǎng)中的庫所通常表示資源、條件,變遷則表示事件、活動、行為,如圖1所示,是一個包含5個庫所,6個變遷的流程模型。
圖1 用Petri網(wǎng)表示的流程模型Fig.1 Process model represented by Petri net
Petri網(wǎng)的基本結構有4個[10]。順序結構:模型內(nèi)的行為有嚴格的執(zhí)行順序,存在明顯的依賴關系,如圖2所示;選擇結構:模型內(nèi)的行為具有排他性,不同的條件激發(fā)不同的行為,如圖3所示;并行結構:模型內(nèi)的行為具有并行關系,在激發(fā)條件下可以并發(fā)執(zhí)行,如圖4所示;循環(huán)結構:模型內(nèi)的特定行為在一定條件下多次執(zhí)行,如圖5所示。
圖2 順序結構Fig.2 Sequence structure
圖3 選擇結構Fig.3 Select structure
圖4 并行結構Fig.4 Parallel structure
圖5 循環(huán)結構Fig.5 Cyclic structure
定義2(獨立路徑)流程模型的獨立路徑是指從開始節(jié)點到結束節(jié)點的多次執(zhí)行中,每次至少有一個任務節(jié)點是未被執(zhí)行過的,即一條獨立路徑至少包含一條在其他獨立路徑中未有的邊[11-12]。
以圖1中的流程圖為例,其獨立路徑包括“a--b--d--e--f--g”“a--c--d--e--f--g”。
定義3(前驅(qū)節(jié)點集,后繼節(jié)點集)在一個Petri網(wǎng)(P,T,F)中,兩個節(jié)點n,m∈T之間存在路徑,當且僅當存在一系列節(jié)點n1,n2,…,n k∈N使得n1=n,n k=m,并且對i∈1,2,…,k-1均有(n i,ni+1)∈F成立,記作n?m。定義n的前驅(qū)節(jié)點集為{m|m?n};n的后繼節(jié)點集為{m|n?m}。
定義4(日志)[13]設T是活動的有限集合,ε∈T?為一條活動序列,L∈B(T?)是一個流程執(zhí)行日志,其中T?表示集合T的Kleene閉包。
以圖1中Petri網(wǎng)表示的業(yè)務流程為例,T={a,b,c,d,e,f,g},L=[<a,b,d,e,f,g>3,<a,c,d,e,f,g>2]是一個包含5個實例的執(zhí)行日志。
日志是系統(tǒng)對業(yè)務流程運行過程的客觀記錄,即工作流程系統(tǒng)運行時留下的軌跡,包含流程、組織、資源、成本、時間、參與者等流程運行狀況信息。在事件日志中,一個實例是業(yè)務流程的一次執(zhí)行過程,一個業(yè)務流程可以包含多個實例,而每個實例由多個有序的節(jié)點組成[14]。以圖1所表示的業(yè)務流程為例,其部分運行日志見表1。本文僅關注業(yè)務流程運行過程中的行為,因此,對日志進行簡化,簡化結果見表2。
表1 圖1流程的部分日志Table 1 Part log of process in Fig.1
表2 圖1流程的日志簡化形式Table 2 Simplified form of log in Fig.1
定義5(依賴關系)[15]設L為流程日志,T為日志L中所有任務的集合,?t1·t2∈T,在日志L中,任務t1的緊后任務t2執(zhí)行的次數(shù)記為 ||t1>L t2,L(σ)為軌跡σ在日志L中出現(xiàn)的次數(shù),其中:
|t1?L t2|是t1和t2的依賴關系值,其計算公式為(1):
相似度是對兩個事物的相似性的量化指標,可以通過計算事物的特征之間的距離來衡量。如果距離小,那么相似度大;如果距離大,那么相似度小。比如兩種水果,將從顏色、大小、維生素含量等特征進行考慮。針對相似度度量的方式包括:歐式距離(Euclidean distance)、曼哈頓距離(Manhattan distance)、切比雪夫距離(Chebyshev distance)、閔可夫斯基距離(Minkowski distance)、漢明距離(Hamming distance)、余弦相似度(Cosine similarity)、皮爾森相關系數(shù)(Pearson correlation coefficient)、杰卡德相似系數(shù)(Jaccard similarity coefficient)及杰卡德距離(Jaccard distance)。
本文將業(yè)務流程進行向量表達,選擇余弦相似度來衡量流程之間的相似度,余弦值越大,代表向量之間的夾角越小,即相似度越高。本章將介紹業(yè)務流程的向量化表示方法,以及相似性計算公式。
流程相似性包括流程結構的相似性與流程語義的相似性,根據(jù)第2章中的定義2中可知,業(yè)務流程的結構包含順序、選擇、并行、循環(huán)4種,同時在每一個節(jié)點中都包含有行為信息,以致流程間相似性的量化較為復雜。為了簡化相似度量化的復雜性,本文提出了基于行為的業(yè)務流程體系。
基于行為的業(yè)務流程體系包括三部分:業(yè)務流程、獨立路徑與流程節(jié)點。流程節(jié)點是行為表現(xiàn)的最小單位,是構成語義信息的最小組成部分,如圖6所示,流程B中包含a,b,c,d,e,f,g等7個節(jié)點;獨立路徑由多個流程節(jié)點有序組合形成,節(jié)點的行為構成該條獨立路徑的語義信息,具有唯一性,該流程的獨立路徑包括兩條:<a,b,d,e,f,g>與<a,c,d,e,f,g>;業(yè)務流程面向具體的業(yè)務工作,是節(jié)點的有序組合,由于業(yè)務流程結構的多樣性使得節(jié)點行為組合構成了業(yè)務流程的語義信息,具有多樣性。
圖6 基于行為的業(yè)務流程體系Fig.6 Behavior-based business process system
根據(jù)對獨立路徑的定義,從開始節(jié)點到結束節(jié)點的多次執(zhí)行過程中,每次執(zhí)行至少有一個節(jié)點是其未被執(zhí)行過的,由于流程的執(zhí)行過程依賴其固有結構,所以獨立路徑中不僅包含流程的部分語義信息,還包含流程的部分結構屬性。據(jù)此可以得出結論:業(yè)務流程中所有獨立路徑的集合可以表達流程的完整語義信息。
本文采用獨熱編碼對流程節(jié)點進行向量化表達。獨熱編碼也稱一位有效編碼,使用V位狀態(tài)寄存器來對V個狀態(tài)進行編碼,每個狀態(tài)都有獨立的寄存器位,任意時刻有且只有一位有效。例如:針對圖6中的流程B,流程庫內(nèi)的節(jié)點集T={a,b,c,d,e,f,g},則V=7,那么a表示為向量(1,0,0,0,0,0,0),b表示為向量(0,1,0,0,0,0,0),依此類推。
獨立路徑的語義信息由節(jié)點行為構成,本文將節(jié)點向量相加表示獨立路徑的向量。針對任意一條包含n個節(jié)點的獨立路徑,第i個節(jié)點的向量為t i(i=1,2,…,n),該獨立路徑的向量為
業(yè)務流程結構上是流程節(jié)點的集合,語義信息是由獨立路徑構成,本文采用加權平均的方式將獨立路徑的向量組合表達為流程向量。以包含m條獨立路徑的流程為例,第j條獨立路徑的向量為r j(j=1,2,…,m),N j為日志數(shù)據(jù)中第j條獨立路徑的執(zhí)行次數(shù),N為實例ID數(shù),該流程的向量為
因此,兩個流程process1與process2之間的相似度計算公式為:
當節(jié)點集合較多的時候,獨熱編碼的方式將增大向量的稀疏性,對相似度的計算造成誤差,為了解決這個問題,需要將節(jié)點向量映射到低維連續(xù)空間中表示。
本節(jié)根據(jù)節(jié)點之間的依賴關系建立節(jié)點之間的函數(shù)關系,將記載業(yè)務流程行為軌跡的日志數(shù)據(jù)導入神經(jīng)網(wǎng)絡模型進行訓練,將節(jié)點向量映射到低維空間中。
節(jié)點組合構成了獨立路徑的唯一性,根據(jù)第2章定義6可知,節(jié)點之間存在著依賴關系,本質(zhì)是行為之間存在著依賴關系,節(jié)點作為行為表現(xiàn)的最小單位,其前驅(qū)節(jié)點集的共同作用導致了該節(jié)點的執(zhí)行,因此針對路徑σ,其n個節(jié)點的向量為:t1,t2,…,t n,對于任意節(jié)點向量t x:
同時其后繼節(jié)點集的執(zhí)行依賴于該節(jié)點的執(zhí)行,即:
將兩個函數(shù)關系進行組合,α與β是兩個常數(shù)
(α+β=1):
那么存在常數(shù)γ:
據(jù)此,構建包含輸入層、映射層、輸出層的神經(jīng)網(wǎng)絡模型,如圖7所示,因此在該路徑軌跡σ中,將t1,t2,…,t x-1,t x+1,t x+2,…,t n作為模型的輸入,流程庫內(nèi)節(jié)點個數(shù)為V,整個計算過程如下:
圖7 單層神經(jīng)網(wǎng)絡模型Fig.7 Single layer neural network model
步驟1采用獨熱編碼初始化節(jié)點向量。路徑中節(jié)點的向量為:t1,t2,…,t n,每個向量長度為V。
步驟2輸入層與映射層之間的權重矩陣為W(H×V),其中H為映射層向量的長度,且H<V,那么映射層的向量h為:
步驟3映射層與輸出層之間的權重矩陣為W′(V×H)(矩陣W與矩陣W′無關),與向量h相乘為:
u長度為V:
通過softmax函數(shù),節(jié)點t在路徑軌跡σ(t)中執(zhí)行的概率為:
其中i t為節(jié)點t在流程庫內(nèi)得索引。
步驟4更新權重矩陣。訓練過程的目標是獲得節(jié)點t x的概率最大,那么損失函數(shù)E為:
將損失函數(shù)對ui求偏導,即為預測節(jié)點為流程庫中第i個節(jié)點的概率值與待預測節(jié)點向量中的第i個分量的差值e i:
損失函數(shù)E對權重矩陣W′中第i行,第j列的權重w'ij求偏導:
其中h j為向量h的第j個分量,的更新公式為:
其中,η>0為學習率。
損失函數(shù)E對h j求偏導:
EH表示流程庫內(nèi)所有節(jié)點的輸出向量與預測誤差的和。損失函數(shù)E對權重矩陣W第j行,第k列的權重w jk求偏導,經(jīng)過整理得到w jk的更新公式:
在訓練完成之后,將每個節(jié)點向量與訓練好的參數(shù)矩陣W相乘,得到節(jié)點在映射層的低維連續(xù)向量,在此基礎上,計算業(yè)務流程的向量形式,按照公式(2)計算流程之間的相似性,本文在第4章給出了實驗分析與相關的應用。
本章將對本文提出的流程相似性的度量方法進行實驗驗證。首先簡要描述進行實驗的環(huán)境配置,其次介紹實驗數(shù)據(jù)集、實驗的方法以及相關的評價標準,最后分析實驗結果并給出該方法在流程推薦領域的應用。
實驗環(huán)境包括硬件配置與硬件環(huán)境兩部分:
(1)硬件部分。處理器:AMD Ryzen 5-3550H,主頻2.1 GHz,內(nèi)存:16 GB。
(2)軟件部分。操作系統(tǒng):Windows10家庭版,64位操作系統(tǒng);算法描述語言:Python3.7.4;算法依賴包括:numpy、pandas、matplotlib。
經(jīng)過查閱相關文獻,本文選擇了周長紅等人[16]在研究過程中分享到GitHub上的數(shù)據(jù)進行實驗驗證。該數(shù)據(jù)集包括有業(yè)務流程以及對應的流程日志,以一個真實的保險理財申請流程P0為基礎,如圖8所示,采用多種方式構造了13個流程的變體,見表3。13個流程的日志數(shù)據(jù)由日志生成工具(PLG)生成。
圖8 原始流程P0Fig.8 Original process P0
表3 變體流程信息Table 3 Variant processes information
本文按照所提出的方法對P1~P13流程的日志數(shù)據(jù)進行訓練,獲得節(jié)點的低維連續(xù)向量形式,結合各流程獨立路徑在日志數(shù)據(jù)出現(xiàn)的頻率計算出業(yè)務流程的向量形式,根據(jù)公式(2)計算P1~P13與P0之間的相似度,進行排序,與周長紅等人[16]給出的基準排序進行比較。
為了直觀地展示所提出算法的準確率,實驗選取文獻[16]提出的weight business process graph(WBPG)算法、文獻[17]提出的matrix distance similarity(MDS)算法、文獻[18]提出的graph edit distance(GED)算法與本文的算法進行比較,計算13個變體流程與P0的相似度,結果如表4所示。
表4 不同算法的實驗結果Table 4 Experimental results of different algorithms
由于每種算法采用的相似度計算方法不同,導致結果也不相同,所以按照各算法的相似度值大小對13個變體流程排序,周長紅等人[16]公開的成功中也給出了15位領域?qū)<野凑誔1~P13與P0之間相似性大小的排序結果,以及對應流程變體的權重,將該排序結果作為標準排序,得到如表5所示的排序結果。
表5 相似度排序結果Table 5 Results of similarity ranking
本文選擇歸一化折損累計增益(normalized discount cumulative gain,NDCG)對算法的準確率進行評估。NDCG是一種常用的評價排序、搜索算法的方法,其計算公式如下:
式中,DCG n表示某給定業(yè)務流程模型與n個相關流程的折損累計增益;r(n)表示排在第n個位置的流程的權重,即計算出的排序結果的DCG值;IDCGn表示標準排序內(nèi)流程與n個相關流程的理想折損累計增益,即排序的理想情況下的DCG值(IDCG)。由公式(7)和(8)可知,算法的排序準確率越高,DCG與IDCG越接近,NDCG越大。
經(jīng)計算,標準排序的IDCG為4.167,根據(jù)表5內(nèi)各個算法的排序結果,計算對應的DCG值,進而得到NDCG值,計算結果如表6所示。
表6 不同算法排序結果的DCG與NDCGTable 6 Results of DCG and NDCG of different algorithms ranking
本文算法計算出相似度最高的5個流程與標準排序相同,比其余3種算法都更由優(yōu)勢,基于流程相似性思想的流程建模推薦技術尤其關注排序排名較高的流程,而歸一化折損累計增益的計算公式也決定了該評價方法更關注排名靠前的結果。由表6可以看出,本文方法相對于其他3種方法準確率更高。
傳統(tǒng)的流程建模方式完全仰賴建模人員自身的業(yè)務水平,需要建模人員具備豐富的領域知識、熟悉業(yè)務流程的執(zhí)行過程,以及應對突發(fā)狀況的能力,使得人工建模需要耗費企業(yè)大量的人力物力。因此,基于已有流程輔助的半自動化流程建模方法受到廣泛的青睞,流程推薦是針對當前的業(yè)務流程片段,通過對已有業(yè)務流程的分析,為建模人員推薦后續(xù)可能執(zhí)行的業(yè)務活動。當前主流的流程推薦方法都是基于流程相似性的思想,該類方法通過計算待推薦流程片段與已有流程的相似性,將相似性較高的流程推薦給建模人員,但是該方法當面對獨立路徑較多的業(yè)務流程時無法保證推薦的準確率。
鑒于上述原因,本節(jié)構建基于本文所提方法的流程建模系統(tǒng),如圖9所示。將相似性的計算從業(yè)務流程層次轉(zhuǎn)向獨立路徑,獲取待推薦系統(tǒng)的獨立路徑,與現(xiàn)有流程的獨立路徑進行相似度比較,相較于基于流程相似性的方法,準確率更高,靈活性更強。該系統(tǒng)包含3個主要模塊。
圖9 流程建模推薦系統(tǒng)Fig.9 Process modeling recommendation system
(1)企業(yè)數(shù)據(jù)處理模塊。該模塊的詳細過程見3.3節(jié),此處僅簡要說明。該階段分為3個步驟:
步驟1流程節(jié)點編碼。采用獨熱編碼初始化流程庫內(nèi)節(jié)點的向量。
步驟2模型訓練階段。構建神經(jīng)網(wǎng)絡模型,以日志數(shù)據(jù)中的流程軌跡為訓練集,訓練模型。
步驟3計算節(jié)點向量。將訓練好的模型中輸入層與映射層的權重矩陣與初始化向量相乘獲得低維連續(xù)的節(jié)點向量。
(2)待推薦流程處理模塊。本階段的工作包括3個步驟:
步驟1獲取待推薦流程片段的所有獨立路徑。設流程片段中包括z個待推薦路徑:σre1,σre2,…,σrez。
步驟2獨立路徑檢索。待推薦路徑σrei(i=1,2,…,z)的末端節(jié)點為σrei[end],在流程庫內(nèi)搜索包含節(jié)點σrei[end]的獨立路徑。
步驟3獨立路徑切割。以待推薦路徑σre i為例,設包含節(jié)點σr ei[end]的獨立路徑有y個:σ1,σ2,…,σy,對y個獨立路徑進行切割,如將獨立路徑σk(k=1,2,…,y)切割,僅保留從開始節(jié)點到節(jié)點σrei[end]的路徑,即σk[1:jσk,σrei[end]],其中jσk,σrei[end](k=1,2,…,y)為獨立路徑σk中節(jié)點σrei[end]的索引。
(3)節(jié)點推薦階段。該階段分為3個步驟:
步驟1計算路徑相似度。計算第i條待推薦路徑σrei與流程庫中包含其末端節(jié)點σre i[end]的第k條經(jīng)切割后的路徑σk[1:jσk,σrei[end]]之間的余弦相似度,記為similarity<σrei,σk[1:jσk,σrez[end]]>。
步驟2對路徑間相似度的計算結果從大到小排序。
步驟3構建推薦節(jié)點集合。根據(jù)排序結果,與待推薦路徑σrei相似度最高的路徑為σtar[1:jσtar,σrei[end]],那么對應未切割的獨立路徑為σtar,則待推薦路徑σrei的推薦節(jié)點即為該路徑中待推薦路徑末端節(jié)點的下一個節(jié)點σtar[jσtar,σrei[end]+1]。
計算出每一個待推薦路徑的節(jié)點后構成集合推薦給建模人員,建模人員在完成新流程后輸入流程庫內(nèi)。
針對流程相似性的研究多集中于流程圖結構,卻忽略了流程語義的相似性,本文從業(yè)務流程實際執(zhí)行過程的角度出發(fā),構建基于行為的流程體系,將流程的復雜結構轉(zhuǎn)化為獨立路徑,同時包含流程的行為屬性,最后將獨立路徑分解為流程節(jié)點。采用獨熱編碼表示節(jié)點的初始向量,構建神經(jīng)網(wǎng)絡模型對節(jié)點向量的訓練,獲得低維連續(xù)的向量,進而表示流程向量,通過向量間的余弦相似度表示流程間的相似程度,通過實驗計算該方法的準確率達到99.59%。
本文嘗試將人工智能技術應用到流程相似性的度量中,取得了較好的準確率,并且給出了在流程推薦領域的應用形式。但是本文存在一定局限性:該方法對日志數(shù)據(jù)量要求較大,當數(shù)據(jù)量較少時,無法保證其準確性;其次,應用在流程節(jié)點推薦領域時,如果建模人員輸入的流程片段中存在流程倉庫沒有的節(jié)點,會導致該方法推薦的準確率無法保證。所以,后續(xù)工作將著重針對這兩方面進行研究。