2013-04-19 2 views
4

Мы создали партии HIT с использованием веб-интерфейса Mechanical Turk. Теперь все, что мы хотим сделать, это загрузить результаты для пакета с использованием API, так же, как вы можете загрузить результаты для пакета в веб-интерфейсе, используя «Загрузить CSV».Mechanical Turk - результаты поиска для партии через API

Документация от Amazon говорит, что загрузка результатов из API возможна, и я был бы удивлен, если это не так. Но после многих часов программирования и тестирования я не смог получить результаты партии.

http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_OperationsArticle.html

Наша задача не получить данные ГИТ, что материал легко с GetHIT. Наша проблема заключается не в том, чтобы получить данные о назначении, что легко сделать с GetAssignmentsForHIT. Наша задача состоит в том, чтобы определить идентификаторы HIT для партии, чтобы мы только получали результаты этой партии.

Мы думали, что сможем сделать это с помощью GetHITsForQualificationType, но поскольку мы используем тот же идентификатор типа HIT для всех партий, это невозможно. Единственная другая операция, которую я вижу, - это SearchHITs, но эта операция позволяет вам «сортировать» значения, а не «фильтровать», например, идентификатор партии.

Если Amazon является компанией SOA, и они следуют концепции «съесть свою собственную собачью пищу», то мне интересно, как они генерируют результаты в «Загрузить CSV» с использованием их API?

Любые советы были бы весьма признательны. Спасибо!

UPDATE # 1

Я считаю, что вы могли бы использовать SearchHITs вытащить все хитов. Затем возьмите данные для каждого HIT, используя GetHIT. Затем отфильтруйте все HIT посредством «RequesterAnnotation», который фактически содержит идентификатор партии, например «BatchId: 1234567;». Это может быть единственным решением. Звучит немного странно.

+0

Что такое "Пакетный идентификатор"? Я никогда не видел этот термин в документации API. –

+1

Там, вероятно, нет такой вещи, но когда вы создаете HIT, используя веб-интерфейс, используя CSV-файл, Amazon относится к тем, у кого есть формулировка «партии». Пакет состоит из нескольких HIT. Идентификатор пакета ничем не продвигается, но вы можете увидеть его в URL-адресе при просмотре партий. – user1493124

ответ

2

Рабочий процесс, как вы описали в своем обновлении # 1: (1) Используйте SearchHITs, чтобы получить все ваши HIT. (2) Получить информацию с помощью GetHIT (Вы можете пропустить этот шаг, потому что поле «Requester Annotation» содержит SearchHITs, если вы включили группу ответов HITDetail). (3) Отфильтруйте результаты в поле аннотации, чтобы получить желаемые HIT. (4) Используйте GetAssignmentsForHIT для получения заданий.

«пакетный идентификатор» - это то, что кажется доступным только для Amazon для использования на пользовательском интерфейсе Requester. (см. обсуждение on the MTurk Developer Forum)

И, конечно же, API предоставит вам результаты в формате XML, которые вам нужно проанализировать, чтобы превратить их в CSV.

Смежные вопросы