面向大数据应用的MapReduce众包员工质量评价算法

作者

Depeng Dang, Ying Liu, Xiaoran Zhang, and Shihang Huang, Member, IEEE

摘要

众包是在互联网蓬勃发展的背景下出现的一种新的分布式计算和商业模式。随着众包系统的发展,众包商、承包商和任务的数据量迅速增长。基于大数据分析技术的工人质量评估已成为一个重要的挑战。本文首先提出了一种通用的工人质量评估算法,该算法适用于任何关键任务,如标记、匹配、过滤、分类和许多其他新兴的应用程序,而不会浪费资源。其次,利用MapReduce并行编程模型在Hadoop平台上实现了评估算法。最后,为了有效地验证算法在各种大数据场景下的准确性和有效性,我们进行了一系列的实验。实验结果表明,该算法是准确有效的。它具有较高的计算性能和水平扩展性。适用于大数据环境下的大规模员工质量评估。

关键词:众包系统,质量控制,大数据,MapReduce,Hadoop

1 介绍

众包是一种分布式的问题解决和生产模型[1]、[2]。在这种分布式计算模型中,企业通过互联网分配任务,并招募更多合适的员工参与任务,以解决技术难题[3]。如今,越来越多的企业开始采用众包模式。对于企业来说,众包模式可以降低生产成本,提高企业的技术和创造力[4]。众包模式面向公众,每个互联网用户都可以选择参与自己感兴趣的众包任务,为企业提供解决方案。但是,对于一个任务,可能会有大量的工人参与其中并提供解决方案。面对如此庞大的解决方案,众包商会感到困惑,很难做出最后的选择。而且,并非每个人都有资格为企业服务,因为他们的背景和个人质量不同。众包平台甚至可能存在恶意工作者[5]、[6]。因此,工人质量控制逐渐成为众包模式的一个重要挑战[7]。从大量的员工数据中挖掘员工的自我质量信息,为众包人员提供一定的参考,具有十分重要的意义。本文主要研究工人质量控制的核心问题:工人质量评估。员工质量评估将帮助企业招聘能够提供高质量解决方案的高质量员工。这对众包平台的任务质量和环境都具有重要意义[8]。

由于大规模的众包平台,众包商几乎随时都会发布任务。此外,还有大量工人参与这些任务。因此,众包平台每一刻都会产生大量的数据,包括众包任务、员工行为和任务解决方案。大量的数据对众包平台的计算性能提出了新的要求。利用大数据技术[9]、[10]、[11]、[12]、[13]专门处理这些海量数据是众包平台需要考虑的一个关键问题。

因此,为了准确评估众包平台中的员工质量,我们首先提出了一种通用的员工质量评估算法。该算法实现了对多个工人和多个问题类型的工人质量评估,没有预先制定的答案,与参考文献[14]提出的算法相比,该算法具有更强的可扩展性和实用性。其次,我们建议使用MapReduce编程模型[15]、[16]、[17]、[18]来实现大规模的并行计算,以提高工人的工作质量,并在Hadoop平台上实现该算法。最后,我们进行了一系列的实验来分析和评估工人质量评估算法的性能。实验结果表明,该算法是有效的,具有较高的性能。它可以满足大数据环境下的众包平台中大规模工人并行评估的需要。

本文的组织结构如下。第二节主要介绍相关工作。第3节介绍了提出的工人质量评估算法。算法在MapReduce上的实现将在第4节中介绍。在第5节中,我们设计了一系列的实验来分析和评估算法的准确性、有效性和性能。第六部分对本文进行了总结,并对今后的研究方向进行了展望。

2 相关工作

众包作为一种新兴的分布式计算模型,近年来已成为一个重要而活跃的研究领域[19]、[20]、[21]。众包以多种形式出现,如公民、同行生产/共同创造、群体智慧、集体智慧等[22]。在过去的几年里,大量的众包平台已经建立并应用于许多领域[23]、[24]、[25]、[26]。Amazon Mechanical Turk(AMT)是当今最著名的众包平台之一。它是一个众包互联网市场,使工人和众包商能够协调使用人类智能来执行计算机当前无法完成的任务。这些众包系统大多依赖于线下或人工工人的质量控制和评估,或者只是忽略了质量控制问题。目前对质量控制问题的研究越来越多[27]、[28]。Kamar等人[29]提出了一个模型,使系统能够平衡预期收益与雇佣工人的成本。Vakharia和 Lease[22]研究质量保证和控制问题,是其研究的重要组成部分。参考文献[22]中讨论的多个众包平台使用不同的方法来实施工人质量控制。这些工人的质量控制方法或多或少需要人工干预,这给众包商带来了负担。工人质量控制已成为制约众包体系发展的瓶颈[30]。工人质量控制的核心问题是工人质量评估[31]、[32],在线工人质量评估越来越受到公众的关注。

