繁体   English   中英

Mechanical Turk - 通过API获取批次的结果

[英]Mechanical Turk - Fetch results for a batch via API

我们使用Mechanical Turk网络界面创建了批量的HIT。 现在我们要做的就是使用API​​下载批量结果,就像使用“下载CSV”下载Web界面中批量结果一样。

亚马逊的文档说,从API下载结果是可能的,如果不是,我会感到惊讶。 但经过大量的编程时间和测试后,我无法获得批量的结果。

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

我们的问题不是获取HIT数据, GetHIT很容易。 我们的问题不是获取分配数据, GetAssignmentsForHIT使用GetAssignmentsForHIT轻松完成。 我们的问题是弄清楚批处理的HIT ID,以便我们只获取该批处理的结果。

我们认为我们可以使用GetHITsForQualificationType执行此操作,但由于我们对所有批次使用相同的HIT类型ID,因此这是不可能的。 我能看到的唯一其他操作是SearchHIT,但是此操作只允许您“排序”值而不是“过滤”,例如批次ID。

如果亚马逊是一家SOA公司并且他们遵循“吃你自己的狗食”的概念,那么我想知道他们如何使用他们的API在“下载CSV”中生成结果?

任何提示将不胜感激。 谢谢!

更新#1

我相信您可以使用SearchHITs来提取所有 HIT。 然后使用GetHIT获取每个HIT的详细信息。 然后通过实际包含批次ID的“RequesterAnnotation”过滤所有HIT,例如“BatchId:1234567;”。 这可能是唯一的解决方案。 听起来有点牵强。

工作流程与您在更新#1中描述的完全相同:(1)使用SearchHITs来获取所有HIT。 (2)使用GetHIT获取详细信息(实际上可以跳过此步骤,因为如果包含HITDetail响应组,则“请求者注释”字段随SearchHITs提供)。 (3)通过注释字段过滤结果以获得所需的HIT。 (4)使用GetAssignmentsForHIT检索分配。

“批处理ID”似乎只能由Amazon访问,以便在请求者用户界面上使用。 (参见关于MTurk开发者论坛的一些讨论)

当然,API会为您提供XML结果,您需要解析它以将其转换为CSV。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM