首页> 中国专利> 任务分派服务器和任务分派方法

任务分派服务器和任务分派方法

摘要

分派来自不同类型的服务的任务,同时还消除关于来自某些类型的服务的任务的工作延迟,一种任务分派服务器,针对来自每个不同类型的服务的任务从用户的执行历史计算用户兴趣的估计值和估计值的不确定度;考虑分派给其他用户的来自每个不同类型的服务的任务将不会被执行的概率,基于登入的用户的兴趣的估计值和估计值的不确定度计算来自服务的任务的优先级;以及把具有最高优先级的服务的任务提供给用户。

著录项

  • 公开/公告号CN103870913A

    专利类型发明专利

  • 公开/公告日2014-06-18

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201310628148.5

  • 发明设计人 石原辰也;

    申请日2013-11-29

  • 分类号G06Q10/06;G06F17/30;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人王莉莉

  • 地址 美国纽约

  • 入库时间 2024-02-20 00:20:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-15

    未缴年费专利权终止 IPC(主分类):G06Q10/06 授权公告日:20171024 终止日期:20181129 申请日:20131129

    专利权的终止

  • 2017-10-24

    授权

    授权

  • 2014-07-16

    实质审查的生效 IPC(主分类):G06Q10/06 申请日:20131129

    实质审查的生效

  • 2014-06-18

    公开

    公开

说明书

技术领域

本发明涉及一种用于分派来自许多不同服务的任务的技术,更具体地讲,涉及一种用于在消除关于来自某些类型的服务的任务的工作延迟的同时提高工作的总体效率的技术。

背景技术

近年来,众包(crowdsourcing)已作为把工作委托给互联网上的未指定数量的社区的方式而吸引注意。由Amazon.com,Inc运营的Amazon Mechanical Turk和由InnoCentive,Inc运营的InnoCentive是世界著名的众包网站。以众包当前工作的方式,用户主动访问提供特定服务的服务器以接受工作(参见图1(a))。然而,使用户主动访问服务器限制了劳动力的规模。

已考虑一种方法,通过该方法,在单一服务合并来自多个众包网站的任务,并且使用同一界面为用户提供各种任务(参见图1(b))。然而,当任务被随机提供给具有不同兴趣和技能集合的用户时,不能预期大规模使用。

专利文献1-4是基于用户的过去历史或类似用户的过去历史确定最终推荐的现有技术方法。

专利文献1公开一种服务推荐系统,在该系统中,任务基于用户的角色而被推荐给用户,执行对服务的搜索以支持推荐给用户的任务,并且服务基于用户任务而被推荐。专利文献1还公开一种用于在通过比较用户的当前时间和位置与分派给任务的时间信息和位置信息(使用日志的时间和地点或者标准时间和地点)更准确地估计任务时估计用户行为的方法。

专利文献2公开一种信息检索系统,在该系统中,从由用户使用的装置提取偏好以便能够推荐更接近用户的兴趣的内容。专利文献2还公开这样一种方法:检索存储在HDD上的用户的观看历史和操作历史,分析用户偏好,并且基于获得的偏好信息产生兴趣数据。

专利文献3公开一种信息提供装置,在该装置中,访问与在设施的工作相关的技术信息、指示每个设施的状态的设施信息和指示在终端观看技术信息的结果的观看结果信息,获取与观看结果信息对应的第一设施信息和与目标设施对应的第二设施信息,计算包括第一设施信息的比较信息与包括第二设施信息的目标信息的关联的程度,并且基于关联的程度从与观看结果信息对应的技术信息提取作为输出目标而优选的信息。专利文献3还公开相关性计算处理,在该处理中,计算使用协同滤波方法的规范化之后的各种比较数据集(第一用户历史数据)和规范化之后的目标数据(第二用户历史数据232)之间的关联的程度(相关性水平)。

专利文献4公开这样一种方法:个人计算机装备有数据库,该数据库包括存储用户的列表的用户列举表、存储与图像相关的任务的列表的任务列举表和存储使任务和操作关联在一起的操作历史的操作历史列表;并且任务信息管理服务器装备有存储任务信息的信息管理数据库。当用户激活文件时,基于与该文件关联的任务预测并提供最有可能由用户执行的操作。

专利文献5被包括在这里作为背景技术,在专利文献5中,当将要使用多个计算机系统执行工作时,预测由用户请求的工作的完成时间,并且当使用计算机系统时,在考虑截止期限的同时,同时分派工作。专利文献5公开一种用于包括多个计算机系统的分布式处理系统的方法,在该方法中,共享每个计算机系统的操作信息,针对利用计算机系统之一处理的工作指示优化的执行优先级和执行截止期限,预测处理的工作的执行完成时间,使用响应于前一预测的结果而改变的优先级执行次序再次预测工作的执行完成时间,并且响应于随后的预测的结果向共享操作信息的另一计算机系统提出工作执行请求。

非专利文献1和2被包括在这里作为与通过使用泊松处理对在众包网站的工作者的到达和任务的执行进行建模来实现的成本的优化相关的背景技术。

非专利文献1公开这样一种方法:报酬被确定为促进工作者在预定时间段内完成工作。

非专利文献2公开这样一种方法:通过使用泊松处理对在众包网站的工作者的到达和任务的执行进行建模来以更低成本实现实时请求的众包任务。

此外,非专利文献3公开Wikipedia上的一种用于编辑工作的任务分派方法。更具体地讲,非专利文献3公开一种用于基于已由用户编辑的文章标题和链接结构推荐将要编辑的下一文章的方法。