Rzeszotarski和Kittur[33]通过分析工人的行为来区分不同工人的质量。然而,这种方法要求众包系统提供工人的行为日志。Snow等人[34],Whitehill等人[35],Raykar等人[36]和Liu等人[37]主要基于EM算法[38]、[39]、[40]、[41]计算工人的准确度,并使用答案矩阵挖掘工人的潜在质量。这些研究都集中在单个标签的确定上。Joglakar等人[14]根据工人对结果的不一致频率,研究工人质量评估。它还使用置信区间来评估工人的准确度,从而提高评估的准确性。然而,这项研究只适用于一个布尔问题,并且对被评估工人的质量有一些限制(>0.5)。Ramesh等人[42]主要研究评估过程中工人行为的动态控制。工人质量评估研究相对薄弱,评估模型简单。Welinder和Perona[43]研究了使用老年EM算法对工人的评估。Ipeirotis等人[44]通过工人质量评估分析工人的偏好。以上研究主要集中在传统的体系结构上,没有考虑大数据环境,因此这些研究的实用性和可扩展性不够。

近年来,随着云计算的不断发展和数据规模的爆炸性增长,数据驱动已经成为企业关注的焦点。众包模式也面临着大数据的挑战[45]。与现有的研究不同,我们的论文是第一篇在大数据环境中考虑员工质量评估的论文。首先,本文提出了一种通用的众包工作者评估算法,并利用MapReduce编程模型在Hadoop平台上实现。

3 工人质量评估算法

在第3.1节中,我们首先提出了一种面向单一选择的工人质量评估算法,即M-1算法。在M-1算法的基础上,我们进一步提出了一个多人评估方案(第3.2节)和一个多选择评估方案,称为M-X算法(第3.3节)。

3.1 M-1算法

M-1算法的思想描述如下:假设所有提供的问题都是同一类型(单一选择),并且没有预先开发的答案。让三个工人 w 1 w_1 w1 w 2 w_2 w2 w 3 w_3 w3同时独立回答这些问题。问题的数量是 N N N。然后,我们将根据每个工人回答问题的相似性来计算他们对这些问题的准确度。下面是算法中的几个基本定义。

定义1. 变量M表示问题的选项数。M的值对于不同的问题类型是不同的。例如,对于布尔问题,M的值是2。对于今天最受欢迎的单项选择问题,M的值可能是3、4、5等,对于标签或分类问题,M的值将是类别总数。

定义2. 变量A表示工人的准确率。工人集表示为 { w i ∣ 1 ≤ i ≤ K , i \{w_i|1\leq i\leq K,i {wi1iK,i是一个整数 } \} }。其中,变量 K K K代表工人总数。变量 A i A_i Ai代表 w i w_i wi的准确率。也就是说,对于每个问题,工人 w i w_i wi给出正确答案的概率是 A i A_i Ai,而错误答案的概率是 1 − A i 1-A_i 1Ai

定义3. 问题集表示为 { p u ∣ 1 ≤ u ≤ N , u \{p_u|1\leq u\leq N,u {pu1uN,u是一个整数 } \} }。随机变量 X i j u X_{ij}^u Xiju记录了不同工人 w i w_i wi w j w_j wj对同一问题 p u p_u pu的回答的一致性。 X i j u X_{ij}^u Xiju的值为 0 0 0 1 1 1。如果 w i w_i wi w j w_j wj对问题 p u p_u pu的回答相同则 X i j u = 1 X_{ij}^u=1 Xiju=1,否则 X i j u = 0 X_{ij}^u=0 Xiju=0 X i j X_{ij} Xij的概率分布是一个伯努利试验。

定义4. 变量 T i j T_{ij} Tij记录工人 w i w_i wi w j w_j wjN个问题回答一致的次数,即 T i j = ∑ 1 ≤ u ≤ N X i j u T_{ij}=\sum_{1\leq u\leq N}X_{ij}^u Tij=1uNXiju

定义5. 变量 Q i j Q_{ij} Qij代表伯努利试验的期望值,即 w i w_i wi w j w_j wj的回答相互一致的概率。 Q i j = T i j / N Q_{ij}=T_{ij}/N Qij=Tij/N

众包平台的任务范围很广。不同的任务有不同的 M M M值,并有各自的特点。与历史任务相比,新发布的任务可能具有完全不同的模式。此外,所有新发布的任务都没有预先制定的答案,而且选项的顺序是不可预测的。因此,很难预测哪种选择更可能是正确的答案,以及工人对不同选择的偏好。为了为众包员工质量评估提供一个通用的解决方案,我们假设每个员工都有相同的概率为一个问题选择每个错误的选项。根据M-1算法的思想和上述定义,我们可以得到以下方程。

Q i j = A i ⋅ A j + ( 1 M − 1 ( 1 − A i ) ) ( 1 M − 1 ( 1 − A j ) ) ⋅ ( M − 1 ) . (1) Q_{ij}=A_i· A_j+(\frac{1}{M-1}(1-A_i))(\frac{1}{M-1}(1-A_j))·(M-1).\tag{1} Qij=AiAj+(M11(1Ai))(M11(1Aj))(M1).(1)

这里, A i A_i Ai表示 w i w_i wi选择正确选项的概率,而 ( 1 M − 1 ( 1 − A i ) ) (\frac{1}{M-1}(1-A_i)) (M11(1Ai))表示 w i w_i wi选择错误选项之一的概率。因此, A i ⋅ A j A_i· A_j AiAj代表工人 w i w_i wi和工人 w j w_j wj同时选择正确选项的概率, ( 1 M − 1 ( 1 − A i ) ) ( 1 M − 1 ( 1 − A j ) ) ⋅ ( M − 1 ) (\frac{1}{M-1}(1-A_i))(\frac{1}{M-1}(1-A_j))·(M-1) (M11(1Ai))(M11(1Aj))(M1)代表工人 w i w_i wi和工人 w j w_j wj同时选择相同错误选项的概率。

