如何使用boto在Mechanical Turk上回答我自己的HIT

时间:2014-04-04 00:36:10

标签: boto mechanicalturk

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

1 个答案:

答案 0 :(得分:1)

不。 MTurk没有Worker API,因此无法以编程方式执行此操作。它已在开发人员论坛上多次请求,但AWS似乎没有关于创建它的活动。