pythonbotomechanicalturk

How can I create a batch in Mechanical Turk?


I am asking an ExternalQuestion on Amazon Mechanical Turk as follows:

for apple_id in apple_ids:
    question_url = BASE_EXTERNAL_URL + '?' + apple_id
    QUESTION = ExternalQuestion(external_url=question_url, frame_height=800)

    create_hit_rs = conn.create_hit(
                                question = QUESTION,
                                max_assignments = MAX_ASSIGNMENTS,
                                keywords = KEYWORDS,
                                title = TITLE,
                                reward = REWARD,
                                duration = ASSIGNMENT_DURATION_IN_SECONDS,
                                approval_delay = AUTO_APPROVAL_DELAY_IN_SECONDS,
                                lifetime = LIFETIME_IN_SECONDS,
                        )

The above will ask about 100,000 questions, but all of the same format. However, when I view this on Amazon, it shows each question individualized, and nothing in a batch:

enter image description here

It would then show all those 100,00 items if I click on the Manage HIT individually link. Is there a way to create a 'batch' so it is more manageable with an ExternalQuestion? How would I do this?


Solution

  • Creating HITs of the same HITType (as you do here) will show up as a group from the worker perspective, but they will not appear as a batch in the requester user interface. Indeed, you cannot create batches via the API.

    One way to handle this is to mark all of the HITs that you create using the RequesterAnnotation field, so that they're easy to identify via the API. This doesn't really simplify anything in terms of approving or rejecting assignments (those operations will have to be performed on a HIT by HIT basis), but it might make it a bit clearer what goes with what.