根据(1),对于同时回答相同 N N N个问题的三个工人 w 1 w_1 w1 w 2 w_2 w2 w 3 w_3 w3,我们可以得到方程(2)到(4):

Q 12 = A 1 ⋅ A 2 + ( 1 M − 1 ( 1 − A 1 ) ) ( 1 M − 1 ( 1 − A 2 ) ) ⋅ ( M − 1 ) (2) Q_{12}=A_1· A_2+(\frac{1}{M-1}(1-A_1))(\frac{1}{M-1}(1-A_2))·(M-1)\tag{2} Q12=A1A2+(M11(1A1))(M11(1A2))(M1)(2)

Q 13 = A 1 ⋅ A 3 + ( 1 M − 1 ( 1 − A 1 ) ) ( 1 M − 1 ( 1 − A 3 ) ) ⋅ ( M − 1 ) (3) Q_{13}=A_1· A_3+(\frac{1}{M-1}(1-A_1))(\frac{1}{M-1}(1-A_3))·(M-1)\tag{3} Q13=A1A3+(M11(1A1))(M11(1A3))(M1)(3)

Q 23 = A 2 ⋅ A 3 + ( 1 M − 1 ( 1 − A 2 ) ) ( 1 M − 1 ( 1 − A 3 ) ) ⋅ ( M − 1 ) . (4) Q_{23}=A_2· A_3+(\frac{1}{M-1}(1-A_2))(\frac{1}{M-1}(1-A_3))·(M-1).\tag{4} Q23=A2A3+(M11(1A2))(M11(1A3))(M1).(4)

然后,通过求解上述方程,我们可以得到每个工人的准确度(即 A i A_i Ai)。工人 w 1 w_1 w1的准确度计算如下:

A 1 = 1 M + M − 1 M ⋅ ( M ⋅ Q 12 − 1 ) ⋅ ( M ⋅ Q 13 − 1 ) M ⋅ Q 23 − 1 (5) A_1=\frac{1}{M}+\frac{\sqrt{M-1}}{M}·\sqrt{\frac{(M·Q_{12}-1)·(M·Q_{13}-1)}{M·Q_{23}-1}}\tag{5} A1=M1+MM1 MQ231(MQ121)(MQ131) (5)

我们可以用同样的方法计算 A 2 A_2 A2 A 3 A_3 A3。算法1描述了M-1算法的评估过程。

算法1. M-1算法概述
算法1. M-1算法概述

3.2 基于M-1算法的多人评估方案

在M-1算法中,解决了三个人的质量评估问题。然而,在实际的众包环境中,可能有多个工人同时参与同一任务。如何评估多个工人的质量是一个有待解决的更为现实的问题。因此,我们提出了一种基于M-1算法的多人评估方案,该方案采用了滑动窗口的思想。图1显示了多人评估方案的流程。

算法2. 多人评估方案概述
图1. 多人评估方案的过程
图1. 多人评估方案的过程

根据图1,多人评估方案的思想描述如下。有 K K K个工人按顺序排列成一个圆圈,窗口大小设置为3。然后,我们随机从一个工人 w 0 w_0 w0开始,用M-1算法计算窗口中三个工人的准确度。然后,窗口滑动一步,我们用同样的方法计算窗口中另外三个工人的准确度。直到窗口再次以工人 w 0 w_0 w0开始,算法结束。因此,每个工人的准确度计算三次,我们计算每个工人的三个准确度值的平均值作为他们的最终准确度值。基于滑动窗口的算法计算结果随机误差比仅计算一次的结果小,更接近于实际工作准确度。算法2显示了多人评估方案的概要。

算法2. 多人评估方案概述

3.3 M-X算法

与单一选择相比,多重选择是一种更普遍的问题类型。或者更确切地说,单一选择是多重选择的一种特殊形式。例如,对于某些标签问题,我们只需要为每个对象分配一个标签。但是,对于大多数情况,我们需要为每个对象分配多个标签。因此,在本节中,我们将进一步讨论基于多项选择的工人质量评估问题。

M-X算法集中于多项选择问题。对于多重选择,不同工人对同一问题的回答往往存在很大差异。因此,当我们处理一个多选问题时,很难直接用M-1算法来评估工人的质量。因此,在M-1算法的基础上,提出了一种面向多选择问题的工人质量评估算法,即M-X算法。M-X算法的思想如下。

  • 首先,根据问题的 M M M值将其划分为 M M M个子问题, M M M值表示每个多选问题的选项数。每个选项 O j ( j = 1 , 2 , . . . , M ) O_j(j=1,2,...,M) Oj(j=1,2,...,M)被视为具有两个选项的单一选择问题,表示是否选择选项。因此,每个具有 M M M个选项的多选问题都转换为 M M M个单选问题。
  • 第二,对于每个选项维度,我们将其视为一个子任务,由 N N N个选项问题组成。这样,每个任务被划分为 M M M个子任务。然后利用算法2分别计算出每个选项维度上的工人准确度
  • 最后,对于每个工人,我们收集所有选项维度的准确度,计算出工人对多项选择问题的综合准确度值。对于每个多项选择问题,回答正确的必要和充分条件是,工人为多项选择问题选择所有正确的选项;因此,因此,工人的最终准确度是从每个选项的维度获得的所有准确度的乘积。算法3描述了M-X算法的概要。