非专利文献4和5被包括在这里作为分别与使用矩阵因子分解的协同滤波和使用张量因子分解的结合上下文的协同滤波相关的背景技术。

引用列表

专利文献

专利文献1专利公开No.2007-179185

专利文献2专利公开No.2004-355070

专利文献3专利公开No.2011-227601

专利文献4专利公开No.2008-262554

专利文献5专利公开No.2008-256222

非专利文献

非专利文献1

S.Faridani,B.Hartmann,P.Ipeirotis,"What's the Right Price?Pricing Tasks for Finishing on Time",Proceedings of the ThirdHuman Computation Workshop,2011

非专利文献2

Michael Bernstein,David R.Karger,Robert C.Miller,and JoelR.Brandt,"Analytic Methods for Optimizing RealtimeCrowdsourcing",Proceedings of Collective Intelligence2012

非专利文献3

Dan Cosley,Dan Frankowski,Loren Terveen,John Riedl,"Suggest Bot:Using Intelligent Task Routing to Help People FindWork in Wikipedia",IUI'07Proceedings of the12th InternationalConference on Intelligent User Interfaces,2007,Pages32-41

非专利文献4

Gabor Takacs,Istvan Pilaszy,Bottyan Nemeth,"MajorComponents of the Gravity Recommendation System",ACMSIGKDD Explorations Newsletter-Special Issue on Visual Analytics,Volume9,Issue2,December2007,Pages80-83

非专利文献5

Alexandros Karatzoglou,Xavier Amatriain,Linas Baltrunas,"Multiverse Recommendation:N-Dimensional Tensor Factorizationfor Context-Aware Collaborative Filtering",RecSys'10Proceedingsof the Fourth ACM Conference on Recommender Systems,Pages79-86

发明内容

技术问题

然而,专利文献1-4和非专利文献3中的方法是用于基于与特定人或事相关的过去历史确定推荐的方法。这些文档不考虑提高总体工作效率。因此,即使这些方法被用于在众包网站分派任务,它们也不能防止对某些类型的任务的兴趣的集中和关于其它任务的工作延迟。

非专利文献1和2中公开的方法从在众包网站提高总体工作效率的角度分派任务。然而,非专利文献1中的方法在某些情况下很昂贵,因为该方法提供报酬以促进在给定时间段内的工作的合成。此外,非专利文献2中的方法基于工作者能够执行的任务把工作者分组,并且把任务分派给考虑到任务和工作者的到达的具有最佳生产量的组。然而,非专利文献2中的方法不可避免地经历一些任务的完成的延迟,因为它在分派任务时不考虑实际任务执行状态。

在专利文献5中公开的方法中,当用户的部门中的计算机系统不能满足由用户请求的时间表时,考虑由其它部门运行的计算机系统的可用性以在由用户请求的截止期限之前完成工作。然而,在专利文献5中公开的方法中,计算机系统完成工作,并且这种方法不能被容易地应用于由人执行工作的众包服务。

如上所述,非专利文献4和5仅作为解释在本发明的实施例中使用的协同滤波方法的文档而被列举。

考虑到现有技术的技术问题,本发明的目的在于提供一种能够在分派来自不同类型的服务的任务的众包网站消除关于来自服务之中的某些类型的服务的任务的工作延迟的同时提高工作的总体效率的任务分派方法、任务分派服务器和任务分派程序。

问题的解决方案

为了解决这些技术问题,本发明提供一种具有下面的特性的任务分派方法。本发明是一种用于使用计算机处理从不同类型的服务把任务分派给用户的方法。计算机执行这种方法,所述方法包括下述步骤:(a)针对每个不同类型的服务的任务根据用户的执行历史计算用户感兴趣程度的估计值和估计值的不确定度;(b)基于用户感兴趣程度的估计值和估计值的不确定度计算每个不同类型的服务的任务的优先级,任务的优先级的计算考虑被分派来自同一服务的任务的其他用户不执行来自同一服务的任务的概率;以及(c)确定来自具有最高的计算的任务优先级的服务的任务是将要被提供给用户的任务。

优选地,在步骤(b)中,通过其他用户不执行来自同一服务的任务的概率对估计值的不确定度进行加权。

此外,优选地,在步骤(b)中,计算优先级作为加权的估计值的不确定度和感兴趣程度的估计值之和。

此外,优选地,在步骤(a)中,计算用户对每个服务的感兴趣程度的估计值作为用户执行来自该服务的任务的概率的估计值的平均值,并且计算估计值的不确定度作为估计值的标准差。

此外,优选地,在步骤(b)中,通过用1减去其他用户对来自同一服务的任务的感兴趣程度和其他用户的针对来自同一服务的任务的技能水平的乘积,并且随后将差值针对所有其他用户相乘,来计算其他用户不执行来自同一服务的任务的概率。更具体地讲,在步骤(b)中,当计算优先级时,通过用1减去其他用户执行来自同一服务的任务的概率和其他用户完成来自服务的任务的概率的乘积,并且随后将结果针对每个其他用户相乘,来计算其他用户不执行来自同一服务的任务的概率。

此外,优选地,在步骤(a)中,使用协同滤波在没有来自用户的执行历史的情况下计算用户对服务的感兴趣程度的估计值。

此外,优选地,响应于把任务提供给用户而重复执行步骤(a),并且所述计算机还执行保存计算的用户感兴趣程度的估计值和估计值的不确定度以用于下一次优先级计算的步骤。

