基于机器学习的工作流活动推荐

978-7-115-59918-6
作者: 陈广智李玲玲
译者:
编辑: 贾鸿飞

图书目录:

详情

随着云计算、大数据等的快速发展,越来越多的组织用信息化手段进行流程管理。如何提升流程执行的智能化程度、动态性和柔性,以提高对非标准业务的管理效率,是流程管理面临的一个重要问题。 本书基于流程管理系统积累的日志,提出了3种流程管理的工作流活动推荐方法,分别为基于用户类别近邻的活动推荐方法、基于Pearson相关系数的活动推荐方法和基于协同过滤的活动推荐方法,并介绍了一种流程信息的可视化算法,实现了一个可视化原型系统。 本书结构清晰,文字流畅,图文并茂,适合从事流程管理系统研究的读者阅读,也适合作为高校相关专业师生的参考书。

图书摘要

版权信息

书名:基于机器学习的工作流活动推荐

ISBN:978-7-115-59918-6

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

版 权

著    陈广智 李玲玲

责任编辑 贾鸿飞

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e59918”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

内 容 提 要

随着云计算、大数据等技术的快速发展,越来越多的组织用信息化手段进行流程管理。如何提升流程执行的智能化程度、动态性和柔性,以提高对非标准业务的管理效率,是流程管理面临的一个重要问题。

本书基于流程管理系统积累的日志信息,提出了3种流程管理的工作流活动推荐方法,分别为基于用户类别近邻的活动推荐方法、基于Pearson相关系数的活动推荐方法和基于协同过滤的活动推荐方法,并介绍了一种流程信息的可视化算法,实现了一个可视化原型系统。

本书结构清晰,文字流畅,图文并茂,适合从事流程管理系统研究的读者阅读,也适合作为高校相关专业师生的参考书。

前 言

随着互联网应用的日益普及和信息化的快速发展,人们对服务的需求越来越多样化,对服务质量的要求越来越高,特别是对流程服务的要求越来越高。这就要求流程管理系统提供的流程服务在具有规范性的同时,也必须具有一定的灵活性。另外,经济的不断发展和各项政策法规的不断完善,使政府、企事业单位的业务不断变化,进而导致它们的流程管理系统产生一些非标准业务执行记录,这些记录违反预定义的业务模型。事实上,业务流程长期固定不变几乎是不可能的。非标准业务是流程管理系统设计前没有考虑到的情况,它们脱离了流程管理系统的管理,只能依靠人工管理。为避免这种情况的发生,一种方法是重新设计流程管理系统,将这些非标准业务考虑进来。但是,事先完全掌控流程是不可能的,非标准业务总会出现。

另外,传统流程管理系统面对的是强流程领域,传统信息管理系统面对的是纯信息的管理,在这二者之间的中间地带存在着这样的应用需求:这类业务流程具有很强的可变性和柔性,它不仅需要一定的流程管理,也需要相关的信息管理,待相关的信息明确后业务流程的下一步才能被动态确定。近年来,流程管理研究领域将一些信息融合进来以使流程管理动态化和自适应,信息管理研究领域将一些流程信息融合进来以解放人工就反映了这种需求的存在。与此同时,推荐系统研究领域异常活跃,其中的推荐思想和技术为本书活动推荐提供了理论支持和实践基础。

为解决上述应用领域中非标准业务出现带来的一些问题,避免流程管理方面过多的人工活动,增强流程管理系统的流程执行智能化、动态性和柔性,本书提出了几种工作流活动推荐方法。这些方法利用流程管理系统积累下来的业务流程执行日志,向当前正在执行的业务流程推荐其下一项可能执行的活动。业务流程执行日志既包含正常业务执行日志,也包含非标准业务的执行日志。随着业务流程管理系统的长期执行,非标准业务执行日志的数量就越积越多,推荐方法的效果也就越来越好。先前靠人工建立的非标准业务执行信息得以重用,避免了后来的非标准业务执行的人工管理。

具体来说,本书主要包括以下内容。

(1)提出了基于用户类别近邻的活动推荐算法。该算法分为离线计算和在线推荐两部分,离线计算部分计算业务执行日志中的最终用户的类别相似性;在线推荐部分利用业务执行日志信息,计算与当前执行业务用户类别近邻的那些完整的业务执行日志,然后再利用这些用户类别近邻的日志计算出推荐列表。该算法的重点是用户类别相似性的计算和活动序列的匹配。

(2)将推荐系统领域中用来度量用户相似性的Pearson相关系数引入活动推荐中来,提出了基于Pearson相关系数的活动推荐算法。由于每个工作流实例是一个活动名称的序列,它们不能直接参与数值运算,所以,本算法先将序列中每个活动出现的顺序以数值的形式提取出来,列成矩阵,类似于推荐系统中的User-Item矩阵,以便计算实例间的相似性。