算法3. M-X算法概述

4 在MapReduce上实现

为了应对大数据带来的挑战,提高大数据众包工人质量评估算法的效率,我们利用MapReduce并行计算框架,在第三节提出的算法基础上,实现了一种称为MRM-X算法的通用算法。MapReduce是处理海量数据的并行编程模型和计算框架,解决了系统级的可扩展性、容错性等问题。通过接受用户编写的Map函数和Reduce函数,可以在可伸缩的大型集群上自动并行执行,从而可以处理和分析大型数据集[46]、[47]。

在实际的众包平台中,一个任务可能包含不同的问题类型,包括单项选择和多项选择。根据M-X算法的思想,首先需要将多选问题转化为单选问题。然后根据M-1算法的多人评估方案,计算出工人的准确度。考虑到MapReduce编程模型的特点,本节设计了三个MapReduce任务。任务一主要负责数据的预处理,包括问题类型转换和工人分类。任务二主要负责利用M-1算法计算工人的准确度。任务3将计算工人的平均准确度。图2说明了MRM-X算法的过程。

图2. 基于MRM-X算法的众包工人质量评估流程图
图2. 基于MRM-X算法的众包工人质量评估流程图

原始数据格式为 < W i d , T i d , P i d , P t y p e , S i d > <W_{id},T_{id},P_{id},P_{type},S_{id}> <Wid,Tid,Pid,Ptype,Sid>,分别代表工人id、任务id、问题id、问题类型和工人回答。

4.1 任务1

如上所述,任务1将首先通过 P t y p e P_{type} Ptype对初始数据进行预处理,以获得可由基于M-1算法的多人评估方案处理的数据集。然后它会将参与同一任务的工人分组。

Map-1根据 P t y p e P_{type} Ptype对初始数据进行处理,并对不同的问题进行预处理。如果是一个多选问题,我们将 M M M选项转化为 M M M单选问题。然后, M M M个单项选择问题将按顺序编号。在此操作之后,我们将每个单项选择问题的id与原始 P i d P_{id} Pid组合为一个新的 P i d P_{id} Pid。此外,如果工人选择了选项,我们将工人的回答 S i d S_{id} Sid设置为1;否则,我们将其设置为0。如果这是一个单一选择问题,我们将忽略此步骤。然后,该算法将 < T i d + P i d > <T_{id}+P_{id}> <Tid+Pid>作为随机移动的键,并将拥有相同任务id的工人分配给相同的Reducer。

Reduce-1接收Map-1的输出作为输入,对同一个任务id的工人进行分组,为了保持不同Reduce任务上工人分组的一致性,分组前需要对同一个任务id的工人进行排序,然后采用滑动窗口将每三个工人分组为一个单元。此外,将合并后的工人id作为一个键,这意味着输出的形式为 < W i + W j + W k , T i d + P i d + P t y p e + S i + S j + S k > <W_{i}+W_{j}+W_{k},T_{id}+P_{id}+P_{type}+S_{i}+S_{j}+S_{k}> <Wi+Wj+Wk,Tid+Pid+Ptype+Si+Sj+Sk>

4.2 任务2

第二个MapReduce任务接收Reduce-1的输出作为输入。它旨在计算各种工人的准确度。

Map-2处理Reduce-1的输出数据。为了将参与同一任务和同一子组的三个工人分配给同一个Reducer,Map-2将 T i d T_{id} Tid和用户的组合id W i + W j + W k W_{i}+W_{j}+W_{k} Wi+Wj+Wk作为任务的输出键。

Reduce-2接收Map-2的输出作为输入。对于所有具有相同键的值,我们根据 P t y p e P_{type} Ptype对其进行分组,并使用建议的M-1算法计算不同 P t y p e P_{type} Ptype上工人的部分准确度。然后,根据每个工人的部分准确度计算每个工人的准确度。最后,输出形式为 < W i + W j + W k + T i d , A i + A j + A k > <W_{i}+W_{j}+W_{k}+T_{id},A_{i}+A_{j}+A_{k}> <Wi+Wj+Wk+TidAi+Aj+Ak>

4.3 任务3

该算法采用滑动窗口算法计算工人的准确度,因此每个工人的准确度计算三次。以三个准确度的平均值作为评估工人素质的指标,避免了单次计算造成的准确度评估偏差。

Map-3以 < W i d , T i d > <W_{id},T_{id}> <Wid,Tid>作为随机移动的键,并将同一个工人对一个任务的三个准确度分配给同一个Reducer器。

Reduce-3接收Map-3的输出作为输入,以计算每个工人的平均准确度。输出形式为 < W i d + T i d , a v g A i d > <W_{id}+T_{id},avgA_{id}> <Wid+Tid,avgAid> a v g A i d avgA_{id} avgAid是最终结果。

