boto库中是否有任何方法可以让我以编程方式回答我自己的HIT?这对自动化测试非常有用。从我对boto docs的阅读来看,这似乎是不可能的。
我想做这样的事情:
首先,将HIT发布给土耳其人。没有什么不寻常的;可以找到使用boto发布到Turk的一个很好的例子here。
# establish a connection to Mechanical Turk
mtc = MTurkConnection(aws_access_key_id = ACCESS_ID, aws_secret_access_key = SECRET_KEY, host = HOST)
# construct question forms (omitted for clarity; see tutorial above)
# publish the HIT to Mechanical Turk
mtc.create_hit(
questions=question_form,
max_assignments=1,
title=title,
description=description,
keywords=keywords,
duration = 60*5,
reward=0.05
)
这是我不知道该怎么做的。我想回答我自己的HIT,这样当我得到结果时,将填充答案字段。我知道它可以使用Worker Sandbox手动完成,但是我想将它合并到单元测试中,所以如果它可以自动化会很好。我想它可能看起来像这样:
answers = { 'question_1':'answer_1', 'question_2':'answer_2' }
mtc.answer_hit(hit_id=hit_id, answers=answers)
最后,我想得到结果。这也很标准。
rs = mtc.get_reviewable_hits(page_size=100)
for hit in rs:
assignments = mtc.get_assignments(hit.HITId)
for answer in assignment.answers[0]:
# process answers
答案 0 :(得分:1)
不。 MTurk没有Worker API,因此无法以编程方式执行此操作。它已在开发人员论坛上多次请求,但AWS似乎没有关于创建它的活动。