CN112052233B - 一种基于上下文感知的多角度业务流程异常在线检测方法 - Google Patents

一种基于上下文感知的多角度业务流程异常在线检测方法 Download PDF

Info

Publication number
CN112052233B
CN112052233B CN202010801639.5A CN202010801639A CN112052233B CN 112052233 B CN112052233 B CN 112052233B CN 202010801639 A CN202010801639 A CN 202010801639A CN 112052233 B CN112052233 B CN 112052233B
Authority
CN
China
Prior art keywords
current
track
event
context
activity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010801639.5A
Other languages
English (en)
Other versions
CN112052233A (zh
Inventor
孙笑笑
沈沪军
俞东进
侯文杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202010801639.5A priority Critical patent/CN112052233B/zh
Publication of CN112052233A publication Critical patent/CN112052233A/zh
Application granted granted Critical
Publication of CN112052233B publication Critical patent/CN112052233B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/03Credit; Loans; Processing thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Finance (AREA)
  • Biophysics (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Accounting & Taxation (AREA)
  • Computational Linguistics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于上下文感知的多角度业务流程异常在线检测方法。该方法借助重演技术来捕获当前执行实例的全局行为上下文和局部行为上下文,并结合实例的时间上下文和属性上下文作为检测模型的输入数据,从多个视角出发对当前执行实例可能存在的三类异常情况进行检测,即行为异常、时间异常和属性异常。这种异常检测方法有精度高、可解释性强等特点,能有效检测流程执行过程中的异常信息,及时通报相关人员采取相应的解决方案。区别于以往检测方法仅对流程执行数据进行事后分析的特点,本方法提出的异常检测方法适用于实时在线检测,具有更好的时效性。

Description

一种基于上下文感知的多角度业务流程异常在线检测方法
技术领域
本发明涉及业务流程管理中的异常检测领域,尤其涉及一种基于上下文感知的多角度业务流程异常在线检测方法。
背景技术
随着业务流程的日益复杂化,传统严格约束的结构化业务流程管理方法逐渐无法应对一些复杂的、任务执行需要依赖人力决策的应用场景,如医院诊断流程、保险理赔流程等,为此部分企业启用了约束较为宽松的柔性业务流程管理技术来应对这类知识密集型的业务。柔性业务流程管理中的限制相对宽松,确保了业务流程管理系统的灵活性,但同时也导致了流程执行风险的增加,给业务流程的目标实现带来更多风险。通过异常检测技术可以有效检测流程执行中的异常,帮助相关人员及早发现潜在的执行风险进而采取相应的措施,对业务流程管理具有重要意义。
近年来,业务流程管理的重心不再局限于对事件日志进行线下分析,而更加关注如何为业务流程的执行提供在线支持。但对正在执行的流程实例进行在线异常检测并非易事,需要从多个流程角度进行考虑,例如控制流角度(当前实例中活动的执行顺序是否正常)、时间角度(活动的执行时间是否异常,流程实例的总执行时间是否超过预期等)等。目前大多数异常检测的方法多从单一视角开展检测,存在异常检测不全面的问题。此外,大部分现有方法结果仅简单报告当前实例的执行是否异常,缺乏足够的解释信息帮助相关人员了解异常发生原因。
发明内容
为了克服上述现有技术的不足,提出了一种基于上下文感知的多角度业务流程异常在线检测方法。本发明使用神经网络模型来解决业务流程中的异常检测问题,可有效解决上述问题。本发明具体采用的技术方案如下:
一种基于上下文感知的多角度业务流程异常在线检测方法,包括以下步骤:
S1.数据预处理:输入原始日志,将其划分为训练数据集和测试数据集,对训练数据集使用过程发现技术从中挖掘出Petri网流程模型PN;
S2.上下文提取:首先利用重演技术基于步骤S1获得的Petri网流程模型PN 对当前轨迹进行重演,得到局部行为上下文e.lbc和全局上下文e.gbc;然后对事件的属性进行处理,得到当前执行活动的时间上下文e.tcv和属性上下文e.tcv,两者共同构成活动的数据上下文,具体包含以下子步骤:
S21.从PN中获取开始活动集合
Figure BDA0002627605240000022
结束活动集合
Figure BDA0002627605240000023
以及PN中的全部活动集合
Figure BDA0002627605240000024
并初始化全局行为上下文向量vgbc为长度
Figure BDA0002627605240000029
的0向量,其中
Figure BDA00026276052400000210
为PN中库所节点的数量,第
Figure BDA0002627605240000021
位用于接收未知活动执行产生的托肯;
S22.对日志中的事件根据其发生时间先后进行排序,得到按发生早晚排好序的事件列表Elist
S23.依次遍历Elist中的每个事件并根据事件的实例ID属性找到其所属的轨迹T;
S24.对Elist中的每个事件判断其执行活动;
S25.若当前事件的执行活动属于开始活动集
Figure BDA0002627605240000025
为开始活动,则执行以下操作:
(1)初始化当前活动的局部行为上下文向量vlbc为长度
Figure BDA0002627605240000026
的0向量;
(2)获得当前活动对应变迁节点的输入集合Spre和输出集合Spost
(3)对Spre中的每个库所节点,将vlbc中该库所节点对应位置的数值加1,对vgbc执行相同的操作,然后将vlbc存储到当前事件e的属性e.lbc和当前轨迹T的属性T.lastState中,将vgbc存储到当前事件e的属性e.gbc中;
(4)对Spost中的每个库所节点,将Spre中库所节点的托肯转移到Spost的库所节点中,并对vlbc作出同样的转移,即该库所节点对应位置处的数值加1,被转移的库所节点对应位置处的数值减1,得到轨迹执行当前活动后的状态,并将其保存在当前轨迹T的属性T.nextState中;
S26.若当前事件执行的活动不属于
Figure BDA0002627605240000027
但属于
Figure BDA0002627605240000028
为普通活动,则执行以下操作:
(1)当前活动的局部行为上下文向量vlbc为T.nexState,全局行为上下文向量vgbc为vgbc+T.nextState-T.lastState;
(2)获得当前活动对应变迁节点的输入集合Spre和输出集合Spost
(3)对Spre中的每个库所节点,将vlbc中该库所节点对应位置处的数值减1,然后将vlbc存储到当前事件e的属性e.lbc和当前轨迹T的属性T.lastState中,将 vgbc存储到当前事件e的属性e.gbc中;
(4)对Spost中的每个库所节点,将Spre中库所节点的托肯转移到Spost的库所节点中,并对vlbc作出同样的转移,即该库所节点对应位置处的数值加1,被转移的库所节点对应位置处的数值减1,得到轨迹执行当前活动后的状态,并将其保存在当前轨迹T的属性T.nextState中;
S27.若当前事件执行的活动不属于
Figure BDA0002627605240000031
则当前执行的活动在PN模型中未出现过,为意外活动,则执行以下操作:
(1)当前活动的局部行为上下文向量vlbc为T.nexState,全局行为上下文向量vgbc为vgbc+T.nextState-T.lastState;
(2)将vlbc存储到当前事件e的属性e.lbc和当前轨迹T的属性T.lastState中,将vgbc存储到当前事件e的属性e.gbc中;
(3)对vlbc
Figure BDA0002627605240000032
位置上的数值加1来表示该活动执行后的状态,然后将vlbc存储到当前轨迹T的属性T.nextState中;
S28.若当前事件执行的活动属于结束活动集
Figure BDA0002627605240000033
则说明当前轨迹执行完毕,则执行以下步骤:
(1)从全局上下文vgbc中减去该轨迹带来的托肯,即vgbc=vgbc- T.lastState;
(2)局部行为上下文向量vlbc仍为T.nexState,保存事件的局部行为上下文和全局行为上下文;
S29.对Elist中的每个事件执行S24~S28的迭代过程,迭代结束后返回包含行为上下文属性的事件集Elist
S210.对事件发生的时间戳进行处理,得到当前执行活动的时间上下文 e.tcv=[h,m,d,weekday,tsct,td],其中h,m,d,weekday分别表示该时间戳对应的小时、月份、天以及星期的信息,tsct表示当前时间戳距该实例开始时间戳的时间间隔,其计算需要当前实例第一个执行活动的开始时间戳,td表示当前时间戳距当天凌晨的时间间隔;
S211.对事件的其余属性根据其属性值是否为数值类型划分为类别属性和数值属性,对类别属性进行相应的编码,然后与数值属性构成的向量合并得到属性上下文e.dcv;时间上下文和属性上下文构成了活动的数据上下文;
S3.使用LSTM方法训练异常检测模型,具体包含以下步骤:
S31.对事件日志中的每个事件进行编码,使用S2中获得的变量表示事件对应的完整上下文信息,该变量由上一阶段获得的e.lbc,e.gbc,e.tcv,e.dcv四个向量级联而成;
S32.日志中的每条轨迹由一个二维矩阵表示,其中轨迹矩阵的每一行由其拥有的事件所对应的事件向量构成;
S33.设置统一的长度对轨迹矩阵的行数进行限制,对于短的轨迹使用包含0 的事件向量对其进行补充;
S34.对于每条轨迹,人为增加三个标签分别对应其是否存在行为异常、事件异常以及属性异常,得到编码为如下形式的轨迹:
T=(xtri,[lbi,lti,lai])
其中xtri是第i条轨迹对应的轨迹矩阵,lbi,lti,lai∈(0,1)是其对应的异常标签即行为异常、时间异常和属性异常,若值为1则表明当前轨迹拥有此类异常,若值为0则说明没有此类异常;
S35.对所有训练数据,执行S31~S34的操作,得到如下训练集:
Figure BDA0002627605240000041
其中n表示训练集中的轨迹总数;
S36.以得到的训练集数据为基础,采用神经网络模型LSTM来训练异常检测模型,得到最终的异常检测模型;
S4.进行待检测轨迹的异常检测,具体包含以下步骤:
S41.对待检测的轨迹执行S2,获得其执行的上下文信息;
S42.对待检测的轨迹执行S31~S34,得到编码后的轨迹;
S43.将编码后的轨迹输入到由S3训练得到的异常检测模型中,得到最终的检测结果,并发送给相关人员进行进一步的判决。
作为优选,步骤S1中所述的过程发现技术采用Split Miner。
作为优选,步骤S1中所述的Petri网流程模型
Figure BDA0002627605240000042
其中
Figure BDA0002627605240000043
是由全部库所节点组成的有限集合;
Figure BDA0002627605240000044
是由全部变迁节点组成的有限集合,且满足
Figure BDA0002627605240000051
Figure BDA0002627605240000052
是活动的有限集合;
Figure BDA0002627605240000053
是一组有向弧,表示流程中变迁与库所之间的关系;
Figure BDA0002627605240000054
是一个映射函数,将每个变迁节点
Figure BDA0002627605240000055
Figure BDA0002627605240000056
中的单个活动或者和不可观察到的活动⊥相映射;Minit表示Petri 网的初始状态。
作为优选,步骤S211所述的属性特征的编码选用one-hot编码,将其转化为由0和1构成的向量。
作为优选,步骤S36中所述采用神经网络模型LSTM来训练异常检测模型,包括两种方式,第一种是分别单独训练三种异常的检测模型,第二种架构是则是让三种异常检测模型共享隐藏层,但拥有各自独立的输出层。
作为优选,步骤S36所述的LSTM模型训练过程中优选随机搜索法来获取模型的最优参数。
作为优选,步骤S43所述的最终的检测结果和轨迹数据将被保存下来用于下次检测模型的增量更新,以助于提高检测模型检测的正确率。
本发明使用重演技术来获取流程实例执行的行为上下文,并与属性上下文一起作为异常检测模型的输入,结合神经网络模型LSTM来构建最终的多角度异常检测模型,本法明具有如下收益:1、利用重演技术来获取流程执行的行为上下文提高了异常检测的精度;2、使用LSTM模型构建了多角度的检测模型,使得异常检测的结果具有一定的可解释性。
附图说明
图1为本发明方法的流程图;
图2为采用神经网络模型LSTM来训练异常检测模型的两种方式;
图3为本发明方法在准确率上的结果展示图;
图4为本发明方法在精确率上的结果展示图;
图5为本发明方法在召回率上的结果展示图;
图6为本发明方法在F1分数上的结果展示图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明进行进一步详细说明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
如图1所示,本发明的一种基于上下文感知的多角度业务流程异常在线检测方法,包括以下步骤:
S1.数据预处理:输入原始日志,将其划分为训练数据集和测试数据集,对训练数据集使用过程发现技术Split Miner从中挖掘出Petri网流程模型
Figure BDA0002627605240000062
其中
Figure BDA0002627605240000063
是由全部库所节点组成的有限集合;
Figure BDA0002627605240000064
是由全部变迁节点组成的有限集合,且满足
Figure BDA0002627605240000065
是活动的有限集合;
Figure BDA0002627605240000066
Figure BDA0002627605240000067
是一组有向弧,表示流程中变迁与库所之间的关系;
Figure BDA0002627605240000068
是一个映射函数,将每个变迁节点
Figure BDA0002627605240000069
Figure BDA00026276052400000610
中的单个活动或者和不可观察到的活动⊥相映射;Minit表示Petri网的初始状态;
S2.上下文提取:首先利用重演技术基于步骤S1获得的Petri网流程模型PN 对当前轨迹进行重演,得到局部行为上下文e.lbc和全局上下文e.gbc;然后对事件的属性进行处理,得到当前执行活动的时间上下文e.tcv和属性上下文e.tcv,两者共同构成活动的数据上下文,具体包含以下子步骤:
S21.从PN中获取开始活动集合
Figure BDA00026276052400000611
结束活动集合
Figure BDA00026276052400000612
以及PN中的全部活动集合
Figure BDA00026276052400000613
并初始化全局行为上下文向量vgbc为长度
Figure BDA00026276052400000614
的0向量,其中
Figure BDA00026276052400000615
为PN中库所节点的数量,第
Figure BDA00026276052400000616
位用于接收未知活动执行产生的托肯;
S22.对日志中的事件根据其发生时间先后进行排序,得到按发生早晚排好序的事件列表Elist
S23.依次遍历Elist中的每个事件并根据事件的实例ID属性找到其所属的轨迹T;
S24.对Elist中的每个事件判断其执行活动;
S25.若当前事件的执行活动属于开始活动集
Figure BDA00026276052400000617
为开始活动,则执行以下操作:
(1)初始化当前活动的局部行为上下文向量vlbc为长度
Figure BDA00026276052400000618
的0向量;
(2)获得当前活动对应变迁节点的输入集合Spre和输出集合Spost
(3)对Spre中的每个库所节点,将vlbc中该库所节点对应位置的数值加1,对vgbc执行相同的操作,然后将vlbc存储到当前事件e的属性e.lbc和当前轨迹T的属性T.lastState中,将vgbc存储到当前事件e的属性e.gbc中;
(4)对Spost中的每个库所节点,将Spre中库所节点的托肯转移到Spost的库所节点中,并对vlbc作出同样的转移,即该库所节点对应位置处的数值加1,被转移的库所节点对应位置处的数值减1,得到轨迹执行当前活动后的状态,并将其保存在当前轨迹T的属性T.nextState中;
S26.若当前事件执行的活动不属于
Figure BDA0002627605240000071
但属于
Figure BDA0002627605240000072
为普通活动,则执行以下操作:
(1)当前活动的局部行为上下文向量vlbc为T.nexState,全局行为上下文向量vgbc为vgbc+T.nextState-T.lastState;
(2)获得当前活动对应变迁节点的输入集合Spre和输出集合Spost
(3)对Spre中的每个库所节点,将vlbc中该库所节点对应位置处的数值减1,然后将vlbc存储到当前事件e的属性e.lbc和当前轨迹T的属性T.lastState中,将 vgbc存储到当前事件e的属性e.gbc中;
(4)对Spost中的每个库所节点,将Spre中库所节点的托肯转移到Spost的库所节点中,并对vlbc作出同样的转移,即该库所节点对应位置处的数值加1,被转移的库所节点对应位置处的数值减1,得到轨迹执行当前活动后的状态,并将其保存在当前轨迹T的属性T.nextState中;
S27.若当前事件执行的活动不属于
Figure BDA0002627605240000073
则当前执行的活动在PN模型中未出现过,为意外活动,则执行以下操作:
(1)当前活动的局部行为上下文向量vlbc为T.nexState,全局行为上下文向量vgbc为vgbc+T.nextState-T.lastState;
(2)将vlbc存储到当前事件e的属性e.lbc和当前轨迹T的属性T.lastState中,将vgbc存储到当前事件e的属性e.gbc中;
(3)对vlbc
Figure BDA0002627605240000074
位置上的数值加1来表示该活动执行后的状态,然后将vlbc存储到当前轨迹T的属性T.nextState中;
S28.若当前事件执行的活动属于结束活动集
Figure BDA0002627605240000075
则说明当前轨迹执行完毕,则执行以下步骤:
(1)从全局上下文vgbc中减去该轨迹带来的托肯,即vgbc=vgbc- T.lastState;
(2)局部行为上下文向量vlbc仍为T.nexState,保存事件的局部行为上下文和全局行为上下文;
S29.对Elist中的每个事件执行S24~S28的迭代过程,迭代结束后返回包含行为上下文属性的事件集Elist
S210.对事件发生的时间戳进行处理,得到当前执行活动的时间上下文 e.tcv=[h,m,d,weekday,tsct,td],其中h,m,d,weekday分别表示该时间戳对应的小时、月份、天以及星期的信息,tsct表示当前时间戳距该实例开始时间戳的时间间隔,其计算需要当前实例第一个执行活动的开始时间戳,td表示当前时间戳距当天凌晨的时间间隔;
S211.对事件的其余属性根据其属性值是否为数值类型划分为类别属性和数值属性,对类别属性进行one-hot编码,然后与数值属性构成的向量合并得到属性上下文e.dcv;时间上下文和属性上下文构成了活动的数据上下文;
S3.使用LSTM方法训练异常检测模型,具体包含以下步骤:
S31.对事件日志中的每个事件进行编码,使用S2中获得的变量表示事件对应的完整上下文信息,该变量由上一阶段获得的e.lbc,e.gbc,e.tcv,e.dcv四个向量级联而成;
S32.日志中的每条轨迹由一个二维矩阵表示,其中轨迹矩阵的每一行由其拥有的事件所对应的事件向量构成;
S33.设置统一的长度对轨迹矩阵的行数进行限制,统一为最长轨迹的长度,对于短的轨迹使用包含0的事件向量对其进行补充;
S34.对于每条轨迹,人为增加三个标签分别对应其是否存在行为异常、事件异常以及属性异常,得到编码为如下形式的轨迹:
T=(xtri,[lbi,lti,lai])
其中xtri是第i条轨迹对应的轨迹矩阵,lbi,lti,lai∈(0,1)是其对应的异常标签即行为异常、时间异常和属性异常,若值为1则表明当前轨迹拥有此类异常,若值为0则说明没有此类异常;
S35.对所有训练数据,执行S31~S34的操作,得到如下训练集:
Figure BDA0002627605240000091
其中n表示训练集中的轨迹总数;
S36.以得到的训练集数据为基础,采用神经网络模型LSTM来训练异常检测模型,得到最终的异常检测模型,其中采用LSTM来训练异常检测模型,包括两种方式,第一种是分别单独训练三种异常的检测模型,第二种架构是则是让三种异常检测模型共享隐藏层,但拥有各自独立的输出层;模型训练过程中优选随机搜索法来获取模型的最优参数。
S4.进行待检测轨迹的异常检测,具体包含以下步骤:
S41.对待检测的轨迹执行S2,获得其执行的上下文信息;
S42.对待检测的轨迹执行S31~S34,得到编码后的轨迹;
S43.将编码后的轨迹输入到由S3训练得到的异常检测模型中,得到最终的检测结果,并发送给相关人员进行进一步的判决。最终的检测结果和轨迹数据将被保存下来用于下次检测模型的增量更新,以助于提高检测模型检测的正确率。
实施例
本实施例步骤与具体实施方式相同,在此不再进行赘述。下面就部分实施过程和实施结果进行展示:
数据源获取:本实施例所用的原始日志文件是从4TU研究数据中心获得的四个真实的业务流程产生的日志:Helpdesk,BPIC2012_A,BPIC2012_O, BPIC2012_W。其中Helpdesk来源于意大利某软件公司服务台的票务管理流程,剩余三个日志来源于荷兰某财政机构,记录了申请贷款业务的流程的相关信息,它们是三个相互交织的子流程。其中每个日志中的相关统计信息见表1。由于真实日志中未提供有关实际异常的信息,因此有必要生成人为异常。执行以下操作来生成人为异常数据。对于行为异常执行以下两种突变操作:(1)活动插入:随机选择一个活动插入到当前轨迹中;(2)调整活动执行顺序:将当前轨迹中的一个活动随机移动至轨迹的另一个位置。对于属性异常,从日志中随机选择事件并对其执行资源进行替换,新的执行资源在原有日志中从未执行过该类活动。对于时间异常数据,将执行以下两种标记:(1)活动执行时间异常:对同一类活动,将对事件日志中该类活动的执行时间进行统计,得到其分布图,并选择其中执行时间最久的部分事件进行异常标记;(2)实例执行时间异常:首先根据实例中执行活动的种类对实例进行分类(即拥有相同执行活动集合的实例将被划分为同一类),然后分别统计出每一类中执行时间最久的部分实例进行异常标记。
为了验证本发明技术方案的技术效果,选取常用的四个指标:准确率、精确率、召回率以及F1分数来衡量检测的性能。此外,本实施例分别使用两种不同架构方案的LSTM模型的效果,SingleM表示第一种模型架构方案(单一模型),ShareM表示第二种模型架构方案(共享模型)。同时为了验证提出的基于重演提取的行为上下文对检测结果的影响,为训练模型分别生成了两类数据样本,其中第一类样本(withBC)将包含本发明提出的行为上下文信息和数据上下文信息,而第二种样本(withoutBC)则仅包含数据上下文(以往的工作均只使用了数据上下文信息)。
图3、4、5、6分别展示了在四个数据集上使用本发明方法进行三类异常检测的准确率、精确率、召回率以及F1分数的变化。由图中可以看到,加入本发明提出的行为上下文信息后,三类异常检测精度均有不同程度的提高,这证明了本发明提出的基于重演技术提取得到的行为上下文信息的有效性。另外,对于两种模型架构方案,由图可见,共享模型在大部分情况下检测效果比起单一模型的检测效果略好,这是因为通过共享隐藏层,可以让模型学习到三类异常之间的一些内部联系。
此外,本实施例还选用了分类模型支持向量机(SVM),K邻近算法(KNN) 和决策树(DT)作为对比算法来进一步证明本发明提出方法的有效性。我们选择上轮实验中共效果最佳的检测模型ShareM(withBC),并使用召回率和F1分数作为衡量指标。实验结果如表2所示,其中最佳结果将以粗体标记。从表中可以看出,本发明方法在F1分数上均取得了最好的效果。这是因为LSTM可以学习同一实例中活动之间的远程依赖关系,并且可以将之前执行的重要信息保留,从而充分利用了上下文信息进行异常判断。在召回率上本发明方法对行为异常的检测均取得了最佳的效果,这是由于本发明提出的方法利用了重演技术来提取实例的行为上下文使得检测模型得到的信息更加全面。而在时间异常和属性异常的检测上,本发明方法仅在大部分数据集上取得了最优效果,这是因为属性异常和时间异常都属于点异常,它们与实例中执行活动的相关属性紧密相关,而过长的执行轨迹可能会导致一部分重要信息被忽视,进而影响了检测结果。
表1四个真实数据集的统计信息表
Figure BDA0002627605240000111
表2为本发明方法和其他算法的检测结果对比结果
Figure BDA0002627605240000112
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

Claims (8)

1.一种基于上下文感知的多角度异常检测方法,其特征在于包括以下步骤:
S1.数据预处理:输入原始日志,将其划分为训练数据集和测试数据集,对训练数据集使用过程发现技术从中挖掘出Petri网流程模型PN;
S2.上下文提取:首先利用重演技术基于步骤S1获得的Petri网流程模型PN对当前轨迹进行重演,得到局部行为上下文e.lbc和全局上下文e.gbc;然后对事件的属性进行处理,得到当前执行活动的时间上下文e.tcv和属性上下文e.dcv,两者共同构成活动的数据上下文,具体包含以下子步骤:
S21.从PN中获取开始活动集合
Figure FDA0002928825860000011
结束活动集合
Figure FDA0002928825860000012
以及PN中的全部活动集合
Figure FDA0002928825860000013
并初始化全局行为上下文向量vgbc为长度
Figure FDA0002928825860000014
的0向量,其中
Figure FDA0002928825860000015
为PN中库所节点的数量,第
Figure FDA0002928825860000016
位用于接收未知活动执行产生的托肯;
S22.对日志中的事件根据其发生时间先后进行排序,得到按发生早晚排好序的事件列表Elist
S23.依次遍历Elist中的每个事件并根据事件的实例ID属性找到其所属的轨迹T;
S24.对Elist中的每个事件判断其执行活动;
S25.若当前事件的执行活动属于开始活动集
Figure FDA0002928825860000017
为开始活动,则执行以下操作:
(1)初始化当前活动的局部行为上下文向量vlbc为长度
Figure FDA0002928825860000018
的0向量;
(2)获得当前活动对应变迁节点的输入集合Spre和输出集合Spost
(3)对Spre中的每个库所节点,将vlbc中该库所节点对应位置的数值加1,对vgbc执行相同的操作,然后将vlbc存储到当前事件e的属性e.lbc和当前轨迹T的属性T.lastState中,将vgbc存储到当前事件e的属性e.gbc中;
(4)对Spost中的每个库所节点,将Spre中库所节点的托肯转移到Spost的库所节点中,并对vlbc作出同样的转移,即该库所节点对应位置处的数值加1,被转移的库所节点对应位置处的数值减1,得到轨迹执行当前活动后的状态,并将其保存在当前轨迹T的属性T.nextState中;
S26.若当前事件执行的活动不属于
Figure FDA0002928825860000019
但属于
Figure FDA00029288258600000110
为普通活动,则执行以下操作:
(1)当前活动的局部行为上下文向量vlbc为T.nexState,全局行为上下文向量vgbc为vgbc+T.nextState-T.lastState;
(2)获得当前活动对应变迁节点的输入集合Spre和输出集合Spost
(3)对Spre中的每个库所节点,将vlbc中该库所节点对应位置处的数值减1,然后将vlbc存储到当前事件e的属性e.lbc和当前轨迹T的属性T.lastState中,将vgbc存储到当前事件e的属性e.gbc中;
(4)对Spost中的每个库所节点,将Spre中库所节点的托肯转移到Spost的库所节点中,并对vlbc作出同样的转移,即该库所节点对应位置处的数值加1,被转移的库所节点对应位置处的数值减1,得到轨迹执行当前活动后的状态,并将其保存在当前轨迹T的属性T.nextState中;
S27.若当前事件执行的活动不属于
Figure FDA0002928825860000021
则当前执行的活动在PN模型中未出现过,为意外活动,则执行以下操作:
(1)当前活动的局部行为上下文向量vlbc为T.nexState,全局行为上下文向量vgbc为vgbc+T.nextState-T.lastState;
(2)将vlbc存储到当前事件e的属性e.lbc和当前轨迹T的属性T.lastState中,将vgbc存储到当前事件e的属性e.gbc中;
(3)对vlbc
Figure FDA0002928825860000023
位置上的数值加1来表示该活动执行后的状态,然后将vlbc存储到当前轨迹T的属性T.nextState中;
S28.若当前事件执行的活动属于结束活动集
Figure FDA0002928825860000022
则说明当前轨迹执行完毕,则执行以下步骤:
(1)从全局上下文vgbc中减去该轨迹带来的托肯,即vgbc=vgbc-T.lastState;
(2)局部行为上下文向量vlbc仍为T.nexState,保存事件的局部行为上下文和全局行为上下文;
S29.对Elist中的每个事件执行S24~S28的迭代过程,迭代结束后返回包含行为上下文属性的事件集Elist
S210.对事件发生的时间戳进行处理,得到当前执行活动的时间上下文e.tcv=[h,m,d,weekday,tsct,td],其中h,m,d,weekday分别表示该时间戳对应的小时、月份、天以及星期的信息,tsct表示当前时间戳距当前实例开始时间戳的时间间隔,其计算需要当前实例第一个执行活动的开始时间戳,td表示当前时间戳距当天凌晨的时间间隔;
S211.对事件的其余属性根据其属性值是否为数值类型划分为类别属性和数值属性,对类别属性进行编码,然后与数值属性构成的向量合并得到属性上下文e.dcv;时间上下文和属性上下文构成了活动的数据上下文;
S3.使用LSTM方法训练异常检测模型,具体包含以下步骤:
S31.对事件日志中的每个事件进行编码,使用S2中获得的变量表示事件对应的完整上下文信息,该变量由上一阶段获得的e.lbc,e.gbc,e.tcv,e.dcv四个向量级联而成;
S32.日志中的每条轨迹由一个二维矩阵表示,其中轨迹矩阵的每一行由其拥有的事件所对应的事件向量构成;
S33.设置统一的长度对轨迹矩阵的行数进行限制,对于短的轨迹使用包含0的事件向量对其进行补充;
S34.对于每条轨迹,人为增加三个标签分别对应其是否存在行为异常、事件异常以及属性异常,得到编码为如下形式的轨迹:
T=(xtri,[lbi,lti,lai])
其中xtri是第i条轨迹对应的轨迹矩阵,lbi,lti,lai∈(0,1)是其对应的异常标签即行为异常、时间异常和属性异常,若值为1则表明当前轨迹拥有此类异常,若值为0则说明没有此类异常;
S35.对所有训练数据,执行S31~S34的操作,得到如下训练集:
Figure FDA0002928825860000031
其中n表示训练集中的轨迹总数;
S36.以得到的训练集数据为基础,采用神经网络模型LSTM来训练异常检测模型,得到最终的异常检测模型;
S4.进行待检测轨迹的异常检测,具体包含以下步骤:
S41.对待检测的轨迹执行S2,获得其执行的上下文信息;
S42.对待检测的轨迹执行S31~S34,得到编码后的轨迹;
S43.将编码后的轨迹输入到由S3训练得到的异常检测模型中,得到最终的检测结果,并发送给相关人员进行进一步的判决。
2.根据权利要求1所述的一种基于上下文感知的多角度异常检测方法,其特征在于步骤S1中所述的过程发现技术采用Split Miner。
3.根据权利要求1所述的一种基于上下文感知的多角度异常检测方法,其特征在于步骤S1中所述的Petri网流程模型
Figure FDA0002928825860000041
其中
Figure FDA0002928825860000042
是由全部库所节点组成的有限集合;
Figure FDA0002928825860000043
是由全部变迁节点组成的有限集合,且满足
Figure FDA0002928825860000044
Figure FDA0002928825860000045
是活动的有限集合;
Figure FDA0002928825860000046
是一组有向弧,表示流程中变迁与库所之间的关系;
Figure FDA0002928825860000047
是一个映射函数,将每个变迁节点
Figure FDA0002928825860000048
Figure FDA0002928825860000049
中的单个活动或者和不可观察到的活动⊥相映射;Minit表示Petri网的初始状态。
4.根据权利要求1所述的一种基于上下文感知的多角度异常检测方法,其特征在于步骤S211所述的类别属性特征的编码选用one-hot编码,将其转化为由0和1构成的向量。
5.根据权利要求1所述的一种基于上下文感知的多角度异常检测方法,其特征在于步骤S33中所述的统一长度为最长轨迹的长度。
6.根据权利要求1所述的一种基于上下文感知的多角度异常检测方法,其特征在于步骤S36中所述采用神经网络模型LSTM来训练异常检测模型,包括两种方式,第一种是分别单独训练三种异常的检测模型,第二种架构是则是让三种异常检测模型共享隐藏层,但拥有各自独立的输出层。
7.根据权利要求1所述的一种基于上下文感知的多角度异常检测方法,其特征在于步骤S36所述的LSTM模型训练过程中随机搜索法来获取模型的最优参数。
8.根据权利要求1所述的一种基于上下文感知的多角度异常检测方法,其特征在于步骤S43所述的最终的检测结果和编码后的轨迹将被保存下来用于下次检测模型的增量更新,以助于提高检测模型检测的正确率。
CN202010801639.5A 2020-08-11 2020-08-11 一种基于上下文感知的多角度业务流程异常在线检测方法 Active CN112052233B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010801639.5A CN112052233B (zh) 2020-08-11 2020-08-11 一种基于上下文感知的多角度业务流程异常在线检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010801639.5A CN112052233B (zh) 2020-08-11 2020-08-11 一种基于上下文感知的多角度业务流程异常在线检测方法

Publications (2)

Publication Number Publication Date
CN112052233A CN112052233A (zh) 2020-12-08
CN112052233B true CN112052233B (zh) 2021-03-30

Family

ID=73601615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010801639.5A Active CN112052233B (zh) 2020-08-11 2020-08-11 一种基于上下文感知的多角度业务流程异常在线检测方法

Country Status (1)

Country Link
CN (1) CN112052233B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113537710B (zh) * 2021-06-10 2022-03-08 杭州电子科技大学 一种数据驱动下基于人工智能的活动时序在线预测方法
CN114422192B (zh) * 2021-12-23 2024-03-29 武汉思普崚技术有限公司 一种用于网络安全设备的异常慢速流程检测方法及装置
CN117493220B (zh) * 2024-01-03 2024-03-26 安徽思高智能科技有限公司 一种rpa流程操作异常检测方法、设备及存储设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738349A (zh) * 2019-09-05 2020-01-31 国网浙江省电力有限公司杭州供电公司 基于多模型融合的电网故障抢修时长预测方法
CN110994673A (zh) * 2019-11-26 2020-04-10 上海电机学院 一种微电网自适应反孤岛扰动负载阻抗值的预测方法
CN111191897A (zh) * 2019-12-23 2020-05-22 浙江传媒学院 基于双向gru神经网络的业务流程在线合规性预测方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769496B2 (en) * 2010-08-13 2014-07-01 Accenture Global Services Limited Systems and methods for handling database deadlocks induced by database-centric applications
CN105046061A (zh) * 2015-06-26 2015-11-11 北京交通大学 基于概率petri网的列车车门系统隐患定位的方法
CN106526465A (zh) * 2016-06-21 2017-03-22 江苏镇安电力设备有限公司 一种基于改进的模糊Petri网络的高压断路器故障智能诊断方法
CN106353690B (zh) * 2016-09-20 2019-04-02 上海海事大学 利用Petri网诊断锂电池故障的方法
CN106771853A (zh) * 2016-11-29 2017-05-31 华中科技大学 一种基于事件起点的智能化电网故障诊断方法
CN110909327A (zh) * 2019-11-08 2020-03-24 支付宝(杭州)信息技术有限公司 一种异常检测模型更新方法、装置及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738349A (zh) * 2019-09-05 2020-01-31 国网浙江省电力有限公司杭州供电公司 基于多模型融合的电网故障抢修时长预测方法
CN110994673A (zh) * 2019-11-26 2020-04-10 上海电机学院 一种微电网自适应反孤岛扰动负载阻抗值的预测方法
CN111191897A (zh) * 2019-12-23 2020-05-22 浙江传媒学院 基于双向gru神经网络的业务流程在线合规性预测方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于依赖关联度的业务过程噪声日志过滤方法;孙笑笑等;《计算机集成制造系统》;20190430;全文 *
基于机器学习的流程异常预测方法;魏懿等;《计算机集成制造系统》;20190430;全文 *

Also Published As

Publication number Publication date
CN112052233A (zh) 2020-12-08

Similar Documents

Publication Publication Date Title
CN112052233B (zh) 一种基于上下文感知的多角度业务流程异常在线检测方法
Rama-Maneiro et al. Deep learning for predictive business process monitoring: Review and benchmark
Zhai et al. Enabling predictive maintenance integrated production scheduling by operation-specific health prognostics with generative deep learning
CN116015932B (zh) 入侵检测网络模型生成方法以及数据流量入侵检测方法
Molaei et al. An analytical review for event prediction system on time series
CN110580213A (zh) 一种基于循环标记时间点过程的数据库异常检测方法
CN117236677A (zh) 一种基于事件抽取的rpa流程挖掘方法及装置
CN112052232B (zh) 一种基于重演技术的业务流程上下文提取方法
CN115964258A (zh) 基于多时序分析的物联网卡异常行为分级监测方法及系统
Deeva et al. Educational sequence mining for dropout prediction in MOOCs: Model building, evaluation, and benchmarking
Haroon et al. Application of machine learning in forensic science
US20210142233A1 (en) Systems and methods for process mining using unsupervised learning
Hirey et al. Analysis of stock price prediction using machine learning algorithms
CN116702891A (zh) 一种基于汽车制造业的故障溯源方法及终端
Shayakhmetova et al. Descriptive big data analytics in the field of education
Cabrera et al. Environmental data stream mining through a case-based stochastic learning approach
Wang et al. Identifying execution anomalies for data intensive workflows using lightweight ML techniques
CN113537710B (zh) 一种数据驱动下基于人工智能的活动时序在线预测方法
CN117009509A (zh) 数据安全分级方法、装置、设备、存储介质和程序产品
Stach et al. Higher-order fuzzy cognitive maps
Relkar et al. Prediction of Air Quality index using supervised machine learning
Kegel Feature-based time series analytics
Garcia et al. Genetic algorithms to support software engineering experimentation
Wang et al. Discovering multiple phases of dynamics by dissecting multivariate time series
Lin et al. Process Drift Detection in Event Logs with Graph Convolutional Networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant