增加 Mechanical Turk 中旧批次的分配数量

Increase number of assignments for old batch in Mechanical Turk

我在网络界面上创建了几个项目,每个项目都有几个批次已经结束。每个任务的最大分配是 3。我需要为每个 HIT 添加 2 个分配,可以吗?

我已经尝试在正在进行的批处理中使用 API:

mturk.create_additional_assignments_for_hit(HITId=HIT_ID,NumberOfAdditionalAssignments=2)

和响应:

    {'ResponseMetadata': {'RequestId': '.....some id ...',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '.....some id ...',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '2',
   'date': 'Thu, 20 Jan 2022 12:20:02 GMT'},
  'RetryAttempts': 0}}

但是我在网络上看不到关于 +2 额外作业的任何更新..

找到答案。

首先,请求者 UI (RUI) 和 API 没有完全连接,因此并非 API 中的所有更改都可以在RUI.

这是我使用 python API 的答案 要“恢复”旧 HIT 并为其添加新任务,您需要:

mturk = boto3.client('mturk',
                     aws_access_key_id='xxxxxxxxxxxx',
                     aws_secret_access_key='xxxxxxxxxxxxx',
                     region_name='us-east-1',
                     endpoint_url='https://mturk-requester.us-east-1.amazonaws.com')

延长 HIT 的到期日期(即使它已经过期):

mturk.update_expiration_for_hit(HITId=HIT_ID_STRING,ExpireAt=datetime.datetime(2022, 1, 23, 20, 00, 00))

然后,增加最大分配,这里我们再增加+2:

mturk.create_additional_assignments_for_hit(HITId=HIT_ID_STRING,NumberOfAdditionalAssignments=2)

就是这样,您可以看到 NumberOfAssignmentsAvailable 的总数增加了 2,并且 MaxAssignments 也增加了:

mturk.get_hit(HITId=HIT_ID_STRING)
 'MaxAssignments':5,
 'NumberOfAssignmentsPending': 0,
 'NumberOfAssignmentsAvailable': 2,
 'NumberOfAssignmentsCompleted': 3