amazon-web-services - 在 Mechanical Turk 中,如何限制每个 worker 一次 HIT

标签 amazon-web-services mechanicalturk

我从与 Mechanical Turk worker 的交流中了解到,有一种方法可以限制特定 worker 可以完成的 HIT 数量,但我不知道该怎么做。任何帮助将不胜感激!

最佳答案

我开发了一个主要解决这个问题的脚本。主要思想是根据数据库检查工作人员 ID,然后在工作人员已经完成相关 HIT 时隐藏 HIT。

因此,您不需要托管自己的数据库服务器,我已将我的脚本作为(免费)服务提供:http://uniqueturker.myleott.com .如果您在使用脚本时遇到任何问题,或者您有任何问题或建议,请告诉我。

如果您希望将它与您自己的 URL/数据库一起使用,我还会在此处包含该脚本。如果你走这条路,你需要为你的数据库设置一个 Web 界面,该界面接受一个 worker ID,如果允许 worker 在 HIT 上工作,则返回“1”,否则返回“0”。然后,您只需替换下面的“YOUR_URL”以指向该 Web 界面:

<script type="text/javascript">
 (function() {
  var assignmentId = turkGetParam('assignmentId', '');
  if (assignmentId != '' && assignmentId != 'ASSIGNMENT_ID_NOT_AVAILABLE') {
   var workerId = turkGetParam('workerId', '');
   var url = 'http://YOUR_URL/?workerId='+workerId;
   var request = new XMLHttpRequest();
   request.open('GET', url, false);
   request.send();
   if (request.responseText != '1') {
    document.getElementById('mturk_form').style.display = 'none';
    document.getElementsByTagName('body')[0].innerHTML = "You have already completed the maximum number of HITs allowed by this requester. Please click 'Return HIT' to avoid any impact on your approval rating.";
   }
  }
 })();
</script>

关于amazon-web-services - 在 Mechanical Turk 中,如何限制每个 worker 一次 HIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2835915/

相关文章:

mysql - 构建类似 MTurk 的应用程序——当每个任务的列名发生变化时如何使用数据库?

mysql - 运行不相关查询的 AWS RDS MySQL 只读副本

ubuntu - 使用 Ansible 将安全组添加到正在运行的实例

amazon-web-services - Amazon S3 使用 boto/boto3 修改存储桶策略

node.js - 无法使用 Lambda 和 API 网关访问 API

javascript - 在触发器上用 javascript 打开网页

amazon-web-services - AWS s3 - 触发对象创建,函数被连续调用

mechanicalturk - javascript验证/防止提交表单亚马逊机械土耳其人

java - Amazon Turk 命令行工具 : Invalid Configuration for Port error

amazon-web-services - 土耳其语 : transfer HIT from Sandbox to Production site