CN114331133A - 一种基于动作日志分割的自动化流程识别方法 - Google Patents

一种基于动作日志分割的自动化流程识别方法 Download PDF

Info

Publication number
CN114331133A
CN114331133A CN202111637202.3A CN202111637202A CN114331133A CN 114331133 A CN114331133 A CN 114331133A CN 202111637202 A CN202111637202 A CN 202111637202A CN 114331133 A CN114331133 A CN 114331133A
Authority
CN
China
Prior art keywords
node
user action
segment
scc
log
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.)
Pending
Application number
CN202111637202.3A
Other languages
English (en)
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 CN202111637202.3A priority Critical patent/CN114331133A/zh
Publication of CN114331133A publication Critical patent/CN114331133A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于动作日志分割的自动化流程识别方法。该方法基于构建流程控制图的支配树、Kosaraju算法和查找流程控制图回边等算法对动作日志进行分割,并使用CloFast算法识别分割后动作日志中的自动化流程。这种方法能够从动作日志中识别出可自动化流程,帮助分析人员从动作日志中识别大量和重复的操作,从而为机器人流程自动化提供具有潜力改善流程操作的可自动化流程,提高公司组织的效率。

Description

一种基于动作日志分割的自动化流程识别方法
技术领域
本发明涉及机器人流程自动化领域,尤其涉及一种基于动作日志分割的自动化流程识别方法。
背景技术
人类社会进入21世纪之后,全球企业大都面临着两个严峻的挑战:一是人力成本的不断飙升带来了企业经营成本的不断增加;二是业务的快速发展导致企业内部流程纷繁复杂,工作效率的提升跟不上业务的发展速度。因此,随着信息技术的日新月异,如何通过有效的技术手段降低企业的人力成本,以及不断提升业务流程的自动化程度和员工的工作效率,已然成为全球企业家们迫切需要思考并尽快解决的重大课题。在这一大环境和大背景下,机器人流程自动化便应运而生。
机器人流程自动化(Robotic Process Automation,RPA)是一种新型的技术理念,它允许通过软件机器人基于一定规则的交互动作来模拟和执行既定的业务流程。RPA机器人如同人类一样能够操作各种IT应用程序,如浏览器、Office软件、Java/.net等语言编写的程序、ERP软件(SAP/Oracle)等等。它基于设定的规则与其他各类系统进行交互,非常擅长执行那些枯燥的、繁琐的重复性任务。机器人流程自动化在企业数字化转型和提升业务效能方面发挥着重要的作用,能够推动企业业务流程的自动化进程,为企业持续创造价值,使企业员工能够从大量重复、繁琐的工作中解放出来,专注于具有更高附加值的数据分析、决策和创新工作,提高企业在市场上的竞争力。
为了利用这项技术,企业需要确定可实现自动化的例程。目前,确定自动化例程的做法有采用现场采访工作人员的日常工作流程,和使用视频记录工作流程并仔细观察。分析师可以使用这些方法识别可以自动化的候选例程,并评估所识别的自动化候选例程的潜在收益和成本。然而,在大型企业中,工作流程十分纷繁复杂,使用这些方法并不经济高效,为了弥补这一缺陷,有研究者提出了分析用户动作日志的技术,以发现可通过RPA自动化的重复例程。然而,该领域的现有方法做出了各种限制其适用性的假设。
现有的从用户动作日志中发现可自动化例程的方法都假设用户动作日志由一组任务的分段组成,这些分段预先假设包含了一个或多个例程。然而,在实际生活,用户动作日志是不分段的。相反,工作会话的记录由包含一个或多个例程的许多实例的单个动作序列组成,中间穿插着可能不属于任何例程的其他事件。
发明内容
为了克服上述现有技术的不足,本发明提供一种基于动作日志分割的自动化流程识别方法,可有效解决上述问题。本发明具体采用的技术方案如下:
一种基于动作日志分割的自动化流程识别方法,其包括以下步骤:
S1:输入用户动作日志∑=<u1,u2,…,un>,∑由n个用户动作u=(t,τ,Pτ)组成,其中t代表用户动作的时间戳,τ代表用户动作的类型,Pτ代表用户动作参数,且用户动作参数包括语境参数与内容参数;ui代表第i个用户动作u;
S2:对日志进行预处理操作,去除日志中的冗余动作;
S3:对预处理后的用户动作日志进行标准化,去除用户动作参数中的内容参数,只保留语境参数,标准化后的用户动作日志记为
Figure BDA0003442405050000021
其中每一个用户动作u标准化后记为
Figure BDA0003442405050000022
Figure BDA0003442405050000023
是语境参数;
Figure BDA0003442405050000024
代表第i个标准化后的用户动作
Figure BDA0003442405050000025
S4:根据标准化后的用户动作日志
Figure BDA0003442405050000026
按照S41~S43构建流程控制图G=(V,E,loop),其中V是G中结点的集合,E是G中边的集合,loop是G中的循环边,其中S41~S43具体为:
S41:取出
Figure BDA0003442405050000027
中的第一个标准化后的用户动作
Figure BDA0003442405050000028
Figure BDA0003442405050000029
创建节点v1,在V中添加节点v1,并将v1存储在可达性集合中,记为reachability(v1),初始化E为空集合;
S42:取出
Figure BDA00034424050500000210
中的下一个标准化用户动作
Figure BDA00034424050500000211
Figure BDA00034424050500000212
创建结点v,被取出的标准化用户动作需从
Figure BDA00034424050500000213
中删除;如果
Figure BDA00034424050500000214
则在V中添加结点v,并在E中添加一条边(pre,v),其中pre是v的前驱节点,并将v存储在v的可达性集合中,记为reachability(v);如果v∈V,且
Figure BDA00034424050500000215
则在E中添加一条边(pre,v),如果v∈reachability(pre),则(pre,v)为一条循环边,将这条边存储在loop中,如果
Figure BDA0003442405050000031
将v存储在v的可达性集合中,记为reachability(v);如果v∈V,且(pre,v)∈E,则不进行操作;
S43:重复步骤S42直到
Figure BDA0003442405050000032
的所有用户动作均被取出,得到流程控制图G=(V,E,loop);
S5:构建流程控制图G的支配树,并得到支配树的回边集合B,作为下一步日志分割的依据;
S6:遍历日志
Figure BDA0003442405050000033
中的用户动作,根据回边集合B将日志分割成片段,得到片段集合Ψ;
S7:将片段集合Ψ处理成指定的文本格式,使用闭合序列模式挖掘算法CloFAST挖掘Ψ中的频繁序列模式,根据内聚度得到可自动化流程集合
Figure BDA0003442405050000035
作为优选,所述S5的具体实现步骤如下:
S51:构建流程控制图的支配树,构建方法为:
首先,对输入的流程控制图G=(V,E,loop)进行从入口结点v1开始的深度优先遍历DFS操作,建立一棵以v1为根的搜索树T,遍历过程中按照节点经过的时间先后顺序给T中的每个节点y一个标号,记为DFS序即dfn[y],并初始化其半支配点sdom[y]为自身节点y;
然后,对于T中的所有节点y,基于DFS序进行倒序枚举,更新节点y的半支配点sdom(y);
最后,通过sdom(y)计算y的支配点idom(y),计算公式如下:
u*=min{sdom[t]|t∈path}
Figure BDA0003442405050000034
其中path为搜索树T中sdom(y)到y的路径上的节点构成的集合,该集合不包括sdom(y),u*为path中半支配点的DFS序最小的节点;
S52:使用Kosaraju算法寻找流程控制图中的所有强连通分量,寻找过程如S521~S523:
S521:对于控制流程图G,使用深度优先搜索计算它的反向图GT的逆后序排序,记为reversePost;
S522:在G中进行深度优先搜索,按照reversePost的顺序访问所有未被访问过的节点,一次深度优先搜索中访问的所有节点属于同一强连通分量,将找到的强连通分量添加到集合SCC中;
S523:重复步骤S522直到G中的所有节点被访问,得到强连通分量集合SCC;
S53:取出SCC中节点数量大于1的强连通分量ΔSCC,遍历ΔSCC中的节点p,根据支配树的支配关系找到p的支配点idom(p),如果
Figure BDA0003442405050000041
则p为ΔSCC的首节点header;
S54:如果ΔSCC存在header,遍历ΔSCC中的边,如果一条边的目标节点为header,则该边为回边,存储在回边集合B中,从ΔsCC中删除包含在B中的边,完成删除后的ΔSCC记为
Figure BDA0003442405050000042
如果ΔSCC不存在header,使用深度优先搜索遍历ΔsCC,在遍历过程中,如果一个已访问节点vx的相邻节点vy也为已访问状态,则(vx,vy)存储在集合L中,遍历L的边,从ΔsCC中删除一个完全包含在ΔSCC的最长简单路径,完成删除后的ΔSCC记为
Figure BDA0003442405050000043
S55:不断按照S52中的Kosaraju算法找出
Figure BDA0003442405050000044
中所有的强连通分量并重复S53~S54的操作,直到不存在强连通分量,最终得到支配树的回边集合B。
作为优选,所述基于DFS序进行倒序枚举过程中,所有节点大小的比较都基于所述DFS序。
作为优选,所述半支配点sdom(y)更新所采用的更新公式如下:
Figure BDA0003442405050000045
其中x∈pre(y),即x为y的前驱节点集合中的节点,
Figure BDA0003442405050000046
代表从节点z经过搜索树T上的树边到达节点x,z是x在搜索树T上的祖先。
作为优选,所述S6的具体实现步骤如下:
S61:检索回边集合B中所有边的源节点与目标节点,得到源节点集S和目标节点集T;
S62:取出
Figure BDA0003442405050000047
中的一个用户动作e,先判断e是否属于T:
如果e∈T,则判断当前是否存在片段,当前不存在片段则新建一个片段segment并将e添加到segment中,e为一个片段的开始端e0,如果当前存在片段,则将e添加到segment中;
如果
Figure BDA0003442405050000051
且当前存在一个片段segment,则将e添加到segment中,继续判断e∈S且(e,e0)∈B是否成立,如果成立则片段segment结束,将segment存储在片段集合Ψ中;
S63:不断重复步骤S62,直到遍历完
Figure BDA0003442405050000052
中所有的用户动作,得到片段集合Ψ。
作为优选,所述S7的具体实现步骤如下:
S71:将用户动作日志处理成文本格式,其中用户动作日志由一组任务的分段组成;一个分段的每个用户动作都用一个唯一的正整数来表示,名称相同的用户动作使用相同的数字,文本中每一行为Ψ中的一个片段,一个代表用户动作的数字后跟随第一标记符,代表一个用户动作的结束,一个分段结束时对应行的末尾跟随第二标记符,代表一个分段结束;用户动作日志的所有数字之间用空格隔开,最终得到输入文本Input;
S72:输入最小支持度阈值minsup和输入文本Input,调用CloFAST算法,得到结果文本Output;
S73:对于结果文本Output,解析Output得到序列模式集合patterns,按照S731~S733根据模式内聚度进行排序,S731~S733具体如下:
S731:对于序列模式m∈patterns,比较其与Ψ集合中的片段,得到m完全在其中出现的片段集合Θ(m),遍历Θ(m)中的片段q,比较m与q,当m中第一个用户动作在q中出现时,开始统计在q中出现且未在m中出现的用户动作数量,记为离群值数量outliers,遍历完Θ(m)后计算outliers的中值,记为MedianOutlier,计算m的内聚度Cohensionm
S732:对patterns中每个序列模式重复步骤S731,直到得到patterns中所有序列模式的内聚度;
S733:将patterns中内聚度最高的序列模式r保存在可自动化流程集合
Figure BDA0003442405050000053
中;
S74:删除集合Ψ中包含r的所有集合并执行步骤S71~S73,不断迭代直到集合Ψ为空,得到可自动化流程集合
Figure BDA0003442405050000054
作为优选,S72所述的最小支持度阈值minsup取0.2。
作为优选,S731中所述m的内聚度Cohensionm计算公式如下:
Cohensionm=|m|-MediαnOutlier
其中|m|表示序列模式m的长度。
作为优选,所述第一标记符为“-1”。
作为优选,所述第二标记符为“-2”。
相对于现有技术而言,本发明的有益效果如下:本发明的方法基于构建流程控制图的支配树、Kosaraju算法和查找流程控制图回边等算法对动作日志进行分割,并使用CloFast算法识别分割后动作日志中的自动化流程。这种方法能够从动作日志中识别出可自动化流程,帮助分析人员从动作日志中识别大量和重复的操作,从而为机器人流程自动化提供具有潜力改善流程操作的可自动化流程,提高公司组织的效率。
附图说明
图1为本发明一种基于动作日志分割的自动化流程识别方法的流程图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行详细说明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
如图1所示,本发明的一种基于动作日志分割的自动化流程识别方法,其特征在于包括以下步骤:
S1:输入用户动作日志∑=<u1,u2,…,un>,∑由n个用户动作u=(t,τ,Pτ)组成,其中t代表用户动作的时间戳,τ代表用户动作的类型,Pτ代表用户动作参数,且用户动作参数包括语境参数与内容参数;ui代表第i个用户动作u。
S2:对日志进行预处理操作,去除日志中的冗余动作。其中日志中的冗余动作可通过定义正则化规则来去除。
S3:对预处理后的用户动作日志进行标准化,去除用户动作参数中的内容参数,只保留语境参数,标准化后的用户动作日志记为
Figure BDA0003442405050000061
其中每一个用户动作u标准化后记为
Figure BDA0003442405050000062
Figure BDA0003442405050000063
是语境参数;
Figure BDA0003442405050000064
代表第i个标准化后的用户动作
Figure BDA0003442405050000065
S4:根据标准化后的用户动作日志
Figure BDA0003442405050000066
按照S41~S43构建流程控制图G=(V,E,loop),其中V是G中结点的集合,E是G中边的集合,loop是G中的循环边,其中S41~S43具体为:
S41:取出
Figure BDA0003442405050000071
中的第一个标准化后的用户动作
Figure BDA0003442405050000072
Figure BDA0003442405050000073
创建节点v1,在V中添加节点v1,并将v1存储在可达性集合comingFrom中,记为reachability(v1),初始化E为空集合;
S42:取出
Figure BDA0003442405050000074
中的下一个标准化用户动作
Figure BDA0003442405050000075
Figure BDA0003442405050000076
创建结点v,被取出的标准化用户动作需从
Figure BDA0003442405050000077
中删除;如果
Figure BDA0003442405050000078
则在V中添加结点v,并在E中添加一条边(pre,v),其中pre是v的前驱节点,并将v存储在v的可达性集合comingFrom中,记为reachability(v);如果v∈V,且
Figure BDA0003442405050000079
则在E中添加一条边(pre,v),如果v∈reachability(pre),则(pre,v)为一条循环边,将这条边存储在集合loop中,如果
Figure BDA00034424050500000710
将v存储在v的可达性集合comingFrom中,记为reachability(v);如果v∈V,且(pre,v)∈E,则不进行操作;
S43:重复步骤S42,依次取出的标准化用户动作
Figure BDA00034424050500000711
即(u2,…,un),重复执行前述操作直到
Figure BDA00034424050500000712
的所有用户动作均被取出,得到流程控制图G=(V,E,loop)。
S5:构建流程控制图G的支配树,并得到支配树的回边集合B,作为下一步日志分割的依据。
在本实施例中,S5的具体实现步骤如下:
S51:构建流程控制图的支配树,构建方法为:
首先,对输入的流程控制图G=(V,E,loop)进行从入口结点v1开始的深度优先遍历DFS操作,建立一棵以v1为根的搜索树T,遍历过程中按照节点经过的时间先后顺序给T中的每个节点y一个标号,记为DFS序即dfn[y],并初始化其半支配点sdom[y]为自身节点y;
然后,对于T中的所有节点y,基于DFS序进行倒序枚举,更新节点y的半支配点sdom(y);
其中基于DFS序进行倒序枚举过程中,所有节点大小的比较都基于所述DFS序。
另外,上述半支配点sdom(y)更新可采用的更新公式如下:
Figure BDA00034424050500000713
其中x∈pre(y),即x为y的前驱节点集合中的节点,
Figure BDA00034424050500000714
代表从节点z经过搜索树T上的树边到达节点x,z是x在搜索树T上的祖先。
最后,通过sdom(y)计算y的支配点idom(y),计算公式如下:
u*=min{sdom[t]|t∈path}
Figure BDA0003442405050000081
其中path为搜索树T中sdom(y)到y的路径上(不包括semi(y))的节点构成的集合,该集合不包括sdom(y),u*为path中半支配点的DFS序最小的节点;
S52:使用Kosaraju算法寻找流程控制图中的所有强连通分量,寻找过程如S521~S523:
S521:对于控制流程图G,使用深度优先搜索计算它的反向图GT的逆后序排序,记为reversePost;
S522:在G中进行深度优先搜索,按照reversePost的顺序访问所有未被访问过的节点,一次深度优先搜索中访问的所有节点属于同一强连通分量,将找到的强连通分量添加到集合SCC中;
S523:重复步骤S522直到G中的所有节点被访问,得到强连通分量集合SCC;
S53:取出SCC中节点数量大于1的强连通分量ΔSCC,遍历ΔSCC中的节点p,根据支配树的支配关系找到p的支配点idom(p),如果
Figure BDA0003442405050000082
则p为ΔSCC的首节点header;
S54:如果ΔSCC存在header,遍历ΔSCC中的边,如果一条边的目标节点为header,则该边为回边,存储在回边集合B中,从ΔSCC中删除包含在B中的边,完成删除后的ΔSCC记为
Figure BDA0003442405050000083
如果ΔSCC不存在header,使用深度优先搜索遍历ΔSCC,在遍历过程中,如果一个已访问节点vx的相邻节点vy也为已访问状态,则(vx,vy)存储在集合L中,遍历L的边,从ΔSCC中删除一个完全包含在ΔSCC的最长简单路径,完成删除后的ΔSCC记为
Figure BDA0003442405050000084
S55:不断按照S52中的Kosaraju算法找出
Figure BDA0003442405050000085
中所有的强连通分量并重复S53~S54的操作,直到不存在强连通分量,最终得到支配树的回边集合B。
S6:遍历日志
Figure BDA0003442405050000086
中的用户动作,根据回边集合B将日志分割成片段,得到片段集合Ψ。
在本实施例中,S6的具体实现步骤如下:
S61:检索回边集合B中所有边的源节点与目标节点,得到源节点集S和目标节点集T;
S62:取出
Figure BDA0003442405050000092
中的一个用户动作e,先判断e是否属于T:
如果e∈T,则判断当前是否存在片段,当前不存在片段则新建一个片段segment并将e添加到segment中,e为一个片段的开始端e0,如果当前存在片段,则将e添加到segment中;
如果
Figure BDA0003442405050000091
且当前存在一个片段segment,则将e添加到segment中,继续判断e∈S且(e,e0)∈B是否成立,如果成立则片段segment结束,将segment存储在片段集合Ψ中;
S63:不断重复步骤S62,直到遍历完
Figure BDA0003442405050000093
中所有的用户动作,得到片段集合Ψ。
S7:将片段集合Ψ处理成指定的文本格式,使用闭合序列模式挖掘算法CloFAST挖掘Ψ中的频繁序列模式,根据内聚度得到可自动化流程集合
Figure BDA0003442405050000094
在本实施例中,所述S7的具体实现步骤如下:
S71:将用户动作日志处理成文本格式,其中用户动作日志由一组任务的分段组成;一个分段的每个用户动作都用一个唯一的正整数来表示,名称相同的用户动作使用相同的数字,文本中每一行为Ψ中的一个片段,一个代表用户动作的数字后跟随第一标记符,代表一个用户动作的结束,一个分段结束时对应行的末尾跟随第二标记符,代表一个分段结束;用户动作日志的所有数字之间用空格隔开,最终得到输入文本Input。
第一标记符和第一标记可根据需要进行调整,其中第一标记符为“-1”,第二标记符为“-2”。
S72:输入最小支持度阈值minsup和输入文本Input,调用CloFAST算法,得到结果文本Output。在本实施例中,最小支持度阈值minsup推荐取0.2。
S73:对于结果文本Putput,解析Putput得到序列模式集合patterns,按照S731~S733根据模式内聚度进行排序,S731~S733具体如下:
S731:对于序列模式m∈patterns,比较其与Ψ集合中的片段,得到m完全在其中出现的片段集合Θ(m),遍历Θ(m)中的片段q,比较m与q,当m中第一个用户动作在q中出现时,开始统计在q中出现且未在m中出现的用户动作数量,记为离群值数量outliers,遍历完Θ(m)后计算outliers的中值,记为MedianOutlier,计算m的内聚度Cohensionm;其中,m的内聚度Cohensionm计算公式如下:
Cohensionm=|m|-MedianOutlier
其中|m|表示序列模式m的长度。
S732:对patterns中每个序列模式重复步骤S731,直到得到patterns中所有序列模式的内聚度。
S733:将patterns中内聚度最高的序列模式r保存在可自动化流程集合
Figure BDA0003442405050000101
中;
S74:删除集合Ψ中包含r的所有集合并执行步骤S71~S73,不断迭代直到集合Ψ为空,得到可自动化流程集合
Figure BDA0003442405050000102
下面将上述S1~S7的方法流程应用于一个具体实施例中,通过实施例进一步展示其技术效果。
实施例
本实施例步骤与具体实施方式前述步骤S1~S7相同,在此不再进行赘述。下面就部分实施过程和实施结果进行展示:
本实施例所用的原始日志文件共7个,分为两组:人工日志和真实日志。日志特征如表1所示。通过使用工具对有色Petri网进行模拟,并对其进行组合得到人工日志1~5。其中人工日志1记录了以下场景:用户打开一个本地文件,再打开一个特定的网页,进行登录(假设登录信息总是相同并正确),等待来自服务器的响应,然后从网页复制数据到打开的文件。人工日志2~4是对人工日志1的扩展,包括添加错误操作,重复操作等。人工日志5是最为复杂的,为了评估该方法在复杂场景下的稳健性。真实日志包括学生记录日志和报销记录日志,这些日志记录了对真实场景的模拟。学生记录日志模拟将学生数据从电子表格传输到Web表单的任务。报销记录日志模拟将索赔人提供的数据填充报销请求的任务。每个日志包含一位操作者执行相应任务的50个记录,该操作者严格操作。这些日志包含很少的噪声,只包含一些简单的用户操作错误,比如用错误的值填充表单后,执行额外的操作来修改错误。对于这两个日志,我们知道底层任务是如何执行的,并且在进行评估时,我们将这些信息视为实际值来进行评估。
表1用户动作日志特征
Figure BDA0003442405050000111
为了验证本发明技术方案的技术效果,本实施例主要选取杰卡德系数(JaccardCoefficient,JC)和例程覆盖率对候选例程的质量进行评估,杰卡德系数的计算公式如下:
Figure BDA0003442405050000112
其中A表示提取的候选例程,B表示实际值例程。给定一个日志的一组候选例程和一组实际值例程,对于每个候选例程,分配最大的J(A,B)作为其质量分数。计算平均JC作为整体的例程识别质量。只用JC还不足以评估所发现的例程的质量,这个指标没有考虑在发现过程中可能遗漏的例程。因此,还需要测量总覆盖率,以量化所发现的例程对日志行为的捕捉程度。
表2显示了所发现的例程候选的质量。对于人工日志,由于其仅包含了属于例程的动作,不包含噪声,所以在人工日志上的结果较好,除了人工日志5以外,其他所有日志的杰卡德系数都为1.00。对于真实日志学生记录与报销记录,由于其存在噪音,总体结果对比人工日志较差,但本方法仍能得到较好的效果,发现日志中的自动化例程。综上,本发明提出的一种基于动作日志分割的自动化流程识别方法有比较好的效果。
表2候选例程质量评估
Figure BDA0003442405050000121
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

