陈宝童,王丽清,蒋晓敏,姚寒冰
1.云南大学 信息学院,昆明 650091
2.云南广播电视台,昆明 650500
群智协同计算[1]旨在充分挖掘网络群智资源,实现群体智能[2]的最大化利用来解决计算机单独难以完成的复杂任务[3]。任务分配作为群智协同计算的核心环节之一,不仅直接关系着群智任务的结果质量、完成效率,而且影响着协同工作者的参与体验。
由于群智任务与网络协同工作者的复杂性与不确定性,任务分配机制大多存在适用范围窄、匹配准确度不高、分配效率低等问题。究其原因,主要有三类:
第一,不同的任务因其属性与约束不同,故对工作者与任务分配算法的要求也有差异,这使得特定的任务分配机制往往只能适用于特定的一类或几类相似的任务。
第二,不同的网络协同工作者,其工作能力、专业领域、性格等属性特征各不相同,且随着时间和经验的变化带来特征的动态变化,而任务分配要实现最佳匹配,不仅需要考虑最初的“冷启动”问题,还需要对工作者属性特征变化完成动态感知。
第三,大数据背景下,群智任务与协同工作者的数量急剧上升,群智协同任务分配机制的效率与准确性也将受到更大的挑战。
因此,设计一个合理、高效的群智协同任务分配机制,不仅能够保证任务与工作者之间的精准匹配,保证任务分配成功率,而且能够在给定约束下提高任务的结果质量和完成效率。
为了解和掌握目前群智协同任务分配研究领域的进展,本文基于任务分配的通用框架,分别从工作者模型、任务模型,任务和工作者匹配算法三个方面,对群智协同任务分配的国内外研究进展进行了研究和分析,总结了研究现存的主要问题,提出了未来可能的研究趋势和研究热点,为该领域的相关研究提供参考。
目前,主流群智协同任务分配机制可分为“推”和“拉”两种方式:前者由于工作者体验差、任务分配不均匀等缺点已很少被研究,本文主要研究“推”式分配,主要根据工作者和任务的不同需求,实现双方的个性化筛选,进而完成二者的合理匹配,其优点总结如下:
第一,降低了工作者选择任务的难度[4]。虽然任务搜索功能可提供多种过滤条件的组合,但随着任务数量的增长,工作者在搜索上消耗的时间增多,甚至与在完成任务上花费的时间几乎相当[5]。而“推”式分配可以更快、更准确地让工作者找到适合的任务,降低了时间成本。
第二,能够提高任务分配的准确性与任务结果质量。根据工作者的特征属性完成工作者的筛选,使不同需求的任务,可以尽可能匹配到最符合其要求的工作者,同时也间接保证了任务的顺利完成,并得到更高质量的结果。
但“推”式分配也存在算法构建复杂等需要投入更多研究和技术的问题。表1给出了两种方式的对比情况。
表1 两种任务分配方式对比Table 1 Comparison of two types of task allocation methods
根据任务分配的总体流程,总结提出一个任务分配通用框架,如图1所示。该框架主要包含3个部分:任务模型、工作者模型、分配算法。首先对任务的内容和描述信息进行分析,从中抽取出重要的任务约束和属性,建立任务模型;然后根据任务对工作者属性的具体要求,完成工作者属性的精确感知,并建立工作者模型;最后,基于特定场景,设计分配算法完成工作者与任务间的合理匹配,进而实现任务的准确分配。以下分别从任务模型、工作者模型和分配算法三方面分析和总结国内外相关研究进展。
图1 任务分配框架Fig.1 Framework of task allocaton
2.1.1 任务属性
(1)任务类别
不同类别的任务对工作者专业能力的要求不同。例如,翻译类任务往往要求工作者具有较高的语言能力水平,而开发类任务则更关注工作者的开发能力。因此,正确描述任务类别对工作者属性的筛选具有指导作用。
(2)任务粒度
按照任务粒度的大小可将群智任务分为宏观任务(macro-task)与微观任务(micro-task)[6]。微观任务是一些计算机难以完成而人类能够轻易解决的简单任务,这类任务不需要工作者具有较强能力,往往几秒就能得到结果。与此相反,宏观任务指的是一些较为复杂或专业性较强的任务,需要工作者具有一定的专业知识和能力水平,并且需要一定的时间才能得到结果。
(3)任务领域
与前两种属性不同,任务的领域属性是从任务的具体内容中抽取出来的特性,能够反映出任务的主题信息。根据任务所属领域来筛选工作者,能够提高任务分配的针对性,从而提升任务完成的效率和质量。例如,对于根据影视片段识别出电影名的群智任务,将这类主题为“影视”的任务分配给兴趣爱好为看电影或者所学专业为影视编辑的工作者,能够更快地得到更为准确的结果。
2.1.2 任务约束
(1)成本
大部分群智任务在提交给可靠的工作者完成任务后,需要支付一定报酬。此外,欺诈性工作者或者信誉较低的工作者所提交的虚假或低质量结果,在一定程度上也影响了任务的成本。如何在给定任务成本的约束下,得到较好的结果质量,是任务模型构建中的关键环节。
(2)工期
任务工期即整个任务完成的时间。不同的任务按照其工期的长短可归为不同的紧急程度。对于工期较长的任务,对工人活跃程度的要求不高,而对于工期较短的任务,需要优先将其分配给活跃度高、能力强、负载量低的工作者,以保证任务能够按时完成。
(3)质量
任务完成的结果质量是任务最基本的要求。任务分配的关键环节都将最终影响结果的质量,包括任务模型、工作者模型定义的准确性和任务分配的机制。
工作者建模的工作主要包括:第一,如何根据任务需求完成对工作者属性的选择与定义;第二,如何正确地感知工作者的属性。
2.2.1 工作者的主要属性
(1)能力水平
工人的能力水平是任务分配中要考虑的关键因素之一[7],尤其是对于一些难度较大或技能性较高的任务。文献[8]针对泰语众包翻译任务,利用工作者的语言证书等级、历史翻译结果质量等信息对其专业语言能力进行评价,按照专业语言能力筛选出符合要求的工作者,不但保证了任务的顺利完成还得到了高质量的翻译结果。但是仅仅针对某一特定类型的任务来确定工作者的能力评价方案,往往也只能适用于这一类任务。当面临新型任务时,该方法就无法使用。如何设计一个广泛适用的工作者能力评价模型仍是一个研究难点。
此外,如何准确定义工作者的能力也是一个值得研究的工作。在文献[9]中,作者将工作者的能力表现为他的专业水平,并结合黄金标准数据法[10]和期望最大化评估算法(Expectation Maximization algorithm,EM)[11]将其应用到了众包任务质量评价研究中。文献[12]在此基础上加入了性格能力的概念,希望从工作者的性格特征中提取出有价值的信息对其能力进行多角度补充,但对于获取工作者的准确性格特征,在实现上较为困难。文献[13-14]基于“具有高认知能力的工作者可以带来更好的工作绩效”[15]的理念,将工作者的认知能力也定义为工作者能力的一部分。目前较为理想的研究来自文献[16],其首次将工作者的能力水平与胜任力理论[17]联系起来,提出了一个融合工作者知识(Knowledge)、技能(Skill)、能力(Ability)和其他特征(Others)的胜任力KSAO模型,较为全面地定义了工作者的能力水平。
(2)信誉值
由于工作者存在最大化个人利益的自私性[18],因此,准确评估工作者的信誉值极为必要,同时也是一个极具挑战性的问题。信誉的准确评估,直接影响着群智任务的完成质量和任务发布者的切身利益。因此,如何设计一个工作者信誉评估机制以筛选出恶意工作者具有重要意义。
最简单的方式是对完成的任务情况进行工作者互评分,评分过低的即判定为信誉缺失工作者[19]。但工作者的表现受多种因素影响,并非一定是信誉问题,而且利用其他工作者进行评分在带来多余开销的同时,也容易对评估对象造成误判。平均信誉模型,针对工作者提交的每一个结果,分别计算它与平均值的差距,按照差距值的大小来评估工作者的信誉[20],但某些时候正确结果有可能是少部分工作者提交的。在移动众包感知中[21-22],Huang等人利用Gompertz函数[23]计算工作者每一段时间内向服务器发送的数据质量,利用数据质量的评分来评估工作者的信誉度[24],提升了评估效果。
(3)兴趣爱好
兴趣爱好一直是推荐系统中广泛考虑的用户属性之一[25-27]。为了将任务分配给对其感兴趣的工作者,Ambati等人专门构建了工作者的兴趣偏好模型[28-29]。但兴趣爱好只是工作者属性中的一个因素,工作者的能力、可靠性等属性对任务分配的影响也不能忽视。与此相比,文献[30-31]采取的方式在兴趣因素之外,结合了其他属性共同完成对工作者的建模与筛选。
针对工作者不同属性之间的联系和相互影响,文献[32]首次提出了工作者的兴趣能够正面或负面地影响工作者任务完成态度的问题,如图2所展示的一种情景:对于一个令工作者A和B感兴趣的任务,尽管B的能力不是很强,但是仍然能够较为准确地完成该任务;而对于工作者C,虽然能够胜任这一项任务,但是由于他并不喜欢这个任务,那么他完成的结果质量可能比不擅长此任务的B还差。为此,文献[33-34]提出了主题兴趣度的概念,将工作者的兴趣度按照任务主题的不同而分开描述,这样既能精细地描述工作者的兴趣,又很好地解决了上述问题。
图2 兴趣有时会对工作者能力造成负面影响Fig.2 Inter ests sometimes negatively affect the ability of workers
在任务分配中考虑工作者的兴趣爱好,一方面能够提升工作者的积极性和工作体验,另一方面也有助于提高群智任务的结果质量。
(4)其他属性
工作者的其他属性主要包括活跃度、负载量、所在位置等。
工作者的活跃度反映了参与任务活动的频次,是工作者积极性的体现。文献[35]通过归一化正切函数从工作者近30天内参与众包活动的天数计算出该工作者的活跃因子,综合其信誉值来对工作者进行综合评价。为了保证软件众包任务的开发质量,文献[36]按照工作者的活跃时间对其进行分组,然后按照小组分配软件开发任务,保证了工作者能够在完成任务的过程中相互交流。文献[37]通过对任务的紧急程度按照等级进行划分,并根据工作者某一时间段内完成任务的数量来表示其活跃度,优先将等级高的任务分配给比较活跃的工作者。
与文献[37]不同的是,文献[38]从另一个角度考虑了紧急任务的分配问题,它认为如果工作者当前已经接受但尚未完成的任务数量过多,则难以保证新任务的完成。因此,将工作者当前剩余未完成的任务数量和完成这类任务需要的时间进行运算,得到工作者当前的负载量属性,若该工作者负载量较大,则不考虑将紧急任务分配给他。
除此之外,在涉及到空间的任务时,工作者的位置属性也非常重要,文献[39]通过工作者当前的位置与空间任务的具体位置计算得到工作者的距离,将任务优先分配给距离其位置最近的工作者,从而减小了任务完成的时间消耗。为了在完成移动群智感知[40]任务的同时尽可能地减少工作者的数量,文献[41-42]通过建立工作者的移动模型来预测工作者的位置信息,然后通过预测的结果选取较少的工作者来完成任务,从而节约了成本。
2.2.2 工作者属性的感知策略
工作者的异质性与不确定性使得对工作者属性的精确感知成为困难。通过对当前相关研究进展的分析,感知主要可分为隐式感知与显式感知两类。
(1)显式感知
显式感知主要是从工作者的注册信息、简介(如擅长领域、专业技能、兴趣爱好)、问卷反馈等显式信息中获取属性信息。这种方式简单,但也存在着不可避免的缺点。一方面,出于隐私保护等原因,工作者可能并不愿意提供相关信息或者给出虚假的信息,导致感知结果不够准确。另一方面,由于工作者的属性会随着时间、环境的变化而改变,显式信息感知难以获取因此带来的动态变化。
(2)隐式感知
隐式感知通过工作者的隐含交互信息来推测其属性特征,一定程度弥补了显式感知的不足。
文献[43-44]将工作者完成的历史任务按照不同类别进行结果评价,从而推测出工作者能力与兴趣。文献[45]提出一个平均信誉模型,通过对工作者历史完成任务的结果质量取平均值作为信誉度,并按照阈值完成了高信誉工作者的筛选。文献[46]认为仅仅依靠工作者的历史任务信息来推测其属性并不全面,在此基础上提出了结合工作者历史搜索记录的隐式感知方法。但对于一些尚未完成过任务的工作者来说,该方法就不再适用。对此,文献[47-48]基于工作者社交网络的属性感知方法,从工作者的社交平台或社交信息中挖掘有价值的属性特征,为工作者“冷启动”提供了一个解决思路,但存在牵涉到工作者隐私和数据获取的实现问题。文献[17,49]通过将一些带有标准答案的任务随机分配给工作者,根据完成的情况来测验其能力、兴趣等属性,也可以一定程度上解决这类问题。
值得注意的是,工作者的属性特征并不是固定不变的。例如,对于不同领域的群智任务,工作者兴趣也会不同;随着年龄、工作经验、工作时长的增加,其能力水平、兴趣爱好、工作状态也会随之变化。因此,感知的动态性是研究中的一个关键因素。文献[50-51]采用迭代感知的思想动态感知工作者的属性特征。在初始时,对工作者建立初始模型,每当工作者承担并完成任务之后,就主动分析工作者的特征,并按照当前特征属性为其分配任务,随着工作者完成任务数量的增加,对工作者属性的感知也越准确。
2.2.3 工作者模型总结
在建立工作者的特征模型时,工作者的能力水平、信誉值、兴趣爱好是工作者筛选的主要元素。对于时空任务,需要增加位置信息的考虑。
为方便在工作者属性建模中的属性选取和研究,本文从适用任务、约束、出现频率和感知难度方面对工作者的常用属性做了对比(表2)。任务的复杂程度越高,任务约束也越多,所以工作者的筛选往往不依赖于单一工作者属性,而更多的是采用多个属性的结合来完成对工作者更完整、更准确的描述。
表2 工作者常见属性Table 2 Common attributes of workers
任务分配即完成工作者与任务的最佳匹配。主要包括以下几种方式。
为了实现个性化的任务分配,研究者将传统推荐算法引入群智协同任务分配中,提出推荐式任务分配。
仲秋雁等人[16]基于协同过滤的推荐思想,通过TFIDF主题模型和胜任力理论构建了融合工人兴趣偏好和胜任能力的工作者模型,利用相似性公式来计算工作者的综合相似度以选取近邻集来生成推荐结果,取得了较好的效果。Mao等人[52]在基于内容的推荐算法上做了尝试,首先通过任务的自身属性对任务进行建模,并计算任务之间的相似度,然后根据工作者的历史任务记录,将与其完成的历史任务相似度高的新任务推荐给他。为了提高任务推荐算法的通用性和自适应性,Shao等人[53]在此基础上引入了神经网络的机制,自适应地调整模型参数以达到更好的推荐结果。
上述两种推荐方式都需要大量工作者的历史任务数据来感知工作者的特征,因此只对拥有较多交互信息的工作者有较好的推荐效果,但平台上新加入或缺少交互信息的工作者不在少数。为解决这类问题,部分研究提出基于社交网络的任务推荐方法:文献[46-48]针对新加入或缺少交互信息的工作者,通过挖掘他们社交平台上的交互信息来为其推荐合适的任务。文献[54]认为关系较为亲密的工作者更有可能对同一类任务感兴趣,因此提出在挖掘工作者社交活动的同时也考虑不同工作者之间的互动程度。为了找到更适合完成任务的工作者,文献[55]根据任务发布方和工作者之间的社交关系提出了一个基于社交关系认知的任务推荐模型TDSRC,实验表明该模型能够有效解决工作者的欺骗行为。
基于传统推荐算法的任务分配方式引入了工作者或任务的相似度概念,结合工作者与任务的自身信息和历史交互信息来完成任务与工作者之间的匹配,提高了任务分配的准确性。但无论是基于内容的推荐还是基于协同过滤的推荐,都需要从历史信息中分析出工作者属性特征,虽然通过社会推荐的方式能够从不同途径获取工作者属性,但由于隐私保护等问题这种方式并不容易实现。因此,对于工作者冷启动问题需要引入其他解决方案。另外,前两种推荐方式都需要通过构建工作者-任务矩阵,当系统中工作者和任务数量急剧增多时,数据稀疏性问题也是一个必须解决的问题。
基于概率矩阵分解的任务分配方法能够有效地解决任务推荐中的数据稀疏性问题。其核心思想是通过概率矩阵分解的方法将高维的工作者-任务矩阵A分解成一个低维的工作者潜在特征矩阵W和任务潜在特征矩阵T,使得A≈WT。而矩阵W和矩阵T的乘积则为工作者和任务的匹配预测矩阵。例如,对于WT=A1,若A1的第一行第一列值为10,则表示将1号任务分配给1号工人的可信度为10。通过这种方式能够预测工作者-任务矩阵中的缺失值,不仅解决了数据稀疏的问题,也完成了任务的分配。
文献[51]根据工作者的历史表现信息和任务搜索信息建立工作者-任务评分矩阵,然后采用概率矩阵分解的方式来预测矩阵中的缺失值,从而完成任务的分配。针对新任务与新工作者的问题,文献[56]将任务分别交给较为擅长的工作者和新工作者完成,通过两类工作者的结果反馈数据训练模型用来衡量新工作者的能力,以此解决新用户的冷启动问题。针对在矩阵分解的过程中,由于没有考虑负值而导致矩阵可解释性较差的问题,文献[57]在此基础上引入了非负矩阵分解的方法提高算法的可解释性。
通过直接分解工作者-任务关系矩阵的方式能够有效预测矩阵中的缺失值,在解决数据稀疏的同时也完成了任务的分配,但是不能很好地反映工作者对不同类任务的能力差别。因此,作者在文献[51]的基础上对算法作了进一步的改进工作[58-59],首先对工作者在任务上的行为表现分为5个等级,形成工作者-任务等级矩阵,然后又构建了任务-任务类别矩阵和工作者-任务类别矩阵,分别反应任务的类别信息和工作者与任务类别的兴趣程度,并分别分解以上三个矩阵,最后进行整合,从而提高了任务推荐的质量。但这种方式对工作者的属性考虑比较单一,无法满足多因素工作者的考虑,另外,工作者的能力和兴趣随时可能会改变,该方法也无法做出及时的调整。为了解决第一个问题,Safran等人[60]对先前的工作进行了改进,通过分别计算工作者在某一类任务上的能力和兴趣水平,然后将二者统一成工作者对这一类任务的总体表现分数,实现了工作者多特征的结合。针对第二个问题,Yuen等人[61]在其原有的工作上引入了时间衰减的概念,认为工作者近期的表现比其历史表现更能反映他的特征,因此通过加入时间因子的方式增强了工作者近期交互信息的表现能力。为了提高矩阵分解算法的计算效率,Yuen等人[62]又进一步改进了他们的工作,提出批次更新的概念,当某一工作者完成任务时不再更新模型,而是等到一定数量的工作者全部完成任务后再对模型进行更新,从而节省了计算时间。针对在矩阵分解算法中采用梯度下降进行迭代容易导致局部最优的问题,文献[63]通过引入遗传算法的方式在工作者-任务矩阵搜索中进行全局迭代,较好地解决了这个问题。
近年来,随着群智协同应用的快速发展和人们隐私意识的不断提高,基于隐私保护的群智协同任务分配方式被国内外学术界广泛研究。这些方法主要可以分为三类:单边隐私保护、双边隐私保护和全局隐私保护。
最初,部分研究注意到了工作者或任务的隐私安全问题,提出基于单边隐私保护的任务分配方法[64-74]。为了保护工作者的敏感信息,部分研究将区块链[64-65]、差分隐私[66-67]、k-匿名[68-69]等经典的隐私保护方法融合到任务分配策略中,能够在特定的场景下取得较好的效果,但不能在保护工作者属性、身份等隐私的同时实现细粒度的任务分配;为此,文献[70]引出基于属性加密的方法对其进行了优化。对于敏感类任务的隐私保护问题,文献[71-72]通过将任务按照敏感信息进行拆解,再分别分配给不同的工作者,这种方式在一定程度上保护了任务的重要信息,但是当多个工作者串通起来时,仍然有较大风险。基于此,文献[73-74]提出对密谋工作者进行检测的方法来解决。
单边隐私保护在一定程度上可以保护工作者或任务的隐私,但是仍然存在较大风险。例如,第三方可以通过分析工作者的历史任务行为来推断出他的敏感属性等,为此提出了双边隐私保护的任务分配策略。针对部分传统加密机制对任务与工作者信息加密后无法检索的问题,文献[75-76]采用可搜索加密技术,结合多属性加密方法加密任务内容和工作者属性,保证了基于工作者属性和内容的任务分配。Xu等人[77]较早将内积加密方式应用到群智任务分配的隐私保护之中,由于该方式能够支持多种类型的约束表达式,所以能够更加灵活地支持多场景下的工作者与任务的关键字匹配;考虑到匿名后的工作者可能多次重复提交的问题,作者又在文献[77]的基础上增加了知识证明(Proof of Knowledge,POK)协议,用来限制结果的多次提交[78]。为减轻由于隐私保护所带来的巨大计算压力,文献[79]采用fog计算的方法,将部分计算任务平衡到fog节点,提高了系统的整体效率。
双边隐私保护的任务分配机制拥有同时保护工作者和任务隐私的能力,但传统任务分配过程中,数据存储在集中服务器上的方式也很容易遭到隐私威胁,为此,最新的一些研究[80-82]利用区块链技术,通过构建基于区块链授权的分散式框架来代替集中服务器的功能,在全局上实现了任务分配流程中的隐私保护。
除以上主流的任务分配方法外,还有一些研究工作值得讨论,归纳分析如下:
组合优化策略:部分研究将任务分配问题形式化为带约束的组合优化问题,以实现特定利益的最大化。Gong等人[83]为了最大化工作者的收入,将任务到工作者的匹配定义为带有一个未知参数的约束优化问题,将工作者完成一项任务的时间消耗作为参数,通过计算工作者完成其他相似任务的时间来估计其完成本次任务的时间,并利用遗传算法解决优化问题从而生成对该工作者的任务推荐列表。文献[84]以众包任务完成的质量、时间、效率最大化为目标,针对新任务与工作者匹配准确性低的问题,建立了任务推荐的多目标优化模型,然后通过适当的模型变换,采用匈牙利算法对模型进行求解,实验证明了该方法可以提高任务推荐的准确性。文献[85]考虑了在线任务分配中的任务优化选择问题,目的是在工作者数量有限的前提下最大化潜在完成任务的数量,提出一个保证质量的同步任务分配方法,并采用两种贪婪算法完成问题求解。为了实现任务分配中的整体利益最大化,针对分配中的多维大规模复杂任务和多维特征的工作者,文献[86]和[87]分别提出基于多臂赌博机和蚁群优化算法的任务分配策略。
机器学习策略:以往的群智协同任务分配研究中,文献[28,88-90]通过聚类、分类技术,利用工作者与任务的互动数据训练模型,以支持后续任务与工作者的匹配,这种方式准确性高,但是需要大量交互数据,后续的模型维护也很繁琐,对新任务与新工作者的支持也不够好。近年,也有将强化学习应用到任务分配中[91-94],通过贝叶斯推理、马尔科夫决策等方法设计出实时的任务推荐模型的方法,不仅缓解了冷启动问题,也提高了算法的动态性与灵活性。
反向拍卖机制:部分研究者将任务分配问题建模为反向任务拍卖问题[95-96],工作者和任务双方分别代表叫价者和拍卖方,自身能力与发布方要求最大程度实现匹配的工作者赢得拍卖,获得任务。这种方式可以满足在线分配要求,能够在工作者与发布方的利益之间做到较好平衡,但是只在有足够多的参与者和任务的情况下才会有较好结果。
本节中,对现有的任务分配算法按照不同类别进行了整理与分析,并在表3中给出了上述三种分配算法的对比情况。
表3 任务分配算法对比Table 3 Comparison of task allocation methods
基于推荐算法的任务分配方式不仅能够精确地完成任务分配,而且可以满足工作者的个性化需求,提高工作者的积极性。基于协同过滤的推荐方法利用工作者或任务间的相似性进行任务推荐,可在较高的效率下提供较精确的结果,但过于依赖任务或工作者间的相似度计算;基于内容的推荐方式多从任务自身的内容入手,根据元数据将任务推荐给相似任务的优质工作者,一定程度上解决了任务冷启动的问题,但通用性不足;社交推荐方法通过挖掘工作者社交数据的方式精确感知工作者的属性特征和工作者间的社交关系,从而更准确和高效地完成任务推荐,但该方法涉及到隐私问题,并且不是所有工作者都有丰富的社交数据。
基于推荐算法的任务分配需要构建工作者-任务矩阵,当工作者和任务数量急剧增多时,数据稀疏性问题凸显。基于矩阵分解的分配算法通过将高维的任务-工作者矩阵分解成数个低维的特征矩阵,并通过对矩阵的整合来预测其中的缺失值,能够在完成分配的同时解决数据稀疏性问题,但是数据量过大会严重影响模型计算效率,不适用于实时分配。
近年来,隐私保护问题敏感而突出,在群智协同任务分配中,同样存在隐私安全问题。传统方法中的加密、匿名等措施可一定程度完成保护,但造成任务推荐流程复杂,数据可读性下降。
任务的实时分配在某些特定场景下至关重要,基于拍卖和组合优化的任务分配方法有一定的实时性,比较适用于在线任务分配;但与离线任务分配方法相比,其准确率和个性化效果相对较差。另外,由于机器学习在特征学习等方面的良好表现,基于强化学习的任务分配方法具有一定的主动学习特征,往往在一些复杂或自动化的群智系统上有较好表现。
在群智协同推荐式任务分配中,冷启动主要包括任务冷启动和工作者冷启动。一方面,活跃度低或新的协同工作者由于缺乏历史信息,无法完成准确推荐。另一方面,全新类别的任务由于尚未由工作者完成,也很难推荐。群智应用中新工作者和任务的情况普遍存在,随着任务的复杂性、数量和工作者规模的增加,冷启动问题不断加剧,是今后研究的关键问题之一。
目前最常用的是利用工作者注册信息来完成任务推荐,未来可考虑采用基于先验知识的推荐方式。例如向工作者推荐较受欢迎的任务;也可进行多样化推荐,将冷启动任务交给综合表现较突出的工作者完成;或者结合快速试探策略,将任务分别交给不同属性工作者,完成质量最好的几类工作者就是这类新任务的合适工作者;此外,还可以通过社交关系挖掘等新兴工作者属性感知策略来解决冷启动问题。
群智协同所处的开放网络环境和协同工作者的不确定性使得任务分配中的隐私安全问题一直是一个热点话题。文献[97]系统分析了不同类型众包中的隐私威胁。在群智协同任务分配问题中,隐私保护至关重要,直接关系着群智协同计算的发展和实际应用。
本文建议可考虑以下思路进行后续研究:首先是结合传统隐私保护算法和群智协同任务分配的特定场景;其次,可在全局隐私保护情况下,设计安全高效的任务分配流程;然后是群智协同任务分配算法中隐私保护机制的性能效率优化;最后,可融合区块链等新兴隐私保护模型,设计覆盖工作者、任务、平台和全局流程的多边隐私保护机制。
随着人们隐私保护意识的增强和网络信息共享程度的不断加大,隐私保护已成为群智协同任务分配中的一个关键问题,也是未来研究的一个热点。
大数据环境下的信息过载对群智协同任务分配的影响不容小觑。庞大的工作者和任务数量不仅给任务分配方法带来数据稀疏问题,影响着任务分配的效率和质量,而且增加了工作者和群智任务属性提取的难度,降低了任务分配的准确性。随着工作者与任务数量的日益增多,大数据环境下的任务分配问题成为今后群智协同任务分配领域的一个关键问题和研究热点。
针对数据稀疏性问题,建议结合分类、聚类等机器学习方法,将单个任务分配转变为任务群到工作者群的分配问题;也可通过设计适当策略剔除平台上的“僵尸工作者”加以解决。对于分配效率问题,可设计并行化、多批次的任务分配模型,或尝试将主动学习、强化学习等方式应用到任务分配中。
任务分配一直是群智协同计算和众包领域研究中的一个核心问题。本文从群智协同任务分配现存的问题出发,阐述了其研究的重要性。然后根据任务分配的流程提出了一个任务分配的通用框架,并基于该框架,详细分析和总结了各个部分的研究进展,概括归纳了任务模型、工作者模型中的任务属性、任务约束和工作者属性特征及其感知方式,对任务分配的主要算法进行了归类对比。最后,提出了群智协同任务分配研究所面临的关键问题和未来的研究趋势,为今后该领域的研究提供参考和帮助。