李修賢,王桂玲,石永鵬
(1.北方工業(yè)大學 信息學院,北京 100144;2.北方工業(yè)大學 大規(guī)模流數據集成與分析技術北京市重點實驗室,北京 100144)
業(yè)務流程管理(Business Process Management,BPM)是以規(guī)范化的業(yè)務流程為中心,針對流程管理的信息化系統(tǒng)。業(yè)務流程是為了實現一定的經營或管理目的的一系列邏輯相關活動的集合,其中包含需要人工或機器完成的活動。近年來,物聯(lián)網(Internet of Things,IoT)大數據技術的發(fā)展出現了主動式BPM的概念[1-2]。全感知、可靠傳輸、智能處理是物聯(lián)網的三大核心特點,其中感知是物聯(lián)網的核心,通過各種外部設備實現物品有“知覺”,再通過可靠的信息傳輸與平臺的智能處理實現萬物互聯(lián)及控制,當BPM系統(tǒng)與物聯(lián)網相結合時,BPM系統(tǒng)也會從物聯(lián)網中獲益。因此,主動式BPM也會具有物聯(lián)網的一些特性。主動式BPM能夠感知、捕捉業(yè)務流程運行過程中的流程或用戶的(包括物理世界在內的)情境信息,并通過一定的規(guī)則對后續(xù)業(yè)務流程中將要調用的服務進行重組或對其流程結構進行演化。
實現主動式BPM的一個關鍵是IoT服務[3]。IoT服務作為包括傳感器在內的各種物理設備的數字孿生對象,以統(tǒng)一的方式將多源異構、流式的IoT數據的處理邏輯進行封裝,生成具有業(yè)務含義的、供上層應用使用的業(yè)務事件。主動式BPM可以將IoT服務綁定到其業(yè)務活動上,通過IoT服務的訂閱式調用捕獲其感興趣的業(yè)務事件,并將其集成在業(yè)務流程中。
同時,從主動式BPM的概念可知,其與傳統(tǒng)“情境感知”的研究有緊密的關系。情境感知[4]又稱為上下文感知,簡單來說就是通過傳感器及其相關的技術使計算機設備或軟件能夠“感知”到當前的情境,而這種“感知”的目的往往是對用戶的行為進行更細致的“猜測”,應用軟件可以基于這種“猜測”,為用戶提供一些相關的服務或者信息。隨著情境概念及情境感知技術進入業(yè)務流程領域,眾多研究基于所處背景定義情境感知的業(yè)務流程,以致情境感知的業(yè)務流程定義存在多樣性和不一致性[5-6],然而,之所以將情境感知技術融入業(yè)務流程領域,主要是為了能夠達到優(yōu)化業(yè)務流程的目的,優(yōu)化目的可以分為三類:(1)為實現流程的個性化服務[7-8]。(2)為獲取業(yè)務流程的靈活性[9-10]。(3)為應對知識密集型業(yè)務流程[11-12]。該文聚焦第一類和第二類優(yōu)化目的,將情境感知技術引入到BPM的IoT服務綁定方法中,使得BPM能夠基于情境動態(tài)綁定IoT服務。之所以這樣做是因為目前靜態(tài)的IoT服務綁定僅能捕獲固定情境下的業(yè)務事件,無法靈活應對多樣的情境變化。最后,動態(tài)綁定的IoT服務同時也豐富了輸入BPM系統(tǒng)的業(yè)務事件種類,一定程度上達到了提高業(yè)務流程靈活性的目的。
近年來,基于情境感知的服務動態(tài)綁定技術被大量應用在BPM中,其主要的實現方式有兩種,規(guī)則推理[13]和學習預測[14-15]。規(guī)則推理主要分為預先定義規(guī)則和通過歷史數據學習規(guī)則。通過采集當前情境信息利用預先定義的或者通過歷史數據學習到的映射規(guī)則推理出當前業(yè)務流程應該綁定的服務。周航等人[13]提出一種面向主動服務的情境感知引擎,該引擎支持了更豐富的模型描述語言,作者定義屬性、情境、場景等用于情境感知的概念,并通過這些概念構建模型的描述語言,并引入數據快照的概念,預先通過模型描述語言定義判斷規(guī)則,有針對性地提供服務。學習預測主要是通過機器學習或者深度學習算法對歷史數據進行學習,并根據當前情境預測出未來業(yè)務流程可能需要綁定的服務。當前,深度學習在情境感知的服務推薦系統(tǒng)中的應用主要集中在如何采用深度學習方法對情境信息進行有效建模。Liu等人[14-15]通過改進傳統(tǒng)的循環(huán)神經網絡結構融入了情境信息到序列推薦中。文獻[14]提出了一種空時循環(huán)神經網絡模型,針對不同粒度的時間間隔和距離長度,通過在循環(huán)神經網絡模型中定義不同的時間轉換矩陣和位置轉換矩陣,有效地抓住了連續(xù)的時間和空間情境信息對用戶行為的影響,提升了位置推薦的質量。文獻[15]將情境信息分為輸入情境(如位置、天氣等)和轉換情境(時間間隔長度),通過在循環(huán)神經網絡中采用可適應的、情境具體的輸入矩陣和轉換矩陣對兩種情境信息進行建模,幫助提升了序列推薦的質量。
目前兩種實現方式存在的弊端是:(1)基于規(guī)則的方式一定程度上舍棄了情境和服務在時序上的關聯(lián)關系。同時對服務綁定僅著眼于當下,忽略了未來的可綁定服務對于當下的影響。(2)目前基于學習預測的方式僅僅能夠預測下一時刻的可綁定服務,并不能夠預測未來一段時間內可綁定服務列表,然而預測未來一段時間的可綁定服務列表是有必要的,它可以帶給用戶更長一段時間內的可綁定服務信息,能夠帶給用戶更多的選擇,能夠幫助用戶做出未來一段時間內更優(yōu)的決策,也能夠提前告知用戶未來可能遇到的麻煩,為用戶或者計算機留出了處理麻煩的時間。基于上述兩個問題,該文提出一種面向主動式BPM基于(Sequence to Sequence)Seq2Seq模型[16-18]的情境感知的IoT服務動態(tài)綁定方法。該方法能夠很好地捕捉情境和服務在時序上的關聯(lián)關系,并能夠很好地預測未來某一段時間內的可綁定服務列表。
該文的主要工作與貢獻體現在以下幾個方面:
(1)提出一種帶有時間特征的情境信息定義,提出情境信息與服務信息相結合的服務需求的概念,并將服務需求作為算法模型以及原型系統(tǒng)的輸入,得到未來可綁定服務序列。
(2)提出一種基于Bi-GRU+Seq2Seq+Attention模型的IoT服務列表預測模型,將提出的服務需求作為模型輸入,輸出未來一段時間的可綁定IoT服務列表。
(3)以BPM系統(tǒng)現有元素為基礎,將用戶任務與邊界非中斷事件兩個元素相結合實現了IoT服務動態(tài)綁定活動(Dynamic IoT Service Task),基于該活動,將情境感知技術、IoT服務列表預測模型與IoT服務動態(tài)綁定技術應用于BPM系統(tǒng)。實現了面向主動式BPM的基于情境感知的IoT服務動態(tài)綁定系統(tǒng),分析LNG運輸船案例,并將方法與原型系統(tǒng)應用于該案例。通過仿真實驗驗證該方法在案例中具有優(yōu)越的表現。
情境被定義為位置、物體周圍的標識以及這些物體的變化。該文實現一種基于情境感知的IoT服務動態(tài)綁定模式。在此模式中,由系統(tǒng)根據采集的IoT實體的數據信息,分析當前情境以預測到用戶可能的服務需求,然后提供一種基于情境的IoT服務動態(tài)切換模式,為描述這種模式的實現機理,定義如下相關概念:
定義1(環(huán)境數據ed):環(huán)境數據是物理世界的真實描述,是物聯(lián)網系統(tǒng)的各個傳感器或者數據源采集到的真實數據,例如溫度值等。形式化表達ed=
定義2(情境信息cxt):一種情境信息是由一種環(huán)境數據以及環(huán)境數據隨時間的變化過程共同刻畫的,即cxt=
定義3(服務環(huán)境envs):服務環(huán)境是由一種或多種情境信息共同刻畫,描述當前用戶所處的環(huán)境,envs=
定義4(服務需求sr):服務需求通過一個二元組表示sr=
情境感知定義示意圖如圖1所示。
圖1 情境感知定義示意圖
根據上述的定義,IoT服務動態(tài)綁定模式的實現機理可以概括為:系統(tǒng)持續(xù)性地采集環(huán)境數據,并將環(huán)境數據記錄為隨時間的變化的情境信息,將系統(tǒng)采集的情境信息匯總為服務環(huán)境,通過當前服務環(huán)境推測未來的一段時間內用戶的服務需求。其中的核心問題是如何通過服務環(huán)境預測未來一段時間內的可綁定IoT服務列表。因此,提出了基于情境感知的IoT服務動態(tài)綁定方法。
通過上文的描述可知面向主動式BPM的基于情境感知的IoT服務動態(tài)綁定方法本質上就是在可綁定IoT服務的BPM系統(tǒng)上加入情境感知技術,在流程運行到IoT服務綁定模塊后,通過數據源實時采集環(huán)境數據,映射為情境信息,實現主動的服務提供即基于情境自動切換的IoT服務,基本過程如圖2所示。
圖2 基于情境感知的IoT服務動態(tài)綁定方法基本過程
圖2中,該方法通過情境感知技術采集物理世界的信息,根據上文定義,生成帶有時序特征的情境信息,并將情境信息與已綁定IoT服務序列傳入預測模型,以得到未來一段時間內的可綁定IoT服務,并通過服務庫調用相應服務綁定到業(yè)務流程中的原有模塊中。過程中的預測模型結構為Seq2Seq結構,具體的模型原理如下。
Seq2Seq模型,即序列到序列模型,是一種能夠根據給定的序列,通過特定的生成方法生成另一個序列的方法,同時這兩個序列可以不等長。這樣的模型符合基本需求。在Seq2Seq模型的Encoder和Decoder的選取上,選擇Bi-GRU模型作為編碼器,GRU[19]模型作為解碼器,之所以采用Bi-GRU模型作為編碼層是因為需要盡可能地捕捉輸入序列在時序上的關聯(lián)關系,以便于更好的進行預測。結合上文情境信息的定義,此模型的整體過程與輸入輸出見圖3。該文將情境信息與IoT服務序列作為模型的輸入,即服務需求sr,將sr作為編碼器的輸入,將最后時刻(或全部時刻)的輸出映射為表征輸入序列信息的特征向量C傳遞給解碼器,解碼器生成未來一段時間的可綁定IoT服務列表。
圖3 模型輸入輸出
在Seq2Seq模型整體上加入注意力機制,注意力機制本質是在解碼階段通過對源序列中的每個元素分配不同的權重(注意力),使得解碼器能夠更有效地利用源序列的重要信息,以獲得更好的解碼效果。在編碼過程中,輸入的序列的不同特征對未來時刻預測值的貢獻度并不均等,因此引入注意力機制分配注意力概率分布,提取對預測更為重要的輸入信息,提高預測的準確度和長期預測性能的穩(wěn)定性。在問題中注意力機制主要應用于對不同的環(huán)境特征數據的重要性程度分析。
模型中語義編碼C的計算公式為:
C=f(Wht)
(1)
式中,f為激活函數,該文選取tanh函數;W為權重矩陣;ht為最后時刻t的編碼器輸出。在解碼器內部,每一時刻的隱藏層狀態(tài)都傳入下一時刻。在每一時刻,解碼器接收3組輸入,即特征向量C、上一時刻解碼GRU輸出yt-1、上一時刻解碼隱層狀態(tài)ht-1,如式(2)所示:
ht=fSeq2Seq(G[ht-1,yt-1,c]+bh)
(2)
ot=gSeq2Seq(Vht+p)
(3)
式中,G和V為連接權重矩陣;bh和p為偏置向量;fSeq2Seq和gSeq2Seq為激活函數。
在訓練和預測的過程中,為了能夠讓特征數據進入模型更平滑,減少特征位置對于分類結果的影響,需要提高網絡的魯棒性。該文在編碼器GRU層之后加入一個全連接層,在解碼器的GRU層同理,同時在解碼器的GRU層輸出后,增加后置的全連接層,以及在全連接層后連接softmax層。
在服務動態(tài)綁定模型中僅實現預測模型是遠遠不夠的,實現完整的服務動態(tài)綁定機制仍然需要一套完整的系統(tǒng)支撐。
面向主動式BPM的基于情境感知的IoT服務動態(tài)綁定原型系統(tǒng),分為預測與綁定兩部分。預測部分是通過上述預測模型來實現。綁定部分則是根據預測的結果,動態(tài)地啟動和停止IoT服務。由于IoT服務持續(xù)輸出業(yè)務事件的特殊性,相較于普通的web服務,IoT服務需要啟動和停止兩個操作。另外,實現IoT服務動態(tài)綁定機制的原型系統(tǒng)應當具有處理并行服務的能力。該文以BPM系統(tǒng)現有元素為基礎[20],將用戶任務與邊界非中斷事件兩個元素組合提出IoT服務動態(tài)綁定活動,并以單獨模塊的形式存在,建模人員可拖拽并應用于業(yè)務流程中。IoT服務動態(tài)綁定活動的具體實現結構見圖4。圖中整體架構存在于用戶任務中,以用戶任務為載體,并通過系統(tǒng)的BPM接口將業(yè)務事件綁定在邊界非中斷事件上,以實現后續(xù)流程對業(yè)務事件的處理。
在整體的設計中,通過活動情境感知子系統(tǒng)以及服務協(xié)調線程共同決定何時啟動什么樣的IoT服務,以及何時結束哪一個IoT服務。業(yè)務事件整理線程周期性地讀取共享數據區(qū)中的事件,輸出到業(yè)務流程引擎中使得業(yè)務流程可以基于業(yè)務事件進行動態(tài)演化。具體地,系統(tǒng)中包含以下5個模塊:
IoT服務線程組:當需要同時運行多個IoT服務時,需要通過線程組的方式實現多個IoT服務并行運行,并實時向共享數據區(qū)存儲業(yè)務事件。
服務協(xié)調:服務協(xié)調是起到一個中間件的作用,讀取情境感知子系統(tǒng)輸出的IoT服務列表,并讀取共享數據區(qū)中存儲的現存IoT服務,協(xié)調當前時刻應該啟動和停止的IoT服務。
業(yè)務整理:周期性地讀取共享數據區(qū)中業(yè)務事件存儲部分并將新增的或者變化的業(yè)務事件通過接口傳送給BPM系統(tǒng)。
共享數據區(qū):共享數據區(qū)用于存儲整個系統(tǒng)的共享數據,具體分為兩部分:一是業(yè)務事件數據部分,另一個是存儲當前系統(tǒng)中IoT服務列表狀態(tài)信息。具體的結構見圖5。
圖5 共享數據區(qū)結構
情境感知子系統(tǒng):該系統(tǒng)主要功能是實現情境感知技術及服務預測。通過數據層與傳輸層的協(xié)作讀取物理世界的各種數據源的數據并傳入系統(tǒng),決策層將采集的數據進行預處理并傳入預測模型,結合服務庫中的現存并可用的服務進行篩選。
情境感知系統(tǒng)層次如圖6所示。
圖6 情境感知系統(tǒng)層次
通過一個具體的LNG罐箱貨船海運監(jiān)控的業(yè)務流程來說明需要動態(tài)綁定IoT服務的原因及好處,以及IoT服務預測模型的效果,圖7為當前案例的核心片段。
圖7 基于IoT服務的LNG罐箱貨船海運監(jiān)控原始業(yè)務流程
其中高風險運輸預警監(jiān)控服務就是一個IoT服務,案例中的該服務輸出的就是一般航行情境下的預警事件。然而,在該案例中LNG船在運輸過程中會遇到不同的情境,例如:一般航行運輸、危險區(qū)域高風險運輸、惡劣天氣高風險運輸、惡劣天氣危險區(qū)域高風險運輸。并且在運輸過程中LNG船所處情境并不是一成不變的,當LNG船途徑漁區(qū)時,LNG船所處的情境就會從一般航行轉移為危險區(qū)域高風險運輸,而一般航行情境下的IoT服務并不足以應對此情景。傳統(tǒng)的解決方式是在建模時增加判斷分支,然而案例中LNG船所處的情境通常由船只當前進行的活動或者天氣等外界因素決定,所以LNG船運輸過程中所處的情境具有一定隨機性,因此單純地通過建模時增加條件判斷分支的方法并不能解決隨機情境下的IoT服務綁定問題。
通過Anylogic仿真工具模擬原始業(yè)務流程,運輸船在出港后綁定的IoT服務就不會再變動,然而經過危險區(qū)域時高風險運輸監(jiān)控服務所提供的監(jiān)控能力不足以應對當前情境。
針對上述問題,提出了面向業(yè)務流程的基于情境變化的IoT服務動態(tài)綁定方法,如圖8所示。動態(tài)監(jiān)控活動會根據當前LNG船所處情境的改變動態(tài)地停止和啟動IoT服務。案例中預測模型的輸入為LNG船在運輸過程中采集環(huán)境數據及隨時間變化的IoT服務列表序列,輸出為未來一段時間的需要綁定的IoT服務列表。通過Anylogic仿真工具模擬此業(yè)務流程。采用真實的氣象數據以及相對應的服務列表數據。運輸船在進入危險區(qū)域前,已經預測到需要綁定危險區(qū)域高風險運輸服務,并且提前給予提示并切換,如圖9(b)。最后,在相同案例背景下復現文獻[5]的方法,并應用于仿真工具與文中方法進行對比。從圖9(c)(d)中可以看出,文獻[5]中的方法,雖然實現了基于情境的服務動態(tài)綁定,然而存在的缺陷是只有當運輸船正經歷某種情境時,例如進入危險區(qū)域,才會執(zhí)行服務的動態(tài)切換與綁定,這樣的方式一是可能會導致監(jiān)控不及時延誤預警時間,二是未給予用戶思考的時間,缺乏交互性,導致出現服務的強制綁定,使得用戶體驗感不佳。從圖9(e)(f)中可以看出,文中方法在運輸船進入危險區(qū)域前就已經進行了準確的預測,并給予提示。
圖8 改進后的業(yè)務流程
圖9 Anylogic仿真工具模擬效果
4.2.1 實驗數據及預處理
以真實的LNG船運輸航線,航線數據來自于中國渤海區(qū)域構建的海洋航道網絡數據,以及國家海洋科學數據中心海洋水文分類中國臺站觀測數據渤海區(qū)域2018年6月到2018年12月的真實氣象數據在Anylogic仿真工具中得到的565例航行數據進行模型的訓練和評估,氣象數據中分別選取風速、能見度、浪高特征同時還有軌跡數據提取的位置特征。數據中包含的IoT服務有高風險運輸監(jiān)控服service1,危險區(qū)域高風險運輸監(jiān)控服務service2,惡劣天氣高風險運輸監(jiān)控服務service3,危險區(qū)域惡劣天氣高風險運輸監(jiān)控服務service4以及天氣服務service5和位置服務service6,案例輸入數據樣例見表1。
全部訓練樣本共565例,而Seq2Seq模型編碼器步長為50,解碼器步長為10,由于Seq2Seq模型需要大量訓練模型優(yōu)化網絡模型,該文采用一種基于滑動窗口構造樣本的方法,在長度為Tx的時間序列上,以L(L=Lx+Ly,Lx為編碼器步長,Ly為解碼器步長)作為窗口長度,以1作為滑動步長,共構建Tx-L+1組數據樣本,極大豐富了樣本容量,且保證了數據集在時間刻度上的連續(xù)性,可以充分利用數據集的信息,更好地刻畫時間序列的時間依賴關系,提高模型的魯棒性。利用上述方法將時間序列X={x1,x2,…,xTx}轉換為(Tx-L+1)×L維的矩陣,如式(4):
(4)
通過滑動窗口構造樣本,共得到10萬條實驗數據,按照6∶2∶2的比例將實驗數據劃分為訓練集、測試集和驗證集。
模型優(yōu)化器使用基于一階梯度的隨機目標函數優(yōu)化算法Adam,用于在訓練過程中更新參數。其中學習率設置為0.001;decay設置為0.0,表示每次參數更新后學習率的衰減值。此外,為了防止過擬合,訓練過程中使用dropout機制,其值設為0.1。由于實驗的訓練數據集較大,因此實驗使用的batch-size為16。
4.2.2 實驗評估
在評估模型性能方面,選擇查準率、查全率、F1分數作為評判指標。查準率的含義為在預測為真的樣本中,實際也為真的比例,公式為:
(5)
查全率又稱召回率,含義為在實際為真的樣本中,預測為真的比例。公式為:
(6)
F1分數可以看作是模型精確率和召回率的一種調和平均,它同時兼顧了分類模型的精確率和召回率。公式為:
(7)
式中,TP的含義為正確的標記為正,預測為真,實際為真。FP的含義為錯誤的標記為正,預測為假,實際為假。FN的含義為錯誤的標記為負,預測為假,實際為真。
文中模型與以下模型進行對比A:Bi- GRU+Seq2Seq[17],B:Bi-LSTM+Seq2Seq+注意力機制[18,21],C:Bi-GRU[17],D:Bi-LSTM[22],在對比實驗C、D中,由于簡單的GRU,LSTM模型多用于單步結果預測,為了達到實驗要求,采用通過更改網絡結構,在原有輸出層后連接神經元個數等于預測時間長度的全連接層,這也是常用的簡單RNN模型進行多步預測的方法。貼合文中案例的真實場景。
通過模型一次性地預測未來10個時間步的可綁定IoT服務,實驗數據中每個時間步的時間間隔為1分鐘。通常來說,模型的損失越低,模型效果越好(排除過擬合現象),通過輸出模型預測結果內部每一步的損失值,綜合地評定該模型的預測效果。
文中模型與A、B、C、D對比方法在測試集上的loss,在步長范圍[1,10]的結果見表2。文中模型與A、B、C、D對比方法的查準率、查全率、F1分數,在步長范圍為[1,10]的結果見表3。
表2 模型1-10步長預測損失
表3 模型1-10步長查準率、查全率及F1分數
在預測步長范圍內,Seq2Seq結構類型的模型,總體上比更改網絡結構后的簡單RNN類型的模型損失率更優(yōu),在三個Seq2Seq 結構的模型中,隨著預測步長的增加loss 總體呈上升趨勢但幅度并不大。總體上,文中方法Bi-GRU+Seq2Seq+Attention的模型結構的損失率優(yōu)于另兩個模型。在查準率、查全率、F1分數三個評判標準中,Seq2Seq 結構模型總體上優(yōu)于簡單RNN類的模型,雖然隨著時間步的增加三種指標均有下降,但都仍然處于較高水平,總體上,文中方法的下降幅度相較其他方法更小,體現出該方法在多步預測上的穩(wěn)定性優(yōu)于其他對比方法。
分析IoT服務與BPM系統(tǒng)結合過程中存在的問題,即缺乏對情景變化的適應性和服務切換的靈活性。針對上述問題,定義具有時序特性的情境信息,將情境與IoT服務相聯(lián)系。提出一種面向主動式BPM的基于情境感知的IoT服務動態(tài)綁定方法,將基于Bi-GRU的Seq2Seq模型用IoT服務列表的預測,并通過對比實驗驗證該模型的準確性。提出并實現IoT服務動態(tài)綁定活動,以該活動為容器,實現原型系統(tǒng),使得業(yè)務流程在應用IoT服務時能夠基于情境靈活切換IoT服務。并在具體的LNG貨船運輸流程實例中進行仿真模擬證明了該方法的可行性和有效性。