用于自动化工作模式量化的方法和系统与流程

文档序号:15164689发布日期:2018-08-14 17:20阅读:351来源:国知局

本申请涉及用于自动化工作模式量化的方法和系统。



背景技术:

生产力有时按每单位投入的产出率(例如,每小时生产的小部件的数目)来量化和测量。然而,生产力的这种常见量度难以转用于其投入和产出不容易被量化的知识工作者。结果,知识工作者生产力传统上未被客观地量化。

研究已经表明,不间断专心时间对于基于知识的工作行业(例如,软件开发)中的工作者生产力来说可以是有用的。因此,知识工作者可以将不间断专心时间的增加与提高的生产力等同起来。这已导致接受旨在增加专心时间的实践,例如,对其日程表进行碎片整理或者仅在一天中的某些时间检查电子邮件。然而,为了评估这些实践的影响,要求知识工作者手动地跟踪他们的生产相关活动,这不仅费时而且不利于他们正设法实现的实践。结果知识工作者难以量化他们的努力是否实际地影响他们的工作模式。

不管通过提高的专心(也被称为专注(focus))来提高生产力的愿望如何,知识工作者缺少用于量化其工作模式和/或测量其工作模式的变化如何影响其专注/专心的自动化过程/工具。类似地,公司缺少用于评定基础设施(诸如办公空间、工作者设备)和环境因素(诸如公司服务、工作场所气氛)等如何影响工作模式和/或知识工作者专注的框架。



技术实现要素:

发明人已经认识到,需要使量化工作模式的过程自动化并且对工作者专注提供反馈的工具。

本说明书一般而言描述用于使工作模式量化自动化并且特别地用于基于量化工作模式向知识工作者提供专注反馈的方法和系统。

一般而言,本说明书中所描述的主题的一个方面可以用一种用于基于量化度量来使工作模式量化自动化并且提供工作者反馈的方法加以具体实现,所述方法包括:针对用户识别要量化的工作模式;使用与经识别的工作模式相关联的一个或多个预定义规则来确定与所述工作模式相关联的至少一个任务;识别被访问来执行所述至少一个任务的一个或多个服务;收集来自所述一个或多个确定的服务的事件,所收集的事件中的每一个具有关联的时间戳;对所收集的事件进行过滤以去除与所述至少一个任务和所述用户不相关联的事件;将经过滤的事件聚合成事件会话,其中事件会话是每个后续事件在前一个事件的预定义时间段ti内发生的事件的序列;对所述事件会话进行分析以生成与所述至少一个任务相关联的专注度量;以及通过基于所述专注度量提供反馈来量化所述工作模式。

这些和其它实施例可可选地包括以下特征中的一个或多个。对所述事件会话进行分析可以包括:将所述事件会话聚合成专注和非专注会话;以及基于所述专注和非专注会话来生成所述专注度量。如果从所述会话中的第一事件到所述会话中的最后一个事件的时间段大于预定义时间段tf则可以将事件会话认为是专注的。用于定义事件会话的时间段ti和用于定义专注会话的时间段tf可以基于与所述会话相关联的所述任务而变化。所述专注度量可以包括专注指数或碎片化指数。在一些实施方式中,多个任务可以被确定为与工作模式相关联并且对所述事件会话进行分析以生成专注度量可以包括:将具有重叠时间段的事件会话识别为多任务处理会话;以及基于所述多任务处理会话来生成所述专注度量。

在仅通过图示给出的附图和以下描述中阐述了本发明的一个或多个实施例的细节。本发明的其它特征、方面和优点将根据本说明书、附图和权利要求书变得显而易见。在各个附图中相同的附图标记和名称指示相同的元件。

附图说明

图1是图示根据实施例的用于识别工作模式并生成用于量化工作模式的工作模式规则的过程的框图。

图2是图示根据实施例的用于生成专注度量的过程的框图。

图3a至图3c图示根据实施例的专注度量用户反馈概要。

图3d图示根据实施例的日程表覆盖图。

图4图示根据实施例的收集的事件变成事件会话以及事件会话变成专注和非专注会话的聚合。

图5是根据实施例的用于使工作模式量化自动化的框架的框图。