5 实验结果

在本节的实验一中,我们招募10名工人参与同一项任务。然后利用所提出的工人质量评估算法对每个工人的准确度进行计算,初步验证了算法的有效性。为了更有效地验证算法在各种大数据场景下的准确性和有效性,我们进一步进行了一系列模拟实验,分析和评估本节中工人质量评估算法的性能。利用模拟数据在Hadoop平台上进行了实验。对于一个任务,我们首先根据任务中的问题类型(布尔型、单选、多选等)随机生成问题的答案。然后我们随机生成不同级别的工人。工人的水平主要取决于准确度。准确度在0到1之间。最后,我们根据生成的工人准确度生成每个工人对每个问题的回答。数据集的规模为[10000100(20|50|100|200|500)],这意味着10000名工人参与100项任务。当每个任务包含不同数量的问题时,例如[20、50、100、200和500],我们运行算法来观察算法的准确性和有效性。

实验1: 我们招募10名工人参与这项工作。这项任务包括100个问题。问题的分布如表1所示。

表1. 问题的分布
表1. 问题的分布
首先,我们将工人的回答与预先制定的答案进行比较,以获得每个工人的真实准确度。其次,我们使用所提出的工人质量评估算法来计算每个工人的准确度。最后,我们比较了上述两种工人的准确度。由于此任务中存在多种问题类型,因此基于布尔类型的工人质量评估算法在这种情况下很难计算工人的准确度。为了进一步验证算法的有效性,我们对[42]中详述的基于投票的评估算法进行了一些改进,使其适用于多种选择问题。我们改进的细节如下。对于具有 M M M选项的多选问题,该问题的答案有 2 M − 1 2^M-1 2M1个可能性。如果一项任务只涉及少数工人,我们就很难通过投票来解决这个问题。因此,在多选问题的情况下,我们首先根据问题的 M M M值将其划分为 M M M个单选问题。也就是说,每个选项都被视为具有两个选项的单一选择问题,这表示是否选择选项。对于这些 M M M个单项选择问题,我们使用[42]中的投票方法分别获得每个选项的答案。最后,我们将上述 M M M个选项的所有答案汇总起来,得到多选问题的答案。然后利用改进后的算法计算工人的准确度,并与我们的计算结果进行比较。图3显示了比较结果。我们的算法得到的工人准确度更接近工人的实际准确度。实验证明了该算法的有效性。

图3. 基于不同方法的工人准确度值与工人实际准确度的比较
图3. 基于不同方法的工人准确度值与工人实际准确度的比较

实验2: 当数据集为[1000010020]时,我们从实验结果中随机选取一名工人,观察算法计算出的工人准确度与实际工人准确度之间的偏差程度。在这个实验中,工人的真实准确度是0.66。我们记录了用该算法计算的100个任务的工作准确度。图4显示了工人准确度期望的正态Q-Q图。图5显示了工人准确度偏差的正态Q-Q图。
图4.工人准确度期望的正态Q-Q图
图4.工人准确度期望的正态Q-Q图

图5. 工人准确度偏差的正态Q-Q图
图5. 工人准确度偏差的正态Q-Q图

从图4可以看出,正常值和观测值期望之间直线的斜率为1,观测值的分布几乎在对角线上。根据图5,偏差的正态分布接近 y = 0 y=0 y=0y?0。因此,工人的准确度值符合正态分布的特点。实验表明,该算法计算的工人准确度接近工人实际准确度(偏差 < 0.05 <0.05 <0.05),因此该算法对工人具有较高的准确度水平。

实验3: 为了验证任务中问题数量对算法有效性的影响,设计实验3进一步观察问题数量变化时工作人员准确度的差异。这里,任务数量设置为100,问题数量分别设置为20、50、100、200和500。在这个实验中,我们观察了我们在实验2中提到的工人的准确度。我们使用Kolmogorov-Smirnov(K-S)检验算法计算的工人准确度,结果如表2所示。从渐进显著性来看,其值满足条件( > 0.05 >0.05 >0.05),符合正态分布。同时,随着问题数量的增加,该算法计算的工人准确度平均值越来越接近实际准确度,且方差越来越小。结果表明,该算法的有效性和稳定性得到了提高。此外,当问题数目不同时,平均准确度值与实际准确度基本接近,且标准差较小,进一步证明了该算法计算的准确度是稳定可靠的。

表2. 单样本的Kolmogorov-Smirnov检验(K=1)
表2. 单样本的Kolmogorov-Smirnov检验(K=1)

实验4: 为了进一步验证算法的准确性和有效性,设计实验4同时观察多个工人。当实验数据集为[10000100100]时,即任务数为100,每项任务包含100个问题,我们采用区间随机抽样的方法,从实验结果中随机抽取10名工人,采样间隔为1000。然后对这10名工人的数据进行了分析,并利用K-S检验验证了该算法计算的工人准确度。表3显示了10名工人的K-S测试结果。

表3. 单样本的Kolmogorov-Smirnov检验(K=10)
表3. 单样本的Kolmogorov-Smirnov检验(K=10)

从表3可以看出,对于随机抽取的10名工人,从算法中获得的工人准确度仍然满足K-S测试的条件。平均值几乎等于每个工人的实际准确度。因此,该算法具有良好的通用性。