Claims (10)

1.一种基于动作日志分割的自动化流程识别方法,其特征在于包括以下步骤:
S1:输入用户动作日志∑=<u1,u2,...,un>,∑由n个用户动作u=(t,τ,Pτ)组成,其中t代表用户动作的时间戳,τ代表用户动作的类型,Pτ代表用户动作参数,且用户动作参数包括语境参数与内容参数;ui代表第i个用户动作u;
S2:对日志进行预处理操作,去除日志中的冗余动作;
S3:对预处理后的用户动作日志进行标准化,去除用户动作参数中的内容参数,只保留语境参数,标准化后的用户动作日志记为
Figure FDA0003442405040000011
其中每一个用户动作u标准化后记为
Figure FDA0003442405040000012
Figure FDA0003442405040000013
是语境参数;
Figure FDA0003442405040000014
代表第i个标准化后的用户动作
Figure FDA0003442405040000015
S4:根据标准化后的用户动作日志
Figure FDA0003442405040000016
按照S41~S43构建流程控制图G=(V,E,loop),其中V是G中结点的集合,E是G中边的集合,loop是G中的循环边,其中S41~S43具体为:
S41:取出
Figure FDA0003442405040000017
中的第一个标准化后的用户动作
Figure FDA0003442405040000018
Figure FDA0003442405040000019
创建节点v1,在V中添加节点v1,并将v1存储在可达性集合中,记为reachability(v1),初始化E为空集合;
S42:取出
Figure FDA00034424050400000110
中的下一个标准化用户动作
Figure FDA00034424050400000111
Figure FDA00034424050400000112
创建结点v,被取出的标准化用户动作需从
Figure FDA00034424050400000113
中删除;如果
Figure FDA00034424050400000114
则在V中添加结点v,并在E中添加一条边(pre,v),其中pre是v的前驱节点,并将v存储在v的可达性集合中,记为reachability(v);如果v∈V,且
Figure FDA00034424050400000115
则在E中添加一条边(pre,v),如果v∈reachability(pre),则(pre,v)为一条循环边,将这条边存储在loop中,如果
Figure FDA00034424050400000116
将v存储在v的可达性集合中,记为reachability(v);如果v∈V,且(pre,v)∈E,则不进行操作;
S43:重复步骤S42直到
Figure FDA00034424050400000117
的所有用户动作均被取出,得到流程控制图G=(V,E,loop);
S5:构建流程控制图G的支配树,并得到支配树的回边集合B,作为下一步日志分割的依据;
S6:遍历日志
Figure FDA0003442405040000021
中的用户动作,根据回边集合B将日志分割成片段,得到片段集合Ψ;
S7:将片段集合Ψ处理成指定的文本格式,使用闭合序列模式挖掘算法CloFAST挖掘Ψ中的频繁序列模式,根据内聚度得到可自动化流程集合
Figure FDA0003442405040000022
2.根据权利要求1所述的一种基于动作日志分割的自动化流程识别方法,其特征在于,所述S5的具体实现步骤如下:
S51:构建流程控制图的支配树,构建方法为:
首先,对输入的流程控制图G=(V,E,loop)进行从入口结点v1开始的深度优先遍历DFS操作,建立一棵以v1为根的搜索树T,遍历过程中按照节点经过的时间先后顺序给T中的每个节点y一个标号,记为DFS序即dfn[y],并初始化其半支配点sdom[y]为自身节点y;
然后,对于T中的所有节点y,基于DFS序进行倒序枚举,更新节点y的半支配点sdom(y);
最后,通过sdom(y)计算y的支配点idom(y),计算公式如下:
u*=min{sdom[t]|t∈path}
Figure FDA0003442405040000023
其中path为搜索树T中sdom(y)到y的路径上的节点构成的集合,该集合不包括sdom(y),u*为path中半支配点的DFS序最小的节点;
S52:使用Kosaraju算法寻找流程控制图中的所有强连通分量,寻找过程如S521~S523:
S521:对于控制流程图G,使用深度优先搜索计算它的反向图GT的逆后序排序,记为reversePost;
S522:在G中进行深度优先搜索,按照reversePost的顺序访问所有未被访问过的节点,一次深度优先搜索中访问的所有节点属于同一强连通分量,将找到的强连通分量添加到集合SCC中;
S523:重复步骤S522直到G中的所有节点被访问,得到强连通分量集合SCC;
S53:取出SCC中节点数量大于1的强连通分量ΔSCC,遍历ΔSCC中的节点p,根据支配树的支配关系找到p的支配点idem(p),如果
Figure FDA0003442405040000037
则p为ΔSCC的首节点header;
S54:如果ΔSCC存在header,遍历ΔSCC中的边,如果一条边的目标节点为header,则该边为回边,存储在回边集合B中,从ΔSCC中删除包含在B中的边,完成删除后的ΔSCC记为
Figure FDA0003442405040000031
如果ΔSCC不存在header,使用深度优先搜索遍历ΔSCC,在遍历过程中,如果一个已访问节点vx的相邻节点vy也为已访问状态,则(vx,vy)存储在集合L中,遍历L的边,从ΔSCC中删除一个完全包含在ΔSCC的最长简单路径,完成删除后的ΔSCC记为
Figure FDA0003442405040000032
S55:不断按照S52中的Kosaraju算法找出
Figure FDA0003442405040000033
中所有的强连通分量并重复S53~S54的操作,直到不存在强连通分量,最终得到支配树的回边集合B。
3.根据权利要求2所述的一种基于动作日志分割的自动化流程识别方法,其特征在于,所述基于DFS序进行倒序枚举过程中,所有节点大小的比较都基于所述DFS序。
4.根据权利要求2所述的一种基于动作日志分割的自动化流程识别方法,其特征在于,所述半支配点sdom(y)更新所采用的更新公式如下:
Figure FDA0003442405040000034
其中x∈pre(y),即x为y的前驱节点集合中的节点,
Figure FDA0003442405040000035
代表从节点z经过搜索树T上的树边到达节点xxz是x在搜索树T上的祖先。
5.根据权利要求2所述的一种基于动作日志分割的自动化流程识别方法,其特征在于,所述S6的具体实现步骤如下:
S61:检索回边集合B中所有边的源节点与目标节点,得到源节点集S和目标节点集T;
S62:取出
Figure FDA0003442405040000036
中的一个用户动作e,先判断e是否属于T:
如果e∈T,则判断当前是否存在片段,当前不存在片段则新建一个片段segment并将e添加到segment中,e为一个片段的开始端e0,如果当前存在片段,则将e添加到segment中;
如果
Figure FDA0003442405040000041
且当前存在一个片段segment,则将e添加到segment中,继续判断e∈S且(e,e0)∈B是否成立,如果成立则片段segment结束,将segment存储在片段集合Ψ中;
S63:不断重复步骤S62,直到遍历完
Figure FDA0003442405040000042
中所有的用户动作,得到片段集合Ψ。
6.根据权利要求5所述的一种基于动作日志分割的自动化流程识别方法,其特征在于,所述S7的具体实现步骤如下:
S71:将用户动作日志处理成文本格式,其中用户动作日志由一组任务的分段组成;一个分段的每个用户动作都用一个唯一的正整数来表示,名称相同的用户动作使用相同的数字,文本中每一行为Ψ中的一个片段,一个代表用户动作的数字后跟随第一标记符,代表一个用户动作的结束,一个分段结束时对应行的末尾跟随第二标记符,代表一个分段结束;用户动作日志的所有数字之间用空格隔开,最终得到输入文本Input;
S72:输入最小支持度阈值minsup和输入文本Input,调用CloFAST算法,得到结果文本Output;
S73:对于结果文本Output,解析Output得到序列模式集合patterns,按照S731~S733根据模式内聚度进行排序,S731~S733具体如下:
S731:对于序列模式m∈patterns,比较其与Ψ集合中的片段,得到m完全在其中出现的片段集合Θ(m),遍历Θ(m)中的片段q,比较m与q,当m中第一个用户动作在q中出现时,开始统计在q中出现且未在m中出现的用户动作数量,记为离群值数量outliers,遍历完Θ(m)后计算outliers的中值,记为MedianOutlier,计算m的内聚度Cohensionm
S732:对patterns中每个序列模式重复步骤S731,直到得到patterns中所有序列模式的内聚度;
S733:将patterns中内聚度最高的序列模式r保存在可自动化流程集合
Figure FDA0003442405040000043
中;
S74:删除集合Ψ中包含r的所有集合并执行步骤S71~S73,不断迭代直到集合Ψ为空,得到可自动化流程集合
Figure FDA0003442405040000044
7.根据权利要求6所述的一种基于动作日志分割的自动化流程识别方法,其特征在于S731中所述m的内聚度Cohensionm计算公式如下:
Cohensionm=|m|-MedianOutlier
其中|m|表示序列模式m的长度。
8.根据权利要求6所述的一种基于动作日志分割的自动化流程识别方法,其特征在于S72所述的最小支持度阈值minsup取0.2。
9.根据权利要求6所述的一种基于动作日志分割的自动化流程识别方法,其特征在于,所述第一标记符为“-1”。
10.根据权利要求6所述的一种基于动作日志分割的自动化流程识别方法,其特征在于,所述第二标记符为“-2”。
CN202111637202.3A 2021-12-29 2021-12-29 一种基于动作日志分割的自动化流程识别方法 Pending CN114331133A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111637202.3A CN114331133A (zh) 2021-12-29 2021-12-29 一种基于动作日志分割的自动化流程识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111637202.3A CN114331133A (zh) 2021-12-29 2021-12-29 一种基于动作日志分割的自动化流程识别方法