图6是图示计算装置的框图。

具体实施方式

根据实施例,工作模式量化器工具捕获关于工作场所中的知识工作者的工作模式的信息,处理并聚合所捕获的信息,然后向知识工作者提供关于其专注的反馈。此反馈可以采取例如但不限于专注度量和/或使所捕获的工作模式可视化的仪表板以及支持对工作模式的改变并提供量化反馈的推荐的形式。

出于说明和清楚的目的,本文中所公开的实施例是相对于软件开发中的知识工作者(即,软件工程师)来描述的。然而,本发明不应该限于仅此示例,因为本文中所公开的工具和方法可以被应用于任何知识工作者环境。

基于量化工作模式的生产力度量

根据实施例,工作模式量化器工具(在本文中为“量化器工具”)可以从各种源收集关于工作模式的信息。如图5中所示,量化器工具(507)可以接收来自多个服务的工作模式数据和/或其它信息,所述多个服务例如但不限于任务特定服务(501)、一般服务(503)和时间管理服务(505)。任务特定平台/服务(501)包括其主要目的是为了帮助知识工作者执行其指派的作业任务的那些服务和/或平台,例如,文档创作工具/服务、用于代码开发的交互式开发环境(ide)以及代码编辑器。一般服务(503)包括可以用于帮助知识工作者完成/执行其指派的作业任务但是其主要目的是更一般的服务,诸如电子邮件服务、web浏览器、会议系统、存储网络等。时间管理服务(505)包括帮助知识工作者管理其时间/日程的那些服务和/或应用,例如日程表应用和会议计划服务。尽管已经提供了特定软件开发相关服务示例,然而可以使用其它服务。应该注意的是,特定服务可以被认为是相对于一项作业特定的任务,而相对于另一作业为一般服务。

此外,量化器工具(507)可以从非服务相关硬件和/或软件(511)接收数据。非服务相关硬件和/或软件(511)可以包括例如但不限于来自移动装置的传感器数据、关于工作环境或来自工作环境的传感器数据或者由知识工作者穿戴的个人传感器/装置。也可以经由用户界面(509)提供来自知识工作者本身的数据和/或反馈。量化器工具(507)可以分析从各种服务和/或传感器收集的数据并且计算度量以便量化工作模式(在下面更详细地讨论)。

参考图1,量化器工具(507)可以收集/捕获关于工作场所中的知识工作者工作模式的信息(步骤101和步骤103)以生成在工作模式量化中使用的规则(步骤105)。在一些实施例中,可以通过对知识工作者进行调查以确定他们认为有生产力的并且/或者他们想要跟踪的任务来识别工作模式(步骤101)。此外或可替选地,可以通过剖析工作者的计算机和/或系统使用以确定被例行地访问的那些服务来识别工作模式(步骤103)。工作模式包括知识工作者希望量化的至少一个任务。例如,软件工程师可能希望通过增加其不间断编码时间来量化和/或改进其编码效率。量化器工具因此可以首先收集有关软件工程师与他或她每天使用以便完成他的或她的作业的各种服务的交互的信息,所述各种服务包括诸如编码平台、编辑器等的任务特定服务以及诸如电子邮件、日程表、网站等的一般服务。例如,软件工程师可以检查电子邮件,键入文档,在交互式开发环境(ide)中编写代码,在构建系统中构建代码,在可以包括测试环境的编码平台中运行代码,将代码登记入代码储存库,并且将文档和代码的副本保存在文件系统中。可以从这些系统中的每一个收集信息以便确定软件工程师在上面花费时间的任务以及做每个任务花费了多少时间。基于该信息,量化器工具(507)识别了用于量化编码效率的一个或多个预定义规则(步骤105)。

