1.1 研究背景、问题及意义
1.1.1 背景介绍
随着信息化的日益普及和互联网技术的快速发展,为方便公司内部各部门协调工作和共享信息,整合公司内部各个业务处理系统的企业系统(enterprise systems,ES)[1, 2]被开发出来,用来支持公司各个阶段的操作。为拥有和保持竞争优势,提高运转效率,改进决策,许多组织都在部署和使用ES系统[3-5]。ES系统整合了各个业务流程(business processes)以支持企业的发展战略。另外,用于公司与外部组织业务交往的一些系统也会涉及业务流程。所谓业务流程,就是由一个或多个办事步骤(活动)构成的集合,这些步骤的执行顺序遵循预先定义的规则,通常执行完毕后会实现商业目标或战略目标[6]。
以上系统中工作流技术处于核心地位[7, 8]。从技术方面讲, 采用工作流技术的系统被称为工作流管理系统(workflow management system,WfMS)。WfMS是一种企业信息系统,通过计算机系统自动地将各项工作分配给资源——人或者应用系统,并且确保各项工作遵循预先定义的流程模型。工作流技术[9-12]应用的领域越来越多,如汽车制造领域[13]、电子商务领域[14]、医疗领域[15, 16]、电子政务领域[17]等,其在提高组织的运转效率方面发挥了巨大作用,并有效地增强了组织竞争力。
公司业务流程中有一类是已确定并保持长期稳定的,是公司开展业务、提高竞争力的一套准则或标准,也是公司宝贵经验的积累。这类业务流程的特征是具有长期的稳定性,可以作为标准确定下来以指导相关业务的开展。我们称这类流程为强流程。自商业WfMS在20世纪80年代中期出现以来[18],强流程管理系统在工业方面的应用仍在增加[19]。一家统计公司推算其在市场上的应用规模在2018年已达到70亿美元。在学术研究方面,强流程也得到了极大的关注,关于它及相关主题的专著、手册、期刊论文和会议论文大量出现[12, 20-22],可以说关于强流程方面的研究已经很成熟。
还有一类流程,它们本身变动非常频繁,具有多样性、跳跃性的特点,不容易利用建模的方式将它们捕捉出来。它们与强流程是对应的,我们称之为弱流程。弱流程的执行会带来非标准业务[1]。造成弱流程的原因多种多样,如竞争环境激烈、相关政策的调整、机构自身条件的改变等。弱流程的出现方式:
[1] 非标准业务指的是未按照预先设定好的业务模型执行的业务,与它对应的是标准业务 (正常业务)。它虽然能和标准业务达到相同的目标,却更改了原有的办事步骤和资源间的依赖关系。非标准业务和标准业务都是面向用户的术语,在技术层面上,我们分别称它们为异常实例和正常实例。后续章节中会讨论实例的概念。
(1)机构相关人员了解某流程很好,且在未来有得以实现的可能,但由于现有条件的限制无法实施;
(2)流程本身是存在的,但机构相关人员不知道它们的存在,这类流程的管理依靠人工;
(3)本来是强流程,但随机构的发展,转化成了弱流程。
弱流程的出现要求流程管理系统必须更加灵活,以支持机构快速调整业务流程,从而适应已改变的环境。图1-1所示为流程灵活性与其得到的流程管理系统的支持之间的关系。从图1-1中可以看出,流程越灵活,也就越靠近弱流程,其所得到的流程管理系统的支持就越少。
图1-1 流程灵活性与流程管理得到的支持之间的关系[23]
为进一步增强感性认识,接下来讨论流程变动的几种情况,并指出它们是属于强流程还是弱流程。
(1)变动后会保持长期的稳定性,记为Cbp1,变动后的流程属于强流程。这种变动可用重新建模的方法解决,通常的WfMS都带有建模工具,用于辅助模型的建立。属于这种变动类型的流程通常带有强流程性、可重复性及可变性[24]。强流程性是指业务流程的执行有先后顺序,个人不能随便更改,某些还有法律依据;可重复性体现在业务流程的实际执行中,即同一个业务可在不同的时间、不同的最终用户参与下多次重复地办理,例如,某种证书的申请业务,多则一天上千个申请,少则也有几百个;可变性是指虽然系统的业务流程相对固定,但在政策、制度或部门职能发生改变的前提下,这些业务流程也可能发生一些变动。可重复性的业务具有较高的自动化程度,有一套统一的标准和规范。
(2)模型能保持相对的稳定性,但总会出现违反模型的“特例”,或者称之为异常实例[25]。这种流程变动情况记为Cbp2,发生变动的流程属于弱流程。Claus Hagen等人[25]提出了一种描述非标准业务处理的方法,使得建模时将一些非标准情况描述出来,从而增强WfMS系统的灵活性。上述方法虽在一定程度上减少了非标准业务的出现,但在某些情况下,非标准情况是无法预先知道的。针对非标准业务建模前无论如何都无法考虑周全的问题,自适应流程管理(adaptive process management)[26, 27]技术被提出来用于处理非标准业务和支持业务流程的演化。例如,ProCycle[28, 29]和CAKE2[27]都支持用户重用先前积累的模型来处理当前的非标准业务。而本书提出的方法与它们不同,是通过日志库信息来指导和建议当前用户处理非标准业务的。并且ProCycle和CAKE2采用基于案例推理(case-based reasoning)的方式重用先前的模型信息,因此它们每次处理使用的是一次模型的经验,推荐出的下一项活动是单一的,没有选择的;而本书所用的方法推荐出来的下一项活动是多个可能性的列表,含每项活动的频率信息,并且采用了多个标准业务和非标准业务的信息。
(3)不存在模型,存在的仅仅是变化不定的实例,每个实例中的活动间存在隐性相关性约束,此种变动情况记为Cbp3。处在这种变动下的流程属于弱流程。
举一个Cbp2的例子。电子政务是信息化在政府部门的运用,辅助政府各项事务的运转。政府处理的各项事务,例如项目审批、营业证发放等,都会牵涉到政府的多个部门,均有着特定的步骤、办事程序,因此电子政务是工作流技术应用的主要领域之一。对某项政府事务来说,通常会存在一个业务模型,大部分业务实例都会遵从该模型,但由于新条件的出现,在后来未知的时间点总会出现一些业务实例,会违反预定的业务模型,让人按照另外一个不同的办事程序完成该业务实例。对某个业务模型来说,我们将遵从该模型的业务实例称为正常实例,将违反该模型的业务实例称为异常实例。从电子政务领域非标准业务出现的不可预知性可知,掌控全部流程信息很困难。
再举一个Cbp3的例子:电子商务网站的浏览行为。在某个商务网站上,可以将用户在进入该网站至退出期间产生的点击行为看作一个业务实例。这样的业务实例事先不遵从任何业务模型,用户每一次点击行为具有极大的不确定性。但在某些点击行为之间可能存在着特定的相关性,例如,如果用户点击了《Java编程思想》这本书的购买链接,那么他极有可能点击购买其他相关的Java图书。
从理论上来讲,机构的信息化建设存在两种“极端”方式:一是采用管理信息系统[2](management information systems,MIS),二是采用传统的WfMS。前者完全不管理流程,后者虽管理业务流程,但管理的流程属于强流程。MIS在帮助机构高效管理和使用信息方面发挥了积极的作用,但其不进行任何业务流程方面的管理和监控,在促进机构业务高效运行方面存在短板。使用MIS的机构通常也会存在相应的业务流程,这些业务流程的管理和执行主要依靠人工,MIS在数据信息方面给这些业务流程提供支持。传统WfMS在业务流程长期保持不变的场合能够使用,但这样的场合少之又少。正如前文所述,存在多种因素会导致机构的业务流程发生改变,并且在当前变化快速的市场环境和技术趋势下这种改变频率会一直增大。因此,上述两种系统的过渡地带就存在着这样的应用需求:需要管理流程,但这些流程都是弱流程。这类应用需求若采用传统管理强流程的方法管理,就会陷入“流程变动”的泥潭里。
[2] 这里所指的是狭义的管理信息系统。实际上,现在的管理信息系统也在往流程管理方面靠近,以利于企业管理其所有的信息,较好地做出决策。管理信息系统和工作流管理系统有进一步融合的趋势。
弱流程的变动导致了过多的人工消耗。这主要表现在如下两个方面。
(1)为解决流程变动,机构可能使用重新建模的方法覆盖流程出现的新情况。但由于流程变动不可预期,所以重新建模的次数也不可预期。每一次重新建模所消耗的人力成本和时间成本是惊人的。
(2)当流程变动出现时,原有的流程管理系统失效,这时依靠人工管理流程以保证业务的正常运转。这种人力成本的消耗也很大。
综上,如何减少甚至避免弱流程的变动带来过多的人力成本的消耗,如何在弱流程执行过程中给用户更多的支持和指导,是本书主要介绍的内容。采用智能化技术动态、自适应地解决流程变动带来的问题,是工作流技术发展的必然趋势[30]。
需要注意的是,流程管理系统运转过程中会保存流程执行日志。这些流程执行日志分两种类型:一种是按照系统预先设计的模型正常执行得到的,即是正常实例的日志,它们的执行得到了系统的支持;另一种违反预先设计的模型,即是异常实例的日志,它们靠人工管理得以执行完毕,最终执行的全过程也会以日志的形式被记录下来。
这些由系统记录下来的业务执行日志对未来的业务执行具有重要的指导意义。关于执行日志的使用,先前的工作[20]从这些日志中学习出一个模型来,但学习出来的模型本身代表了一种新的强流程,对从根本上解决弱流程的问题意义不大。
若能利用这些历史实例信息向当前正在执行的不完整实例进行下一项可能执行活动的推荐,对电子政务系统来说,将会弥补业务模型表达力的不足,避免非标准办理过程中过多的人工干预;对电子商务网站来说,将会辅助用户快速找到自己需要购买的商品,既可简化用户的购买过程,节省用户的购买时间,又可促进商务网站的商品销售。
接下来进一步阐述推荐在工作流实例执行中的重要性。图1-2描述了一个旅游业务的工作流模型。对新的订单来说,有三项工作要做:订航班、租自驾车和预订酒店。在流程执行过程中情况多种多样,模型不可能指定具体是哪一辆车,最好是根据顾客的收入、爱好、习惯等情况推荐一辆较适合的车,也就是说,根据执行过程中遇到的具体用户,匹配到底哪一辆车出租。同理,预订酒店时若能根据顾客所喜欢的房间风格、房间价格等情况向其推荐合适的酒店,就更能提高顾客的满意度。上述根据顾客的个性化需求做出的推荐,能使顾客和企业达到共赢的和谐局面。
推荐系统[31-35]这些年来是一个研究热点,并在音乐[36]、电影[37]、图书[38]、购物、社交网络等[39, 40]方面已经得到了应用,表1-1给出了一些推荐系统及它们各自所推荐的产品。另外,推荐技术已在需求工程[41-43]、代码编写[44-47]、软件工程[48, 49]等领域得到了研究和应用,我们可以借鉴推荐系统研究中的相关推荐技术,将它们用于工作流活动推荐,从而能够使WfMS自适应地将Cbp2和Cbp3考虑进来,增强工作流系统与时俱进的能力,促进相关业务实例高效地开展。这是一个有趣且有意义的研究。
采用推荐的方法向用户下一个可能的步骤提供指导和建议所带来的一个显著的好处是,充分利用了原有的执行日志信息,特别是依靠人工管理的非标准业务部分,避免或减少了未来业务执行中的人工流程管理。本书的写作动机及问题解决思路如图1-3所示。
图1-2 一个旅游业务的工作流模型(改编自文献[25])
表1-1 实际推荐系统及它们推荐的产品(改编自文献[31])
图1-3 本书写作动机及解决问题的思路
1.1.2 问题介绍
个性化推荐要成功应用于工作流活动中,必须具备如下两个条件。
(1)业务流程经常变动。如果模型固定,那就无须推荐,直接按照预先规定的流程执行即可。
(2)用户事先不知道如何办理业务。此类情况在实际生活中经常遇到,有的仅仅知道一个大概的方向,但真正如何执行还是需要系统推荐。
本书涉及的相关研究还是基于上述两个假设开展。
这里粗略地讲解一下本书的研究问题。
图1-4所示的工作流实例库(workflow instance repository)是系统自身积累并记录的历史业务实例信息;不完整工作流实例(partial workflow instance)是当前正在处理的业务实例,该实例还没有到达结束状态,并且其有一个参与人,我们称之为用户,例如,一个正在向某政府部门申请项目的人或者一个正在浏览商务网站的人。参与不完整工作流实例的人不止一个,图1-4中只显示了一个参与人,这个参与人我们称之为最终用户(end user),业务实例执行中的其他用户所执行的活动要服务于最终用户。工作流活动推荐模块(workflow activity recommendation)利用实例库信息和不完整实例信息向用户推荐其应当执行的下一项活动,从而使不完整实例执行过的活动数量增加一个,这样持续下去,直到该不完整实例进入结束状态,变成一个完整实例。这个完整实例被系统记录下来,放入到工作流实例库中。
图1-4 工作流活动推荐框架,红色问号所示为本书的主要研究问题
图1-4所示的推荐模块是本书重点研究的问题,即采用什么样的推荐方法才能取得较好的推荐效果,这在后面各个章节中会详细阐述。一个完整工作流实例首先必须含有活动的执行序列信息,在具体的推荐算法研究中,我们还会分别对其加上角色和用户信息,以使其更加接近实际场景。
1.1.3 研究意义
本书的内容具有很强的应用背景,从大的方面来说,至少具有以下意义。
(1)工作流活动推荐能弥补原模型表达力的不足,增强系统融合新业务实例信息的能力,自适应地将流程变动情况考虑进来,避免模型的再设计。当然,系统最初遇到非标准业务时,还是需要通过人工干预使该业务顺利执行,同时将该业务信息存入日志库。随着日志库中非标准业务积累的增多,推荐模块吸收的新信息也在增加,再处理未完成非标准业务时,推荐模块的推荐结果就会越来越准确,所需要的人工干预就越来越少。
(2)工作流活动推荐使人工对系统的干预尽量降到最低,使系统的自动化程度越来越高。部署和使用工作流管理系统的目的之一就是增加计算机自动化处理的比重;采用推荐技术既避免了工作流模型的再设计,又逐渐减少了处理非标准业务过程中的人工干预,而这种干预来源于非最终用户。这样就做到了“能用计算机做的事情,就用计算机做”,使相关人员从一些烦琐的工作中解放出来,专注于其他更重要的事情。
(3)工作流活动的推荐是个性化的推荐,能更好更精准地满足最终用户的需求。采用推荐的方法指导用户进行下一项活动,从而使得系统变得更加柔性。但是在绝大多数情况下,事先确定出所有可能的业务流程走向是不可能的,总会出现非标准业务。利用包含正常实例和异常实例的日志库,向当前未完成的非标准业务推荐下一项可能活动,原有的模型信息没有丢失,新的信息又融合了进来,同时给予最终用户选择的权利,这样更能够满足用户的需求,且能激发用户潜在的需求。
(4)工作流活动推荐的研究,对工作流建模领域的Task推荐也具有相当重要的借鉴意义。模型建模过程中的推荐研究对本书内容有一定的启发意义,同样本书内容对模型建模推荐方面也有一定的借鉴意义。例如,文献[50]提出的推荐方法既可用于建模时模型Task的推荐,也可用于工作流活动的推荐。文献[51]在模型Task推荐方面与文献[50]的工作做了对比,而本书第4章中在工作流活动推荐方面也与文献[50]的工作做了对比。
将推荐系统研究领域里的有关推荐思想、推荐技术应用于WfMS中,对推荐系统和工作流管理系统都有好处。对推荐系统来说,拓展了其应用领域;对工作流管理系统来说,增强了自身的能力,从而能促进对二者研究的交叉融合。综上所述,研究工作流活动推荐不仅具有理论意义,而且具有很强的实践意义。