论文总字数:34111字
摘 要
众包系统作为一种新兴的群集智能平台,常被应用于解决标记问题。为了保证任务答案可靠性,通常需要多用户标记同一任务,然后使用多数人投票的方式得出答案,而用户固有能力水平参差不齐,用户表现出来的能力状态也随时间而变化,这样用户的答案可靠性也不同,低可靠性的答案如果不加以区分就会干扰正确答案的产生,因此需要检测用户的能力状态。传统方式是在用户执行正式任务前执行测试,但这不能检测执行任务时用户能力状态的变化,而基于预测的方法都是假设用户遵循某一固定模式,没有体现用户能力状态的变化。针对该特征,本文提出一种用户能力状态的动态检测方法,将测试任务嵌入到用户任务队列中,使用该方法得到的用户当前的能力状态观测值,可以用于对用户的答案加以区分对待,理论证明这有利于投票过程得出正确答案。利用真实数据的仿真实验表明,本方法比传统基于测试和预测方法的任务正确率要高,且付出的代价要小。并且通过调节本方法的参数,可以权衡任务正确率与代价之间关系。最后,将本文方法结合网站进行实现,便于进一步的分析和研究。
关键字:众包,标记,能力状态,动态性,检测
A Dynamic Detection Method for Ability Status of Crowd Workers
Abstract
Crowdsourcing which is a novel platform of collective intelligence, is often used to solve the labelling task. To keep the reliability of tasks, a typical approach is to assign each task to multiple workers redundantly, and combine their answers by majority voting. However, the ability of workers may be different and the ability status of workers should be always changing; and unreliable answer derived from a low ability-status worker is against to produce right answer. The traditional way to solve this problem is to perform a test before the worker to label normal tasks, which however cannot detect the worker's current ability-status, or to perform a prediction method based on the assumption that states of workers always follow a fixed pattern which however does not take the fluctuation of workers’ ability status into account. For this reason, this paper proposes a method to dynamically detect the ability status of workers by embedding testing tasks into the worker's task flow. Using the observations of worker's ability status which is computed by our method as weight of majority voting is beneficial to produce right answer. Through real data experiments, our method has higher task accuracy and spends less time and workers on accomplishing all the tasks compared with several benchmark methods. We also find that adjusting parameters of this method can achieve tradeoff between the accuracy and cost. Moreover, we design a website based on our method for future research.
Keywords: Crowdsourcing, Label, Ability status, Dynamic, Detection
目 录
摘 要 I
Abstract I
第一章 绪论 1
1.1序言 1
1.2当前众包主要分类 1
1.3众包研究现状 1
1.4众包用户能力状态动态变化问题 2
1.5主要创新点与论文结构 3
第二章 研究概况 4
2.1基于预测的能力检测方法 4
2.2基于测试的能力检测方法 4
2.3其他方法 4
2.4本章小结 5
第三章 问题描述 6
3.1基本定义 6
3.2问题环境 6
3.3问题目标 7
3.4本章小结 7
第四章 问题建模与方法设计 8
4.1任务建模 8
4.2用户建模 8
4.3方法设计 9
4.4本章小结 12
第五章 系统环境设计 13
5.1带权重多数人投票 13
5.2任务结束判断条件 13
5.3系统执行流程 14
5.4本章小结 15
第六章 实验设计与分析 16
6.1实验设置 16
6.2对比方法 16
6.3实验结果与分析 16
6.4本章小结 24
第七章 实验平台实现 25
7.1简介 25
7.2关键技术 25
7.3本章小结 26
第八章 总结与展望 27
致谢 28
参考文献(References) 29
- 绪论
1.1序言
随着全球化趋势和互联网技术的发展,传统外包的中雇主和被雇佣者的关系也发生了变化,应运而生的是众包。众包是指将一个任务或者问题发布到开放环境中,使其能够被众多的用户所发现,以发挥众人的智慧和能力来解决任务或者问题的过程[1]。相对于外包,众包面向的是更广阔的对象,对被雇佣者的限制也相对较少,而且减轻了雇主的经济负担。例如iStockphoto网站[2],它提供了一种业余摄影爱好者与图片购买者交易的平台,相对于专业的摄影师,摄影爱好者们也能提供大量满足购买者需求的照片,而且价格便宜。众包提供了一种相对宽松的雇佣关系,它也减轻了参与者的负担,参与者通常会有自己的工作,不能全部投入其中,而众包任务恰好不占用很多精力和时间。例如亚马逊的Mechanical Turk[3],发布者可以发布诸如图片识别、文字翻译等简单任务,用作机器学习的训练集,参与用户只需花费较少时间即可完成。众包环境下,参与者的文化、工作和生活背景不同,更容易创造性地解决问题,例如InnoCentive网站上[4],各大公司将各自最头疼的研发难题抛到上面,等待隐藏在网络背后的各行高手来破解。众包系统也常被应用于解决对于计算机来说比较棘手的问题,如图像识别处理[5]、人工翻译[6]、软件开发[7]等等,其本质是计算机通过任务流的调度,利用大量廉价人力资源去完成任务。得到的任务结果可以直接被客户采纳,也可以经过计算机处理后再被使用。
众包作为集群智能产物,这一模式得到了广泛应用,但也仍存在一些问题,这也激发了研究人员对其的研究兴趣[8]。
1.2当前众包主要分类
当前,随着众包的广泛发展,针对不同适用情景,也有了不同演化和创新。众包可以根据不同特征进行分类。
按照任务类型进行分类:众包可分为复杂任务众包和简单任务众包,例如,复杂任务可以是软件开发、产品设计等等,简单任务可以是图片标识、段落翻译等等。复杂与简单之间并没有清晰的分界,主要考虑任务的花费时间和技能需求等方面。复杂任务可以通过任务分解来解决,也有学者提出复杂任务不分解的方法,比如利用用户的社会网络对任务进行分工和协作[9]。
按照任务酬劳进行分类:对于简单任务,由于不需要花费较多时间,酬劳相对较低,如Amazon Mechanical Turk,反之,复杂任务酬劳相对较高,如oDesk网站[10]。此外,还有不支付酬劳的,这种主要是针对志愿者或者爱好者,任务本身是民间或科研机构发起,具有一定的公益性质,如Galaxy Zoo的天体图片标注计划[11]。另外,如问答平台、论坛、百科等,有学者认为这也是一种众包组织形式,酬劳是虚拟的,如等级或者积分的回报等。
按照用户属性进行分类:如众包系统需要用户有一定的技能认证或者对用户能力有要求,这种可称为专家众包系统,如软件开发等就需要用户有一定的专业技能。相反,有的任务不需要专业和技能,或者用户通过简单地学习即可很快掌握,如图片标注等。
近些年,也有一些新颖的众包组织模式,如Threadless网站[12],用户可以自己设计T恤衫的图案,由其他用户进行投票,获得票数多的设计方案有机会制作成T恤衫销售,设计者和网站可从中盈利。
1.3众包研究现状
众包系统虽然得到了广泛应用,但是仍然存在一些需要解决的问题,以往的学者主要关注如下两方面的问题。
众包任务特性:众包任务通常相对简单,单个用户需要较少时间即可完成[7]。事实上,现实中也有许多复杂任务,例如任务需要多种技能或者任务工作量大,需要多个人合作完成[13]。在面对较为复杂的任务上,系统也可以做出一定的调整,比如有学者研究如何将任务分解为子任务,如何分配子任务和如何聚合任务等等[14]。众包任务的难度和所需技能是有差异的,而用户技能也具有一定差异性,如何将任务递送给“合适”的用户,从而提高任务完成质量和节约人力资源是一个值得关注的问题[15]。众包任务的预算或者资源通常是有限的,如何有效地分配预算达到花销与效益的平衡也是一个重要的问题[16],这也是本文所关注问题的一个方面。
众包用户特性:众包用户多存在于互联网上,用户与任务发布者间具有较弱的关系制约,因此,对于众包用户的能否如期完成任务、完成任务的质量都很难有保障。另外,还有可能存在“恶意”用户,通过完成大量低质量工作牟利。为了改善用户的可靠性,通常的解决方法是对任务执行者进行冗余[17],达到发布者要求的再给予报酬;也有学者研究对众包用户建立信誉机制[18],但是这样的信誉机制可能难以达到,系统中的用户具有短暂特性,因为用户通常都是有正式工作,利用碎片时间来完成任务;因此,有学者研究通过观测用户过去行为[19]或者利用发布者与用户的交互[20]来保证用户可靠性。
1.4众包用户能力状态动态变化问题
众包中的人工标记作为机器学习训练集的重要来源,利用大量廉价普通“用户”来达到聘请专家的效果,形成大量的训练样本。人力资源虽然充分,但是预算或者时间等通常有限,如何提高人力资源的利用率是值得关注的问题。受知识水平、文化背景、专业背景、兴趣爱好和专注程度等因素的影响,不同众包用户的能力不同,由于事先不知道任务答案,所以低能力的用户的任务答案的对任务正确答案有干扰。因此,如果能对用户的能力进行检测,并对不同能力的用户区分对待,有利于答案准确性的提高。然而,事实上,用户的能力相对确定,但用户的能力状态是随时间动态变化的,图1-1是文献[21]中展示的两个真实的众包用户的工作质量随时间变化的情况,灰色的区域代表正确的答案,黑色区域代表错误答案。红色曲线代表用户的准确度。上面用户的准确度随时间增加而减小,下面的用户的准确度随时间而提高。用户的能力的状态可能受多种因素的影响,如用户的能力状态会随着经验积累而上升[22],注意力会随时间而下降、用户会感到疲惫和厌倦、或者用户转去执行自己的工作[1]即将离开等都有可能导致用户能力状态的变化。因此,仅仅针对用户的能力进行检测是不够的,考虑到用户能力状态动态变化的特性,本文提出一种用户能力状态的动态检测方法。
图1-1:众包用户工作质量变化图[21]
本文所关注的是简单任务的众包系统,可以假设任务是识别一张图片,图片按顺序发给用户进行识别,每个用户有一个任务队列,完成一个进行下一个任务。这种标识任务可以被认为是一种共识任务(consensus task),任务所有者对任务答案并不知道,一定数量的用户对一个图片进行识别,满足终止条件任务停止,达成一致后的答案作为最终预测答案[23]。常见的达成一致的方式的是多数人投票(majority vote),含义是得到“认可”最多答案被预测为任务答案。任务准确率是指符合用户要求的任务或者正确的任务(如标记答案正确)占总任务的比率,也可称为任务正确率。本文提出一种基于测试的能力状态动态检测方法,由于每个任务终止投票的时间不同,会有一些任务先得出答案,将已完成的任务(答案已知)作为测试任务,动态地嵌入到用户的任务执行队列中,因为测试任务的答案已知,利用用户对测试任务的执行情况对用户的能力状态进行估计,得到用户当前的能力状态值并估计用户答案的可靠性,并对用户答案进行区分,以此提高任务准确率,降低资源成本耗费。
1.5主要创新点与论文结构
本文的主要贡献是针对用户在执行标注等众包任务的过程中,用户的能力状态动态变化的特点,提出了一种在执行过程中动态嵌入测试任务的方法,利用能力测试的结果,评估该用户当前时刻答案可靠度,然后就可以对不同可靠度的答案进行区分,进而提高任务准确率,降低资源成本耗费。经过完整的系统仿真实验和分析,本文提出的方法可以有效提升任务准确度和减少时间和用户数代价。本文的核心创新点是提出了将测试任务嵌入到用户任务流进行检测的方法,解决了何时嵌入测试任务的决策问题以及用户的能力状态值的更新问题。最后,对该方法用网站方式进行实际的实现,便于进一步的分析和研究。
第二章,回顾了以往学者的相关工作,并进行比较和分析。
剩余内容已隐藏,请支付后下载全文,论文总字数:34111字
相关图片展示:
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;