当工作者专注于任务(例如,编码或创作文档)时,工作者不断地与关联的服务交互。例如,当编写代码时,工作者可以与ide或编码平台交互;当创建文档时,工作者可以与文字处理平台、文件系统和文件存储平台交互。作为这些交互的结果,所关联的服务可以记录稳定的事件流。这些服务通常记录用户事件以及指示该事件何时发生的时间戳。例如,软件工程师可以将文档保存在文字处理平台中或者将源代码保存在编码平台中。这些保存事件中的每一个可以连同事件的时间戳一起被记录。编码事件也可以包括修订追踪、启动调试会话、编译启动、运行启动和/或模拟器启动。电子邮件系统可以记录电子邮件打开和关闭事件,组成电子邮件启动和停止事件,电子邮件发送和接收事件等。ide可以记录文件打开和关闭事件、保存事件、编译事件、运行事件、调试事件、链接到漏洞id等。量化器工具通过生成预定义规则而允许此事件数据用于使工作模式量化自动化,所述预定义规则允许工具例如通过识别与特定工作模式相关联的一个或多个任务和/或从其捕获每个经识别的任务的事件数据的一个或多个服务来确定哪些事件与特定工作模式相关。这些规则的生成允许量化器工具使量化特定工作模式所需的监视过程自动化。

例如,编码平台和/或创作服务习惯在已作出改变的情况下周期性地保存文件。因此,量化器工具(507)可以利用此特征并且基于是否在预定时间段(例如,30分钟)内发生两个保存事件而生成用于将保存事件转换成编码会话的集合的规则。量化器工具可以随着时间的推移而调谐或者改变预定时间段以反映工作模式的变化。使用所生成的提供30分钟时间段的规则,如果在第一保存事件的30分钟内发生第二保存事件则量化器工具将两个保存事件认为是在相同的编码会话中。否则,如图4中所图示第一事件被认为是编码会话的结束而第二事件被认为是下一个编码会话的开始/开端。另一编码会话规则可以是编码会话总是被认为是在其第一保存事件5分钟之前开始以捕获工作者必须在第一保存事件之前完成一些编码的事实。可以基于外部信息(例如,编码服务的自动保存间隔)来定义时间段。此外,与规则相关联的任务或工作模式(例如会议)可以建立自然会话边界,例如会议的开始和会议的结束。

在图2中图示了根据实施例的用于基于量化度量来使工作模式量化自动化并且提供工作者反馈的过程。知识工作者经由量化器工具的用户界面(509)来识别要量化的工作模式例如编码效率(步骤200)。量化器工具(507)使用与经识别的工作模式相关联的一个或多个预定义规则来确定要量化的至少一个任务(步骤202)并且确定被访问来执行所述至少一个任务的一个或多个服务(步骤204)。量化器工具(507)然后收集来自一个或多个服务的事件数据,包括所关联的时间戳(步骤206)。

量化器工具(507)可以使用以下方法中的任何一个或多个来从各种服务收集/接收事件数据。量化器工具(507)可以通过访问服务日志、使用服务api并且/或者发送针对特定数据的请求消息来从服务请求/捕获事件数据。可以将事件数据从各种服务推送给量化器工具(507)。量化器工具(507)可以订阅事件通道并且处理发布的事件更新。

量化器工具(507)可以使用这些事件数据点来计算各种专注度量(210)。然后可以使用所生成的专注度量来通过提供个体或群组反馈来量化工作模式(212)。根据实施例,可以使用专注度量来以在下面关于图3a至图3c更详细地讨论的不同的粒度级别量化工作模式。

参考图2和图4,分析事件数据包括对事件数据进行过滤并排序成事件的时间序列以及基于与被量化的任务和/或工作模式相关联的预定义规则来将事件序列聚合成会话(步骤208),例如专注的和非专注的。因为事件数据可以包括与各种任务和个体相关联的数据,所以首先基于关联的任务对事件数据进行过滤(202)。此过滤去除与被量化的任务和/或工作模式不相关联的事件。在基于事件相关性过滤之前,事件数据可以被过滤以区分系统生成的事件和用户生成的事件,然后基于各种准则被次过滤。系统生成的事件由服务自动地生成,例如但不限于,包括自动保存的服务可以按预定义间隔自动地生成保存事件。用户生成的事件是作为用户动作的结果而记录的事件,例如但不限于,打开文件、启动调试运行或者保存文档。经过滤的数据然后被聚合成特定任务的事件会话(步骤208)。会话是每个后续事件在前一个事件的预定时间ti内发生的事件的序列。预定义时间ti通过与被量化的任务和/或工作模式相关联的规则来提供。

