我正在使用mTurk进行调查,我需要一种方法来确保参与之前调查/ HIT的人不参与某些未来的调查/ HIT。我不确定是否应该将此作为资格或其他方式。
我知道有办法做到这一点,但我不知道怎么做。我的编程经验非常有限,并且非常感谢有关如何执行此操作的具体说明。我的理解是我可能需要使用AWS?非常感谢!
答案 0 :(得分:2)
就您作为请求者的声誉而言,如上所述的群体拒绝是一个非常非常糟糕的主意。你最好为新的HIT创建一个资格认证,它会自动给予任何人以100分(或其他)的分数,并为完成之前调查的每个人分配零分。这可以防止重复,但不会惹恼你的任何工人。
创建资格认证的最简单方法是https://requester.mturk.com/qualification_types。
如果您从这里https://requester.mturk.com/workers下载工作人员的csv,您可以为完成之前HIT的工作人员分配分数。
为了使新员工的资格认定分数自动要求API。
答案 1 :(得分:0)
这是一种愚蠢的方法:
如果您正在进行足够的调查,那么您可能希望至少在批准部分使用AWS API。否则,大多数事情似乎都可以从请求者界面中执行。
答案 2 :(得分:0)
Amazon Mechanical Turk服务具有此选项,供请求者通过Qualification_Type授予其工作人员。通过这种方式,通过将您的HIT连接到qualified_type命名" A",然后授予工人完全相同的qualified_type,只有拥有该资格的工人才能查看和使用HIT。
首先,通过mturk网络用户界面创建所需的资格类型。(它只是名称和描述)requester.mturk.com>管理> QualificationTypes。它会在生成后为您提供资格ID。 (你很快就会需要它)
第二次,在HIT创建循环中,您必须使用QualificationRequirement类。 (我使用的是java代码,它看起来像下面提到的代码):
QualificationRequirement[] qualReq = new QualificationRequirement[1];
qualReq[0] = new QualificationRequirement();
qualReq[0].setQualificationTypeId(qualID);
qualReq[0].setComparator(Comparator.EqualTo);
qualReq[0].setIntegerValue(100);
qualReq[0].setRequiredToPreview(false);
然后在HIT创建循环中,我将使用它:
try {
hit = this.service.createHIT(null,
props.getTitle(),
props.getDescription(),
props.getKeywords(),
question.getQuestion(),
new Double(props.getRewardAmount()),
new Long(props.getAssignmentDuration()),
new Long(props.getAutoApprovalDelay()),
new Long(props.getLifetime()),
new Integer(props.getMaxAssignments()),
props.getAnnotation(),
qualReq,
null);
第三次将资格类型分配给您希望他们在HIT上工作的工作人员。这非常简单,我通常使用mturk UI来做到这一点。 https://requester.mturk.com/>管理标签>工作人员。如果要将此限定条件分配给一堆工作人员,则应下载CSV文件。 (工人过去和你一起工作过)
您可以在符合条件的情况下向他们发送电子邮件通知工作人员
注意:有些工人在符合资格后回答你的新HIT的速度很慢;所以请记住,如果您在一定时间内没有收到足够的响应,您应该有一些备份计划和时间。