目前,我想手动创建HIT,然后使用mturk的API检索它们。
我正在使用Boto检索任务,但是问题是我只能看到工作人员填写的信息。我还想查看我为HIT提供的原始信息。
例子:
餐厅名称:Mike's Burritos(由我提供)
餐厅地址:[请在此处输入地址](由mturk填写)
我可以通过以下方式获得餐厅地址:
from boto.mturk.connection import MTurkConnection
mtc = MTurkConnection(aws_access_key_id=[ACCESS_ID],
aws_secret_access_key=[SECRET_KEY],
host=[HOST])
assignments = mtc.get_assignments([HIT_ID], status=None, sort_by='SubmitTime', sort_direction='Ascending', page_size=10, page_number=1, response_groups=None)
address = assignments[0].answers[0][0].fields
如何获得餐厅名称?
谢谢,埃德
更新
这是我用来创建HIT的相关html:
<table>
<tbody>
<tr>
<td><label>Restaurant name:</label></td>
<td>${name}</td>
</tr>
</tbody>
</table>
^然后,我上传一个.csv文件,其中“ name”作为属性之一。这将填充上面的字段。
<div><label>Restaurant address:</label> <input class="form-control" id="address" name="address" placeholder="Enter restaurant address here" type="text" /></div>
^ MTurk为每家餐厅填写
当我登录MTurk时,查看结果,然后单击“下载csv”,我就能得到所需的结果:一个包含餐厅名称和餐厅地址的csv。
但是,我遇到的问题是以编程方式进行的。我只设法获得了餐厅地址...如果没有餐厅名称与之匹配,这是没有用的。
您正在体验的是RUI和API之间的区别。RUI(即网站)实际上是在MTurk API之上构建的应用程序,其中包含其他功能。在RUI中创建CSV上载批处理时,MTurk会将输入值附加到每个HIT,以便在下载结果时它们就在其中。MTurk实际上没有此功能。这只是RUI的功能。
如果通过API创建HIT,则可以在RequesterAnnotation
字段中对它们进行标记,以了解哪个是HIT,但是无法模拟API的批处理功能(合并输入和结果值)而无需本地记录哪个HIT进入哪些输入数据,然后从API中提取分配数据后合并它们。因此,如果您通过RUI创建HIT,然后再从API中提取它们,则基本上没有办法将输入映射到结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句