此外,优选地,响应于用户登入到计算机而执行步骤(b),并且所述计算机还执行定期重复步骤(b)和步骤(c)直至用户登出的步骤。此外,优选地,所述计算机是网页(web)服务器,并且在步骤(c)中,在安装在用户的计算机上的网页浏览器或客户端应用上以卡片格式显示任务的提供。

此外,优选地,所述计算机连接到网页服务器,响应于用户登入到网页服务器而执行步骤(b),并且在步骤(c)中,在安装在用户的计算机上的网页浏览器或客户端应用上以卡片格式经网页服务器显示任务的提供。此外,优选地,所述计算机还执行定期重复步骤(b)和步骤(c)直至用户登出网页服务器的步骤。

此外,优选地,在步骤(c)中,所述计算机还执行在优先级超过预定阈值的情况下向用户警告决定的任务的步骤。

本发明在以上被解释为一种用于分派来自不同类型的服务的任务的任务分派方法。然而,本发明还能够被理解为一种在计算机中执行这种任务分派方法中的每个步骤的任务分派程序,并且被理解为一种通过把这种任务分派程序安装在服务器计算机中来实现的任务分派服务器。

发明的效果

在本发明中,提供一种分派来自不同类型的服务的任务的任务分派服务。在这种任务分派服务中,基于用户对服务的兴趣的估计值和关于估计值的不确定度为每个服务确定任务优先级,并且高优先级任务被选择为提供给用户的任务。优先级计算考虑这样的可能性:任务将不会由接收来自同一服务的任务的另一用户执行。结果,当存在关于来自特定类型的服务的任务的工作将会被延迟的可能性时,任务能够被主动分配给对特定类型的服务具有潜在兴趣的用户。结果,在消除关于来自某些类型的服务的任务的工作延迟的同时,能够提高工作的总体效率。在实施例的描述中,本发明的其它效果将会变得清楚。

附图说明

图1(a)是显示现有技术的众包系统结构的例子的示图,并且图1(b)是显示提出的众包系统结构的例子的示图。

图2(a)是显示包括本发明的实施例中的任务分派服务器的系统结构的例子的示图,并且图2(b)是显示包括本发明的实施例中的任务分派服务器的系统结构的另一例子的示图。

图3是用于实现本发明的实施例中的任务分派服务器200的优选的信息处理装置的硬件结构的例子。

图4是本发明的实施例中的任务分派服务器200的功能框图。

图5是显示执行历史信息的表的例子的示图。

图6是显示网页浏览器上的卡片的例子的示图。

图7是显示用于把任务分派给每个用户i的任务分派处理的总体流程的流程图。

图8是显示图7中的流程图的步骤702中的优先级计算处理的流程的流程图。

图9是显示在后台定期执行的任务分派服务器的流程的流程图。

图10(a)-(c)是显示仿真的第一测试结果的示图。

图11(a)-(c)是显示仿真的第二测试结果的示图。

图12(a)和(b)是显示仿真的第三测试结果的示图。

具体实施方式

下面是参照附图对本发明的优选实施例进行的解释。然而,下面的实施例并不因为它与权利要求的范围相关而限制本发明。此外,在本发明的技术解决方案中并不必然需要在实施例中解释的特性的所有组合。在本发明的实施例的全部解释中,相同元件由相同标号表示。

不管用户是否请求任务,本发明的实施例中的任务分派服务持续把任务提供给用户,从而用户能够在其空闲时间执行任务。为了实现这一点,如图2(a)中所示的本发明的实施例中的任务分派服务器可被实现为把定期登记的服务提供给客户计算机的用户的网页服务器202a的功能(诸如,门户网站或社交联网服务)。它还可被实现为由用户频繁使用的客户端应用(诸如,邮件客户端)的一部分。在用户登入的同时,作为网页服务器202a的任务分派服务器持续在网页浏览器的屏幕的一部分或客户应用的一部分中显示供用户选择的任务。

本发明的实施例中的任务分派服务通过选择性地提供来自许多类型的已登记服务之中适合用户的服务的任务而考虑总体工作效率。结果,如图2(a)中所示,作为网页服务器202a的任务分派服务器可把由连接到互联网204的几个服务器212a、212b、212c提供的来自众包网站的任务合并为单一服务,或者可直接从个人和公司接收已登记任务而不管特定类型的服务是什么。

在前者的情况下,任务分派服务器定期从提供众包服务的各服务器212a、212b、212c接收关于已登记服务的任务信息。在后者的情况下,任务分派服务器像传统众包服务器一样把预定登记表格提供给希望登记服务的个人和公司并且提示他们输入关于将要登记的服务的任务信息。在两种情况下,任务分派服务器都存储获取的任务信息并且提供任务分派服务。在以下解释的任务分派服务器中使用前者结构。

在图2(a)中,网页服务器202a经互联网204连接到几个客户计算机206a、206b、…、206z。在图2(a)中的系统中,客户计算机的用户使用网页浏览器经互联网204登入到网页服务器202a中。更具体地讲,特定URL被输入到网页浏览器中以显示特定网页。这里,除了由网页服务器202a实现的任务分派服务之外提供的服务是社交网络服务(SNS)。

为了登入,客户计算机的用户使用提供的用户ID和关联的密码。一旦登入到SNS中,客户计算机的用户写博客条目,阅读该用户被允许访问的其他人的博客,写评论,阅读新闻,创建与同龄人的相似组,聊天,搜索感兴趣的社区,执行提供的任务和其它活动。