量化器工具(507)可以通过确定指定持续时间内的连续交互性来识别专注工作模式。如果存在持续超过预定时间的事件的序列则可以将会话识别为专注的。例如,如果从会话中的第一事件到最后一个事件的时间段比预定周期tf长。工具基于预定时间间隔ti和tf将事件的序列聚合成专注和非专注会话的序列。时间间隔ti和tf是基于与被分析的任务和/或工作模式相关联的规则来定义的,因此,两个时间间隔可以变化。时间的附加和/或替代准则可以用于确定两个事件是否应该被认为是同一编码会话的一部分,例如,文件路径可以用于区分特定项目、代码中的注释、起作用的代码功能和与代码相关联的漏洞。

一旦所收集的事件被聚合成会话,它们就用于生成一个或多个专注度量(步骤210)。可以基于事件会话生成的专注度量是专注指数。研究表明,创造性工作(例如,编码、设计、文件创作等)最好在长的不间断时间段内完成。为了鼓励知识工作者参与允许他们长时间不间断地专注于其创造性工作的行为,量化器工具(507)可以基于以下公式来计算专注指数:

其中ts是会话s的长度,all是所有会话的集合,focused是专注会话(即,长度为至少tf的会话)的集合,并且unfocused是非专注会话(长度为少于tf的会话)的集合。专注指数期望所有会话为专注的并且在会话替代地为非专注的时进行惩罚。专注指数范围从0(无专注会话)到1(所有工作在长专注时间会话中完成)。介于0与1之间的值表示一些专注工作与一些非专注工作混合在一起。专注指数可以用于以在下面关于图3a至图3c更详细地讨论的不同的粒度级别量化工作模式(步骤212)。

另一专注指数是效率指数。效率指数通过捕获来自任务之间的上下文切换的成本来量化工作模式的效率。为了简单可以假定当会话结束时,上下文切换已发生。假定每个会话代表工作者在单个任务上的工作,并且假定上下文切换开销为tcs,则可以将效率指数定义如下:

其中ts是会话s的长度,并且all是所有会话的集合。例如通过增加专注会话长度来使上下文切换最小化,使效率指数最大化。可以使用效率指数来以在下面关于图3a至图3c更详细地讨论的不同的粒度级别量化工作模式。

另一专注指数是碎片化指数。碎片化是专注的反面。量化器工具(507)可以使用专注指数来近似碎片化。然而,有时不仅要知道碎片化中花费的时间的百分比而且要知道碎片化的程度是重要的。

分析已经表明,可使用形状参数来近似碎片化的程度。因此,量化器工具(507)可以通过将任务会话拟合成帕累托分布并且计算形状参数来计算碎片化指数为:

其中ts是会话s的长度,并且tmin是最短会话的长度。假定工作者的一天按交替的工作会话和中断会话划分,可以针对工作会话来计算碎片化指数,并且可以针对中断会话来计算碎片化指数以表征碎片化的程度。

量化器工具(507)也可以跟踪当工作者在多任务处理即一次执行多于一个任务时的时间。当工作者顺序地从一个任务切换到另一任务时发生上下文切换。相比之下,多任务处理因当工作者同时专注于多个任务时而发生。例如,量化器工具(507)可以记录何时在会议期间发送电子邮件以及在会议期间发送电子邮件的时间的量,用时间的量或被处理电子邮件的量来测量。量化器工具(507)可以使用诸如全球定位或日程表会议邀请的信息来知道工作者正在开会。量化器工具(507)也可以记录工作者在编码会话期间花费在电子邮件系统和发送电子邮件上的时间。可以通过使任务/服务特定会话相关联来识别多任务处理。例如,如果从上午10点到上午11点记录了编码会话并且也从上午10:15到上午10:20检测到电子邮件会话,则两个任务会话的重叠指示工作是多任务处理。

社交分数

