В Mechanical Turk, как вы ограничиваете один HIT на одного работника
Я знаю из общения с рабочими-механиками из Турции, что существует способ ограничить количество HIT, которые может выполнить конкретный работник, но я не могу понять, как это сделать. Любая помощь будет принята с благодарностью!
Ответы
Ответ 1
Я разработал script, который в основном решает эту проблему. Основная идея - проверить идентификатор работника на базу данных, а затем скрыть HIT, если работник уже завершил связанный HIT.
Чтобы вам не нужно было размещать собственный сервер баз данных, я сделал мой script доступным как (бесплатный) сервис по адресу: http://uniqueturker.myleott.com. Пожалуйста, дайте мне знать, если у вас возникли проблемы с использованием script, или если у вас есть какие-либо вопросы или предложения.
Я также включаю script здесь, если вы хотите использовать его со своим собственным URL/базой данных. Если вы идете по этому маршруту, вам нужно настроить веб-интерфейс для своей БД, который принимает идентификатор рабочего и возвращает "1", если работнику разрешено работать с HIT и "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>
Ответ 2
Создайте хит, который действительно является единственным HIT, но используйте javascript для динамического изменения HIT при каждом просмотре. Затем, отправляя HIT, установите "Количество назначений на HIT" на количество желаемых участников. Таким образом, вы получите уникальных участников.
В зависимости от типа HIT, который вы хотите запустить, это метод, который может сработать для вас. Я использовал его для рандомизации стимулов, показанных участникам.
Ответ 3
Вы также можете сделать это с помощью внешних вопросов. Я запускаю психологические эксперименты на механическом турке, поэтому мне нужны уникальные участники. В дополнение к просьбе о том, чтобы работники выполняли только один HIT, я использую python script для проверки уникальности. Мои HIT файлы запускают cgi script, чтобы задать вопрос. script обращается к файлу журнала, и если работник ранее принял связанное задание, он вежливо сообщает им, что, поскольку мне нужны уникальные участники, HIT не будет доступен.
Я делал это с квалификацией, но обнаружил, что это действительно ограниченное участие.
Ответ 4
См
http://docs.amazonwebservices.com/AWSMechanicalTurkRequester/2008-08-02/
Вы можете установить два типа ограничений:
- Максимальное количество назначений, которые любой Рабочий может принять для определенного типа HIT, который вы создали. Это значение undefined, пока вы не установите его.
- Максимальное количество назначений, которое любой Рабочий может принять для всех ваших HIT, которые в противном случае не имеют уже определенного ограничения типа HIT. Начальное значение по умолчанию - 10.
Изначально все ваши HIT группируются вместе с общим лимитом (по умолчанию 10), применяемым к группе, независимо от типа HIT.
Обратите внимание, что это относится к числу присвоений, которые рабочий может принять в настоящее время. Как только работник отправил задание, они могут принять другое задание.
Вероятно, вам небезразлично, сколько HIT, которые рабочий заполняет в целом, но может быть причина, по которой вы хотите изменить число, которое рабочий может принять в настоящее время по умолчанию 10. Конечно, рабочий может принимать только один назначение из HIT с несколькими присвоениями.
Если вы действительно хотите ограничить количество HIT, которые действительно может сделать рабочий, вам нужно либо указать, что вы не собираетесь принимать больше определенного числа на одного работника, явно заявляя, что вы "Я собираюсь отклонить любые материалы после того, как предел достигнут, или вы можете обезьяны с квалификационными типами сделать это (но это может быть большой работой)!
В качестве примера последнего, если вы хотите ограничить кого-то выполнением N полных заданий, вы можете получить тип квалификации для каждого HIT и предоставить не более N типов любому одному работнику.
Ответ 5
Просто, чтобы уточнить, хотите ли вы, чтобы только уникальные работники заполнили один клик, все, что вам нужно сделать, - это установить максимальные задания для множества уникальных работников, которых вы хотите, и Механический Turk по умолчанию будет назначать только уникальных работников для этого удара.
Теперь, если вам нужны уникальные рабочие для нескольких ударов, вам нужно получить фантазию и использовать внешний вопрос в сочетании с script, который регистрирует рабочий идентификатор ext...
Ответ 6
Если вы хотите, чтобы x уникальных пользователей, задайте количество присвоений на HIT, равное x в разделе "Дизайн". Затем, загружая файл csv, добавьте только один HIT в файл.
Ответ 7
psiTurk (приложение для исследования поведения MTurk) автоматически предотвращает повторение HIT рабочими, используя подход, подобный @david-l. Раскрытие информации: Я один из разработчиков проекта.