我从与 Mechanical Turk 工人的交流中得知,有一种方法可以限制特定工人可以完成的 HIT 数量,但我不知道该怎么做。任何帮助将不胜感激!
我开发了一个主要解决这个问题的脚本。主要思想是根据数据库检查工作人员 ID,然后如果工作人员已经完成相关的 HIT,则隐藏 HIT。
这样您就不需要托管自己的数据库服务器,我已将我的脚本作为(免费)服务提供:http://uniqueturker.myleott.com http://uniqueturker.myleott.com。如果您在使用该脚本时遇到任何问题,或者有任何问题或建议,请告诉我。
我还在这里包含了该脚本,以防您希望将其与您自己的 URL/数据库一起使用。如果您采用这种方式,则需要为数据库设置一个 Web 界面,该界面采用工作人员 ID,如果允许工作人员在 HIT 上工作,则返回“1”,否则返回“0”。然后,您只需替换下面的“YOUR_URL”即可指向该网络界面:
<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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)