李修贤,王桂玲,石永鹏
(1.北方工业大学 信息学院,北京 100144;2.北方工业大学 大规模流数据集成与分析技术北京市重点实验室,北京 100144)
业务流程管理(Business Process Management,BPM)是以规范化的业务流程为中心,针对流程管理的信息化系统。业务流程是为了实现一定的经营或管理目的的一系列逻辑相关活动的集合,其中包含需要人工或机器完成的活动。近年来,物联网(Internet of Things,IoT)大数据技术的发展出现了主动式BPM的概念[1-2]。全感知、可靠传输、智能处理是物联网的三大核心特点,其中感知是物联网的核心,通过各种外部设备实现物品有“知觉”,再通过可靠的信息传输与平台的智能处理实现万物互联及控制,当BPM系统与物联网相结合时,BPM系统也会从物联网中获益。因此,主动式BPM也会具有物联网的一些特性。主动式BPM能够感知、捕捉业务流程运行过程中的流程或用户的(包括物理世界在内的)情境信息,并通过一定的规则对后续业务流程中将要调用的服务进行重组或对其流程结构进行演化。
实现主动式BPM的一个关键是IoT服务[3]。IoT服务作为包括传感器在内的各种物理设备的数字孪生对象,以统一的方式将多源异构、流式的IoT数据的处理逻辑进行封装,生成具有业务含义的、供上层应用使用的业务事件。主动式BPM可以将IoT服务绑定到其业务活动上,通过IoT服务的订阅式调用捕获其感兴趣的业务事件,并将其集成在业务流程中。
同时,从主动式BPM的概念可知,其与传统“情境感知”的研究有紧密的关系。情境感知[4]又称为上下文感知,简单来说就是通过传感器及其相关的技术使计算机设备或软件能够“感知”到当前的情境,而这种“感知”的目的往往是对用户的行为进行更细致的“猜测”,应用软件可以基于这种“猜测”,为用户提供一些相关的服务或者信息。随着情境概念及情境感知技术进入业务流程领域,众多研究基于所处背景定义情境感知的业务流程,以致情境感知的业务流程定义存在多样性和不一致性[5-6],然而,之所以将情境感知技术融入业务流程领域,主要是为了能够达到优化业务流程的目的,优化目的可以分为三类:(1)为实现流程的个性化服务[7-8]。(2)为获取业务流程的灵活性[9-10]。(3)为应对知识密集型业务流程[11-12]。该文聚焦第一类和第二类优化目的,将情境感知技术引入到BPM的IoT服务绑定方法中,使得BPM能够基于情境动态绑定IoT服务。之所以这样做是因为目前静态的IoT服务绑定仅能捕获固定情境下的业务事件,无法灵活应对多样的情境变化。最后,动态绑定的IoT服务同时也丰富了输入BPM系统的业务事件种类,一定程度上达到了提高业务流程灵活性的目的。
近年来,基于情境感知的服务动态绑定技术被大量应用在BPM中,其主要的实现方式有两种,规则推理[13]和学习预测[14-15]。规则推理主要分为预先定义规则和通过历史数据学习规则。通过采集当前情境信息利用预先定义的或者通过历史数据学习到的映射规则推理出当前业务流程应该绑定的服务。周航等人[13]提出一种面向主动服务的情境感知引擎,该引擎支持了更丰富的模型描述语言,作者定义属性、情境、场景等用于情境感知的概念,并通过这些概念构建模型的描述语言,并引入数据快照的概念,预先通过模型描述语言定义判断规则,有针对性地提供服务。学习预测主要是通过机器学习或者深度学习算法对历史数据进行学习,并根据当前情境预测出未来业务流程可能需要绑定的服务。当前,深度学习在情境感知的服务推荐系统中的应用主要集中在如何采用深度学习方法对情境信息进行有效建模。Liu等人[14-15]通过改进传统的循环神经网络结构融入了情境信息到序列推荐中。文献[14]提出了一种空时循环神经网络模型,针对不同粒度的时间间隔和距离长度,通过在循环神经网络模型中定义不同的时间转换矩阵和位置转换矩阵,有效地抓住了连续的时间和空间情境信息对用户行为的影响,提升了位置推荐的质量。文献[15]将情境信息分为输入情境(如位置、天气等)和转换情境(时间间隔长度),通过在循环神经网络中采用可适应的、情境具体的输入矩阵和转换矩阵对两种情境信息进行建模,帮助提升了序列推荐的质量。
目前两种实现方式存在的弊端是:(1)基于规则的方式一定程度上舍弃了情境和服务在时序上的关联关系。同时对服务绑定仅着眼于当下,忽略了未来的可绑定服务对于当下的影响。(2)目前基于学习预测的方式仅仅能够预测下一时刻的可绑定服务,并不能够预测未来一段时间内可绑定服务列表,然而预测未来一段时间的可绑定服务列表是有必要的,它可以带给用户更长一段时间内的可绑定服务信息,能够带给用户更多的选择,能够帮助用户做出未来一段时间内更优的决策,也能够提前告知用户未来可能遇到的麻烦,为用户或者计算机留出了处理麻烦的时间。基于上述两个问题,该文提出一种面向主动式BPM基于(Sequence to Sequence)Seq2Seq模型[16-18]的情境感知的IoT服务动态绑定方法。该方法能够很好地捕捉情境和服务在时序上的关联关系,并能够很好地预测未来某一段时间内的可绑定服务列表。
该文的主要工作与贡献体现在以下几个方面:
(1)提出一种带有时间特征的情境信息定义,提出情境信息与服务信息相结合的服务需求的概念,并将服务需求作为算法模型以及原型系统的输入,得到未来可绑定服务序列。
(2)提出一种基于Bi-GRU+Seq2Seq+Attention模型的IoT服务列表预测模型,将提出的服务需求作为模型输入,输出未来一段时间的可绑定IoT服务列表。
(3)以BPM系统现有元素为基础,将用户任务与边界非中断事件两个元素相结合实现了IoT服务动态绑定活动(Dynamic IoT Service Task),基于该活动,将情境感知技术、IoT服务列表预测模型与IoT服务动态绑定技术应用于BPM系统。实现了面向主动式BPM的基于情境感知的IoT服务动态绑定系统,分析LNG运输船案例,并将方法与原型系统应用于该案例。通过仿真实验验证该方法在案例中具有优越的表现。
情境被定义为位置、物体周围的标识以及这些物体的变化。该文实现一种基于情境感知的IoT服务动态绑定模式。在此模式中,由系统根据采集的IoT实体的数据信息,分析当前情境以预测到用户可能的服务需求,然后提供一种基于情境的IoT服务动态切换模式,为描述这种模式的实现机理,定义如下相关概念:
定义1(环境数据ed):环境数据是物理世界的真实描述,是物联网系统的各个传感器或者数据源采集到的真实数据,例如温度值等。形式化表达ed=
定义2(情境信息cxt):一种情境信息是由一种环境数据以及环境数据随时间的变化过程共同刻画的,即cxt=
定义3(服务环境envs):服务环境是由一种或多种情境信息共同刻画,描述当前用户所处的环境,envs=
定义4(服务需求sr):服务需求通过一个二元组表示sr=
情境感知定义示意图如图1所示。
图1 情境感知定义示意图
根据上述的定义,IoT服务动态绑定模式的实现机理可以概括为:系统持续性地采集环境数据,并将环境数据记录为随时间的变化的情境信息,将系统采集的情境信息汇总为服务环境,通过当前服务环境推测未来的一段时间内用户的服务需求。其中的核心问题是如何通过服务环境预测未来一段时间内的可绑定IoT服务列表。因此,提出了基于情境感知的IoT服务动态绑定方法。
通过上文的描述可知面向主动式BPM的基于情境感知的IoT服务动态绑定方法本质上就是在可绑定IoT服务的BPM系统上加入情境感知技术,在流程运行到IoT服务绑定模块后,通过数据源实时采集环境数据,映射为情境信息,实现主动的服务提供即基于情境自动切换的IoT服务,基本过程如图2所示。
图2 基于情境感知的IoT服务动态绑定方法基本过程
图2中,该方法通过情境感知技术采集物理世界的信息,根据上文定义,生成带有时序特征的情境信息,并将情境信息与已绑定IoT服务序列传入预测模型,以得到未来一段时间内的可绑定IoT服务,并通过服务库调用相应服务绑定到业务流程中的原有模块中。过程中的预测模型结构为Seq2Seq结构,具体的模型原理如下。
Seq2Seq模型,即序列到序列模型,是一种能够根据给定的序列,通过特定的生成方法生成另一个序列的方法,同时这两个序列可以不等长。这样的模型符合基本需求。在Seq2Seq模型的Encoder和Decoder的选取上,选择Bi-GRU模型作为编码器,GRU[19]模型作为解码器,之所以采用Bi-GRU模型作为编码层是因为需要尽可能地捕捉输入序列在时序上的关联关系,以便于更好的进行预测。结合上文情境信息的定义,此模型的整体过程与输入输出见图3。该文将情境信息与IoT服务序列作为模型的输入,即服务需求sr,将sr作为编码器的输入,将最后时刻(或全部时刻)的输出映射为表征输入序列信息的特征向量C传递给解码器,解码器生成未来一段时间的可绑定IoT服务列表。
图3 模型输入输出
在Seq2Seq模型整体上加入注意力机制,注意力机制本质是在解码阶段通过对源序列中的每个元素分配不同的权重(注意力),使得解码器能够更有效地利用源序列的重要信息,以获得更好的解码效果。在编码过程中,输入的序列的不同特征对未来时刻预测值的贡献度并不均等,因此引入注意力机制分配注意力概率分布,提取对预测更为重要的输入信息,提高预测的准确度和长期预测性能的稳定性。在问题中注意力机制主要应用于对不同的环境特征数据的重要性程度分析。
模型中语义编码C的计算公式为:
C=f(Wht)
(1)
式中,f为激活函数,该文选取tanh函数;W为权重矩阵;ht为最后时刻t的编码器输出。在解码器内部,每一时刻的隐藏层状态都传入下一时刻。在每一时刻,解码器接收3组输入,即特征向量C、上一时刻解码GRU输出yt-1、上一时刻解码隐层状态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层。
在服务动态绑定模型中仅实现预测模型是远远不够的,实现完整的服务动态绑定机制仍然需要一套完整的系统支撑。
面向主动式BPM的基于情境感知的IoT服务动态绑定原型系统,分为预测与绑定两部分。预测部分是通过上述预测模型来实现。绑定部分则是根据预测的结果,动态地启动和停止IoT服务。由于IoT服务持续输出业务事件的特殊性,相较于普通的web服务,IoT服务需要启动和停止两个操作。另外,实现IoT服务动态绑定机制的原型系统应当具有处理并行服务的能力。该文以BPM系统现有元素为基础[20],将用户任务与边界非中断事件两个元素组合提出IoT服务动态绑定活动,并以单独模块的形式存在,建模人员可拖拽并应用于业务流程中。IoT服务动态绑定活动的具体实现结构见图4。图中整体架构存在于用户任务中,以用户任务为载体,并通过系统的BPM接口将业务事件绑定在边界非中断事件上,以实现后续流程对业务事件的处理。
在整体的设计中,通过活动情境感知子系统以及服务协调线程共同决定何时启动什么样的IoT服务,以及何时结束哪一个IoT服务。业务事件整理线程周期性地读取共享数据区中的事件,输出到业务流程引擎中使得业务流程可以基于业务事件进行动态演化。具体地,系统中包含以下5个模块:
IoT服务线程组:当需要同时运行多个IoT服务时,需要通过线程组的方式实现多个IoT服务并行运行,并实时向共享数据区存储业务事件。
服务协调:服务协调是起到一个中间件的作用,读取情境感知子系统输出的IoT服务列表,并读取共享数据区中存储的现存IoT服务,协调当前时刻应该启动和停止的IoT服务。
业务整理:周期性地读取共享数据区中业务事件存储部分并将新增的或者变化的业务事件通过接口传送给BPM系统。
共享数据区:共享数据区用于存储整个系统的共享数据,具体分为两部分:一是业务事件数据部分,另一个是存储当前系统中IoT服务列表状态信息。具体的结构见图5。
图5 共享数据区结构
情境感知子系统:该系统主要功能是实现情境感知技术及服务预测。通过数据层与传输层的协作读取物理世界的各种数据源的数据并传入系统,决策层将采集的数据进行预处理并传入预测模型,结合服务库中的现存并可用的服务进行筛选。
情境感知系统层次如图6所示。
图6 情境感知系统层次
通过一个具体的LNG罐箱货船海运监控的业务流程来说明需要动态绑定IoT服务的原因及好处,以及IoT服务预测模型的效果,图7为当前案例的核心片段。
图7 基于IoT服务的LNG罐箱货船海运监控原始业务流程
其中高风险运输预警监控服务就是一个IoT服务,案例中的该服务输出的就是一般航行情境下的预警事件。然而,在该案例中LNG船在运输过程中会遇到不同的情境,例如:一般航行运输、危险区域高风险运输、恶劣天气高风险运输、恶劣天气危险区域高风险运输。并且在运输过程中LNG船所处情境并不是一成不变的,当LNG船途径渔区时,LNG船所处的情境就会从一般航行转移为危险区域高风险运输,而一般航行情境下的IoT服务并不足以应对此情景。传统的解决方式是在建模时增加判断分支,然而案例中LNG船所处的情境通常由船只当前进行的活动或者天气等外界因素决定,所以LNG船运输过程中所处的情境具有一定随机性,因此单纯地通过建模时增加条件判断分支的方法并不能解决随机情境下的IoT服务绑定问题。
通过Anylogic仿真工具模拟原始业务流程,运输船在出港后绑定的IoT服务就不会再变动,然而经过危险区域时高风险运输监控服务所提供的监控能力不足以应对当前情境。
针对上述问题,提出了面向业务流程的基于情境变化的IoT服务动态绑定方法,如图8所示。动态监控活动会根据当前LNG船所处情境的改变动态地停止和启动IoT服务。案例中预测模型的输入为LNG船在运输过程中采集环境数据及随时间变化的IoT服务列表序列,输出为未来一段时间的需要绑定的IoT服务列表。通过Anylogic仿真工具模拟此业务流程。采用真实的气象数据以及相对应的服务列表数据。运输船在进入危险区域前,已经预测到需要绑定危险区域高风险运输服务,并且提前给予提示并切换,如图9(b)。最后,在相同案例背景下复现文献[5]的方法,并应用于仿真工具与文中方法进行对比。从图9(c)(d)中可以看出,文献[5]中的方法,虽然实现了基于情境的服务动态绑定,然而存在的缺陷是只有当运输船正经历某种情境时,例如进入危险区域,才会执行服务的动态切换与绑定,这样的方式一是可能会导致监控不及时延误预警时间,二是未给予用户思考的时间,缺乏交互性,导致出现服务的强制绑定,使得用户体验感不佳。从图9(e)(f)中可以看出,文中方法在运输船进入危险区域前就已经进行了准确的预测,并给予提示。
图8 改进后的业务流程
图9 Anylogic仿真工具模拟效果
4.2.1 实验数据及预处理
以真实的LNG船运输航线,航线数据来自于中国渤海区域构建的海洋航道网络数据,以及国家海洋科学数据中心海洋水文分类中国台站观测数据渤海区域2018年6月到2018年12月的真实气象数据在Anylogic仿真工具中得到的565例航行数据进行模型的训练和评估,气象数据中分别选取风速、能见度、浪高特征同时还有轨迹数据提取的位置特征。数据中包含的IoT服务有高风险运输监控服service1,危险区域高风险运输监控服务service2,恶劣天气高风险运输监控服务service3,危险区域恶劣天气高风险运输监控服务service4以及天气服务service5和位置服务service6,案例输入数据样例见表1。
全部训练样本共565例,而Seq2Seq模型编码器步长为50,解码器步长为10,由于Seq2Seq模型需要大量训练模型优化网络模型,该文采用一种基于滑动窗口构造样本的方法,在长度为Tx的时间序列上,以L(L=Lx+Ly,Lx为编码器步长,Ly为解码器步长)作为窗口长度,以1作为滑动步长,共构建Tx-L+1组数据样本,极大丰富了样本容量,且保证了数据集在时间刻度上的连续性,可以充分利用数据集的信息,更好地刻画时间序列的时间依赖关系,提高模型的鲁棒性。利用上述方法将时间序列X={x1,x2,…,xTx}转换为(Tx-L+1)×L维的矩阵,如式(4):
(4)
通过滑动窗口构造样本,共得到10万条实验数据,按照6∶2∶2的比例将实验数据划分为训练集、测试集和验证集。
模型优化器使用基于一阶梯度的随机目标函数优化算法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类型的模型损失率更优,在三个Seq2Seq 结构的模型中,随着预测步长的增加loss 总体呈上升趋势但幅度并不大。总体上,文中方法Bi-GRU+Seq2Seq+Attention的模型结构的损失率优于另两个模型。在查准率、查全率、F1分数三个评判标准中,Seq2Seq 结构模型总体上优于简单RNN类的模型,虽然随着时间步的增加三种指标均有下降,但都仍然处于较高水平,总体上,文中方法的下降幅度相较其他方法更小,体现出该方法在多步预测上的稳定性优于其他对比方法。
分析IoT服务与BPM系统结合过程中存在的问题,即缺乏对情景变化的适应性和服务切换的灵活性。针对上述问题,定义具有时序特性的情境信息,将情境与IoT服务相联系。提出一种面向主动式BPM的基于情境感知的IoT服务动态绑定方法,将基于Bi-GRU的Seq2Seq模型用IoT服务列表的预测,并通过对比实验验证该模型的准确性。提出并实现IoT服务动态绑定活动,以该活动为容器,实现原型系统,使得业务流程在应用IoT服务时能够基于情境灵活切换IoT服务。并在具体的LNG货船运输流程实例中进行仿真模拟证明了该方法的可行性和有效性。