移动终端(诸如,智能电话210a、…、210k)也经分组通信网络108连接到网页服务器202a。这些用户能够通过输入提供的用户ID和关联的密码经安装在智能电话上的网页浏览器访问网页服务器202a的SNS。

本发明的实施例中的任务分派服务器的实现方法不限于以上参照图2(a)解释的方法。例如,任务分派服务器可被实现在除网页服务器202b之外的服务器上,诸如图2(b)中示出的系统。在这种情况下,任务分派服务器从网页服务器202接收登入和登出信息,并且经网页服务器202b把供每个用户选择的任务信息提供给客户计算机206a、206b、206z和智能电话移动终端210a、…、210k的用户。在图2(b)中示出的系统中,任务分派服务器203把来自由经互联网214连接的服务器212a、212b、212c提供的不同众包网站的任务合并为单一服务。在下面的解释中,本发明的实施例中的任务分派服务器被实现为网页服务器的功能。

图3是用作实现本发明的网页服务器202a的计算机300的硬件结构的例子。计算机300具有CPU302和主处理器304,并且这些部件连接到总线306。通信接口326经通信控制器324连接到总线306。通信接口326以物理方式把计算机300连接到通信线路328(用于与客户计算机通信的互联网和用于与智能电话通信的分组通信网络)。这在计算机300的操作系统的通信功能中提供用于TCP/IP通信协议的网络接口层。通信线路能够基于有线LAN环境或者基于无线LAN环境,例如Wi-Fi标准(诸如,IEEE802.11a/b/g/n)。

显示器310(诸如,液晶显示器(LCD))可经显示控制器308连接到总线306,并且键盘320和鼠标322可经键盘/鼠标控制器318或USB总线(未示出)连接。这些部件可被用于管理和维护用作任务分派服务器的网页服务器和计算机300。

盘314(诸如,硅盘或硬盘)可经SATA或IDE控制器312连接到总线306。驱动器316(诸如,CD、DVD或BD驱动器)也可经SATA或IDE控制器312连接到总线306。

盘314存储操作系统和用于管理客户计算机206a、206b、…、206z的登入的用户ID和密码的对应表。盘314还存储能够使计算机300用作网页服务器的软件,诸如Apache。这在计算机300启动时被加载到主处理器304中并且激活。这使用户的计算机能够使用TCP/IP协议访问计算机300。盘314还存储用于经分组通信网络与智能电话通信的通信模块。

驱动器314还存储SNS的每个用户的信息,诸如每个用户的消息、博客和公告板。SNS信息优选地被以文本格式(诸如,以HTML文件)或多媒体格式(诸如,图形图像、视频文件和音频文件)存储。用户能够在他们的博客中或在公告板上写条目,并且其他用户能够阅读这些博客和公告板并且如果被授权则发表评论。

盘314还存储以下解释的信息和模块,这些信息和模块与图4中示出的功能块相关并且被加载到主处理器304中。这包括任务信息、历史信息、任务登记和管理模块、历史信息管理模块、登入检测模块、优先级计算模块、感感兴趣程度计算模块、不执行概率计算模块和任务决定模块。这些模块在CPU302中被激活以使计算机300用作任务登记/管理单元404、任务信息存储单元406、历史信息管理单元408、登入检测器409、历史信息存储单元410、优先级计算单元412、感感兴趣程度计算单元414、不执行概率计算单元416和任务决定单元418。计算机程序能够被压缩或分割并且存储在多个介质上。

替代于把来自各种众包网站的任务合并为单一服务,用于众包服务的公知功能的模块能够被存储在盘314中以由计算机300执行。这些模块包括:从任务请求者接受已登记任务,在任务的请求者和执行者之间签署协议,执行结果的检查和核准以及付费。

用于网页服务器的计算机300能够是任何类型的服务器,诸如可从International Business Machines Corporation获得的IBM(International Business Machines Corporation的商标)SystemX、System i或System p服务器。可用的操作系统包括:AIX(International Business Machines Corporation的商标)、UNIX(Open Group的商标)、Linux(Linus Torvalds的商标)和Windows(商标)2003Server。这个例子中的操作系统是Linux(LinusTorvalds的商标),EE已被引入到Linux。服务器侧已被引入,并且作为本发明的处理程序的模块优选地被安装为程序或以小服务程序(Servlet)格式安装。

在上述实施例中使用的计算机300可被容易地理解为信息处理装置,诸如工作站、大型计算机或这些的组合。这里解释的结构元件仅用于说明目的,并且并非所有的结构元件都是本发明的必要结构元件。当本发明的实施例中的任务分派服务器被实现为与网页服务器分开的服务器时,应该理解,用作用于提供上述SNS的网页服务器的结构元件不是必要元件。

下面是参照图4中的功能框图对用于实现本发明的处理元件进行的解释。如上所述,本发明的实施例中的任务分派服务器400被实现为网页服务器202a的功能。此外,任务分派服务器400把由多个服务器提供的来自各种众包服务器的任务合并为单一服务。

通信单元402被用于在提供各种众包服务的多个服务器和执行来自这些服务的任务执行者之间发送和接收数据。

