付建平,趙海燕,曹 健,陳慶奎
1(上海市現(xiàn)代光學(xué)系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,光學(xué)儀器與系統(tǒng)教育部工程研究中心,上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
2(上海交通大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,上海 200030)
近年來(lái),越來(lái)越多的企業(yè)組織使用業(yè)務(wù)過(guò)程管理系統(tǒng)BPMS(Business Process Management System,BPMS)管理和控制他們的業(yè)務(wù)過(guò)程.然而,由于業(yè)務(wù)需求的變動(dòng)、市場(chǎng)的波動(dòng)、資源的調(diào)度和系統(tǒng)的升級(jí)等各種內(nèi)外因素的變化,業(yè)務(wù)過(guò)程在執(zhí)行過(guò)程中容易出現(xiàn)各種各樣的異常,這些異常會(huì)給企業(yè)組織造成巨大的損失.
常見(jiàn)的異常有控制流異常、數(shù)據(jù)異常、時(shí)間異常和資源異常等,業(yè)務(wù)過(guò)程中的控制流視角描述了活動(dòng)的執(zhí)行順序,包括順序、選擇和并行等,控制流異常是指活動(dòng)的執(zhí)行順序發(fā)生異常,如活動(dòng)的替換、插入、跳過(guò)、重做、提前、延遲執(zhí)行等[1];數(shù)據(jù)流異常是指由事件的屬性引起的異常,如未授權(quán)的用戶非法執(zhí)行了活動(dòng);時(shí)間異常是指單個(gè)活動(dòng)的持續(xù)時(shí)間或整個(gè)活動(dòng)序列的時(shí)間發(fā)生了異常,如活動(dòng)的持續(xù)時(shí)間超過(guò)了截止時(shí)間;資源異常是指執(zhí)行活動(dòng)的資源發(fā)生了異常,如活動(dòng)被分配了錯(cuò)誤的資源等.業(yè)務(wù)過(guò)程中出現(xiàn)的異常不僅類型多樣,各個(gè)視角之間也存在復(fù)雜的依賴關(guān)系,如控制流異??赡苁怯捎谀硞€(gè)活動(dòng)的持續(xù)時(shí)間超過(guò)了截止時(shí)間,導(dǎo)致該活動(dòng)的后繼活動(dòng)發(fā)生了延遲執(zhí)行,此外,活動(dòng)所依賴的屬性也決定了活動(dòng)的路由選擇.業(yè)務(wù)過(guò)程中各個(gè)視角之間存在復(fù)雜的依賴關(guān)系導(dǎo)致業(yè)務(wù)過(guò)程中出現(xiàn)的異??赡芊浅?fù)雜,因此處理業(yè)務(wù)過(guò)程中的異常對(duì)企業(yè)組織而言是一個(gè)巨大的挑戰(zhàn).自動(dòng)檢測(cè)和處理業(yè)務(wù)過(guò)程中的異常,不僅可以為企業(yè)降低甚至避免重大損失,還可以使業(yè)務(wù)過(guò)程安全穩(wěn)定高效的運(yùn)行、優(yōu)化資源的調(diào)度方式、提高資源的利用率等.
由于控制流是業(yè)務(wù)過(guò)程的主干,檢測(cè)控制流異常對(duì)保障業(yè)務(wù)過(guò)程的正確執(zhí)行起著關(guān)鍵作用,本文重點(diǎn)關(guān)注業(yè)務(wù)過(guò)程中的控制流異常.對(duì)于業(yè)務(wù)過(guò)程中的控制流異常的檢測(cè),目前已有很多相關(guān)的檢測(cè)方法,這些方法主要存在以下局限性:第1個(gè)局限是大部分方法都只適用于離線場(chǎng)景中,即只能在業(yè)務(wù)過(guò)程執(zhí)行完后再根據(jù)歷史事件日志檢測(cè)異常,有可能異常已經(jīng)發(fā)生并已造成損失,離線場(chǎng)景只能事后分析,而無(wú)法避免或減少損失;第2個(gè)局限是大部分方法只適用于軌跡較短的業(yè)務(wù)過(guò)程的場(chǎng)景中,對(duì)于很長(zhǎng)的軌跡,無(wú)法捕捉到具有長(zhǎng)期依賴的事件之間的關(guān)系,從而無(wú)法檢測(cè)到具有長(zhǎng)期依賴關(guān)系的異常事件;第3個(gè)局限是大部分方法都只側(cè)重于對(duì)異常的識(shí)別,而忽略了對(duì)假陽(yáng)性的識(shí)別,因而無(wú)法適用于處理假陽(yáng)性代價(jià)較大的場(chǎng)景中.
本文受目前廣泛應(yīng)用于機(jī)器翻譯中的自注意力機(jī)制的啟發(fā),提出了一種基于自注意力機(jī)制(Self-attention)與長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short TermMemory network,LSTM)相結(jié)合的神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)業(yè)務(wù)過(guò)程中活動(dòng)序列的下一個(gè)活動(dòng),其中自注意力用于建模活動(dòng)序列中活動(dòng)之間的依賴關(guān)系,而LSTM用于編碼活動(dòng)的位置信息,此外還提出一種計(jì)算預(yù)測(cè)的活動(dòng)的異常分?jǐn)?shù)的方法,通過(guò)將活動(dòng)的異常分?jǐn)?shù)和閾值比較以確定預(yù)測(cè)的活動(dòng)中哪些活動(dòng)可能是正確的活動(dòng),再將可能正確的活動(dòng)與實(shí)際發(fā)生的活動(dòng)進(jìn)行比較以檢測(cè)業(yè)務(wù)過(guò)程是否發(fā)生控制流異常.本文的預(yù)測(cè)模型能對(duì)軌跡(在本文中亦稱活動(dòng)序列)很長(zhǎng)的過(guò)程的活動(dòng)之間的依賴關(guān)系進(jìn)行建模,在預(yù)測(cè)模型根據(jù)歷史事件日志訓(xùn)練好后,本文方法既可用于在線場(chǎng)景中實(shí)時(shí)檢測(cè)異常,也可在離線場(chǎng)景中對(duì)歷史事件日志進(jìn)行事后分析.為了驗(yàn)證方法檢測(cè)異常的性能,實(shí)驗(yàn)中選用了5種典型的baseline算法進(jìn)行比較.實(shí)驗(yàn)結(jié)果表明,所提出的基于LSTM與自注意力機(jī)制的業(yè)務(wù)過(guò)程異常檢測(cè)(Business process anomaly detection method based on LSTM and self-attention mechanism,簡(jiǎn)稱BPAD-LS)方法能顯著減少假陽(yáng)性,且有效檢測(cè)控制流異常.
本文主要有以下幾個(gè)創(chuàng)新點(diǎn):
1)本文使用LSTM對(duì)軌跡中活動(dòng)的位置進(jìn)行編碼,該位置編碼方式既適用于軌跡較短的業(yè)務(wù)過(guò)程,也適用于軌跡較長(zhǎng)的業(yè)務(wù)過(guò)程,并使用自注意力機(jī)制建模業(yè)務(wù)過(guò)程的軌跡中活動(dòng)之間的依賴關(guān)系,相比于使用循環(huán)神經(jīng)網(wǎng)絡(luò)等序列建模方法,自注意力機(jī)制的序列建模能力更強(qiáng),有利于提高活動(dòng)的預(yù)測(cè)準(zhǔn)確率,從而能有效提高異?;顒?dòng)的檢測(cè)性能.
2)本文提出一種計(jì)算異常分?jǐn)?shù)的方法,該方法能有效解決異常檢測(cè)時(shí)的假陽(yáng)性問(wèn)題.實(shí)驗(yàn)表明,相比于實(shí)驗(yàn)中的baseline方法,本文提出的方法能顯著降低異常檢測(cè)的假陽(yáng)性.
3)本文選擇業(yè)務(wù)過(guò)程異常檢測(cè)領(lǐng)域中典型的baseline方法進(jìn)行實(shí)驗(yàn)對(duì)比,并使用真實(shí)的事件日志作為實(shí)驗(yàn)數(shù)據(jù),以充分體現(xiàn)本文方法的異常檢測(cè)性能.
本節(jié)將介紹目前關(guān)于檢測(cè)業(yè)務(wù)過(guò)程中控制流異常的相關(guān)研究工作.
根據(jù)檢測(cè)業(yè)務(wù)過(guò)程中的控制流異常時(shí)是否需要過(guò)程模型,可將檢測(cè)方法分為模型感知的方法和模型無(wú)關(guān)的方法.在過(guò)程挖掘[2]領(lǐng)域中,模型感知的方法是指通過(guò)過(guò)程發(fā)現(xiàn)算法(如Alpha算法[3])從事件日志中挖掘過(guò)程模型,然后使用合規(guī)性檢查[2]檢測(cè)異常行為.模型無(wú)關(guān)的方法則是指檢測(cè)異常時(shí)無(wú)需過(guò)程模型.
在早期,檢測(cè)業(yè)務(wù)過(guò)程中的控制流異常大多使用模型感知的方法.van der Aalst等人[4]介紹了利用過(guò)程挖掘檢測(cè)異常的概念,并使用Alpha[3]過(guò)程發(fā)現(xiàn)算法從正確的事件日志中挖掘過(guò)程模型,以檢測(cè)過(guò)程實(shí)例中的控制流異常.Bezerra 等人[5]使用ProM工具[6]檢測(cè)過(guò)程感知信息系統(tǒng)PAIS(Process-Aware Information Systems,PAIS)日志中的異常,其主要通過(guò)過(guò)程模型來(lái)檢測(cè)異常的軌跡.Rieke 等人[7]通過(guò)分析移動(dòng)支付領(lǐng)域中的業(yè)務(wù)過(guò)程來(lái)檢測(cè)異常行為.Rahmawati 等人[8]使用啟發(fā)式挖掘算法分析事件日志并計(jì)算活動(dòng)之間的頻率關(guān)系以確定主要的行為及低頻行為,低頻行為被視為異常.模型感知的方法的檢測(cè)性能依賴于過(guò)程模型的質(zhì)量,且無(wú)法準(zhǔn)確地處理假陽(yáng)性.
模型無(wú)關(guān)的檢測(cè)方法可以分為基于概率統(tǒng)計(jì)、基于鄰近度、基于重建和基于信息論等4種類型:
1)基于概率統(tǒng)計(jì)的方法:Bezerra 等人[9]基于異常不頻繁出現(xiàn)的假設(shè),提出樸素、閾值、迭代和采樣4種檢測(cè)異常軌跡的算法.在文獻(xiàn)[10]中,Bezerra等人[10]再次使用閾值、迭代和采樣方法檢測(cè)異常軌跡,檢測(cè)的基本原理是若一條軌跡不是過(guò)程模型的實(shí)例,則需要對(duì)適合該軌跡的模型進(jìn)行結(jié)構(gòu)更改,而異常軌跡對(duì)模型需要進(jìn)行更大的結(jié)構(gòu)修改.Armentano 等人[11]使用變階馬爾可夫模型(Variable Order Markov Models)檢測(cè)與預(yù)期行為不一致的活動(dòng)序列.該方法實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,只能發(fā)現(xiàn)比較明顯的異常,同時(shí)會(huì)導(dǎo)致假陽(yáng)性.
2)基于鄰近度的方法:Sureka 等人[12]使用活動(dòng)標(biāo)簽將業(yè)務(wù)過(guò)程的軌跡轉(zhuǎn)換為字符串序列,使用歸一化的最長(zhǎng)公共子序列(Normalized Longest Common Subsequence,NLCS)的相似性度量來(lái)計(jì)算每對(duì)軌跡之間的距離,然后利用K近鄰算法的思想,軌跡的異常分?jǐn)?shù)被定義為該軌跡與它的第K個(gè)最近的軌跡之間的最長(zhǎng)公共子序列度量的倒數(shù).Folino 等人[13]也使用聚類算法檢測(cè)控制流異常.
3)基于重建的方法:基于重建的方法通過(guò)訓(xùn)練一個(gè)可以重建正常行為的模型,再根據(jù)重建的行為與實(shí)際行為的偏差來(lái)檢測(cè)異常行為.自編碼器[14]是一種特定的神經(jīng)網(wǎng)絡(luò),異常值是自編碼器解碼過(guò)程中具有較高重建誤差的值.Nolle 等人[15,16]、Krajsic 等人[17]使用降噪自編碼器[18]DAE(Denoising Autoencoders,DAE)重建軌跡或事件的誤差并基于閾值以識(shí)別異常行為.Nolle 等人[19,20]提出了基于GRU(Gated Recurrent Unit,GRU)的循環(huán)神經(jīng)網(wǎng)絡(luò)BINet(Business Intelligence Network,BINet),并從控制流和數(shù)據(jù)流視角通過(guò)預(yù)測(cè)下一個(gè)事件及其屬性并基于閾值以檢測(cè)軌跡、事件和屬性中的異常.BINet的檢測(cè)效果與數(shù)據(jù)集所包含的屬性有較大的關(guān)聯(lián),即BINet結(jié)構(gòu)只適合特定的應(yīng)用場(chǎng)景.
4)基于信息論的方法:基于信息論的方法將與大多數(shù)其他過(guò)程實(shí)例差異過(guò)大的實(shí)例視為異常.Ko 等人[1,21]提出了一種新的基于統(tǒng)計(jì)杠桿(statisticalleverage)[22]的方法來(lái)檢測(cè)業(yè)務(wù)過(guò)程中的控制流異常,該方法考慮到了過(guò)程實(shí)例可能有不同的軌跡長(zhǎng)度.相比于基于重建的方法,基于信息論的方法不需要大量數(shù)據(jù)來(lái)訓(xùn)練模型.
近年來(lái),word2vec[23]編碼方法在業(yè)務(wù)過(guò)程異常檢測(cè)中逐漸受到關(guān)注.Tavares 等人[24]、Junior 等人[25]將活動(dòng)和軌跡分別視為單詞和句子,使用word2vec將軌跡編碼為向量,并結(jié)合分類算法將不常見(jiàn)的軌跡編碼視為潛在的異常.Tavares 等人[24]使用隨機(jī)森林算法區(qū)分正常和異常軌跡,而Junior 等人[25]則使用單類(One-Class)分類算法OC-SVM[26]和LOF[27].
在上述方法中,文獻(xiàn)[9,10,11,28]中對(duì)于控制流異常的檢測(cè),沒(méi)有明確區(qū)分活動(dòng)的異常類型,而只是檢測(cè)活動(dòng)序列的整體執(zhí)行順序是否正常.而在文獻(xiàn)[15,20,24,25]中,并不是將整個(gè)軌跡作為檢測(cè)對(duì)象外,而是針對(duì)具體的控制流異常(如活動(dòng)序列中活動(dòng)的跳過(guò)、插入、重做、提前和延遲等)進(jìn)行檢測(cè),以促進(jìn)對(duì)異常的分析和理解.本文也將對(duì)注入不同類型的異?;顒?dòng)的軌跡作為檢測(cè)對(duì)象.
本節(jié)將介紹業(yè)務(wù)過(guò)程事件日志的一些基本概念.
業(yè)務(wù)過(guò)程管理系統(tǒng)在執(zhí)行時(shí)會(huì)留下大量的事件日志.這些事件日志記錄了業(yè)務(wù)過(guò)程的執(zhí)行情況,從事件日志中可提取與過(guò)程有關(guān)的有價(jià)值的信息,如兩個(gè)活動(dòng)之間的等待時(shí)間、事件所依賴的資源等.事件日志由過(guò)程實(shí)例(Case,也稱實(shí)例)組成,過(guò)程實(shí)例由事件(Event)組成,且每個(gè)事件僅屬于一個(gè)過(guò)程實(shí)例,過(guò)程實(shí)例中的事件是有序的,一個(gè)過(guò)程實(shí)例中由事件根據(jù)時(shí)間順序組成的有序序列稱為軌跡(Trace),事件則通常由活動(dòng)及其相關(guān)的屬性構(gòu)成.過(guò)程實(shí)例和事件通常都有自己的屬性,過(guò)程實(shí)例中典型的屬性有過(guò)程實(shí)例編號(hào)、過(guò)程實(shí)例的創(chuàng)建者等,事件中典型的屬性包括活動(dòng)執(zhí)行的時(shí)間、活動(dòng)所依賴的資源、執(zhí)行活動(dòng)的成本等.并非所有的事件都具有相同的屬性集,但通常涉及到同一活動(dòng)的事件都具有相同的屬性集.
為了清晰描述事件日志的相關(guān)概念,接下來(lái)將使用形式化的符號(hào)描述相關(guān)重要概念,并使用文獻(xiàn)[29]中的符號(hào).
定義1.事件(Event):設(shè)A是活動(dòng)(Activity)的集合,C是過(guò)程實(shí)例的集合,T是時(shí)間域,D1,…,Dn是與活動(dòng)相關(guān)的屬性,則一個(gè)事件e可由一個(gè)元組e=(a,c,t,d1,…,dn)表示,其中a∈A,c∈C,t∈T,di∈{Di}且i∈[1,n].
定義2.軌跡(Trace):設(shè)πA,πC,πT,πDi分別是將事件e映射為一個(gè)活動(dòng)、過(guò)程實(shí)例標(biāo)識(shí)符、時(shí)間戳和屬性的函數(shù),即πA(e)=a,πC(e)=c,πT(e)=t和πDi(e)=Di.一條軌跡σ即被定義為一個(gè)有限的非空的事件序列σ=〈e1,…,en〉,其中|σ|=n(n>0)表示軌跡中事件的數(shù)量.必須注意的是對(duì)于軌跡σ中任意的事件ei和事件ej,都必須有πC(eI)=πc(ej),即軌跡中任意兩個(gè)事件的過(guò)程實(shí)例標(biāo)識(shí)符都相同,且對(duì)于事件ei和ej事件(其中i 定義3.前綴(Prefix)和后綴(Suffix):設(shè)有一條軌跡σ=〈e1,e2,…,en〉,其中|σ|=n表示軌跡σ中的事件數(shù)量.整數(shù)k∈[1,n]表示事件前綴的長(zhǎng)度,hdk表示前綴和tlk表示后綴可定義為:hdk(σ)=〈e1,e2,…,ek〉,tlk(σ)=〈e(k+1),…,en〉.由于本文只考慮預(yù)測(cè)前綴的下一個(gè)活動(dòng),因此本文也將后綴稱為下一個(gè)活動(dòng),因此,后綴表示為tlk(σ)=e(k+1). 本節(jié)將首先介紹BPAD-LS方法的總體架構(gòu),然后再介紹預(yù)測(cè)軌跡中下一個(gè)活動(dòng)的神經(jīng)網(wǎng)絡(luò)模型,以及計(jì)算活動(dòng)的異常分?jǐn)?shù)的方法. BPAD-LS異常檢測(cè)方法分為3個(gè)階段:數(shù)據(jù)預(yù)處理階段、模型訓(xùn)練階段和異常檢測(cè)階段.圖1是BPAD-LS方法的總體框架示意圖. 圖1 BPAD-LS方法的總體框架示意圖 第1階段.數(shù)據(jù)預(yù)處理階段.原始的業(yè)務(wù)過(guò)程事件日志通常是XES(eXtensible Event Stream,可擴(kuò)展事件流)格式,可以借助pm4py庫(kù)(http://pm4py.org/)將XES格式解析成csv格式,并使用Pandas庫(kù)(https://pandas.pydata.org/)處理csv數(shù)據(jù),然后將活動(dòng)序列分割為前綴和后綴,以及編碼為向量,并按一定比例將事件日志分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練集中只包含正常的軌跡,而測(cè)試集中不僅包含正常的軌跡,還包含注入了異?;顒?dòng)的軌跡.在5.2小節(jié)中將對(duì)數(shù)據(jù)預(yù)處理作詳細(xì)介紹. 第2階段.模型訓(xùn)練階段.將已處理好的訓(xùn)練集輸入到預(yù)測(cè)模型中,其中活動(dòng)序列的前綴設(shè)為X,將后綴設(shè)為Y,即ground-truth. 第3階段.異常檢測(cè)階段.異常檢測(cè)是基于在第2階段訓(xùn)練好的預(yù)測(cè)模型.將測(cè)試集的活動(dòng)序列前綴設(shè)為X,將后綴設(shè)為Y.預(yù)測(cè)模型將根據(jù)前綴X通過(guò)Softmax激活函數(shù)輸出下一個(gè)活動(dòng)的預(yù)測(cè)概率,假設(shè)事件日志中共有n個(gè)活動(dòng),則每條前綴的預(yù)測(cè)結(jié)果都有n個(gè)概率值,且其和為1.然后根據(jù)預(yù)測(cè)概率計(jì)算每個(gè)活動(dòng)的異常分?jǐn)?shù),并基于閾值判定可能正確的下一個(gè)活動(dòng)的集合R.若實(shí)際發(fā)生的活動(dòng)Y存在于活動(dòng)集合R中,則說(shuō)明活動(dòng)Y不是異常活動(dòng),否則是異?;顒?dòng),并以此判定該軌跡是否異常. 對(duì)于業(yè)務(wù)過(guò)程的預(yù)測(cè)性監(jiān)控問(wèn)題,已有大量研究,如LSTM[30,31]、CNN[32,33]和GAN[34]等.然而,由于現(xiàn)有的業(yè)務(wù)過(guò)程的軌跡可能很長(zhǎng),且軌跡中的活動(dòng)之間存在復(fù)雜的依賴關(guān)系,這些現(xiàn)有的業(yè)務(wù)過(guò)程的預(yù)測(cè)方法難以捕獲活動(dòng)序列中活動(dòng)之間的長(zhǎng)期依賴關(guān)系.LSTM雖然相比于GRU更優(yōu)于序列數(shù)據(jù)的建模,能有效避免梯度消失問(wèn)題,但其性能會(huì)隨著軌跡中活動(dòng)序列長(zhǎng)度的增加而降低.軌跡中可能存在較多的非頻繁的活動(dòng),而CNN模型并不能較好地處理非頻繁的活動(dòng).這些方法通常使用One-hot編碼方法編碼軌跡,這種編碼方法會(huì)忽略軌跡中事件之間的依賴關(guān)系.此外,業(yè)務(wù)過(guò)程中存在著大量的并行結(jié)構(gòu),這些方法難以對(duì)存在復(fù)雜依賴關(guān)系的序列數(shù)據(jù)進(jìn)行建模. 在機(jī)器翻譯等序列模型領(lǐng)域,相比于使用循環(huán)神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)與注意力機(jī)制相結(jié)合等方法,Vaswani 等人[35]則使用完全基于注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)的方法,即自注意力機(jī)制.Vaswani 等人[35]提出的Transformer包含多頭自注意力機(jī)制、位置前饋網(wǎng)絡(luò)、層歸一化和殘差連接等.Vaswani 等人[35]已經(jīng)證明,自注意力機(jī)制能高效地建模自然語(yǔ)言中的語(yǔ)義依賴關(guān)系,相比于循環(huán)神經(jīng)網(wǎng)絡(luò)等序列建模方法,自注意力機(jī)制的建模能力更強(qiáng)大.本文受此啟發(fā),提出使用自注意力機(jī)制和LSTM相結(jié)合的預(yù)測(cè)模型來(lái)預(yù)測(cè)軌跡中的下一個(gè)活動(dòng)名稱,其中自注意力機(jī)制用于建模軌跡中活動(dòng)之間的依賴關(guān)系,而LSTM僅用于建模軌跡中活動(dòng)序列的位置關(guān)系,預(yù)測(cè)模型結(jié)構(gòu)如圖2所示. 圖2 預(yù)測(cè)模型的結(jié)構(gòu)示意圖 原始的Transformer[35]模型為了解決機(jī)器翻譯中的問(wèn)題,包含編碼器和解碼器兩個(gè)部分.Tay 等人[36]總結(jié)了Transformer的3種使用模式:1)僅使用編碼器,如用于分類;2)僅使用解碼器,如用于語(yǔ)言建模;3)使用編碼器-解碼器,如機(jī)器翻譯.而本文的目的是區(qū)分正常軌跡和異常軌跡,屬于分類問(wèn)題,因此使用第一種模式,即僅使用編碼器.在這種模式下,通過(guò)使用編碼器建模軌跡中活動(dòng)之間的依賴關(guān)系,即可根據(jù)活動(dòng)序列的前綴預(yù)測(cè)下一個(gè)活動(dòng). 在如圖2的模型結(jié)構(gòu)中,軌跡數(shù)據(jù)先經(jīng)過(guò)低維的詞向量編碼后輸入到LSTM中進(jìn)行位置編碼.然后將位置編碼后的軌跡向量輸入到Transformer中的Encoder塊中,原始的Transformer[35]模型堆疊了6個(gè)相同的Encoder塊,而在本文中則使用一個(gè)Encoder塊.Encoder塊包含多頭自注意力層和全連接的前饋層,該兩層后面都接著Dropout層以避免過(guò)擬合,且都先經(jīng)過(guò)殘差連接后再進(jìn)行層歸一化.然后將Encoder塊的輸出傳遞到池化操作和全連接層,其中池化操作是使用全局最大池化以聚合特征.最后通過(guò)Softmax激活函數(shù)輸出預(yù)測(cè)概率.由于本文模型的目的是預(yù)測(cè)下一個(gè)活動(dòng)名稱,模型的輸出是多個(gè)活動(dòng)的預(yù)測(cè)概率,因此損失函數(shù)使用分類交叉熵?fù)p失函數(shù)(categorical cross-entropy loss).接下來(lái)將介紹預(yù)測(cè)模型中重要的模塊. 4.2.1 使用LSTM編碼軌跡中活動(dòng)的位置信息 在原始的Transformer[35]中的self-attention層無(wú)法獲取序列中單詞之間的位置信息,因此需要在將序列數(shù)據(jù)輸入self-attention層之前加上位置信息.Vaswani 等人[35]使用絕對(duì)位置編碼方式編碼單詞的位置,即在詞嵌入層的下一層連接單獨(dú)的位置編碼層,該層使用不同頻率的正弦和余弦函數(shù)編碼每個(gè)單詞的每個(gè)維度的固定位置信息: PE(pos,2i)=sin(pos/100002i/dmodel) (1) PE(pos,2i+1)=cos(pos/100002i/dmodel) (2) 其中PE為二維矩陣,其大小與上一層的詞嵌入層的維度相同,因此在后續(xù)詞嵌入層和位置編碼層可以相加.pos表示單詞在句子中的實(shí)際位置,dmodel表示詞向量的維度,i表示詞向量的第i個(gè)維度.得到了位置信息后,將詞向量與位置編碼信息相加后再輸入到Encoder塊中. Neishi 等人[37]已經(jīng)證明Transformer中的絕對(duì)位置編碼方式對(duì)于翻譯較長(zhǎng)的句子的性能較低,而使用RNN替換絕對(duì)位置編碼方式來(lái)編碼長(zhǎng)句子中單詞的位置信息(即對(duì)經(jīng)過(guò)詞嵌入層后的數(shù)據(jù)再輸入到RNN中進(jìn)行位置編碼,經(jīng)此編碼后的數(shù)據(jù)即可輸入到Encoder塊中)能有效提高機(jī)器翻譯的性能.在業(yè)務(wù)過(guò)程中,考慮到軌跡的長(zhǎng)度可能很長(zhǎng),如數(shù)據(jù)集Hospital Billing的最長(zhǎng)軌跡達(dá)217、數(shù)據(jù)集BPIC2019的最長(zhǎng)軌跡達(dá)990等其他可能具有更長(zhǎng)軌跡的數(shù)據(jù)集,為了適應(yīng)未來(lái)可能出現(xiàn)軌跡更長(zhǎng)的業(yè)務(wù)過(guò)程,本文模型將充分利用LSTM能夠通過(guò)相對(duì)位置信息處理序列數(shù)據(jù)的性質(zhì),使用LSTM作為位置編碼器以編碼軌跡中活動(dòng)的位置關(guān)系.如圖2所示,LSTM僅作為編碼軌跡中活動(dòng)的位置信息的位置編碼器,而不用于建模軌跡中活動(dòng)之間的依賴關(guān)系. (3) hi=LSTM(wvi,hi-1,ci-1) (4) (5) 由于在模型中LSTM僅用于編碼軌跡中活動(dòng)的位置信息,并未用于建模活動(dòng)之間的依賴關(guān)系,因此模型并不會(huì)隨著軌跡長(zhǎng)度的增加而降低性能,反而有利于提高異常檢測(cè)的性.為了驗(yàn)證使用LSTM作為位置編碼器能夠提高異常檢測(cè)的性能,在實(shí)驗(yàn)5.6.1小節(jié)中分別將絕對(duì)位置編碼方法(原始Transformer[35]模型中的絕對(duì)位置編碼)和相對(duì)位置編碼方法(LSTM)作為模型的位置編碼器,對(duì)嵌入了這兩種位置編碼方式的預(yù)測(cè)模型在異常檢測(cè)的F1-score檢測(cè)指標(biāo)上進(jìn)行比較. 4.2.2 自注意力(Self-attention)機(jī)制 當(dāng)軌跡數(shù)據(jù)經(jīng)過(guò)Word Embedding層和LSTM層的編碼后,進(jìn)入self-attention層,然后經(jīng)過(guò)Dropout層、殘差連接和歸一化層后,進(jìn)入到前饋層(Feed Forward)中.在Transformer塊中,每個(gè)位置的活動(dòng)名稱都有自己的路徑,self-attention層用于捕獲這些不同路徑之間的依賴關(guān)系,即軌跡中活動(dòng)之間的依賴關(guān)系. 注意力機(jī)制(Attention mechanism)已經(jīng)成為各種序列建模任務(wù)的重要組成部分,注意力機(jī)制能夠在不考慮序列中各數(shù)據(jù)元素的距離的情況下,對(duì)序列中各數(shù)據(jù)元素之間的依賴關(guān)系進(jìn)行建模[38,39].自注意力(self-attention)是一種通過(guò)將一個(gè)序列中的不同位置的數(shù)據(jù)元素關(guān)聯(lián)起來(lái)以計(jì)算序列的表示(Representation)的注意力機(jī)制,它已經(jīng)成功地應(yīng)用到機(jī)器閱讀、情感分析和文本蘊(yùn)含等各種序列表示的場(chǎng)景中[40-42].在自注意力機(jī)制中,輸入向量集合表現(xiàn)為使用3種不同的轉(zhuǎn)換方式分別轉(zhuǎn)換為3個(gè)元素,即查詢(query)、鍵(key)和值(value),因此,將一條軌跡作為輸入,它被處理為這3個(gè)元素的集合.結(jié)合圖2中模型結(jié)構(gòu),下面將簡(jiǎn)要介紹使用自注意力機(jī)制計(jì)算活動(dòng)的注意力分?jǐn)?shù)的流程. 假設(shè)軌跡σ有|σ|=n個(gè)活動(dòng),活動(dòng)序列為x=[x1,x2,…,xn],設(shè)其下標(biāo)為i(i=1,2,…,n).下面將通過(guò)計(jì)算活動(dòng)序列中第I(2≤I≤N)個(gè)位置的活動(dòng)xI的輸出結(jié)果來(lái)說(shuō)明自注意力機(jī)制的5步計(jì)算步驟. 第1步.首先,活動(dòng)序列x經(jīng)過(guò)嵌入層和位置編碼后得到編碼向量: ai=Wxi (6) 第2步.利用3個(gè)權(quán)重矩陣WQ,WK,WV分別與編碼向量ai相乘: qi=WQai,ki=WKai,vi=WVai (7) (8) (9) (10) 對(duì)于軌跡中的活動(dòng)序列,Transformer塊中的self-attention層完全依賴注意力機(jī)制來(lái)建模序列之間的全局依賴關(guān)系,即模型會(huì)選擇性地學(xué)習(xí)軌跡中的重要活動(dòng)的表示.在計(jì)算活動(dòng)之間的注意力分?jǐn)?shù)時(shí),若活動(dòng)之間具有較強(qiáng)的依賴關(guān)系和相關(guān)性,則其注意力分?jǐn)?shù)較高,反之較低.這種自注意力機(jī)制使預(yù)測(cè)模型能夠關(guān)注軌跡中重要的活動(dòng),從而更好地預(yù)測(cè)前綴的下一個(gè)活動(dòng). 4.2.3 多頭自注意力機(jī)制Multi-Head Self Attention 如圖2模型中的多頭注意力模塊中,為了在不同位置引入具有不同表示子空間的模型,查詢、鍵和值被線性投影了h次.對(duì)于每一次投影,縮放點(diǎn)積注意力都是并行執(zhí)行的.相對(duì)于自注意力,多頭注意力通過(guò)使用多組WQ,WK,WV以獲得每個(gè)輸入xi對(duì)應(yīng)的多個(gè)輸出headi,即多個(gè)注意力分?jǐn)?shù),然后對(duì)多個(gè)輸出進(jìn)行拼接,再通過(guò)線性變換得到最終輸出: (11) headi=Attention(qi,ki,vi) (12) MultiHead(Q,K,V)=Concat(headi,…,headh)WO (13) 其中i=[1,2,…,h],WO為神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的權(quán)重矩陣.最終輸出結(jié)果即為每個(gè)頭的輸出線性拼接并乘以權(quán)重矩陣WO. 預(yù)測(cè)模型只是根據(jù)軌跡的前綴活動(dòng)序列通過(guò)Softmax激活函數(shù)輸出下一個(gè)活動(dòng)的預(yù)測(cè)概率向量,而無(wú)法確定哪些活動(dòng)可能是下一個(gè)正確的活動(dòng).為了確定實(shí)際執(zhí)行的活動(dòng)是否異常,可以通過(guò)活動(dòng)的預(yù)測(cè)概率向量確定哪些活動(dòng)可能是下一個(gè)正確的活動(dòng). 由于業(yè)務(wù)過(guò)程的執(zhí)行軌跡存在多種情況,例如有3條正確的軌跡σ1=〈a,b,c,d,e,f,g〉、σ2=〈a,b,c,e,f,g〉和σ3=〈a,b,c,f,g〉,從這3條軌跡中可知,前綴活動(dòng)序列為〈a,b,c〉的下一個(gè)正確活動(dòng)可為d、e或f,若將前綴活動(dòng)序列〈a,b,c〉輸入到預(yù)測(cè)模型,假設(shè)預(yù)測(cè)的下一個(gè)活動(dòng)根據(jù)預(yù)測(cè)概率從高到低依次為〈d,e,f,g,a,b,c〉.若將預(yù)測(cè)概率最高的活動(dòng)d作為前綴活動(dòng)序列〈a,b,c〉的下一個(gè)正確活動(dòng),而實(shí)際執(zhí)行的活動(dòng)為e或f,則此次異常檢測(cè)將發(fā)生假陽(yáng)性,即未發(fā)生異常的軌跡被檢測(cè)為異常的軌跡. 為了減少假陽(yáng)性,本文提出一種計(jì)算異常分?jǐn)?shù)的方法.假設(shè)事件日志L中共有N個(gè)活動(dòng),則預(yù)測(cè)模型M根據(jù)軌跡σ的前綴活動(dòng)序列輸出預(yù)測(cè)的下一個(gè)活動(dòng)的預(yù)測(cè)概率向量為V,向量V共有N個(gè)概率值且其和為1.將這N個(gè)概率值從大到小排序,設(shè)排序后的序列為P,其下標(biāo)為i(i=1,2,…,N),且設(shè)定概率值最高對(duì)應(yīng)的活動(dòng)的異常分?jǐn)?shù)為0,每個(gè)活動(dòng)的異常分?jǐn)?shù)為: (14) 其中Pi為序列P中第i個(gè)概率值. 計(jì)算出預(yù)測(cè)的每個(gè)活動(dòng)的異常分?jǐn)?shù)后,再將異常分?jǐn)?shù)與閾值比較,若此分?jǐn)?shù)大于閾值,則該活動(dòng)為異?;顒?dòng),否則為正確活動(dòng).下面將通過(guò)一個(gè)示例說(shuō)明異?;顒?dòng)的判定. 假設(shè)某個(gè)事件日志中包含N=10個(gè)不同的活動(dòng),根據(jù)軌跡的前綴,預(yù)測(cè)的下一個(gè)活動(dòng)的預(yù)測(cè)概率向量為p= [0.55,0.30,0.07,0.03,0.02,0.01,0.01,0.004,0.003,0.003],對(duì)向量p中的10個(gè)概率值從大到小排序,并根據(jù)4.3小節(jié)中的公式(14)計(jì)算每個(gè)活動(dòng)的異常分?jǐn)?shù)score: 如圖3所示,橫軸坐標(biāo)對(duì)應(yīng)的是每個(gè)活動(dòng)的異常分?jǐn)?shù)score.假設(shè)閾值λ=0.5,只有前兩個(gè)異常分?jǐn)?shù)對(duì)應(yīng)的活動(dòng)是正常活動(dòng),設(shè)正常活動(dòng)的編號(hào)為集合R,若實(shí)際執(zhí)行的活動(dòng)Y存在于集合R中,則表示該軌跡σ是正常(用0表示)的,否則異常(用1表示),設(shè)函數(shù)表示活動(dòng)名稱a及其異常分?jǐn)?shù)score的映射函數(shù),函數(shù)θ表示根據(jù)實(shí)際執(zhí)行的活動(dòng)Y和正?;顒?dòng)的集合R判定該實(shí)際執(zhí)行的活動(dòng)所屬軌跡是否異常: 圖3 預(yù)測(cè)模型通過(guò)Softmax輸出的下一個(gè)活動(dòng)的預(yù)測(cè)概率及對(duì)應(yīng)的異常分?jǐn)?shù) π(a)=score (15) R={a|π(a)≤λ} (16) (17) 本節(jié)將介紹實(shí)驗(yàn)中使用的數(shù)據(jù)集,評(píng)估指標(biāo)以及五種對(duì)比方法,并分析實(shí)驗(yàn)結(jié)果. 本文實(shí)驗(yàn)數(shù)據(jù)集分為兩部分,如表1所示,前5個(gè)數(shù)據(jù)集是為了比較在模型中使用絕對(duì)位置編碼和相對(duì)位置編碼對(duì)異常檢測(cè)的F1-score檢測(cè)指標(biāo)的影響,后10個(gè)數(shù)據(jù)集是對(duì)本文的BPAD-LS方法與對(duì)比方法的異常檢測(cè)的性能比較(其中Sepsis Cases數(shù)據(jù)集在兩個(gè)實(shí)驗(yàn)中均使用).為了充分體現(xiàn)BPAD-LS方法在真實(shí)的場(chǎng)景中檢測(cè)控制流異常的性能,本文選用了真實(shí)的業(yè)務(wù)過(guò)程的歷史事件日志作為實(shí)驗(yàn)數(shù)據(jù).表1中統(tǒng)計(jì)了各個(gè)數(shù)據(jù)集的相關(guān)屬性,這些數(shù)據(jù)集來(lái)源于4TU.ResearchData(1)https://data.4tu.nl.其中BPIC2012數(shù)據(jù)集是由3個(gè)相互交織的子流程合并而來(lái)的,因此本文將該事件日志分為BPIC2012_A、BPIC2012_O和BPIC2012_W 3個(gè)獨(dú)立的事件日志. 表1 實(shí)驗(yàn)數(shù)據(jù)集 這些真實(shí)的事件日志可能含有少量的異常,但是這些潛在的異常并沒(méi)有標(biāo)記.為了滿足實(shí)驗(yàn)要求,本文也像其他文獻(xiàn)[19,20,44]一樣人工注入異常.本文為每個(gè)數(shù)據(jù)集的20%的過(guò)程實(shí)例注入異常,且每個(gè)過(guò)程實(shí)例只注入一種控制流異常.為了充分體現(xiàn)方法檢測(cè)控制流異常的性能,本文將注入6種業(yè)務(wù)過(guò)程中更容易發(fā)生的控制流異常類型,其定義如下: 1)跳過(guò)異常(Skip):軌跡中必要的事件被跳過(guò),導(dǎo)致未被執(zhí)行. 2)插入異常(Insert):軌跡中插入了不必要的事件并被執(zhí)行. 3)替換異常(Replace):軌跡中正常的事件被隨機(jī)替換了而未被執(zhí)行. 4)重做異常(Rework):軌跡中的事件正常執(zhí)行完后,再次被不必要地執(zhí)行. 5)提前異常(Early):軌跡中的活動(dòng)被提前執(zhí)行. 6)延遲異常(Late):軌跡中的事件被延遲執(zhí)行. 為了便于神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練和檢測(cè)方法的檢測(cè),將這些異常注入到每條軌跡,并標(biāo)記該軌跡為異常,其余未被注入異常的軌跡則標(biāo)記為正常. 由于活動(dòng)的執(zhí)行具有時(shí)間序列性,因此在創(chuàng)建前綴活動(dòng)序列時(shí)將不打亂活動(dòng)的順序.此外,考慮到有的軌跡可能較短,為了使預(yù)測(cè)模型在即使輸入的前綴活動(dòng)序列很短(如只有一個(gè)活動(dòng)作為前綴)的情況下也能預(yù)測(cè)下一個(gè)活動(dòng),因此在數(shù)據(jù)預(yù)處理時(shí)不過(guò)濾長(zhǎng)度很短的軌跡. 預(yù)測(cè)模型的作用是預(yù)測(cè)下一個(gè)活動(dòng),因此模型的訓(xùn)練集中不包含異?;顒?dòng).假設(shè)軌跡σ包含|σ|=n=7個(gè)活動(dòng),活動(dòng)序列為σ=〈e1,e2,…,e7,E〉,其中E表示軌跡的結(jié)束標(biāo)志.該軌跡經(jīng)過(guò)分割后產(chǎn)生n=7組前綴和后綴,第k組前綴和后綴如下: hdk(σ)=〈e1,e2,…,ek〉 (18) tlk(σ)=e(k+1) (19) 其中k∈[1,n],若k=n,則tlk(σ)=E. 對(duì)于測(cè)試集,需要將5.1小節(jié)中提到的6種控制流異常注入到部分測(cè)試集中,即測(cè)試集中既有正確軌跡,也有異常軌跡.本文將每個(gè)數(shù)據(jù)集的70%作為訓(xùn)練集,并將訓(xùn)練集的10%作為驗(yàn)證集,將每個(gè)數(shù)據(jù)集的30%作為測(cè)試集,測(cè)試集中異常軌跡占整個(gè)數(shù)據(jù)集的20%.為了模擬實(shí)際業(yè)務(wù)過(guò)程中異常發(fā)生的隨機(jī)性,因此,在注入異常時(shí),將在活動(dòng)序列中注入異常后,再分割前綴和后綴.假設(shè)軌跡σ中第k個(gè)活動(dòng)是異常的活動(dòng),則該軌跡的前綴和后綴如下: hdk(σ)=〈e1,e2,…,ek-1〉 (20) tlk(σ)=ek (21) 其中k∈[1,n]. 需要說(shuō)明的是,為了滿足實(shí)驗(yàn)要求,在向測(cè)試集中注入異常時(shí),假設(shè)測(cè)試集中每條軌跡的第1個(gè)活動(dòng)都是正常的,即從第2個(gè)活動(dòng)開(kāi)始隨機(jī)注入異常. 將事件日志數(shù)據(jù)集分割成前綴和后綴后,再使用整數(shù)編碼方式對(duì)事件日志進(jìn)行編碼. 異常檢測(cè)問(wèn)題本質(zhì)上是一個(gè)二分類問(wèn)題,即將包含異常和正常的數(shù)據(jù)分為異常和正常.在業(yè)務(wù)過(guò)程的異常檢測(cè)中,假陽(yáng)性是指軌跡中不含異常但被檢測(cè)方法檢測(cè)為異常,而假陰性是指軌跡中含有異常,卻被檢測(cè)方法檢測(cè)為正常.對(duì)于這兩種情況,不同的業(yè)務(wù)過(guò)程處理這兩種情況的代價(jià)是不一樣的,如有的業(yè)務(wù)過(guò)程漏檢異常的代價(jià)很高,因此需要減少假陰性,提高召回率(Recall);有的業(yè)務(wù)過(guò)程誤檢異常的代價(jià)很高,因此需要減少假陽(yáng)性,提高準(zhǔn)確率(Precision).然而很多時(shí)候需要平衡這兩種情況,因此可以將召回率和準(zhǔn)確率的調(diào)和平均值F1-score作為異常檢測(cè)方法的檢測(cè)性能.考慮到業(yè)務(wù)過(guò)程異常檢測(cè)中對(duì)于假陽(yáng)性和假陰性的特殊要求,本文選用F1-score、Precision和Recall這3個(gè)指標(biāo)作為檢測(cè)方法的評(píng)估指標(biāo). 由于本文使用準(zhǔn)確率(Precision)、召回率(Recall)和兩者的調(diào)和平均值(F1-score)作為異常檢測(cè)方法的性能指標(biāo),并假定在業(yè)務(wù)過(guò)程的異常檢測(cè)中對(duì)假陽(yáng)性和假陰性的處理代價(jià)相近,因而使用F1-score作為整體比較的檢測(cè)指標(biāo),即閾值的確定是以獲取最佳F1-score指標(biāo)作為目標(biāo).根據(jù)4.3小節(jié)中提出的計(jì)算異常分?jǐn)?shù)的方法以及4.4小節(jié)中判定異常活動(dòng)的方法可知活動(dòng)的異常分?jǐn)?shù)score<=1,因此閾值的范圍為[0,1],實(shí)驗(yàn)時(shí)將在此閾值范圍內(nèi),設(shè)置閾值增量step(本實(shí)驗(yàn)將該值設(shè)置為step=0.01)并使用窮舉法獲取最佳閾值. 為了體現(xiàn)本文提出的BPAD-LS方法的檢測(cè)性能,本文將選用文獻(xiàn)中已有的5種baseline模型作為對(duì)比方法進(jìn)行檢測(cè)性能的比較.對(duì)于概率統(tǒng)計(jì)的方法,選用文獻(xiàn)[9]中的樸素方法Naive和采樣方法Sampling,并使用該論文中這兩種方法的相同的參數(shù).對(duì)于基于距離的方法,選用單類支持向量機(jī)(One-Class Support Vector Machine,OC-SVM)方法,該方法也在文獻(xiàn)[20]中作為對(duì)比方法.對(duì)于基于重建的方法,選用文獻(xiàn)[45]中的降噪自編碼器DAE(Denoising Autoencoders,DAE)模型和文獻(xiàn)[20]中的BINetv1模型.文獻(xiàn)[20]中的BINetv1模型除了使用了事件的活動(dòng)名稱訓(xùn)練模型外,還使用了事件的屬性,而本文提出的BPAD-LS方法僅使用了事件的活動(dòng)名稱,因此為了公平比較,在實(shí)驗(yàn)中BINetv1模型也將只使用事件的活動(dòng)名稱進(jìn)行訓(xùn)練和預(yù)測(cè).Nolle 等人[20]提出的業(yè)務(wù)過(guò)程異常檢測(cè)方法與本文提出的BPAD-LS方法的思路是類似的,都是基于神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)軌跡的下一個(gè)事件并在此基礎(chǔ)上檢測(cè)異常,因此將Nolle 等人[20]提出的BINetv1模型作為對(duì)比方法更具有對(duì)比意義. 在4.2小節(jié)中說(shuō)明了相對(duì)位置(LSTM)與絕對(duì)位置相比,有利于提高異常檢測(cè)的性能,在此小節(jié)中將通過(guò)實(shí)驗(yàn)驗(yàn)證.在4.3小節(jié)中已經(jīng)說(shuō)明將實(shí)際執(zhí)行的活動(dòng)與預(yù)測(cè)的活動(dòng)進(jìn)行直接比較(將該方法稱為Direct-Comparison)以判定軌跡是否發(fā)生異常會(huì)增加假陽(yáng)性,為了證明本文提出的判定異?;顒?dòng)的方法能有效減少假陽(yáng)性,將對(duì)這兩種方法進(jìn)行評(píng)估和比較.此外,實(shí)驗(yàn)將重點(diǎn)評(píng)估本文提出的BPAD-LS方法與對(duì)比算法在各個(gè)數(shù)據(jù)集上的檢測(cè)異常,并分析實(shí)驗(yàn)結(jié)果. 5.6.1 軌跡的絕對(duì)位置編碼和相對(duì)位置編碼對(duì)異常檢測(cè)性能的影響的比較 在4.2小節(jié)中介紹了本文的預(yù)測(cè)下一個(gè)活動(dòng)的模型,其中包括軌跡中活動(dòng)的位置編碼器.在文獻(xiàn)[35]中的Transformer模型中使用絕對(duì)位置編碼方式編碼句子中單詞的位置,而在本文的活動(dòng)預(yù)測(cè)模型中,為了應(yīng)對(duì)可能出現(xiàn)很長(zhǎng)軌跡的業(yè)務(wù)過(guò)程,使用LSTM作為相對(duì)位置編碼器,以編碼軌跡中活動(dòng)的位置信息.為了驗(yàn)證使用LSTM作為相對(duì)位置編碼器更利于軌跡中活動(dòng)的位置編碼,在實(shí)驗(yàn)中分別將絕對(duì)位置編碼方法(absolute)和相對(duì)位置編碼方法(relative)作為模型的位置編碼器,這兩個(gè)模型通過(guò)影響下一個(gè)活動(dòng)的預(yù)測(cè)從而影響異常的檢測(cè)性能,實(shí)驗(yàn)選擇了5個(gè)軌跡較長(zhǎng)的數(shù)據(jù)集,5個(gè)數(shù)據(jù)集的信息如表1所示.圖4是嵌入了這兩種位置編碼方法的預(yù)測(cè)模型在檢測(cè)指標(biāo)F1-score上的比較,從圖4中可知相對(duì)位置編碼方法在所有數(shù)據(jù)集上的F1-score檢測(cè)指標(biāo)都比絕對(duì)位置編碼方法的更高,因此,使用相對(duì)位置編碼方法更有利于軌跡中活動(dòng)的位置信息的編碼,從而提高長(zhǎng)軌跡的業(yè)務(wù)過(guò)程的檢測(cè)性能. 圖4 相對(duì)位置編碼與絕對(duì)位置編碼在長(zhǎng)軌跡上的F1-score檢測(cè)指標(biāo)的比較 5.6.2 BPAD-LS與Direct-Comparison的比較 本實(shí)驗(yàn)的目的是證明本文的方法能顯著減少假陽(yáng)性.圖5是兩種方法判定異常活動(dòng)的召回率指標(biāo)的比較結(jié)果.從比較結(jié)果可知,本文提出的方法在所有數(shù)據(jù)集上的召回率都低于直接比較的方法.圖6是兩種判定異常活動(dòng)的方法在所測(cè)試的10個(gè)數(shù)據(jù)集上的準(zhǔn)確率指標(biāo)比較結(jié)果,從圖6中可知,本文提出的判定異常活動(dòng)的方法明顯比直接比較的方法的準(zhǔn)確率高,由此說(shuō)明本文提出的方法能明顯減少假陽(yáng)性.在圖6中,本文提出的方法在5個(gè)數(shù)據(jù)集上判定異?;顒?dòng)的準(zhǔn)確率高達(dá)99%以上,在3個(gè)數(shù)據(jù)集上的準(zhǔn)確率在90%以上,在其余的兩個(gè)數(shù)據(jù)集上也在80%以上.因此,在檢測(cè)業(yè)務(wù)過(guò)程中的控制流異常時(shí),若處理假陽(yáng)性的成本較高,則本方法較合適. 圖5 BPAD-LS與Direct-Comparison的Recall指標(biāo)比較 圖6 BPAD-LS與Direct-Comparison的Precision指標(biāo)比較 圖7是兩種方法的F1-score指標(biāo)的比較結(jié)果,從該圖7中可知,本文提出的方法明顯比直接比較方法的F1-score指標(biāo)更好.因此,若檢測(cè)業(yè)務(wù)過(guò)程中的異常時(shí)對(duì)準(zhǔn)確率和召回率都比較看重,則本文提出的方法更合適. 圖7 BPAD-LS與Direct-Comparison的F1-score指標(biāo)比較 出現(xiàn)圖5-圖7中的比較結(jié)果是合理的.直接比較方法是將預(yù)測(cè)概率最高的下一個(gè)活動(dòng)作為正確活動(dòng),只要實(shí)際執(zhí)行的活動(dòng)與該正確活動(dòng)不一致,即認(rèn)為出現(xiàn)了異常,此方法的原則是盡量不放過(guò)任何一個(gè)異常,所以相比之下其召回率較高.但由于業(yè)務(wù)過(guò)程中存在選擇、并行等路由方式,業(yè)務(wù)過(guò)程的執(zhí)行路徑可能比較復(fù)雜,因此可能存在多個(gè)正確的下一個(gè)活動(dòng),通常這若干個(gè)正確的下一個(gè)活動(dòng)的預(yù)測(cè)概率相比于其他不正確的預(yù)測(cè)概率較大,因而直接比較的方法可能會(huì)將實(shí)際執(zhí)行的正確的活動(dòng)也被檢測(cè)為異常,導(dǎo)致其準(zhǔn)確率降低.而本文提出的方法將根據(jù)閾值選擇概率值較大的若干個(gè)正確的下一個(gè)活動(dòng),選擇的這若干個(gè)正確的下一個(gè)活動(dòng)可能包含一些實(shí)際不正確的活動(dòng),導(dǎo)致實(shí)際執(zhí)行的活動(dòng)可能存在異常而被檢測(cè)為正確,因此相比于直接比較的方法其召回率會(huì)降低,但盡最大限度包含了實(shí)際正確的下一個(gè)活動(dòng),因而本方法的準(zhǔn)確率較高,從而最大限度減少假陽(yáng)性. 5.6.3 BPAD-LS方法與對(duì)比方法的比較 本小節(jié)將評(píng)估和比較本文提出的BPAD-LS方法與baseline算法在各個(gè)數(shù)據(jù)集上的檢測(cè)異常的性能. 表2是BPAD-LS方法與各個(gè)對(duì)比算法的準(zhǔn)確率(precision)檢測(cè)指標(biāo)的結(jié)果匯總.從表2中可知,BPAD-LS方法在大多數(shù)數(shù)據(jù)集上的準(zhǔn)確率比對(duì)比算法更好,其中在數(shù)據(jù)集BPIC2020_DomesticDeclarations 等4個(gè)數(shù)據(jù)集上的準(zhǔn)確率達(dá)到99%,在數(shù)據(jù)集BPIC2020_RequestForPayment 等4個(gè)數(shù)據(jù)集上的準(zhǔn)確率達(dá)90%以上,其余兩個(gè)數(shù)據(jù)集上的準(zhǔn)確率也在80%以上,說(shuō)明本文提出的判定異?;顒?dòng)的方法相較于對(duì)比算法能有效減少假陽(yáng)性,即非常適用于識(shí)別正?;顒?dòng). 表2 Precision檢測(cè)指標(biāo)匯總 表3是BPAD-LS方法與各個(gè)對(duì)比算法的召回率(recall)檢測(cè)指標(biāo)的結(jié)果匯總.從表3中可知,樸素方法(Naive)的召回率在大多數(shù)數(shù)據(jù)集上效果最佳,其次是采樣方法(Sampling).樸素算法的召回率之所以高,是因?yàn)闃闼厮惴ǖ奶攸c(diǎn)是盡量不放過(guò)任何一個(gè)異常軌跡.盡管樸素算法的召回率高,但也會(huì)增加假陽(yáng)性,即把非異常的軌跡識(shí)別為異常的軌跡.BINetv1算法在少數(shù)數(shù)據(jù)集上的召回率較高,DAE算法和Sampling算法在所有數(shù)據(jù)集上的召回率指標(biāo)較高,說(shuō)明這些方法適用的場(chǎng)景是注重異常軌跡的識(shí)別,且對(duì)假陽(yáng)性的處理成本較低. 表3 Recall檢測(cè)指標(biāo)匯總 表4是BPAD-LS方法與各個(gè)對(duì)比算法的F1-score檢測(cè)指標(biāo)的結(jié)果匯總.從表4中可知,盡管BPAD-LS方法的召回率檢測(cè)指標(biāo)相比于baseline算法較低,但是BPAD-LS方法的F1-score檢測(cè)指標(biāo)在大多數(shù)數(shù)據(jù)集上的檢測(cè)結(jié)果都比對(duì)比算法要好.BPAD-LS方法在BPIC2012_W數(shù)據(jù)集上的召回率指標(biāo)較低,導(dǎo)致F1-score檢測(cè)指標(biāo)較低,推測(cè)的原因是BPIC2012_W數(shù)據(jù)集上的活動(dòng)總數(shù)較少,軌跡的平均長(zhǎng)度超過(guò)活動(dòng)數(shù),導(dǎo)致軌跡中有較多重復(fù)的活動(dòng),因而增加了預(yù)測(cè)下一個(gè)活動(dòng)的難度,進(jìn)而增加檢測(cè)難度.BPAD-LS方法在Sepsis Cases數(shù)據(jù)集上的F1-score檢測(cè)指標(biāo)相比于其他數(shù)據(jù)集較低,推測(cè)的原因是該數(shù)據(jù)集較小,其過(guò)程實(shí)例數(shù)量較少,導(dǎo)致模型的訓(xùn)練數(shù)據(jù)不夠,降低了預(yù)測(cè)下一個(gè)活動(dòng)的準(zhǔn)確率,進(jìn)而導(dǎo)致檢測(cè)指標(biāo)較低. 表4 F1-score檢測(cè)指標(biāo)匯總 總體而言,5種對(duì)比算法的準(zhǔn)確率較低,但召回率較高.在文獻(xiàn)[20]中將5種對(duì)比算法用于檢測(cè)人工合成的事件日志和真實(shí)的事件日志中的控制流異常,實(shí)驗(yàn)結(jié)果表明這5種對(duì)比算法整體上在人工合成的事件日志上的異常檢測(cè)結(jié)果較好,而在真實(shí)事件日志上的檢測(cè)性能較低,且在這兩種事件日志上的準(zhǔn)確率指標(biāo)較低,而召回率指標(biāo)較高.結(jié)合文獻(xiàn)[20]中的實(shí)驗(yàn)結(jié)果和本文的實(shí)驗(yàn)結(jié)果,都表明5種對(duì)比算法在檢測(cè)異常時(shí),其準(zhǔn)確率較低,而召回率較高,因而這5種對(duì)比算法適用于處理假陽(yáng)性的成本比處理假陰性的成本更高的場(chǎng)景.而B(niǎo)PAD-LS方法的召回率指標(biāo)相比于5種對(duì)比算法稍低,但是準(zhǔn)確率較高,因而適用于處理假陰性的成本比處理假陽(yáng)性的成本較高或處理兩者的成本相近的場(chǎng)景. 綜合多個(gè)實(shí)驗(yàn)結(jié)果及評(píng)價(jià)指標(biāo),本文提出的BPAD-LS方法對(duì)于檢測(cè)長(zhǎng)軌跡的業(yè)務(wù)過(guò)程中的控制流異常具有優(yōu)勢(shì),且提出的計(jì)算異常分?jǐn)?shù)的方法能顯著減少假陽(yáng)性.與五種對(duì)比算法相比,BPAD-LS方法的F1-score檢測(cè)指標(biāo)在絕大多數(shù)數(shù)據(jù)集上都更高,且在多個(gè)數(shù)據(jù)集上的F1-score檢測(cè)指標(biāo)都在90%以上,因此BPAD-LS方法能有效地檢測(cè)業(yè)務(wù)過(guò)程中的控制流異常. 業(yè)務(wù)過(guò)程管理系統(tǒng)在企業(yè)組織中起著越來(lái)越重要的作用,但業(yè)務(wù)過(guò)程在執(zhí)行過(guò)程中由于內(nèi)外環(huán)境的變化以及業(yè)務(wù)過(guò)程中各種因素存在復(fù)雜的依賴關(guān)系而可能發(fā)生各種異常,如控制流異常,這些異常給企業(yè)組織帶來(lái)巨大的損失.為了檢測(cè)控制流異常,本文提出使用基于自注意力機(jī)制和LSTM相結(jié)合的神經(jīng)網(wǎng)絡(luò)模型通過(guò)預(yù)測(cè)前綴活動(dòng)序列的下一個(gè)活動(dòng)并將其與實(shí)際發(fā)生的活動(dòng)進(jìn)行比對(duì),以檢測(cè)控制流異常.LSTM通常用于處理序列數(shù)據(jù)和序列建模,如序列的預(yù)測(cè)問(wèn)題,但本文的預(yù)測(cè)模型中使用目前廣泛應(yīng)用于機(jī)器翻譯的自注意力機(jī)制建?;顒?dòng)之間的依賴關(guān)系,而模型中的LSTM層僅用于編碼活動(dòng)序列中活動(dòng)的位置信息,而不用于建模活動(dòng)之間的依賴關(guān)系.在業(yè)務(wù)過(guò)程的異常檢測(cè)中,有時(shí)對(duì)假陽(yáng)性的處理需要付出較大的代價(jià),在本文的BPAD-LS方法中也重點(diǎn)考慮了此問(wèn)題.為了減少假陽(yáng)性,本文提出了一種通過(guò)計(jì)算預(yù)測(cè)的活動(dòng)的異常分?jǐn)?shù)并基于閾值的方法,以確定可能的下一個(gè)活動(dòng)的集合,而不是簡(jiǎn)單地將預(yù)測(cè)概率值最高的活動(dòng)作為正確活動(dòng)與實(shí)際執(zhí)行的活動(dòng)進(jìn)行比較.實(shí)驗(yàn)結(jié)果表明,所提出的方法能有效檢測(cè)業(yè)務(wù)過(guò)程中的控制流異常,且能有效減少假陽(yáng)性.通過(guò)在多個(gè)數(shù)據(jù)集上的檢測(cè)結(jié)果表明,本文的方法適用于對(duì)準(zhǔn)確率和召回率都重要的場(chǎng)景. 本文實(shí)驗(yàn)中判定異?;顒?dòng)的閾值是在給定區(qū)間內(nèi)和設(shè)置增量(本實(shí)驗(yàn)中區(qū)間設(shè)置為[0,1],增量為0.01),并通過(guò)窮舉法來(lái)選取最佳閾值,這在一定程度上增加了計(jì)算的時(shí)間,未來(lái)將考慮尋找最佳閾值的規(guī)律來(lái)縮小窮舉的區(qū)間,以減少尋找最佳閾值的時(shí)間.此外,增量的設(shè)置也影響尋找最佳閾值的時(shí)間和檢測(cè)的準(zhǔn)確性,若增量設(shè)置過(guò)大,雖然可以減少計(jì)算時(shí)間,但有可能會(huì)錯(cuò)過(guò)最佳閾值,從而降低檢測(cè)的準(zhǔn)確性,若增量設(shè)置過(guò)小,雖然可能會(huì)增加檢測(cè)的準(zhǔn)確性,但會(huì)增加計(jì)算的時(shí)間.如何在短時(shí)間內(nèi)找到最佳閾值,也是下一步工作中值得研究的問(wèn)題. 業(yè)務(wù)過(guò)程中的控制流、數(shù)據(jù)流、時(shí)間和資源等視角存在復(fù)雜的依賴關(guān)系,業(yè)務(wù)過(guò)程在執(zhí)行過(guò)程中產(chǎn)生異常的原因可能由多個(gè)視角共同引起,或者一個(gè)視角出現(xiàn)的異常是由另一個(gè)視角引起的,因此與從單個(gè)視角出發(fā)檢測(cè)業(yè)務(wù)過(guò)程中的異常相比,從多個(gè)視角出發(fā)檢測(cè)異常將更有意義.本文只關(guān)注控制流異常,未來(lái)的研究將考慮引入時(shí)間、資源等屬性,以更全面和精確地檢測(cè)業(yè)務(wù)過(guò)程中的異常.4 預(yù)測(cè)模型與檢測(cè)方法
4.1 BPAD-LS方法總體框架
4.2 預(yù)測(cè)模型
4.3 計(jì)算異常分?jǐn)?shù)
4.4 異?;顒?dòng)的判定
5 實(shí)驗(yàn)結(jié)果與分析
5.1 實(shí)驗(yàn)數(shù)據(jù)
5.2 數(shù)據(jù)預(yù)處理
5.3 評(píng)估指標(biāo)
5.4 閾值的確定
5.5 baseline算法
5.6 實(shí)驗(yàn)結(jié)果及分析
6 總結(jié)與展望