量化器工具(507)也可以将社交方面并入到工作模式中,例如,可以发现工作者之间的协作影响各种工作模式。因此,量化器工具(507)可以使用诸如日程表事件、共同存在于同一地点中以及社交媒体上的交互的信息来测量工作者每周遇见的人数。为了确定人们是否在一起,量化器工具(507)可以使用近场通信、全球定位系统或某个其它定位能力。量化器工具(507)可以附加地查看日程表事件和被邀请参加相同事件的人。可以使用此信息来计算社交度量。例如,每周遇见的新人数和/或社交网络中的人数。

此外,可以计算连接社交图中的中心性分数。工作者与另一人之间的任何交互可以用于创建该工作者的社交图。社交图可以使用来自诸如日程表、电子邮件、代码审查、社交网络和位置感知的地方的信息。社交图的边权重可以使用工作者的交互来计算。例如,图中的每个节点可能表示一个人/工作者,并且链接节点a和b的边意味着a和b已经由某种手段彼此交互过。边的权重表示它们交互的频率。量化器工具(507)可以使用上面所讨论的社交分数和/或其它社交度量来生成工作模式规则并且/或者量化任务/工作模式。

返回参考图5,量化器工具(507)包括用于以不同的粒度级别向工作者提供量化工作模式反馈的用户界面509。该用户界面可以包括基于所计算出的专注度量来提供一个或多个量化概要或结论的移动(301)或桌面(303)应用。

如图3b中所示,用户界面可以以多个方式向工作者提供反馈。例如,用户界面(509)可以在时间系列305中示出当前和历史专注度量,使得工作者可以使他们的当前专注以及他们基于他们过去的工作模式的倾向可视化。例如,原始数据也可作为覆盖图被示出在日程表的顶部上,以帮助工作者诊断生产力问题。图3d图示日程表覆盖图。用户界面(509)也可以让用户设定目标并且比较他们相对于这些目标的进度(313)。

通过量化工作模式,量化器工具(507)可以提供对用户而言不一定明显的工作者见解。例如,量化器工具(507)可以使用历史专注数据(321)来检测一天中哪个时间、一周中的哪天或一月中的哪周最有生产力。量化器工具(507)也可以使用数据挖掘技术来检测事件之间的相关性。例如,量化器工具(507)可以检测早睡与次日提高的生产力水平之间的高相关性。

除了提供上面指出的量化反馈之外,工具还可以辅导或者建议被设计来基于它收集的见解和专注度量增加专注时间的动作。例如,用户界面可以建议将用于检查电子邮件的设定时间段安排为不是整天频繁地进行、在你的日程表上标记忙时间块以防止在编码时间期间安排会议。图3c图示辅导反馈。

可在多种通道中递送这些见解和推荐。它们可以在一天中的某些时间被示出在应用中,作为电子邮件摘要来递送,或者在桌面或移动装置中作为通知来递送。

大量事件数据的可用性使构建工作模式的定量模型成为可能。这些定量模型可以是自适应的并且用最新的事件数据不断地更新本身。通过应用行为分析,量化器工具(507)可以学习见解并且将它们呈现给工作者以改进生产力。

一般而言,行为分析采取两种形式:

方法1:无监督学习

实施例可以能够通过使用诸如频繁项集挖掘的数据挖掘技术来识别频繁并发事件或模式。所学习到的模式可被策划并呈现给工作者。

可以使用聚类来针对不同的工作者类别(例如,工程师、管理员、代理人、编码员等)对类似的行为进行分组并且识别行为简档。量化器工具(507)可以能够基于工作者所属于的群组简档来提供定制的推荐。可以剖析有高度生产力的工作者并且他们的简档可以用作其它工作者的“角色模型”简档,期望是其它工作者可以模仿角色模型简档的行为。

方法2:监督学习

监督学习需要标记的训练数据。训练数据可以对应于由量化器工具(507)捕获的活动(例如,编码会话)的序列,所述序列已被标记来识别会话期间所对应的专注。例如,标记可以是指示某个时间段内的专注的程度的数字或者真/假比特。量化器工具(507)可以关于工作者在适当时刻的生产力而对工作者进行调查。例如,调查可以要求工作者对他们感知的生产力进行评定或者专注于预定规模。来自工作者的回答可以用作标记的训练数据。在实施例中,可以基于特定工作者的行为数据和标记的训练数据来构建生产力模型。该生产力模型可以能够确定特定工作者何时将进入非生产力的周期。在那时,量化器工具(507)可以提醒工作者改变行为以提高生产力。