任务登记/管理单元404定期地从通信单元402接收与来自在提供众包服务的每个服务器上登记的服务的任务相关的任务信息,并且把这种信息存储在以下描述的任务信息存储单元406中。任务登记/管理单元404还利用存储在任务信息存储单元406中的任务信息针对每个服务创建呈现来自服务的任务的任务执行者的列表,使该列表与来自对应服务的任务信息关联,存储该列表,并且管理该列表。更具体地讲,当来自服务的任务由通信单元402发送并呈现给任务执行者时,任务登记/管理单元404把任务执行者和任务发送时间添加到合适的服务的任务执行者的列表。此时,任务登记/管理单元404把任务执行者识别信息、任务识别信息、与任务相关的服务识别信息和任务信息发送时间发送给以下描述的历史信息管理单元408作为与由任务执行者对任务的执行相关的历史信息。当已经经由通信单元402从执行的任务接收到执行的结果时,任务登记/管理单元404还从服务的任务执行者列表删除任务执行者。此时,任务登记/管理单元404任务登记/管理单元404把任务执行者识别信息、任务识别信息、与任务相关的服务识别信息和任务结果发送时间发送给以下描述的历史信息管理单元408作为与由任务执行者对任务的执行相关的历史信息。

任务信息存储单元406存储向多个众包网站的服务器登记的任务信息。任务信息根据任务所属于的服务而被分组,并且包括服务识别信息、关于属于该服务的所有任务的识别信息、提供给任务执行者的任务的总结、执行状况(例如,截止期限、报酬、基本来源、参与者的数量等)和任务请求者信息。如上所述,任务信息存储单元406使被提供属于同一服务的任务的任务执行者的列表与对应任务信息关联,并且存储该列表。

历史信息管理单元408为向网页服务器202登记为用户的每个用户创建任务执行的历史,把这个历史存储在历史信息存储单元410中,并且管理这个历史。更具体地讲,当从任务登记/管理单元404接收到与由任务执行者对任务的执行相关的历史信息时,历史信息管理单元408添加关于任务执行者的历史信息。

历史信息存储单元410存储与向网页服务器202登记为用户的每个用户的任务执行历史相关的历史信息。与由每个用户对任务的执行相关的历史信息包括属于任务的服务识别信息、任务识别信息、任务执行开始时间(例如,任务信息发送时间)和任务完成时间(例如,任务执行结果的接收时间)。可按照如图5中所示的表格式保持历史信息。图5中的表包括用户ID字段、服务ID字段、任务ID字段、开始时间字段和完成时间字段。在这个例子中,任务刚刚被提供,因此在完成时间字段中没有值。当由用户发送任务执行结果时,在完成时间字段中设置值。

登入检测器409检测用户登入到网页服务器202中。不管任务分派服务器400是否被作为功能而包括在网页服务器中,由网页服务器202把包括用户信息的登入成功通知发送给任务分派服务器400。

优先级计算单元412相对于已由登入检测器409检测到其登入的用户针对存储在任务信息存储单元406中的每个类型的服务计算来自服务的任务的优先级。优先级计算单元412使用由以下描述的感兴趣程度计算单元414和不执行概率计算单元416计算的值计算优先级。当这些值可用时,优先级计算单元412检索这些值。当这些值不可用时,它请求计算这些值。以下更详细地解释优先级计算处理。

感兴趣程度计算单元414基于与存储在任务信息存储单元406中的每个类型的服务的用户任务执行相关的历史信息计算用户对来自服务的任务的兴趣的估计值和估计值的不确定度。优选地,感兴趣程度计算单元414计算用户对每个服务的兴趣的估计值作为用户执行来自服务的任务的概率的估计值的平均值,并且计算每个服务的估计值的不确定度作为相对于估计值的标准差。以下更详细地解释这一点。

如上所述,假设用户i对服务j的兴趣由用户执行来自每个服务的任务的概率表示,并且被表示为下面的二项分布中的概率P的平均值PP(i,j)。

-当用户i已被提供来自服务j的任务n次并且执行该任务k次时的概率-

此时,假设P的先验分布是均匀分布,使用以下的方程(1)和方程(2)确定概率P的贝叶斯估计、P的平均值PP(i,j)和P的方差Pσ(i,j)。

方程1

>Pp(i,j)=1+k2+n...(1)>

>(i,j)=(1+k)(1+n-k)(2+n)2(2+n+1)...(2)>

这里,从用户历史信息确定在方程中表示的n和k的值。如上所述,存储在执行历史信息存储单元410中的与每个用户的任务执行相关的历史信息包括关于任务所属于的服务的识别信息、关于任务的识别信息、任务的执行开始时间和任务的完成时间。这里,n的值是同一服务识别信息的条目的数量,并且k的值是具有确立的任务完成时间的条目的数量。

当在PP(i,j)中存在缺少值时,也就是说,当服务不具有与用户任务执行相关的历史信息时,可使用协同滤波计算用户兴趣的估计值。在下面的解释中,使用矩阵因子分解从其他用户的感兴趣程度的值计算估计值。

首先,将提供一些定义。以下的方程(3)表示用户i执行每个任务的概率。在任务分派服务器400中登记的服务j具有m个类型。方程(4)表示所有用户的任务的执行概率。向网页服务器202a登记的用户的数量是n(其中n是等于或大于2的整数)。方程(5)表示使用矩阵因子分解对每个用户i的每个任务的执行概率的估计。

方程2

Pi=(pi1,pi2,...pim),Pi∈Rm...(3)

P=[P1,P2,...Pn],P∈Rn×m...(4)

Pp=UT,U∈Rn×k,T∈Rk×m...(5)

最终获得在方程(5)的左手侧的矩阵Pp。这个矩阵中的分量是PP(i,j)。