为了避免数据偏差,更好地验证算法的可靠性,我们进行了10次迭代的区间随机抽样。然后分析了该算法得到的工人准确度期望值与工人实际准确度之间的偏差。表4分别给出了10组样本的偏差期望值和方差。从表4可以看出,偏差的期望值是可接受的,偏差的方差很小,说明了实验结果的可靠性和稳定性。

表4. 单样本的Kolmogorov-Smirnov检验
表4. 单样本的Kolmogorov-Smirnov检验

实验5: 通过测量和统计分析不同工人之间的欧几里得距离,观察不同工人之间的准确度差异。在这个实验中,我们仍然使用在实验4中随机选择的10名工人。从表5可以看出,不同工人的实际准确度差越大,欧几里得距离就越大(如8号工人和9号工人);不同工人的实际准确度差越小,欧几里得距离就越小(如1号工人和4号工人),这证实了工人’质量在多个任务中更相似。因此,该算法能够区分和反映不同工人的素质。

表5. 不同工人准确度之间欧氏距离的近似矩阵(K=10)
表5. 不同工人准确度之间欧氏距离的近似矩阵(K=10)
实验6: 本实验主要讨论MapReduce对提高算法性能的影响。该算法涉及三个变量,包括工人数量、任务数量和每个任务中的问题数量。问题的规模是 N 3 N^3 N3。提出的工人质量评估算法可分为三个步骤:

  1. 对参与每项任务的工人进行分类和分组。现有排序算法的时间复杂度可达 O ( N log ⁡ N ) O(N\log N) O(NlogN)。所以这个步骤的时间复杂度是 O ( N 2 log ⁡ N ) O(N^2\log N) O(N2logN)
  2. 计算工人的准确度。对于 N N N个任务,每个任务可以根据算法获得 N N N个组。每组计算时间为 O ( N ) O(N) O(N)。所以这个步骤的时间复杂度是 O ( N 3 ) O(N^3) O(N3)
  3. 计算每个工人的平均准确度。该步骤的时间复杂度为 O ( N 2 ) O(N^2) O(N2)

MapReduce并行框架采用了分而治之的思想。理论上,这三个步骤都可以在 N 2 N^2 N2个处理器上并行处理。因此,加速比可以达到 O ( N 2 ) O(N^2) O(N2)。实际上, N N N值可能非常大, O ( N 2 ) O(N^2) O(N2)值也会更大。现实中,很难实现 N 2 N^2 N2个处理器。在 n n n个处理器的情况下,其中 n ≪ N n\ll N nN,时间复杂度为 O ( N 3 / n ) O(N^3/n) O(N3/n),加速比为 O ( N 3 ) / O ( N 3 / n ) ∼ O ( n ) O(N^3)/O(N^3/n)\sim O(n) O(N3)/O(N3/n)O(n)

为了验证算法在MapReduce框架下的加速效果,我们进行了两个实验。实验6.1通过多线程在单个节点上进行。我们发现,随着线程数的增加,算法的执行时间不会减少,如图6所示。这是因为该算法是一种计算密集型算法,因此在单核机器上增加线程数并不能减少计算时间。实验6.2观察MRM-X算法在不同节点数的集群中运行时的性能,如图7所示。数据集分别为[10000100100]和[20000100100]。虽然该算法的性能加速比没有达到 O ( n ) O(n) O(n)(这是由于分布式计算环境中通信时间的增加),但该算法的执行性能得到了显著提高。此外,数据集越大,加速度越明显。

图6. 一个节点上不同线程数的计算时间变化
图6. 一个节点上不同线程数的计算时间变化

图7. 计算时间随节点数的变化
图7. 计算时间随节点数的变化

从实验6.1和6.2可以看出,对于计算密集型任务,单台机器上的算法无法解决性能问题。虽然可以通过分布式计算来实现,但MapReduce并行框架只是一个不错的选择。另外,MapReduce只是将计算任务分配给集群,并不改变算法的进程。因此,它将在不影响算法精度的情况下提高性能。此外,MapReduce集群具有水平扩展性。随着节点数的增加,MapReduce的计算性能可以近似保持线性增长。随着数据规模的扩大,该算法显示出持续的有效性。因此,我们可以通过增加节点的数量来保证在大数据环境中计算出的性能。

6 结论

在本文中,我们首先提出了一种通用的工人质量评估算法,该算法适用于任何没有预先制定答案的关键众包任务。然后,为了满足大数据环境下多个工作人员并行评估的需求,利用MapReduce编程模型在Hadoop平台上实现了该算法。实验结果表明,该算法精度高,在大数据环境下具有较高的效率和性能。

在未来的研究中,我们将进一步考虑影响员工素质的其他因素,如回答时间和任务难度。这些因素将有助于实现对大数据环境下的众包模式下不同情况下的员工质量综合评价,以适应员工质量评价问题。

致谢

D.Dang is the corresponding author of this paper. This paper is supported by the National Natural Science Foundation of China under Grant No.60940032, No.61073034, and No.61370064; the Program for New Century Excellent Talents in University of Ministry of Education of China under Grant No.NCET-10–0239; and the Science Foundation of Ministry of Education of China and China Mobile Communicaions Corporation under Grant No. MCM20130371.