Publications (1)

Publication Number Publication Date
CN114331133A true CN114331133A (zh) 2022-04-12

Family

ID=81016143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111637202.3A Pending CN114331133A (zh) 2021-12-29 2021-12-29 一种基于动作日志分割的自动化流程识别方法

Country Status (1)

Country Link
CN (1) CN114331133A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878081A (zh) * 2023-02-23 2023-03-31 安徽思高智能科技有限公司 一种基于流程发现的高价值rpa需求分析系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918296A (zh) * 2019-02-14 2019-06-21 百度在线网络技术(北京)有限公司 软件自动化测试方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918296A (zh) * 2019-02-14 2019-06-21 百度在线网络技术(北京)有限公司 软件自动化测试方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MARISA LLORENS等: "A Semantics to Generate the Context-sensitive Synchronized Control-Flow Graph", Retrieved from the Internet <URL:http://personales.upv.es/josilga/papers/LOPSTR2010.pdf> *
VOLODYMYR LENO 等: "Discovering Executable Routine Specifications From User Interaction Logs", 《ARXIV:2016.13446》, 25 June 2021 (2021-06-25) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878081A (zh) * 2023-02-23 2023-03-31 安徽思高智能科技有限公司 一种基于流程发现的高价值rpa需求分析系统

Similar Documents

