我使用CreateQualificationType
操作在MTurk中创建新的认证类型,以便我可以在我的HIT中要求进行认证测试。亚马逊Mechanical Turk:一个认证类型中的随机问题
现在我有一组用于这个资格测试的问题,但我只想要谁申请这个资格测试MTurk工人回答只是这些问题的一小部分,和不同的作品回答不同问题随机。我在AWS Document about Qualifications没有找到任何有用的答案。有没有一种方法来实现这一点?
我使用CreateQualificationType
操作在MTurk中创建新的认证类型,以便我可以在我的HIT中要求进行认证测试。亚马逊Mechanical Turk:一个认证类型中的随机问题
现在我有一组用于这个资格测试的问题,但我只想要谁申请这个资格测试MTurk工人回答只是这些问题的一小部分,和不同的作品回答不同问题随机。我在AWS Document about Qualifications没有找到任何有用的答案。有没有一种方法来实现这一点?
这很不幸是不可能的。资格考试只能使用QuestionForm XML进行设置,该考试不允许任何形式的随机化。最常用的建议方法是用你想要的内容创建一个HIT,然后根据他们对HIT的反应为工人分配资格分数。不理想,但唯一的选择。
一块蛋糕,其实。你需要做的是在循环内创建问题XML文件,然后从该问题创建命中xml。在下面的示例中,我手工制作了一个问题xml,并验证了它在沙箱上的工作情况。然后我将问题xml文件拆分为与未更改的部分对应的部分a,b,c,然后在我的循环中将xml代码写入文本文件。
在进展结束时,我有一个有效的XML文件,我打开并使用创建命中。现在我知道这个问题是关于资格的,但这个想法完全一样。
```
for hit_number in range(how_many):
print(hit_number)
my_emotions = sample(emotion_names,5)
my_emoji = sample(emoji_numbers,1)
HIT_image = <a url on S3 is convenient>
f_out = open('data/dynamic_question.xml', 'w')
f_out.write(parta)
f_out.close()
f_out = open('data/dynamic_question.xml', 'a')
f_out.write(' <DataURL>' + HIT_image + '</DataURL>' + '\n')
f_out.write(partb)
for emotion in my_emotions:
f_out.write(' <Selection>' + '\n')
f_out.write(' <SelectionIdentifier>' + emotion + '</SelectionIdentifier>' + '\n')
f_out.write(' <Text>' + emotion.capitalize() + '</Text>' + '\n')
f_out.write(' </Selection>' + '\n')
f_out.write(partc)
f_out.close()
with open("data/dynamic_question.xml") as f:
question = f.read()
# Create the HIT
response = client.create_hit(
```