(3)在基于Pearson相关系数的活动推荐算法的基础上,提出基于协同过滤的活动推荐算法。该方法假定每个工作流实例都关联一个最终用户,同一个用户可以关联多个不同的实例。该算法采用特定方法由实例库构造出一个用户对实例的打分矩阵。在该矩阵的基础上,利用协同过滤的方法对矩阵中的未知值进行填充,最后,利用填充后的矩阵向当前不完整实例推荐下一项可能的活动。

(4)为给本书提出的活动推荐算法提供一个可视化平台,并便于底层推荐算法对流程信息操作处理,我们设计了一种用来表示业务流程信息的XML格式,并提出了相应的可视化算法,实现了一个可视化原型系统。

为检验上述方法,我们构造了相应的仿真数据集。实验结果和相应的对比分析表明,本书提出的推荐算法是有效的和可行的。工作流活动推荐的关键是实例间相似度的计算,我们从理论方面拓展了相似度的计算方法。这些推荐算法在实践中有利于增强流程管理系统随机应变的能力,提高最终用户的满意度。

第1章 引言

活动推荐具有很广泛的应用,借鉴和移植推荐系统研究领域的思想或技术到活动推荐中,是很有趣的研究。本章主要介绍活动推荐研究的背景、问题和意义,以及主要内容。

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自适应地将Cbp2Cbp3考虑进来,增强工作流系统与时俱进的能力,促进相关业务实例高效地开展。这是一个有趣且有意义的研究。

采用推荐的方法向用户下一个可能的步骤提供指导和建议所带来的一个显著的好处是,充分利用了原有的执行日志信息,特别是依靠人工管理的非标准业务部分,避免或减少了未来业务执行中的人工流程管理。本书的写作动机及问题解决思路如图1-3所示。

图1-2 一个旅游业务的工作流模型(改编自文献[25])

表1-1 实际推荐系统及它们推荐的产品(改编自文献[31])

推荐系统

推荐的产品

Amazon

图书及其他产品

Netflix

DVD及流媒体视频

Jester

笑话

GroupLens

新闻

MovieLens

电影

Google News

新闻

Google Search

广告

Facebook

朋友、广告

Pandora

音乐

YouTube

在线视频

Tripadvisor

旅游产品

IMDb

电影

图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中,对推荐系统和工作流管理系统都有好处。对推荐系统来说,拓展了其应用领域;对工作流管理系统来说,增强了自身的能力,从而能促进对二者研究的交叉融合。综上所述,研究工作流活动推荐不仅具有理论意义,而且具有很强的实践意义。

1.2 国内外研究现状

1.2.1 推荐在工作流系统中的应用

遵照工作流领域[11]的术语规范,本书将模型中某项业务的最小逻辑执行单元称为任务(Task);将某项正在运行的业务中已经执行过的任务、满足条件可以执行的任务、当前正在执行的任务统称为活动(activity)。这些内容将在第2章中详细讲解。

为更好地描述各种不同类型的推荐工作,本书总结出了各种不同的推荐类型(recommendation type,RecType),参见表1-2。推荐不是凭空进行的,必须依据一定量的历史信息,这些信息可以是大量的执行过的工作流实例,也可以是建模人员积累的大量模型信息,表1-2中第1列指出了推荐类型所依据的是何种信息。推荐可以是对当前不完整的工作流实例进行的下一项可能执行活动的推荐,也可以是对当前建模模型的下一个可能的Task的推荐。表1-2中第2列指出了推荐类型做的是何种推荐,第3列内容为对各种推荐类型进行标记。

表1-2 推荐应用于工作流系统中的各种类型

依据的信息

推荐级别

记为

实例

实例

RecType I

实例

模型

RecType II

模型

模型

RecType III

一个WfMS经过一段时间的运行,会积累一定数量的工作流模型,这些模型既包含当前正在使用的,也包含过去曾经使用但现在不再使用的模型,它们共同构成了工作流模型库。当模型设计者在设计一个新模型时,可将当前不完整模型与模型库中模型进行相似性匹配,向模型设计者推荐其可能建模的下一个Task,从而辅助模型设计者快速地建模。

Agnes Koschmider等人[52]利用元数据信息筛选出与当前模型块相似的业务模型或业务模型块,供模型设计者选用。他们方法的推荐粒度比较大,不完全是一次推荐一个活动,推荐出的可能是Task或Task组合,其推荐类型为RecType Ⅲ,以辅助业务模型建模。文献[51, 53]先利用图挖掘的方法从模型库中找出子图在整个库中出现的频率,从而建立一个模式表;然后用最小DFS(depth-first search,深度优先搜索)编码[54]将模式表中图结构表示的模型转化成字符串,接着用字符串匹配的方法向当前不完整模型推荐其下一个可能的Task,辅助模型设计者建模。这种仍然是模型级别上的推荐,推荐类型为RecType Ⅲ。