Publication Publication Date Title
CN110399800B (zh) 基于深度学习vgg16框架的车牌检测方法及系统、存储介质
US11841839B1 (en) Preprocessing and imputing method for structural data
CN114968727B (zh) 基于人工智能运维的数据库贯穿基础设施的故障定位方法
CN110866024B (zh) 一种矢量数据库增量更新方法及系统
CN111061709A (zh) 一种相似重复记录的数据清洗自动化方法及系统
CN114331133A (zh) 一种基于动作日志分割的自动化流程识别方法
CN106557881B (zh) 一种基于业务活动执行顺序的业务流程系统构建方法
CN115657890A (zh) 一种pra机器人可定制方法
CN110070131A (zh) 一种面向数据驱动建模的主动学习方法
CN114662793A (zh) 基于可解释分层模型的业务流程剩余时间预测方法与系统
CN115455429A (zh) 基于大数据的漏洞分析方法及系统
CN115719283A (zh) 一种智能化会计管理系统
CN115345458A (zh) 业务流程合规性检查方法、计算机设备以及可读存储介质
CN111353625B (zh) 一种网点件量预测方法、装置、计算机设备及存储介质
CN112052273B (zh) 一种多角度业务流程下一候选活动提取方法
CN112052232B (zh) 一种基于重演技术的业务流程上下文提取方法
CN111090585B (zh) 一种基于众测过程的众测任务关闭时间自动预测方法
CN116126790B (zh) 铁路工程档案归档方法、装置、电子设备、存储介质
CN117272646A (zh) 一种基于孪生神经网络的仿真软件自动操作优化方法
CN112052990A (zh) 一种基于CNN-BiLSTM混合模型的多角度业务流程下一活动预测方法
CN112819527B (zh) 一种用户分群处理方法及装置
Duan et al. Process mining of duplicate tasks: A systematic literature review
CN111209397B (zh) 一种确定企业产业类别的方法
CN117390090B (zh) 一种rpa流程挖掘方法、存储介质、电子设备
CN113537712B (zh) 一种基于轨迹重演的业务流程剩余活动序列预测方法

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