确定通过工作流的路径的制作方法
【专利摘要】描述了用于使用蚂蚁理论将工作流个性化的方法、系统和装置。可以识别表示工作流的数据结构中的一个或多个路径部分,所述一个或多个路径部分与用户所通过的路径相对应。可以增大与数据结构中的所识别的所述一个或多个路径部分中的每个路径部分相关联的权重。可以基于时间衰减率,减小数据结构中与多个路径部分相关联的一个或多个权重。可以建立在工作流决策点将用户引向权重更高的路径部分的引导活动。
【专利说明】确定通过工作流的路径
[0001]相关申请的交叉引用
[0002]本国际申请要求于2013年10月31日提交的美国专利申请N0.14/069,148的优先权,其全部内容通过引用的方式完整地并入本文。
技术领域
[0003]本申请总体上涉及确定通过工作流的路径,在一个示例中其使用蚂蚁路由理论。
【背景技术】
[0004]越来越多种类的在线应用使得用户能够在线执行越来越多的任务。例如,消费者经常在线购买各种各样的产品和服务,并且可以进行信息搜索,例如,物品的定价信息。用户可以在最初访问应用(例如电子商务应用)与成功完成任务(例如购买到期望物品)之间的工作流中采用多种路径。一些用户快速找到通过基于网络的工作流的路径以完成其任务并实现其目标,而其他用户可能采用间接路径实现其目标,可能被迫回退或重新开始,或者在一些情况下,可能在实现目标之前简单地中止任务。例如,搜索产品和/或服务的一些消费者可以快速找到他们正在寻找的东西并执行交易,而其他消费者在完成购买之前中止了购物体验。
[0005]产品和服务的消费者通常可以包括个人、零售消费者、经销商、小企业主、营业代表、法人代表、非营利组织以及产品和/或服务的任何其他消费者。产品和服务的提供商可以向消费者提供产品和/或服务。提供商可以包括个人、零售商、批发商、经销商、制造商、月艮务提供商、小企业主、独立经销商等。
【附图说明】
[0006]在附图中以示例的方式而非限制的方式示出了一些实施例,图中:
[0007]图1是根据示例实施例的用于将电子商务市场中的网络体验个性化的示例系统的框图;
[0008]图2是根据示例实施例的工作流中的路径的示例集合的表示;
[0009]图3是根据示例实施例的用于使用蚂蚁理论将电子商务市场中的体验个性化的示例装置的框图;
[0010]图4是根据示例实施例的用于使用蚂蚁理论产生在工作流中的一个或多个路径的集合的示例方法;
[0011]图5是根据示例实施例的用于绘制表示工作流中的一个或多个路径的集合的图的示例方法的流程图;
[0012]图6是根据示例实施例的用于评估工作流中的一个或多个路径的集合并且用于推荐引导用户朝向具有提高的导致任务完成和/或实现目标的可能性的路径的引导活动的示例方法的流程图;
[0013]图7是根据示例实施例的用于评估引导活动的有效性的示例方法的流程图;
[0014]图8是根据示例实施例的用于将基于网络的体验个性化的示例用户界面的表示;以及
[0015]图9是机器的框图,其中,在所述机器内可以执行指令以使得机器执行本文讨论的方法中的任何一个或多个方法的框图。
【具体实施方式】
[0016]在示例实施例的以下详细描述中,通过附图和说明的方式对具体示例进行参考。充分详细地描述这些示例以使本领域技术人员能够实施这些示例实施例,并且这些示例用于示出本发明可以如何应用于各种目的或实施例。在本发明的范围内还存在本发明的其他实施例,并且在不脱离本发明的范围或程度的情况下可以进行逻辑改变、机械改变、电改变和其他改变。然而,本文所描述的包含于示例实施例中的、对所在示例实施例为必要的本发明各种实施例的特征或限制一般地说不限制本发明,并且对本发明、其元件、操作和应用的任何参考一般地说不限制本发明,而仅用于定义这些示例实施例。因此,以下详细描述不限制本发明的范围,本发明的范围仅由所附权利要求限定。
[0017]总体上,描述了用于将工作流体验个性化的方法、系统和装置。在一个示例实施例中,使用蚂蚁路由理论(ant routing theory)来引导用户通过个性化的网络体验。例如,可以引导用户到通过工作流的一个或多个最佳路径,所述一个或多个最佳路径可能导致成功完成任务或实现目标。在一个示例实施例中,可以将消费者导向很可能导致购买期望物品的通过电子商务工作流的一个或多个最佳路径。如本文中所使用的,“物品”可以表示产品和/或服务。
[0018]在一个示例实施例中,由成功完成任务或实现目标的用户服从的通过工作流的路径被跟踪并被用作引导其他用户通过工作流的模板。在一个示例实施例中,根据蚂蚁路由理论处理通过工作流的路径。蚂蚁路由理论指的是基于蚂蚁的自然行为的模型。在自然中,蚂蚁在寻找食物时沿不同方向随机行走。找到食物的蚂蚁返回聚居地,沿返回路径放下信息素。在行走时随机遇到该路径的其他蚂蚁可以跟随信息素并由此跟随到食物源的路径。这些其他蚂蚁可以放置附加信息素并且由此可以加强最初蚂蚁的信息素,从而鼓励更多的蚂蚁跟随该路径。如果另一随机行走的蚂蚁发现了到食物源的替代路线,则它的路径可以被其他蚂蚁跟随并且还可以变成被后续蚂蚁量加强的路径。
[0019]放置的信息素随着时间慢慢蒸发,并且变得对其他蚂蚁不那么有吸引力。由于与较长的路径相比蚂蚁将更快速地经过(traverse)较短的路径,因此较短的路径将比较长的路径具有更高的信息素密度,从而吸引更多的蚂蚁量。最后,较短的路径可以获得蚂蚁量的越来越大的百分比,直到基本上所有蚂蚁都跟随该较短的更有效的路径。此外,如果发现了新的食物项或者蚂蚁遇到了威胁,则蚂蚁可以快速地迀移到更优化的路径。
[0020]以相似的方式,用户通过工作流(例如基于网络的工作流)的路径可被监控并且被用于指引其他用户到优化路径。对通过工作流的路径的每次经过可被用于按照与蚂蚁将信息素添加到路径相似的方式将权重添加到路径的每次经过的部分。类似地,可以允许权重随着时间衰减以模拟由蚂蚁放置的信息素的蒸发。权重可以指示路径部分有多大可能性成为成功路线的一部分,并且权重可以因为用户经过路径而增大,但是也可以随时间衰减并变弱。由于成百或上千的用户经过基于网络的工作流,权重开始针对繁忙的路线而建立,并且对于最成功的路线,权重建立得甚至更大。不太成功的路线的权重可以衰减并变弱;最后,不太成功的路线可能变成不太吸引人的路径。结果得到通过基于网络的工作流的路径的集合,其中,越可能导致成功完成任务或实现目标的路径或路径部分与其他路径相比被施加越大的权重。
[0021]在一个示例实施例中,可以将用户引导向经由个性化经验的被施加更大权重的路径中的一个或多个。例如,可以在工作流中的关键决策点在网页上呈现横幅(banner),其中,该横幅将用户引导向被施加更大权重的路径之一。如本文中所使用的,决策点是工作流中的向用户呈现一个或多个将跟随的可选路径的点。此外,正像蚂蚁快速地调节以适应新的食物源和威胁,用户可以快速调节,因为模型可以调节以适应工作流中的变化,并可以继续提供个性化的体验。模型由此可以随时间进行校正以突出最成功的路径。
[0022]在一个示例实施例中,权重可被校准并且随着时间被重新校准。例如,可以对路径集合的权重进行归一化。在一个示例实施例中,可以按照非线性尺度对一个或多个路径的权重进行归一化,其中,与较小的权重相比,较大的权重增大较大的百分比。在一个示例实施例中,出于用户引导目的,可以不考虑权重在权重阈值以下的路径,和/或可以删除这种路径。
[0023]—旦路径集合被建立,则该路径集合可被用于多种服务。在一个示例实施例中,市场营销团队可以识别路径中的应当执行市场营销工作的位置。例如,如果路径中存在用户的下一步是购买度假计划的点,则市场营销团队可以为旅游保险服务做广告。
[0024]在一个示例实施例中,可以识别路径中的以下位置:在该位置处,消费者可以查看销售的衬衫的式样,然后可以查看衬衫的不同颜色,最后可以选择想要的颜色。如果路径权重显示出对颜色蓝色的选择导致更大数量的完整销售,则可以在第一步显示蓝色的衬衫,从而增加消费者将继续经过第一步之后的工作流的可能性。
[0025]在一个示例实施例中,可以识别路径中的以下位置:在该位置处,消费者决定购买物品并且下一步是选择支付方法。如果与选择信用卡支付相对应的路径导致更大数量的完整销售,则可以在第一步呈现信用卡选项,从而增加消费者将继续经过第一步之后的工作流的可能性。
[0026]在以上场景中,可以基于所建立的路径集合以及表示与工作流相对应的数据结构并定义数据结构中与工作流中的用户位置相对应的相对位置的数据来将后面部分的工作流进行个性化。
[0027]图1是根据示例实施例的用于将电子商务市场中的网络体验个性化的示例系统100的框图。在一个示例实施例中,系统100可以包括一个或多个用户设备104-1、104-2和104-N(下文中称为用户设备104)、一个或多个卖方处理系统108-1、108-2和108-N(下文中称为卖方处理系统108)、项目列表和识别处理系统130以及网络115。每个用户设备(例如,104-1)可以是个人计算机(PC)、平板计算机、移动电话、个人数字助理(PDA)、可穿戴计算设备(例如,智能手表)或任何其他适当计算机设备。每个用户设备(104-1、104-2或104-N)可以包括网络浏览器程序。虽然仅示出了用户设备104-1的详细描述,但是应注意到,每个其他用户设备(例如,用户设备104-2至用户设备104-N)可以包括具有相同功能的相应元件。
[0028]卖方处理系统108和项目列表和识别处理系统130可以是服务器、客户端或其他包括用于执行软件指令的操作系统的处理设备。每个卖方处理系统108可以包括卖方交易处理模块610,以下结合图6更全面地对其进行描述。
[0029]网络115可以是ad hoc网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共电话交换网(PSTN)的一部分、蜂窝电话网、另一类型的网络、互连网络中的网络或者两个或更多个这样的网络的组合。
[0030]每个用户设备104可以经由诸如键盘、鼠标、电子笔等的输入设备(图1中未示出)从用户接收对于项目信息的查询。项目可以包括产品和/或服务,并且相应信息可以是项目列表的形式。
[0031 ]在线列表系统的项目列表和识别处理系统130可以存储和/或获得项目列表。每个项目列表可以包括对于项目的详细描述。与项目列表相关联的项目可以是可以交易(例如,交换、共享关于…的信息、购买、销售、投标等)的货物或产品(例如,平板计算机)或服务(例如,高尔夫周边或器械维修)。项目列表可以包括标题、类别(例如,电子产品、体育用品、书籍、古董等)和其他标签信息(例如,颜色、尺寸等)。
[0032]返回参考用户设备104-1,从用户设备104-1的用户接收的查询可以包括一个或多个关键词。用户设备104-1可以经由网络115将查询提交到项目列表和识别处理系统130。项目列表和识别处理系统130可以使用搜索引擎尝试将查询关键词与项目列表中的标题、类另Ij、标签信息和/或任何其他字段进行匹配。
[0033]响应于搜索查询的提交,项目列表和识别处理系统130可以尝试识别满足查询的一个或多个项目列表。项目列表和识别处理系统130可以取回搜索结果中的项目列表并且可以通过已知方式对搜索结果中的项目列表进行分类。接着,项目列表和识别处理系统130可以将分类的搜索结果返回给提交了查询的用户设备104-1。
[0034]消费者可以通过已知方式接受一个或多个提供物(offer),或者可以因为提供物的价格和/或条款而拒绝所有呈现的提供物。
[0035]图2是根据示例实施例的工作流中的路径集合200的示例表示。每个节点204-
1、…、204-N表示工作流中的决策点。每个路径可以包括一个或多个路径部分208-1、…、208-N。权重W1、…、WN可被分配给每个路径部分,可以响应于用户经过相应路径部分而增大,并且可以根据衰减公式而减小,以下更全面地对此进行描述。在一个示例实施例中,将工作流数据结构定义为表示工作流的路径集合200。
[0036]图3是根据示例实施例的用于使用蚂蚁理论将电子商务市场中的体验个性化的示例装置300的框图。示出了装置300包括处理系统302,处理系统302可以实现在客户端或其他处理设备上,包括用于执行软件指令的操作系统304。
[0037]根据示例实施例,装置300可以包括用户接口模块306、用户跟踪模块310、路径产生模块314、路径渲染模块318、路径引导推荐模块322和路径引导评估模块326。根据示例实施例,装置300还可以包括存储接口 330。
[0038]用户接口模块306可以提供用户设备104-1与例如路径渲染模块318之间的接口。用户接口模块306可以有助于对所渲染的路径集合的显示,以下结合图8更全面地对此进行描述。
[0039]用户跟踪模块310可以跟踪的一个或多个用户通过工作流的进度。在一个示例实施例中,用户跟踪模块310可以从例如用户设备104-1和/或项目列表和识别处理系统130接收跟踪信息,并且可以将跟踪信息提供给路径产生模块314。
[0040]路径产生模块314可以基于由例如用户跟踪模块310提供的跟踪来建立通过工作流的一个或多个路径,以下结合图4更全面地对此进行描述。随着每个用户通过路径,路径产生模块314可以在表示路径集合200的数据结构中增大相应路径或路径部分的权重。路径产生模块314还可以随着时间减小相应路径或路径部分的权重以模拟权重的自然衰减。在一个示例实施例中,路径产生模块314可以校准或重新校准与路径集合相对应的权重。在一个示例实施例中,路径产生模块314可以删除或中止权重在权重阈值以下的路径。
[0041 ]路径渲染模块318可以产生可经由用户接口模块306提供给例如用户设备104-1的一个或多个路径的集合的图,以下结合图5更全面地对此进行描述。
[0042]路径引导推荐模块322可以评估一个或多个路径的集合及其相关权重,并且可以推荐引导活动以引导用户朝向具有导致任务完成和/或实现目标的增大的可能性的路径,以下结合图6更全面地对此进行描述。
[0043]路径引导评估模块326可以在不同时间点评估表示工作流的路径集合200的数据结构中的一个或多个路径的集合及其相关权重,以确定引导活动的效果,以下结合图7更全面地对此进行描述。例如,如果实施引导活动,则在实施引导活动之前与引导活动相关联的路径的权重可以与在实施引导活动之后与引导活动相关联的路径的权重进行比较。例如,成功的引导活动可以致使导致成功完成任务的路径的权重比同一路径在提供引导之前的权重更高。例如,成功的引导活动可以致使与完成相关任务或实现相关目标的引导活动相关的路径集合在实施引导活动之后比在实施引导活动之前具有更高的用户百分比。在一个示例实施例中,评估时间段从建立引导活动之前发生,直到在建立引导活动之后的预定义时间段为止,并且可以比较在评估时间段的开始定义的权重的值和在评估时间段的结束定义的权重的值。
[0044]存储接口330可以将接口提供给外部存储器。
[0045]图4是根据示例实施例的用于产生一个或多个路径的集合的示例方法400。在一个示例实施例中,方法400可以由路径产生模块314执行。
[0046]在一个示例实施例中,方法400可以等待事件(操作404),诸如关于用户通过的路径或路径部分的报告或者权重衰减定时器的超时。如果检测到事件,则可以执行测试以确定事件的类型(操作408)。例如,用户设备104-1和/或项目列表和识别处理系统130可以向路径产生模块314通知用户已经经过工作流中的路径或路径部分。
[0047]如果检测到的事件是关于用户经过的路径或路径部分的报告,则可以获得用户经过的路径部分的标识(操作412)。例如,可以从用户设备104-1和/或项目列表和识别处理系统130获得与工作流相对应的数据结构中的路径部分的标识。相应路径的权重可以增大。例如,相应路径的权重可以被增大值WEIGHT(操作416)。方法可以继续进行操作404。
[0048]如果检测到的事件是权重衰减定时器的超时,则一个或多个路径的权重可以减小(操作420) ο例如,权重可以减小所定义的百分比,或者可以根据衰减公式(例如,指数衰减公式)而减小。可以将权重记录在表示工作流的路径集合200的数据结构中。
[0049]在一个示例实施例中,对于特定的用户集合,可以保持单独的路径权重集合。例如,对于零售消费者,可以保持一个权重集合,对于企业员工,可以保持一个权重集合,等等。
[0050]图5是根据示例实施例的用于渲染一个或多个路径的集合的示例方法500。在一个示例实施例中,方法500可以由路径渲染模块318执行。
[0051 ]在一个示例实施例中,方法500可以等待事件(操作504),诸如路径产生模块314对表示路径集合200的数据结构中的一个或多个路径或路径部分的更新或者来自用户的渲染请求的提交。例如,可以由路径渲染模块318从用户设备104-1接收渲染请求。在一个示例实施例中,渲染请求可以识别应当在产生所述图时使用其路径经过的用户的集合。
[0052]可以产生以下图:每个节点表示工作流中的决策点,并且每个边表示从一个决策点到另一决策点的经过(操作508)。如以上更全面地描述的,图的每个边可以包括一个或多个权重。例如,期望购买衬衫的消费者可以在第一决策点选择衬衫式样,可以在第二决策点选择衬衫颜色,并且可以在第三决策点选择支付方法。每个决策点可以由节点表示。在一个示例实施例中,可以对边进行标记以指示各种用户最近通过的频率和/或相应权重的值。例如,可以对路径进行颜色编码,其中,路径的颜色可以在蓝色至红色的范围内,其中,蓝色表示具有相对低权重值的路径,红色表示具有相对高权重值的路径。在一个示例实施例中,可以对权重在权重阈值以下的路径或路径部分进行标记。例如,可以使用虚线指示权重在权重阈值以下的路径或路径部分。如上所述,在确定引导活动时可以忽略权重在权重阈值以下的路径或路径部分。
[0053]可以经由用户接口模块306将产生的图提供给例如用户设备104-1以显示给例如销售团队成员(操作512)。
[0054]图6是根据示例实施例的用于评估一个或多个路径的集合和相关权重并且推荐引导活动以引导用户朝向具有导致任务完成和/或实现目标的增加的可能性的路径的示例方法600。在一个示例实施例中,方法600可以由路径引导推荐模块322执行。在一个示例实施例中,对于每个路径,可以评估路径中的每个决策点,并且可以推荐引导活动。
[0055]在一个示例实施例中,可以选择表示路径集合200的数据结构中的路径(操作604),并且可以选择所选路径上的决策点(操作608)。如果退出决策点的一个或多个路径比退出决策点的其他路径导致更高的完成率或更高的实现率(称为高性能路径),则可以在用户位于决策点时向用户呈现与高性能路径相关联的标准(操作612)。在一个示例实施例中,可以将用户引向高性能路径。例如,如以上更全面地描述的,如果与高性能路径相关联的标准是颜色蓝色(在衬衫的情境下),则可以在决策点向用户呈现蓝色衬衫。
[0056]可以执行测试以确定是否已经处理了所选路径上的所有决策点(操作616)。如果没有处理所选路径上的所有决策点,则方法可以进行操作608;否则,可以执行测试以确定是否已经处理了所有路径(操作620)。如果还没有处理完所有路径,则方法可以进行操作604;否则,方法可以结束。
[0057]图7是根据示例实施例的用于评估引导活动的有效性的示例方法700。在一个示例实施例中,方法700可以由路径引导评估模块326执行。
[0058]在一个示例实施例中,可以识别表示与引导活动相关联的路径集合200的数据结构中的路径集合(操作704)。例如,可以识别从所选决策点到成功完成任务或终止对完成任务的尝试的路径部分。
[0059]可以获得并比较在实施引导活动之前与识别的路径部分相对应的一个或多个权重的集合和在实施引导活动之后与识别的路径部分相对应的一个或多个权重的集合(操作708)。例如,可以从表示路径集合200的数据结构获得一个或多个权重的集合。
[0060]可以执行测试以确定与每个高性能路径相关联的后引导(post-guidance)活动权重是否大于与高性能路径相关联的前引导活动权重(操作712)。如果与每个高性能路径相关联的后引导活动权重大于与高性能路径相关联的前引导活动权重,则将引导活动标记为有效(操作716);否则,将引导活动标记为无效(操作720)。在一个示例实施例中,可以通过计算所引权重中的一个或多个的百分比变化来确定有效值。
[0061]图8是根据示例实施例的用于将基于网络的体验个性化的用户界面800的示例表示。可以例如由用户设备104-1来提供用户界面800。
[0062]在一个示例实施例中,可以自动跟踪所有用户。在一个示例实施例中,可以由用户在用户跟踪标识字段804中输入将被跟踪的一个或多个用户集合中的每个用户的标识。在一个示例实施例中,可以由用户在用户跟踪标识字段804中输入将被跟踪的用户集合的标识。例如,可以在用户跟踪标识字段804中输入标识“零售消费者”以识别零售消费者的集入口 ο
[0063]在一个示例实施例中,可以在路径显示区域808中显示所渲染的路径集合。
[0064]虽然这里示出并描述了特定示例,但是存在其他变化并且其他变化在本发明的范围内。本领域普通技术人员将认识到,被设计或布置为实现相同目的的任何布置可以替代所示出的具体实施例。本申请意在覆盖本文中所描述的本发明的示例实施例的任何改编或变化。有意的是,本发明仅受权利要求及其等同物的完整范围限制。
[0065]模块、组件和逻辑
[0066]此处,某些实施例被描述为包括逻辑或者多个组件、模块或机构。模块可以构成软件模块(例如,实施在(I)非暂时性机器可读介质上的代码或(2)以传输信号实施的代码)或硬件实施的模块。硬件实施的模块是能够执行某些操作且可以用某种方式来配置或布置的有形单元。在示例实施例中,一个或多个计算机系统(例如,独立、客户端或服务器计算机系统)或一个或多个处理器可以被软件(例如,应用或应用部分)配置为硬件实施的模块,该模块进行操作以执行如本文所述的某些操作。
[0067]在各种实施例中,硬件实施的模块可被以机械方式或电子方式来实现。例如,硬件实施的模块可以包括永久地被配置为执行某些操作的专用电路或逻辑(例如,配置为专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC))。硬件实施的模块还可以包括暂时由软件配置以执行某些操作的可编程逻辑或电路(例如,配置为被包含在通用处理器或其它可编程处理器中)。应该明白:对以机械方式、在专用且永久配置的电路中、或在暂时配置的电路(例如由软件配置)中实现硬件实施的模块的决定可以受到成本和时间考虑因素的驱动。
[0068]因此,术语“硬件实施的模块”应当被理解为包含有形实体,应当是物理构成的、永久配置(例如硬连线的)或暂时或瞬时配置(例如编程的)以在某个方式下工作或以执行本文描述的某些操作的实体。考虑到临时配置(例如,被编程的)硬件实施的模块的实施例,每个硬件实施的模块不需要在任何一个时刻被配置或实例化。例如,在硬件实施的模块包括使用软件来配置的通用处理器的情况下,通用处理器可以在不同时间被配置为各个不同的硬件实施的模块。软件可以相应地配置处理器,以例如在一个时刻构成特定硬件实施的模块,以及在不同时刻构成不同的硬件实施的模块。
[0069]硬件实施的模块可以向其他硬件实施的模块提供信息以及从其他硬件实施的模块接收信息。因此,描述的硬件实施的模块可以看做是通信耦合的。在多个此类硬件实施的模块同时期存在的情况下,可以通过信号传输(例如,通过连接硬件实施的模块的适当的电路和总线)来实现通信。在多个硬件实施的模块在不同时间被配置或实例化的实施例中,这种硬件实施的模块之间的通信可以例如通过在多个硬件实施的模块可以访问的存储结构中存储和取回信息来实现。例如,一个硬件实施的模块可以执行操作,并且将该操作的输出存储在其以通信方式耦合的存储器设备中。然后,另一硬件实施的模块可以在之后的时间访问该存储设备以检索并处理所存储的输出。硬件实施的模块还可以发起与输入或输出设备的通信,且可以对资源(例如,信息的聚集)进行操作。
[0070]此处描述的示例方法的各种操作可以至少部分地由暂时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器执行。无论是暂时地还是永久地配置,这样的处理器可以构成进行操作以执行一个或多个操作或功能的处理器实现的模块。在一些示例实施例中,如本文中使用的“模块”包括处理器实现的模块。
[0071]类似地,本文中描述的方法可以至少部分由处理器实现。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的模块来执行。某些操作的执行可以分布在一个或多个处理器中,并不只驻留在单个机器中,而是布置在多个机器中。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如,在家庭环境、办公室环境中或作为服务器群),而在其他实施例中,处理器可以分布在多个位置。
[0072]一个或多个处理器还可以操作以支持在“云计算”环境下的相关操作的执行或作为“软件即服务”(SaaS)的操作的执行。例如,至少一些操作可以由计算机组(作为包括处理器在内的机器示例)来执行,这些操作能够经由网络115(例如互联网)并且经由一个或多个适当的接口(例如应用程序接口(API))来访问。
[0073]电子装置和系统
[0074]示例实施例可以用数字电子电路或者用计算机硬件、同件、软件或它们的组合来实现。示例实施例可以使用计算机程序产品来实现,计算机程序产品例如是在信息载体中有形地表现的计算机程序,信息载体例如是由数据处理装置执行的机器可读介质或用于控制数据处理装置的操作的机器可读介质,数据处理装置例如是可编程处理器、计算机或多个计算机。
[0075]可以以任何形式的编程语言来编写计算机程序,该编程语言包括:编译或解释语言,并且可以以任何形式来部署计算机程序,包括部署为独立的程序或者部署为适合于用于计算环境的模块、子例程或者其它单元。计算机程序可以被配置为在一个计算机执行或在位于一个地点处的多个计算机上执行或者在分布在多个地点上并通过通信网络互连的多个计算机上执行。
[0076]在示例实施例中,操作可以通过一个或多个可编程处理器执行计算机程序来执行,以通过操作输入数据并产生输出来执行功能。方法操作还可以通过专用逻辑电路来执行,并且示例实施例的装置可以实现为专用逻辑电路,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。
[0077]计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序来产生。在部署可编程计算系统的实施例中,将清楚的是,需要考虑硬件架构和软件架构二者。具体地,将清楚的是,对在永久配置的硬件(例如ASIC)中、在暂时配置的硬件中(例如软件与可编程处理器的组合)还是在永久配置的与暂时配置的硬件的组合中实现特定功能的选择可以是设计选择。下面陈述在各种示例实施例中可以部署的硬件架构(例如机器)和软件架构。
[0078]示例机器架构和机器可读介质
[0079]图9是机器的框图,其中,在所述机器内可以执行指令以使得机器执行本文讨论的方法中的任何一个或多个方法。在一个示例实施例中,机器可以是用户设备104。在一个示例实施例中,机器可以是卖方处理系统108。在备选实施例中,机器可以作为独立设备来操作,或者可以连接(例如联网)到其他机器。在联网部署中,机器可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助手(PDA)、蜂窝电话、web小应用、网络路由器、交换机或桥接器或者能够(顺序地或以其他方式)执行指定要由机器进行动作的指令的任何机器。此外,虽然只示出了单个机器,但是术语“机器”还应当指包括单独或共同地执行指令集合(或多个集合)以执行本文描述的任意一个或多个方法的机器的任意集合。
[0080]示例计算机系统900包括处理器902(例如中央处理单元(CPU)、图形处理单元(GPU)或这二者)、主存储器904和静态存储器906,它们经由总线908相互通信。计算机系统900还可包括视频显示单元910(例如液晶显示器(IXD)或阴极射线管(CRT))。计算机系统900还包括字母数字输入设备912(例如键盘)、用户界面(UI)导航设备914(例如鼠标)、盘驱动单元916、信号产生设备918(例如扬声器)以及网络接口设备920。
[0081 ]机器可读介质
[0082]盘驱动单元916包括在其上存储体现本文所描述的方法或功能中的一者或多者或者由本文所描述的方法或功能中的一者或多者利用的一组或多组指令和数据结构(例如,软件)924的机器可读介质922。在计算机系统900执行指令924期间,指令924还可以完全地或至少部分地位于主存储器904中并且/或者位于处理器902中,主存储器904和处理器902还构成机器可读介质。指令924还可以位于静态存储器906中。
[0083]虽然在示例实施例中将机器可读介质922示为单个介质,但是术语“机器可读介质”可以包括存储了一个或多个指令924或数据结构的单个介质或多个介质(例如,集中式或分布式数据库、和/或关联的高速缓存和服务器)ο术语“机器可读介质”还应当被视为包括能够存储、编码或承载用于由该机器执行并且使该机器执行本发明的方法中的任意一者或多者的指令924或者能够存储、编码或承载由此类指令924利用或与此类指令924相关联的数据结构的任意有形介质。术语“机器可读介质”因此应当被看做包括但不限于:固态存储器以及光学和磁介质。机器可读介质922的具体示例包括非易失性存储器,其通过示例的方式包括:半导体存储器设备,例如,可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;磁盘,例如,内部硬盘和可移动盘;磁光盘;以及CD-ROM和DVD-ROM 盘。
[0084]传输介质
[0085]指令924还可以使用传输介质来在通信网络926上发送或接收。指令924可以使用网络接口设备920以及多个已知传输协议中的任意一个(例如HTTP)来传输。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)、因特网、移动电话网络、普通老式电话(POTS)网络以及无线数据网络(例如WiFi和WiMax网络)。术语“传输介质”应当被看做包括能够存储、编码或承载用于由机器执行的指令924的任何无形介质,并且包括数字或模拟通信信号或其它无形介质,以促进这样的软件的通信。传输介质可以是机器可读介质的无形形式。
[0086]尽管已经参照特定示例实施例描述了实施例,但是明显的是:可以在不脱离发明的较宽范围的情况下对这些实施例做出各种修改和改变。因此,说明书和附图应当被看做说明性的而不是限制意义的。形成可以实现主题的具体实施例的一部分的附图是作为说明而不是限制的方式示出的。充分详细地描述示出的实施例以使得本领域技术人员能够实现本文公开的教导。可以据此导出和利用其它实施例,从而可以在不脱离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“【具体实施方式】”部分不应当看做是限制意义,并且各种实施例的范围仅通过所附权利要求以及权利要求的等同物的全部范围来限定。
[0087]本发明主题的这些实施例被单独地和/或统一地由术语“发明”来指代,其仅是为了方便,而不是旨在主动将本申请的范围限制为任意单个发明或发明构思(如果实际上不止一个实施例被公开的话)。因此,尽管本文示出并描述了特定实施例,应当理解,被计算为实现相同目的的任何设置都可以用于替换所示出的特定实施例。本公开意在覆盖各种实施例的任意和所有适应或变化。通过研究上述内容,上述实施例的组合以及本文中没有具体描述的其它实施例对于本领域技术人员来说将是显然的。
[0088]提供本公开的摘要以允许读者快速确定本技术公开的性质。应理解,其并不用于解释或限制权利要求的范围或含义。此外,在上文的“【具体实施方式】”中,可以看出,出于简化本公开的目的,将各种特征组合在一起形成单个实施例。这种公开方式不应被解释为体现了所声明的实施例需要比各权利要求中明确列举的特征更多特征的意图。事实上,如以下权利要求所反映的那样,发明主题具有比所公开的单个实施例的所有特征更少的特征。因此,下述权利要求被并入【具体实施方式】中,其中每个权利要求作为单独的实施例独立存在。
【主权项】
1.一种用于产生工作流的权重的装置,所述装置包括: 处理器;以及 存储器,用于存储当由所述处理器执行时使所述处理器执行以下操作的指令: 识别表示工作流的数据结构中的一个或多个路径部分,所述一个或多个路径部分与用户所经过的路径相对应; 增大与数据结构中的所识别的一个或多个路径部分中的每个路径部分相关联的权重;以及 基于时间衰减率,减小数据结构中与多个路径部分相关联的一个或多个权重。2.根据权利要求1所述的装置,还包括:当由所述处理器执行时使所述处理器执行以下操作的指令: 建立在工作流决策点将用户引向权重更高的路径部分的引导活动。3.根据权利要求1所述的装置,还包括:当由所述处理器执行时使所述处理器执行以下操作的指令: 将权重中的一个或多个权重进行归一化。4.根据权利要求3所述的装置,其中,所述归一化基于非线性尺度。5.根据权利要求2所述的装置,其中,所述引导活动是手动插入的。6.根据权利要求2所述的装置,其中,所述引导活动将工作流中后面步骤的标准移动到更早的决策点。7.根据权利要求2所述的装置,其中,所述引导活动减小工作流中从决策点起的退出路径的计数。8.根据权利要求1所述的装置,还包括:当由所述处理器执行时使所述处理器执行以下操作的指令: 删除包括具有小于权重阈值的权重的一个或多个路径部分的路径。9.根据权利要求1所述的装置,还包括:当由所述处理器执行时使所述处理器执行以下操作的指令: 评估引导活动的有效性。10.根据权利要求9所述的装置,还包括:当由所述处理器执行时使所述处理器执行以下操作的指令: 计算路径部分的权重在评估时间段期间的百分比变化。11.根据权利要求10所述的装置,其中,评估时间段从引导活动建立之前起,直到引导活动建立之后的预定义时间段为止。12.根据权利要求1所述的装置,还包括:当由所述处理器执行时使所述处理器执行以下操作的指令: 维护数据结构中的针对多个用户集合中的每个用户集合的权重集合。13.根据权利要求1所述的装置,还包括:当由所述处理器执行时使所述处理器执行以下操作的指令: 基于相应的权重值,对一个或多个路径部分进行标记。14.一种用于产生工作流的权重的方法,所述方法包括: 识别表示工作流的数据结构中的一个或多个路径部分,所述一个或多个路径部分与用户所经过的路径相对应; 增大与数据结构中的所识别的一个或多个路径部分中的每个路径部分相关联的权重;以及 基于时间衰减率,减小数据结构中与多个路径部分相关联的一个或多个权重。15.根据权利要求14所述的方法,还包括:建立在工作流决策点将用户引向权重更高的路径部分的引导活动。16.根据权利要求15所述的方法,其中,所述引导活动将工作流中后面步骤的标准移动到更早的决策点。17.根据权利要求14所述的方法,还包括:删除包括具有小于权重阈值的权重的一个或多个路径部分的路径。18.根据权利要求14所述的方法,还包括:评估引导活动的有效性。19.根据权利要求14所述的方法,还包括:维护数据结构中的针对多个用户集合中的每个用户集合的权重集合。20.—种存储指令的计算机可读介质,所述指令在由处理器执行时执行包括以下操作的操作: 识别表示工作流的数据结构中的一个或多个路径部分,所述一个或多个路径部分与用户所通过的路径相对应; 增大与数据结构中的所识别的一个或多个路径部分中的每个路径部分相关联的权重;以及 基于时间衰减率,减小数据结构中与多个路径部分相关联的一个或多个权重。21.—种承载指令的计算机可读介质,所述指令由处理器执行以执行根据权利要求1至19中任一项所述的方法。
【文档编号】G06Q10/06GK105830099SQ201480067221
【公开日】2016年8月3日
【申请日】2014年10月28日
【发明人】罗宾·怀特
【申请人】电子湾有限公司