我使用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(
```