接下来,使用下面的步骤确定矩阵Pp。

步骤1:使用随机数创建矩阵U、T。

步骤2:重复以下的方程(6)至(8)中的更新处理,直至矩阵U、T收敛。这里,K是预先指定的矩阵因子分解中的因子的可能的数量。例如,基于向任务分派服务器400登记的任务的类型以试探方式决定K。例如,当存在需要文字输入技能和日语技能的已登记的两种类型的任务(校对和图像字幕制作)时,指定两个可能的因子。此外,α和β被预先指定为常数。存在作为用于稳定数值计算的实验值而指定的数字。在以下描述的实验中,α=0.0001并且β=0.01。

方程3

>u^ik=uik+α(2eijtkj-βuik)...(6)>

>t^kj=tkj+α(2eijuik-βtkj)...(7)>

>eij=(pij-Σk=1k=Kuiktkj)2+β2Σk=1k=K(||U||2+||T||2)...(8)>

假设uik是U中的分量(i,k),tkj是T中的分量(k,j),并且和是uik、tkj的更新值。

步骤3:使用在步骤2中获得的矩阵U、T根据方程(5)计算矩阵Pp。需要更多信息,请参见非专利文献4。

当在PP(i,j)中存在缺少值时,能够使用协同滤波计算用户兴趣的估计值。当在Pσ(i,j)中存在缺少值时,n=0和k=0被插入到方程(2)中的方差方程中。因为如前所述基于关于用户任务执行的历史信息确定用户兴趣的估计值和估计值的不确定度,所以感兴趣计算单元414响应于把任务提供给用户或者响应于基于这种提供更新历史信息而执行计算处理。感兴趣程度计算单元414存储计算的值以使其对于优先级计算单元412而言可用。

不执行概率计算单元416响应于来自优先级计算单元412的处理请求而计算每个类型的服务的不执行概率。这是任务将不会由被分派来自服务的任务的另一用户执行的概率。这里,被分派来自服务j的任务的其他用户是除了作为优先级计算单元412的当前对象的用户i之外的被分派来自服务j的任务的所有用户。以下,当优先级计算单元412针对用户i在时间T开始优先级计算处理时,来自服务j的任务将不会被执行的不执行概率由Pw(j,T)表示。此外,被分派来自服务j的任务的所有用户的集合由U(j)表示。从与关于服务j的任务信息关联的任务执行者的列表确定集合U(j)并且集合U(j)被存储在任务信息存储单元406中。

通常,任务已经被分派给感兴趣并且有技能的用户的服务将会很快被执行的概率较高。这意味着来自给定服务的任务将会被执行的概率能够由用户对任务的感兴趣程度和用户的技能水平的乘积表示。在这个例子中,如上所述,用户k对服务j的兴趣由用户将会执行每个服务的任务的概率表示。这里,用户k的针对服务j的技能由用户k执行任务j所需的时间表示。当这个时间由泊松假设表示时,用户k在时间Δt内完成任务j的概率被表示为Ps(k,j,Δt)。

给定事件在时间t中发生r次的泊松处理由以下的方程(9)表示。

方程4

>Pr(t)=(λt)rr!e-λt,(r=0,1,2,...)...(9)>

然后,因为用户k的针对服务j的技能(也就是说,用户k将会在时间Δt内完成任务j的概率Ps(k,j,Δt))对应于r=1的泊松假设,所以它能够由以下的方程(10)表示。

方程5

>PS(k,j,t)=P1(t)=λkjte-λkjt...(10)>

需要注意的是,通过从存储在历史信息存储单元410中的用户k的历史信息计算每单位时间执行的任务的数量来确定λkj。换句话说,通过采用由用户k执行的服务j的任务的数量并且把其除以用户k在针对服务j执行的任务上花费的总工作时间来确定λkj。这里,通过针对每个任务用完成时间减去开始时间并且累加具有相同服务识别信息的所有条目的值来计算总工作时间。每次用户执行任何服务的任务时,执行这种计算。当在λkj中存在缺少值时,也就是说,当服务不具有来自用户k的历史信息时,能够使用协同滤波针对λkj计算估计值。因为能够使用与参照PP(i,j)解释的方法相同的方法计算使用协同滤波的λkj的估计值,所以这种方法的进一步解释已被省略以避免重复。

通过用一减去用户k的针对服务j的兴趣和技能的乘积并且通过将该差值针对集合U(j)中的所有用户相乘,不执行概率计算单元416计算不执行概率Pw(j,T),不执行概率Pw(j,T)是接收来自服务j的任务的另一用户k(k∈U(j))不在时间T执行该任务的概率。换句话说,通过用一减去用户k执行来自服务j的任务的概率和用户k在计算优先级时(也就是说,在时间T)完成来自服务j的任务的概率的乘积并且通过将该差值对集合U(j)中的所有用户相乘,不执行概率计算单元416计算不执行概率Pw(j,T)。这能够由以下的方程(11)表示。

方程6

>Pw(j,T)=Πk=U(j)(1-Ps(k,j,T-T(k))×Pp(k,j))...(11)>

在方程(11)中,T(k)表示用户k被发送来自服务j的任务的时间。此外,使用方程(1)确定PP(k,j),并且使用方程(10)确定Ps(k,j,T-T(k))。