在面向服务的计算(service oriented computing)领域,Web服务的发现及组合优化可以看作是工作流模型的构建;每个具体的Web服务确定后,就构成了一个由多个Web服务组成的Web应用,Web应用的每次具体执行可看作是工作流实例在执行。Web应用是工作流系统的特例,其中的活动自动化程度较高, 几乎不需人工干预。在构造Web应用时,要得到更好的Web服务,以达到更优的Web组合和应用,就需要使用推荐技术。

文献[55]将语义信息加入到Web服务的描述中,利用语义匹配的方法找出与当前用户需求相符合的Web服务——候选Web服务列表;用户选择符合的Web服务后,还要求用户对该服务打分;有了打分数据后就形成了用户对Web服务的打分矩阵,在后来的推荐中使用基于物品的协同过滤算法(item-based collaborative filtering)[56]向用户推荐Web服务。该方法没有考虑Web服务间的执行顺序信息,仅仅是在局部情景下对用户当前的需求做出反应。本书的推荐方法考虑了活动间的执行顺序信息,未考虑活动名称间的语义匹配信息,但这可能成为我们未来的工作方向。本书第5章介绍的协同过滤所基于的打分矩阵与文献[55]中的产生过程不同,是根据用户执行过的实例活动序列信息与库中其他实例的序列信息进行比较分析自动生成的,反映的是用户对一个完整实例的偏好程度,而不是对一个活动的偏好程度。另外一区别在于,文献[55]推荐时所依据的语义描述是预先确定的,而本书第5章的推荐方法依据的实例库是事先不确定的。

文献[50]提出的推荐方法,其应用场景是服务组合领域[57]。该文献讨论了如何更好地利用历史服务组合例子来帮助构建当前的服务组合,利用离线创建的模式表向当前不完整的服务组合推荐下一个较合适的服务,是服务组合模型级别上的推荐,其推荐类型为RecType Ⅲ。抛开上述应用场景,该推荐方法同样可以应用于本书的推荐场景——RecType I。因为该文献中的实例库的实例既不包含角色信息,也不包含用户信息,所以在本书第4章中,我们将与文献[50]的推荐方法通过实验对比进行分析。

科学工作流系统[58-60]领域讨论了如何根据工作流执行实例库向用户推荐和帮助用户发现他们需要的、有用的工作流组件(workflow component)。此方法的缺点是,某个工作流组件的推荐是根据上游直接相邻的一个结点,例如,如果ab具有很强的相关性,即ab,那么当执行a后,b就会被向用户推荐。当不直接相邻的上游结点存在强相关性时,这个推荐方法的结果就不准确。David Koop等人[61]提出了一种更复杂的方法,先利用实例库信息确定所有可能的线性不间断活动序列,为每个序列计算置信分(confidence score),向当前不完整的实例ě推荐时,从ě中找出置信分最大的那个序列,以其为基准向ě推荐其下一项可能的活动。该方法的缺点是当间断的序列对下一项活动具有较强的影响时,推荐的结果就不太准确。

与本书相似,文献[62]的推荐类型为RecType I,它采用历史工作流实例信息对不完整实例进行下一项可能的活动推荐,它采用三种不同的方法筛选与不完整实例相似的完整实例:前缀法、集合法和多重集合法。前缀法仅仅考虑不完整实例的最后一项活动,完整实例在对应索引位置上的活动与该活动完全匹配才被筛选出来,这个要求太苛刻且没有考虑该活动之前的活动信息;集合法和多重集合法则完全忽略了活动的顺序信息。为克服这个方法的不足,本书第4章介绍的算法不仅考虑了不完整实例的最后一项活动,也考虑了该活动之前的活动信息,同时也考虑了这些活动的顺序信息。

1.2.2 协同过滤

推荐系统是用来向当前用户(active user)推荐其感兴趣的商品或服务的程序或应用系统。从20世纪90年代初开始研究它以来,诞生了各种各样的推荐算法。值得一提的是,在2006年,Netflix为改善自己的推荐系统性能,以高额的奖金为举办了一个推荐系统大赛之后,推荐系统和推荐算法的研究蓬勃发展,出现了各种各样的系统优化和改进。从推荐系统的发展历程来看,协同过滤(collaborative filtering,CF)是使用最为广泛、研究最为深入的推荐方法,并在学术和工业界得到了成功应用。CF考虑了用户间的爱好关系,将与当前用户具有相似兴趣的用户所感兴趣的项推荐给当前用户。

