现在将参考附图详细描述本发明的工作流挖掘系统及相应的方 法的一个优选
实施例。
图2是一个描述了本发明的工作流挖掘系统30的一个应用情况 的视图。参考图2,工作流挖掘系统30安装在一个工作流服务器20 上,并且工作流服务器20与至少一个客户计算机30相连。这些系统 可以通过一个内部的局域网(LAN)、广域网(WAN)、或互联网 而互相
访问。根据本发明,“互联网”的意思是根据一种标准协 议,如TCP/IP、HTTP,和一种无线互联网协议(例如WAP)可以 互相访问的网络集合。它还包括以后的变化,包括对现有标准协议的
修改和补充。
工作流服务器20包括一个工作流引擎21、一个监视模块22和 工作流挖掘系统30。
工作流引擎21根据过程定义控制活动,并且接收用于从客户端 增加、校正、删除和搜索某个文档文件的控制命令,或者根据一个自 操作来操作。工作流引擎21包括一个组织管理模块、一个文件夹管 理模块、一个流程控
制模块、一个DB存储模块和一个文件管理模 块。
组织管理模块从事ID管理,以及访问权授予和去除(登录控 制),以管理加入工作流系统的人。
文件夹管理模块用于系统化地管理关于过程定义的项目。即, 它使得用户可以知道在哪一个文件夹中存在哪个过程定义。例如,车 保险过程定义、人寿保险过程定义和火灾保险过程定义可以被存储在 一个保险文件夹中。
流程
控制模块用于根据来自客户计算机10的命令或自操作将控 制命令传送给DB存储模块或文件管理模块。
DB存储模块在数据库40中存储了在客户计算机10中定义的一 个文档文件、过程定义、文档文件之间的版本关联性、以及文档文件 的校正日期和校正者。
监视模块22包含根据由流程控制模块生成的各种过程信息来观 察处理过程的流程的功能。这里,各种过程信息存储在数据库40 中。
数据库40存储了在工作流系统的操作过程中所生成的各种记录 数据,如通过操作工作流引擎21而生成的过程定义、档案文件、实 例、用户、文档文件、文档历史、创建者和校正者。
工作流挖掘系统30在管理员的
请求下,根据数据库40中的记 录数据来评价、分析和确定过程和活动的先前执行结果,因此该数据 可以用作商务过程重调整(BPR,business process reengineering) 的客观数据。
图3是一个描述了工作流挖掘系统30的详细结构的视图。如图 3所示,工作流挖掘系统30包括一个数据提取和处理模块32、一个 预处理模块34、一个数据统计模块36和一个分析模块38。
数据提取和处理模块32从数据库40中提取必要的数据,并生 成一个分析表。可以对过程和活动进行分别分析。通常,首先分析过 程,然后再详细的分析活动,但并不仅限于此。数据提取和处理模块 32具有一个过程分析表的生成模块和一个活动分析表的生成模块, 以提取数据并生成分析表。预处理模块34根据由分析表提取的数据 搜索数据的特性,去处不必要的属性,如果必要则划分实例,并且通 过对区域(section)进行划分将数字变量转化为符号变量。为此,预 处理模块34包括一个分析表数据装载模块、一个属性选择和去除模 块和一个过滤模块,过滤模块包括一个离散化
过滤器、一个记录过滤 器和一个遗漏值过滤器。
数据统计模块36以文本或图形的方式为经过预处理的数据集提 供基本的统计值,以掌握变量之间的基本关联性。为此,数据统计模 块36包括一个预处理数据装载模块和一个显示模块。
分析模块38通过使用一些分析
算法来对经过预处理的数据进行 分析。分析模块38对决策树和关联性进行分析,因此它包括一个决 策树分析模块和一个关联性分析模块。
图4A至4D是描述了数据提取和处理模块32的一个处理过程 的视图;
图4A示出了一个初始屏幕,其中数据提取和处理模块32生成 分析表。如图4A所示当按下“WM_PROCESS TABLE GENERATION”按钮而生成过程分析表时,如图4B所示过程分析 表生成模块被执行,用于连接数据库40的输入窗口被打开,在其中 输入用户ID、密码以及分析对象的过程定义ID。分析表生成模块从 数据库40中提取具有所输入的过程定义ID的过程实例的一般信息, 并完成表的生成。图4C示出了所生成的分析表的一个例子。如图4C 所示,过程分析表的属性包括一个服务器ID(SVRID)、一个过程 实例的标识符(PROCID)、一个表示紧急的标记(URGENT)、一 个表示过程项中的密码验证状态的标记(PASSWDF)、一个注释号 码(CMNTCNT)、一个附件号码(ATTACHCNT)、一个过程实 例的解释名称(NAME)、一个a.m./p.m.形式的创建时间 (CREATIONTIME1)、一个在一周的某一天的创建时间 (CREATIONTIME2)、一个在时间间隙中的创建时间 (CREATIONTIME3)、一个过程实例的创建者ID(CREATOR) 和一个过程实例的创建者的名称(CREATOR NAME)。因为以前 准备在数据库40中的记录数据被用作属性的数据,所以过程分析表 的属性可以是数据库40的属性的一部分或全部。
另一方面,当数据提取和处理模块32试图生成活动分析表时, 在图4A 的初始屏幕中按下“WM_ACTIVITY TABLE GENERATION”按钮,如图4D所示活动分析表生成模块被执行, 用于连接数据库40的输入窗口被打开,在其中输入用户ID、密码、 以及分析对象活动的过程定义ID和活动顺序ID。活动表生成模块从 数据库40中提取具有所输入的过程定义ID和活动顺序ID的过程实 例的一般信息,并完成表的生成。所生成的活动分析表的属性成为数 据库40的字段的一部分或全部,与过程分析表相同。
图5A至5D的视图描述了预处理模块34的一个处理过程。
图5A示出了预处理模块被执行的初始屏幕。预处理模块通过按 下处于图5A的屏幕顶端的“DATA PREPROSESSING”
开关按钮 而被启动。如图5A所示,预处理模块包括一个用于由分析表提取的 数据的基本表、和一个用于预处理过的数据的操作表。预处理方法依 赖于一种将在后面用到的分析模块。因此根据分析的目标来执行一种 恰当的预处理过程是很重要的。通过按下基本表上的“Open DB” 按钮来执行分析表数据的载入模块,由此而载入分析表的数据。图 5B示出了载入的一种结果。基本表的
属性信息窗口示出了属性的名 称和类型。当用户点击了一个想要的属性,基本表的属性信息窗口将 示出属性的特性。属性的特性以符号格式示出了一个变量和
频率,以 及数字格式的最大、最小、标准偏差和平均值。
为了去除不必要的属性,如图5C所示,在选项框中取消了对不 必要属性的选择,并且通过按下“Apply Filter”开关按钮来执行属 性选择和去除模块,由此而得到图5D的结果。也就是说,在去除不 必要的属性之前属性的数目是62,而在去除之后缩小到35。另一方 面,在预处理过程之后,另外需要一个通过符号变量来划分数字变量 的过程来进行关联性分析。在此情况下,将使用离散化过滤器及两个 算法:第一个是用来将一个最大值区域和一个最小值区域划分为属性 分布中的预定区域并且离散化变量的方法,即无管理的离散化;第二 个是用来根据类变量的分布来离散化属性的方法,即有管理的离散 化。另一方面,记录过滤器是一个用于从分析对象中排除某个特定记 录(意思与实例相同)的过滤器。例如,用记录过滤器来从分析对象 中排除图4C中过程实例标识符PROCID在120之后的过程实例。另 外,当一个变量是空值时使用遗漏值过滤器。主要地,遗漏值过滤器 使用一种用于将数字变量替换为平均值,以及将符号变量替换为一个 最常被生成的模式。
当预处理模块34处理完与去除属性、转换变量以及去除记录相 关的预处理过程后,数据统计模块36为数据集提供文本或图形形式 的基本的统计值以掌握变量的基本关联性。
图6A至6C的视图描述了数据统计模块36的一个处理过程。 图6A示出了当数据统计模块36执行时的初始屏幕。通过按下图6A 屏幕顶端的“DATA STATISTICS”开关按钮来启动数据统计模 块。当用户点击了“DATA STATISTICS”按钮,由预处理数据装 载模块所预处理的数据就被装载以为每一个变量提供统计值。也就 是,对数字变量示出最小、最大、平均和标准偏差,对符号变量示出 模式和频率。当用户点击了图6A右下端的“BASIC STATISTICS DISTRIBUTION”按钮时,示出模块将被执行以圆图的形式示出符 号变量,以关于基本统计值的直方图形式示出数字变量。图6B示出 了基本统计值的圆图和直方图。另外,当用户点击了图6A左下端的 “SECONDARY SCATTER DIAGRAM”按钮时,将示出两个属性 之间的基本关联性。图6C说明了一个示出了表示创建时间 CREATIONTIME1(a.m.和p.m.格式)的变量与表示延误过程实例 STATE1的变量之间的关联性。可以看出,当变量 CREATIONTIME1的值为AM,并且变量STATE1的值为 NOverDue时,这两个变量之间有非常紧密的关联性。
分析模块38在预处理模块34预处理的变量和属性以及数据的 基础上,分析决策树或关联性。
图7A至7E是描述了决策树分析模块的一个处理过程的视图。
决策树分析以决策树的形式为对象变量(类变量)产生可能的 规则。
图7A示出了决策树分析模块执行时的初始屏幕。通过按下图 7A顶端的“DECISION MAKING TREE ANALYSIS”开关按钮来 开始决策树分析模块。当决策树分析模块被执行时,由用户选择用于 决策分析的算法。根据本发明,由J Ross Quinlan所建议的C4.5算 法被用作决策树分析算法,但并不意味着仅限于此。如图7B所示, 当用户选择了算法,决策树分析模块装载预处理的属性数据,并且让 用户决定是否通过变量来使用数据作分析。图7C示出了一个选择完 分析用的变量以及对类完成
指定后的状态。类指出了一个是可能规则 的演绎对象的变量。在决策树分析中,一对类变量以及一个特定的值 成为规则的结果。例如,当用户想要获得针对表示延误过程实例 STATE1(变量STATE1和变量OverDUE的对)的延误情况的可能 规则,变量STATE1成为类,并且为了决策树分析,此类需要是符 号型的。因此,在预处理过程中数字型的类变量必须要由离散化过滤 器转化为符号变量。因为决策树分析是一种直接的分析方法,表示分 析对象的变量之一必须要被指定为类。
参考图7C,最后一个变量STATE2被选择不用作分析,被指定 为类的变量为STATE1。当选择完了变量,用户点击 “EXECUTION”按钮来进行决策树分析。分析结果如图7D所示 以文本的形式示出。通过点击“VISUALIZATION”按钮,如图7E 所示还可以以图形的形式示出。图7D和7E示出了当类变量是 STATE1时的关于搜索影响延误过程的变量的分析。对STATE1最 有影响作用的变量是CREATIONDATE1,随后的影响变量是 AR10、CREATIONTIME3和AR5。
也就是说,过程在下面的场合下是延误的:
1)过程在下午执行,
2)过程在上午执行,并且第十活动的执行时间低于5,
3)过程在上午执行,第十活动的执行时间高于5,并且过程在6 之后执行,
4)过程在上午执行,第十活动的执行时间高于5,过程在6之后 执行,并且第五活动的执行时间高于1512。
如图7E所示,提供了四个内部
节点。每一个节点示出为一个圆 圈形。外部的圆圈示出了类变量在
父节点中的分布率,内部圆圈示出 了根据相应节点的标准间隔的类变量的间隔率。矩形表示一个叶节 点,括号内的数字是属于相应叶节点的数据集中的实例的数目。当树 很复杂时,可以通过
整理来减少复杂性。特别地,通过点击某个特定 节点,可以示出从最重要的节点到相应的节点所生成的规则。
在上面解释了通过使用经过预处理的数据来分析决策树的过 程,但是另外一种分析可以用来分析关联性。
关联性分析意味着在支持和可靠性的基础上搜索数据库中的独 立项之间的关联性或规则。这里,项是包括属性和属性的特定值的 对,关联性分析是用于在所有在给定数据库中的可能的项的集合之间 搜索关联性的一种分析方法。首先,支持意味着满足条件X和结果Y 的过程实例或执行活动的数目与所有过程实例或执行活动的数目的比 值。
S(X,Y)=P(X,Y)/所有过程实例或执行活动实例的数目
X:条件
Y:结果
P(X,Y):过程或执行活动的实例(包括X和Y联合组成的三 项)的数目
S(X,Y):满足规则“如果条件是X,则结果是Y”
这种支持可以被认为是规则的统计重要性。因为支持意味着一 个模型或规则经常被生成的频率,所以它应该被增加以提高模型或规 则的应用。
另一方面,可靠性意味着满足结果Y的过程实例或执行活动的 实例与满足条件X的过程实例或执行活动的实例的比值。这种比值 成为测量规则“如果满足条件X,则结果为Y”的准确性的一个指 标。因此,高准确性产生了准确的预测。
C(X,Y)=P(X,Y)/P(X)
X:条件
Y:结果
P(X,Y):包括由X和Y的联合组成的三个项的过程或执行活动 的实例的数目
C(X,Y):规则“如果条件是X,则结果是Y”的可靠性
总之,规则的可靠性示出了结果可以被应用到条件中的频率, 而支持示出了整个规则的可靠性。
另一方面,用于分析关联性的所有变量(作为分析对象)必须 是符号型的。因此,数字变量需要通过预处理过程中的数字化过滤器 被转
化成符号变量。
图8A至8D是描述了关联性分析模块的一个处理过程的视图。
图8A示出了关联性分析模块被执行时的初始屏幕。关联性分析 模块是通过按下图8A的屏幕的顶端的“ASSOCIATION”开关按钮 而被启动的。当关联性模块执行时,用户需要选择用于分析的算法。 根据本发明,Apriori算法被用作分析关联性的算法,但并不仅限于 此。如图8B所示,当用户选择了算法,关联性分析模块将提供一个 用于设置分析用的输入变量的输入窗口。输入变量包括许多所需的规 则、最小可靠性、最小支持边界值、支持的降低值、和最大支持边界 值。当规则被构造后,将确定是否使用一个兴趣(interest)项,并 且用作兴趣项的一个变量和一个兴趣项值被指定以将兴趣项加入到规 则的结果中。
当设置完在Apriori算法中执行分析模块所需的输入变量后,用 户点击“ASSOCIATION ANALYSIS START”按钮以执行Apriori 算法。关联性分析模块执行Apriori算法,并如图8C所示生成一个 执行结果。这里,关联性分析结果被以文本的形式示出,但是可以通 过点击“OUTPUT”按钮而如图8D所示以表的形式示出。
图8C和8D的分析结果是在图8B中输入的输入值的基础上生 成的规则。图8D的分析结果中的规则10具有如下的意思:
条件1)过程是在星期五上午执行的(CREATETIME1=AM, CREATIONTIME2=FRI)
条件2)第2活动的执行时间超过179(AR2=′179-inf′)
条件3)第9活动的执行时间低于112(AR9=′-inf-112′)
条件4)第10活动的执行时间低于19(AR9=′-inf-19′)
结论)过程是延误的(STATE1=OverDue)
另外,规则10的支持和可靠性分别是19%和100%。因此,整 个分析对象数据库的19%的过程可以被上述的规则所解释,并且规 则的可靠性是100%。也就是,当满足条件时,与结果相对应的结论 总是会出现。
其它规则可以用与规则10相似的方式来解释。
图9示出了一个根据本发明的工作流挖掘方法的
流程图。
首先,当工作流挖掘想要在一个特定的过程或活动上执行时, 将生成一个对应的过程分析表或活动分析表(S100)。
当生成完分析表后,预处理过程将作为用于决策树或关联性分 析的在先过程而执行(S110)。在预处理过程中,数据从分析表中装 载,特定数据集的属性被去除,特定区域的记录被去除,或者通过适 当的区域划分将数字变量转化为符号变量。特别是对关联性分析,数 字变量必须被转化成符号变量。
此后,是一个用来确定选择性经过预处理的数据的基本统计资 料的过程(S120)。也就是,统计资料示出了数字变量的最大、最 小、平均和标准偏差,以及与经过预处理的数据相关的符号变量的模 式和频率。另外,如果需要,可以以直方图的形式示出数字变量, 以圆图的形式示出符号变量。
当预处理过程结束后,可以用决策树分析或关联性分析来分析 数据集。为了分析决策树,用于决策树分析的算法被选择(S130), 预处理属性数据被装载(S140),是否使用数据来分析由变量来决 定,并且类变量被指定(S150)。这里,类变量必须是符号变量。当 数字变量被指定为类变量时,程序将转向预处理过程来完成转化。当 变量的选择完成后,用于决策树分析的算法被执行来产生结果 (S160)。
另一方面,当打算在预处理过程之后执行关联性分析时,用于 关联性分析的算法被选择(S170)。当选择完算法后,用于设置分析 关联性所需的输入变量的输入窗口将被提供(S180)。在输入窗口中 指定了规则的数目、最小可靠性、最小支持边界值、支持的降低值、 最大支持边界值、对兴趣项的使用、兴趣项变量和兴趣项值(S190) 之后,用于关联性分析的算法将被执行来生成结果(S200)。
本发明在不脱离其精神和本质特征前提下,可以有多种具体实 施方式,应当理解上述实施例并不仅限于上述的任何细节,而应该在 所附
权利要求所定义的精神和范围内被广泛地解释,因此所有落在权 利要求的边界和范围内的或者与这些边界和范围等价的变化和修改都 试图包含在附加权利要求内。
如前面所讨论的,根据本发明,工作流挖掘系统和方法通过在 工作流系统的运行过程中累积的记录数据中以及在由连接到工作流系 统的应用系统所累积的数据中使用特定的数据发掘技术,以评价、分 析和确定过程或活动的先前执行结果,从而系统性地重调整通用的商 务过程。