当如上所述已由感兴趣程度计算单元414和不执行概率计算单元416计算各个值时,优先级计算单元412基于由感兴趣程度计算单元414计算的感兴趣程度的估计值PP(i,j)和估计值的不确定度Pσ(i,j)对于已由登入检测单元409检测到其登入的用户i针对存储在任务信息存储单元406中的每个类型的服务计算来自服务j的任务的优先级m(i,j)。此时,感兴趣程度计算单元412考虑不执行概率Pw(j,T),不执行概率Pw(j,T)是接收分派的来自同一服务j的任务的另一用户不执行来自同一服务的任务的概率。

换句话说,优先级计算单元412通过不执行概率Pw(j,T)或另一用户将不会执行来自同一服务j的任务的概率对估计值的不确定度Pσ(i,j)进行加权。优先级计算单元412随后计算来自服务的任务的优先级m(i,j)作为加权的估计值的不确定度和感兴趣程度的估计值之和。这能够使用以下的方程(12)来表示。

方程7

m(i,j)=Pp(i,j)+Pσ(i,j)×Pw(j,T)…(12)

任务决定单元418比较由优先级计算单元412计算的所有服务的任务的优先级m(i,j),并且选择具有最高优先级的服务的任务作为将要被提供给用户i的任务。然后,任务决定单元418经通信单元402把选择的数据发送并提供给用户i。这里,可在安装在用户i的计算机上的网页浏览器的屏幕上按照卡片格式提供任务。图6显示在网页浏览器602的屏幕或客户应用的屏幕上按照卡片格式显示的任务信息604。

优先级计算单元412和任务决定单元418响应于用户i登入到网页浏览器202a而执行这个处理,并且定期重复这个处理直至用户i登出。

下面是参照图7至图9对本发明中的任务分派处理的流程进行的解释。图7是显示用于把任务分派给每个用户i的任务分派处理的总体流程的流程图。图8是显示图7中的流程图的步骤702中的优先级计算处理的流程的流程图。图9是显示在后台定期执行的任务分派服务器的流程的流程图。

当检测到用户i的登入时,在步骤700中开始图7中的用于把任务分派给每个用户i的任务分派处理。任务分派服务器400随后针对用户计算存储在任务信息存储单元406中的每个服务的任务的优先级。以下参照图8更详细地描述优先级计算处理。

接下来,任务分派服务器400选择具有计算的优先级中的最高优先级的服务j的任务作为将要被提供给用户i的任务,并且这个任务被提供给用户i(步骤704)。此时,任务分派服务器400更新存储在执行历史信息存储单元410中的用户i的执行历史,并且把来自服务j的任务到用户的呈现被添加到用户i的执行历史。任务分派服务器400等待过去预定时间段,然后确定是否已从用户i接收到来自服务j的任务的执行结果(步骤706)。当未接收到结果(步骤706:否)时,任务分派服务器400更新用户兴趣的估计值和估计值的不确定度(步骤708)。

当已从用户i接收到来自服务j的任务的执行结果(步骤706:是)时,除了用户i的感兴趣程度的估计值和估计值的不确定度之外,任务分派服务器400还更新用户i的技能(步骤710)。当已从用户i接收到来自服务j的任务的执行结果时,任务分派服务器400更新存储在执行历史信息存储单元410中的用户i的执行历史,并且把来自服务j的任务的完成添加到用户i的执行历史。

接下来,任务分派服务器400确定用户i是否保持登入(步骤712)。当用户i保持登入(步骤712:是)时,该处理返回到步骤702,并且任务分派服务器400重复优先级计算处理。当用户i未保持登入(步骤712:否)时,该处理结束。

图8中的优先级计算处理在步骤800中开始,并且当已经计算针对存储在任务信息存储单元406中的每个服务的任务的用户i的感兴趣程度的估计值和估计值的不确定度时,任务分派服务器400检索这些值。然后,任务分派服务器400确定检索是否已成功(步骤802)。当检索未成功(步骤802:否)时,针对来自每个服务的任务再次计算用户i的感兴趣程度的估计值和估计值的不确定度(步骤804)。

当步骤802中的检索已成功或者该处理已从步骤804前进至步骤806时,任务分派服务器400计算每个服务j的不执行概率,该不执行概率是已经接收服务j的另一用户k将不会执行来自服务j的任务的概率。然后,任务分派服务器400在还考虑每个服务j的不执行概率的同时基于用户i的感兴趣程度的估计值和估计值的不确定度计算来自服务j的任务的优先级(步骤808)。该处理随后结束。

当任务分派服务开始时,图9中示出的由任务分派服务器400执行的后台处理开始,并且任务分派服务器400等待预定时间段(步骤900)。然后,任务分派服务器400确定相对于每个服务j的每个用户i的兴趣和技能是否已被升级到某一水平或更高水平(步骤902)。

当用户i的兴趣和技能都未被更新到某一水平或更高水平(步骤902:否)时,该处理返回到步骤900,并且任务分派服务器400等待另一预定时间段。当用户i的兴趣和技能中的至少一个已被更新到某一水平或更高水平(步骤902:是)时,任务分派服务器400使用矩阵因子分解预测针对每个服务j的每个用户i的兴趣和技能的缺少值(步骤904)。该处理随后结束。

接下来,参照图10至图12,在仿真中测试在本发明中提出的任务分派方法,并且基于测试的结果核查本发明的有效性。在仿真中使用下面的设置。

·仿真器中的时间的单位对应于真实时间中的秒。

·用户登入和登出任务分派服务的概率是固定的。

·每个用户在平均从30分钟到三个小时的随机时间段中随机地重复登入和登出操作。

·每个服务的难度是固定的。