David Goldberg等人于1992年首次提出CF这一术语,并利用CF技术对信息进行过滤。他们设计了系统Tapestry用于过滤和筛选出当前用户感兴趣的电子邮件,是第一个使用CF技术的系统。每个用户需对他们已读过的邮件进行标注(annotation),这些标注对其他使用系统的用户可见,通过这些已有的标注, 当前用户可以构造出过滤查询语句,从而得到其真正需要和感兴趣阅读的邮件。Tapestry使用的CF不是自动的,需要用户基于预先设计的查询语言构造复杂的查询语句。

GroupLens是第一个自动化CF系统,使用了基于用户近邻的(user-based,neighborhood-based)推荐算法。GroupLens向用户推荐他们可能喜欢的文章。它的新闻阅读客户端(news reader clients)能够显示当前用户对未阅读文章的预测评分,也能够接收用户对已阅读文章的评分。最初的GroupLens系统采用Pearson相关系数度量用户间的相似性,并用所有近邻用户评分与其各自平均评分的差的加权平均作为最终的评分预测。为保护隐私,用户评分时使用假名,这样并不影响评分预测效果。Konstan等人讨论了实现GroupLens协同过滤系统面临的挑战、GroupLens的运作机制、评分预测方法、用户兴趣的分布等, 指出个性化推荐要好于非个性化推荐。

上述基于用户近邻的CF算法的计算量随着用户数的增加而增加,当用户的数量远远大于项的数量时,例如,商务网站Amazon的用户数量就远大于待销售的书籍的数量,基于用户近邻的CF算法所需的计算量就特别巨大,不能满足商务网站推荐的实时性要求。为克服上述缺点,使得推荐系统能在很短的时间内推荐出高质量的结果,基于项近邻的(item-based, neighborhood-based)CF推荐算法被设计出来并得以运用[56]。与基于用户近邻的CF算法类似,基于项近邻的CF算法首先计算项间的相似性,然后向当前用户推荐与他喜欢项相似的项。由于项间的关系相对稳定,所以基于项近邻的CF算法在保持与基于用户近邻CF算法相同推荐效果下能够使用较少的在线计算时间。

当数据比较稀疏时,CF算法既无法找出当前用户的近邻用户,也无法找出某些项的近邻项,因此,其推荐效果就受到影响。例如,如果没有用户对新加入的项评分,那么这个项就无法被推荐。为了使基于CF的推荐系统运作良好,必须有一定数量的用户对项进行评分。为解决数据的稀疏问题,Sarwar等人使用了一些专门设计的智能体自动地填充一些数值,从而方便CF算法的执行。这些智能体是一些自动打分的机器人,本身携带非协同过滤信息(基于内容的信息)对新加入的项进行评分,以此来解决数据的稀疏性问题。此外,数据稀疏还会造成两个用户共同评分的项比较少,这对采用Pearson相关系数计算用户间相似性的算法带来不利影响,解决办法是使用默认评分(default voting)。

1.3 研究内容和创新点

推荐虽然早已应用于工作流领域中,但在工作流活动推荐方面的工作较少。本书提出了几个活动推荐算法,并设计了相应的实验,分析了它们的推荐效果。首先是基于用户类别近邻的活动推荐算法,利用用户类别和活动名称匹配的方法进行推荐,但与其他已有的名称匹配方法[62]不同,这将在后面章节中具体讲解。其次,是借鉴推荐系统领域的协同过滤技术,由此形成新的实例间相似度计算方法,从而设计了借鉴协同过滤技术的推荐算法,该算法首先将实例库和当前不完整实例转化成数值形式,利用数值函数计算不完整实例与实例库中完整实例的相似度,以筛选出实例库中与不完整实例相似性高的那些实例,以这些实例的信息向当前不完整实例推荐其下一项可能执行的活动。最后,更进一步,我们提出了基于协同过滤的推荐算法,将执行每个实例的最终用户考虑进来,同时构造了完全类似于用户对产品项目的打分矩阵——User-Item矩阵,用更加复杂的推荐方法向不完整实例推荐其下一项可能执行活动。本书围绕着工作流活动推荐这个主题,变换不同的推荐场景,利用多种不同的方法推荐,同时按照一定的评价指标评价分析了这些算法的推荐效果。

具体来说,本书内容的创新点包括:

(1)提出了基于用户类别近邻的活动推荐方法;

(2)将推荐系统领域中的推荐思想、推荐技术引入工作流活动的推荐;

(3)在第(2)点的基础上,完全采用协同过滤的方法进行工作流活动推荐。

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e59918”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

相关图书

ChatGPT原理与应用开发
ChatGPT原理与应用开发
动手学机器学习
动手学机器学习
机器学习与数据挖掘
机器学习与数据挖掘
机器学习公式详解 第2版
机器学习公式详解 第2版
自然语言处理迁移学习实战
自然语言处理迁移学习实战
AI医学图像处理(基于Python语言的Dragonfly)
AI医学图像处理(基于Python语言的Dragonfly)

相关文章

相关课程