Boto + Mechanical Turk:您如何获得所有领域?

用户名

目前,我想手动创建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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章