参考文献

[1] D. C. Brabham, “Crowdsourcing as a model for problem solving: An introduction and cases,” in Convergence the International Journal of Research Into New Media Technologies, SAGE, vol. 14, no. 1, pp. 75–90, 2008.

[2] M. Allahbakhsh, B. Benatallah, A. Ignjatovic, H. R. Motahari- Nezhad, E. Bertino, and S. Dustdar, “Quality control in crowdsourcing systems: Issues and directions,” IEEE Internet Comput., vol. 17, no. 2, pp. 76–81, Mar. 2013.

[3] A. Doan, R. Ramakrishnan, and A. Y. Halevy, “Crowdsourcing systems on the world-wide web,” . ACM, vol. 54, no. 4, pp. 86–96, 2011.

[4] P. Clough, M. Sanderson, J. Tang, T. Gollins, and A. Warner, “Examining the limits of crowdsourcing for relevance assessment,” IEEE Internet Comput., vol. 17, no. 4, pp. 32–38, Jun. 2013.

[5] B. Carpenter, “Multilevel bayesian models of categorical data annotation,”

[Online]. Available: http://lingpipe-blog.com/ lingpipe- white-papers, 2008.

[6] A. Brew, D. Greene, and P. Cunningham, “Using crowdsourcing and active learning to track sentiment in online media,” in Proc. 6th Conf. Prestigious Appl. Intell. Syst., 2010, pp. 145–150.

[7] J. Howe, “The rise of crowdsourcing,” Wired Magazine, vol. 14, no.14, pp. 176–183, 2006.

[8] V. C. Raykar, S. Yu, L. H. Zhao, G. H. Valadez, C. Florin, L. Bogoni, and L. Moy, “Learning from crowds,” J. Mach. Learning Res., vol. 11, no. 2, pp. 1297–1322, 2010.

[9] J. Manyika, M. Chui, B. Brown, J. Bughin, R. Dobbs, C. Roxburgh, and A. H. Byers, “Big Data: The next frontier for innovation, competition, and productivity,” McKinsey report, McKinsey Global Institute, 2011.

[10] S. C. H. Hoi, J. Wang, P. Zhao, and R. Jin, “Online feature selection for mining big data,” BigMine, pp. 93–100, 2012.

[11] K. Michael and K. W. Miller, “Big Data: New opportunities and new challenges,” Computer, vol. 46, no. 6, pp. 22–24, 2013.

[12] C. Lynch, “Big Data: How do your data grow?,” Nature, vol. 455, no. 7209, pp. 28–29, 2008.

[13] F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra, A. Fikes, and R. E. Gruber, “Bigtable: A distributed storage system for structured data,” ACM Trans. Comput. Syst., vol. 26, no. 4, 2008.

[14] M. Joglekar, H. Garcia-Molina, and A. Parameswaran, “Evaluating the crowd with confidence,” in Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining, ACM, 2013, pp. 686–694.

[15] J. Zhang, T. Li, and Y. Pan, “Parallel rough set based knowledge acquisition using MapReduce from big data,” BigMine, 2012, pp. 20–27.

[16] J. Dean and S. Ghemawat, “MapReduce: Simplified data processing on large clusters,” . ACM, vol. 51, no.1, pp. 107–113, 2005.

[17] D. Hastorun, M. Jampani, G. Kakulapati, G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels, “Dynamo: Amazons highly available key-value store,” in Proc. 21st ACM Symp. Operating Syst. Principles, 2007, pp. 205–220.

[18] M. Isard, M. Budiu, Y. Yu, A. Birrell, and D. Fetterly, “Dryad: Distributed data-parallel programs from sequential build-ing blocks,” Eur. Conf. on Comput. Syst., 2007, pp. 59–72.

[19] J. Wang, T. Kraska, M. J. Franklin, and J. Feng, “CrowdER: crowdsourcing entity resolution,” in Proc. VLDB Endowment, vol. 5, no. 11, pp. 1483–1494, 2012.

[20] N. Maisonneuve and B. Chopard, “Crowdsourcing satellite imagery analysis: Study of parallel and iterative models,” GIScience, pp. 116–131, 2012.

[21] S. Wu, X. Wang, S. Wang, Z. Zhang, and A. K. H. Tung, “K anonymity for crowdsourcing database,” IEEE Trans. Knowl. Data Eng., vol. 26, no. 9, pp. 2207–2221, Aug. 2014.

[22] D. Vakharia and M. Lease, “Beyond AMT: An analysis of crowd work platforms,” Eprint Arxiv, 2013.

[23] Y. Yan, R. Rosales, G. Fung, and J. G. Dy, “Active learning from crowds,” in Proc. 28th Int. Conf. Mach. Learning, 2011, pp. 1161–1168.

[24] F. L. Wauthier, and M. I. Jordan, “Bayesian bias mitigation for crowdsourcing,” in Advances in Neural Information Processing Systems 24, MIT Press, pp.1800–1808.

[25] Y. Yan, R. Rosales, G. Fung, M. Schmidt, G. Hermosillo, L. Bogoni, L. Moy, and J. G. Dy, “Modeling annotator expertise: Learning when everybody knows a bit of something,” J. Mach. Learning Res., pp. 932–939, 2010.