·为了表示用户之间的技能的差异,由每个用户执行来自每个服务的一个任务所花费的平均时间被表示为正态分布。然而,这种正态分布的标准差是(10分钟-10秒)/4。此外,正态分布的平均值根据服务而不同,并且作为任何五个随机的可能的因子的平均值从正态分布随机产生正态分布的平均值。表示服务之间的困难的程度的这个值在10秒和10分钟之间变化。

·响应于用户对每个服务的兴趣的值,无趣的任务以高概率程度不被执行而是被略过。针对每个用户随机确定略过任务所需的时间,但平均随机值在五秒和五分钟之间变化。

·当每个用户对每个服务的兴趣的值未知时,初始值是0.5。

·当针对每个服务的每个用户的技能的真实值未知时,从正态分布随机产生初始值,并且该初始值在最大值和最小值之间的任何地方变化。作为任何10个随机的可能的因子的平均值从正态分布随机产生正态分布的平均值。

在测试中,仿真中的用户的数量和服务的数量改变为许多不同的值并且被比较。每个服务的任务的数量是1000。图10是显示用户的数量变化的仿真的测试结果的示图。图11是显示服务的数量变化的仿真的测试结果的示图。图12是显示服务的数量和用户的数量固定以比较任务完成时间的仿真的测试结果的示图。在每一种情况下,使用下面四种方法进行比较。在每个曲线图中,水平轴代表每个仿真的时间(秒),并且垂直轴代表每个服务的平均任务完成速度。

A.随机分派任务(“随机”)。计算的值在曲线图中被显示为菱形。

B.使用方程(1)从针对每个服务的每个用户的执行历史估计兴趣,并且具有最大兴趣的任务被分派给每个用户(“非仅兴趣CF”)。计算的值在曲线图中被显示为正方形。

C.以与B相同的方式把具有最大兴趣的任务分派给每个用户,但利用矩阵因子分解的协同滤波被定期用于从其他用户的兴趣估计用户对他们还未执行的服务的兴趣(“仅兴趣CF”)。计算的值在曲线图中被显示为三角形。

D.使用本发明的方法分派任务(“提出的方法”)。计算的值在曲线图中被显示为加号。

图10(a)至(c)显示用户的数量变化的仿真的测试结果。服务的数量固定为20。从图10(a)至(c)清楚可见,当用户的数量增加到足够数量时,在随机分派任务的方法(A)和仅使用兴趣的方法(B)之间几乎没有任何差异。例如,在70%任务完成时间几乎没有任何差异(参见曲线图中的箭头1000、1002和1004)。当比较100%任务完成时间时,差异甚至更小(图10(a)中的箭头1006,但在图10(b)、(c)中消失)。即使当随机分派任务时,当用户的数量增加到足够水平时,感兴趣的用户找到任务的可能性也增加。甚至当用户的数量足够大时,使用考虑技能和其他用户的执行情况的本发明的方法的任务分派更有效。

图11(a)至(c)显示服务的数量变化的仿真的测试结果。用户的数量固定为400。如图11(a)中的曲线图中所示,在服务的数量较小并且用户的数量较大的状况下,与当仅考虑兴趣时的情况相比,当随机分派任务时,完成时间更快(参见曲线图中的椭圆形1100)。此外,在服务的数量较小并且用户的数量较大的状况下,使用本发明的方法的任务分派在任务完成时间方面不是非常有效。然而,使用本发明的方法的任务分派在完成多数任务所需的时间方面非常有效(曲线图中的箭头1104的长度较短,但箭头1102的长度较大)。

图12(a)显示服务的数量和用户的数量固定为十以比较任务完成时间的仿真的测试结果。图12(b)显示在用户的数量固定为400的情况下通过比较所有的服务的任务的完成时间获得的测试结果。在用户的数量较小并且服务的数量较大的状况下,本发明的效果最好。在执行仿真的范围中,最多减少16%的任务的完成时间(参见图12(b)中的椭圆形1200)。由于当使用移动终端、门户和邮件客户端从许多不同的众包网站为许多工作者分派任务时满足这些条件,所以优选使用本发明的任务分派方法。这里,CF表示协同滤波。

以上参照实施例解释了本发明,但本发明的技术范围不限于实施例的范围。对于本领域技术人员而言应该清楚的是,能够对实施例进行各种修改和改进。例如,当从用户对每个服务的兴趣的估计值PP(i,j)缺少值时,在实施例中使用矩阵因子分解从其他用户的兴趣计算估计值。然而,方程(5)中的Pp表示矩阵,但用户兴趣能够被表示为张量或上下文(不管任务是否互相联系,应该在其间执行工作的时间帧),并且也能够使用用户简述(参见例如非专利文献5)。因此,具有修改和改进的实施例自然被包括在本发明的技术范围中。

使用诸如“前一”和“在…之前”的术语描述了在权利要求、实施方式和附图中描述的装置、系统、程序和方法中的操作、步骤和处理的执行的次序。然而,能够以任何次序实现这些操作、步骤和处理,只要前一处理的输出由随后的处理使用即可。此外,即使当存在前一处理的输出由随后的处理使用的状况时,也可存在另一处理被插入到前一处理和随后的处理之间的状况。即使当另一处理被插入到它们之间时,也可存在紧挨在随后的处理之前执行前一处理的变型。为了方便起见而使用诸如“第一”、“下一”和“然后”的术语解释了权利要求、实施方式和附图中的操作流程。然而,并不必然以这个次序执行操作流程。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号