图6是计算机(600)的高级框图,所述计算机(600)被布置用于基于量化度量来使工作模式量化自动化并且提供工作者反馈。在非常基本配置(601)中,计算装置(600)通常包括一个或多个处理器(610)和系统存储器(620)。存储器总线(630)可被用于处理器(610)与系统存储器(620)之间的通信。

取决于所期望的配置,处理器(610)可以是任何类型的,包括但不限于微处理器(μp)、微控制器(μc)、数字信号处理器(dsp)或其任何组合。处理器(610)可包括一级或多级缓存(诸如一级高速缓存(611)和二级高速缓存(612))、处理器核心(613)和寄存器(614)。处理器核心(613)可包括算术逻辑单元(alu)、浮点单元(fpu)、数字信号处理核心(dsp核心)或其任何组合。存储器控制器(616)也可与处理器(610)一起使用,或者在一些实施方式中存储器控制器(615)可以是处理器(610)的一个内部部分。

取决于所期望的配置,系统存储器(620)可以是任何类型的,包括但不限于易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪速存储器等)或其任何组合。系统存储器(620)通常包括操作系统(621)、一个或多个应用(622)和程序数据(624)。应用(622)可以包括工作模式量化器工具。程序数据(624)包括存储指令,所述指令当由一个或多个处理装置执行时,实现用于量化工作模式的工具(623)。在一些实施例中,应用(622)可被布置成与程序数据(624)一起在操作系统(621)上操作。

计算装置(600)可具有附加特征或功能性,以及用于方便基本配置(601)与任何所需装置和接口之间的通信的附加接口。

系统存储器(620)是计算机存储介质的示例。计算机存储介质包括但不限于ram、rom、eeprom、闪速存储器或其它存储器技术、cd-rom、数字通用盘(dvd)或其它光学储存器、磁盒、磁带、磁盘储存器或其它磁存储装置,或者可用于存储所期望的信息并且可由计算装置600访问的任何其它介质。任何此类计算机存储介质可以是装置(600)的一部分。

上述详细描述已经由框图、流程图和/或示例的使用阐述了装置和/或过程的各种实施例。在此类框图、流程图和/或示例包含一个或多个功能和/或操作情况下,本领域的技术人员将理解的是,可以通过各式各样的硬件、软件、固件或实际上其任何组合来单独地和/或共同地实现此类框图、流程图或示例中的每个功能和/或操作。在一个实施例中,本文中所描述的主题的若干部分可以经由专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、其它集成格式或者作为网络服务来实现。然而,本领域的技术人员将认识到,本文中所公开的实施例的一些方面整个地或部分地可用集成电路、作为在一个或多个计算机上运行的一个或多个计算机程序、作为在一个或多个处理器上运行的一个或多个程序、作为固件或者作为实际上其任何组合被等效地实现,并且考虑到本公开设计电路并且/或者编写软件和/或固件的代码将在本领域的技术人员的技能之内。此外,本领域的技术人员应当了解的是,本文中所描述的主题的机制能够被以各种形式作为程序产品分发,并且本文中所描述的主题的说明性实施例不管用于实际地执行分发的非暂时性信号承载介质的类型如何都适用。非暂时性信号承载介质的示例包括但不限于下列的:可记录型介质,诸如软盘、硬盘驱动器、紧致盘(cd)、数字视频盘(dvd)、数字磁带、计算机存储器等;以及传输型介质,诸如数字和/或模拟通信介质。(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。

关于基本上任何复数和/或单数术语在本文中的使用,本领域的技术人员可在适于上下文和/或应用时从复数转化为单数和/或从单数转化为复数。为了清楚起见,可以在本文中明确地阐述各种单数/复数置换。

因此,已经对主题的特定实施例进行了描述。其它实施例在以下权利要求的范围内。在一些情况下,权利要求中所记载的动作可被以不同的次序执行并仍然实现所希望的结果。此外,附图中所描绘的过程不一定要求所示特定次序或顺序次序以实现所希望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1