[26] X. Zhang, Z. Yang, C. Wu,W. Sun, Y. Liu, and K. Liu, “Robust trajectory estimation for crowdsourcing-based mobile applications,” IEEE Trans. Parallel Distrib. Syst., vol. 25, no. 7, pp. 1876–1885, Jun. 2014.

[27] C. Callison-Burch, “Fast, cheap, and creative: evaluating translation quality using amazon’s mechanical turk,” in Proc. Conf. Empirical Methods Natural Language Processing, vol. 1, pp. 286–295, 2009.

[28] J. Le, A. Edmonds, V. Hester, and L. Biewald, “Ensuring quality in crowdsourced search relevance evaluation: The effects of training question distribution,” in Proc. Sigir Workshop Crowdsourcing Search Evaluation, pp. 21–26, 2010.

[29] E. Kamar, S. Hacker, and E. Horvitz, “Combining human and machine intelligence in large-scale crowdsourcing,” in Proc. 11th Int. Conf. Auton. Agents Multiagent Syst., vol. 1, 2012, pp. 467–474.

[30] D. Schall, “Automatic quality management in crowdsourcing,” IEEE Technol. Soc. Mag., vol. 32, no. 4, pp. 9–13, Dec. 2013.

[31] Q. Liu, J. Peng, and A. Ihler, “Variational inference for crowdsourcing,” in Proc. Adv. Neural Inf. Processing Syst., 2012.

[32] D. R. Karger, S. Oh, and D. Shah, “Iterative learning for reliable crowdsourcing systems,” in Proc. Neural Inf. Processing Syst, 2011.

[33] J. M. Rzeszotarski and A. Kittur, “Instrumenting the crowd: Using implicit behavioral measures to predict task performance,” in Pro. 24th Annu. ACM Symp. User Interface Softw. Technol., pp. 13–22, 2011.

[34] R. Snow, B. O’Connor, D. Jurafsky, and A. Y. Ng, “Cheap and fast—but is it good? Evaluating non-expert annotations for natural language tasks,” in Proc. Conf. Empirical Methods Natural Language ProcessingEmnlp, 2008, pp. 254–263.

[35] J. Whitehill, P. Ruvolo, T. Wu, J. Bergsma, and J. Movellan, “Whose vote should count more: Optimal integration of labels from labelers of unknown expertise,” in Proc. Adv. Neural Inf. Processing Syst., pp. 2035–2043, 2009.

[36] V. C. Raykar, S. Yu, L. H. Zhao, A. Jerebko, C. Florin, G. H. Valadez, L. Bogoni, and L. Moy, “Supervised learning from multiple experts: Whom to trust when everyone lies a bit,” in Proc. Int. Conf. Mach. Learning, pp. 889–896, 2009.

[37] X. Liu, M. Lu, B. C. Ooi, Y. Shen, S. Wu, and M. Zhang, “Cdas: A crowdsourcing data analytics system,” Eprint Arxiv, vol. 5, no. 10, pp.1040–1051, 2012.

[38] A. P. Dempster, N. M. Laird, and D. B. Rubin, “Maximum likelihood from incomplete data via the em algorithm,” J. Roy. Statistical Soc. B, vol. 39, no. 1, pp. 1–38, 1977.

[39] P. Dawid, A. M. Skene, A. P. Dawidt, and A. M. Skene, “Maximum likelihood estimation of observer error-rates using the em algorithm,” Appl. Statistics, vol. 28, no. 1, pp. 20–28, 1979.

[40] M. R. Gupta and Y. Chen, “Theory and use of the em algorithm,” Foundations Trends Signal Processing, vol. 4, no. 3, pp.223–296, 2010.

[41] G. J. McLachlan and T. Krishnan, “The EM algorithm and extensions (wiley series in probability and statistics),” J. Classification, vol. 15, no. 1, pp. 154–156, 2007.

[42] A. Ramesh, A. Parameswaran, H. Garcia-Molina, and N. Polyzotis, “Identifying reliable workers swiftly,” Infolab Tech. Rep., Stanford Univ., Stanford, CA, USA, 2012.

[43] P. Welinder and P. Perona, “Online crowdsourcing: rating notators and obtaining cost-effective labels,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. Workshops, pp. 25–32, 2010.

[44] P. G. Ipeirotis, F. Provost, and J. Wang, “Quality management on amazon mechanical turk,” Proc. ACM SIGKDD Workshop Human Computation, 2010, pp. 64–67.

[45] Y. Tong, C. C. Cao, C. J. Zhang, Y. Li, and L. Chen, “CrowdCleaner: Data cleaning for multi-version data on the web via crowdsourcing,”in Proc. IEEE 30th Int. Conf. Data Eng., 2014, pp. 1182–1185.

[46] J. Dean and S. Ghemawat, “MapReduce: Simplified data processing on large clusters,” Commun. ACM, vol. 51, no. 1, pp. 107–113, 2008.

[47] J. Dean and S. Ghemawat, “MapReduce: A flexible data processing tool,” Commun. ACM, vol. 53, no. 1, pp. 72–77, 2010.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值