【问题标题】:Does boto support for 'hit visibility'?boto 是否支持“命中可见性”?
【发布时间】:2017-03-26 08:03:44
【问题描述】:

创建命中时,Amazon turk 的请求者界面允许设置命中的可见性(例如,所有工人都可以看到我的命中,但只有满足所有资格要求的工人才能预览我的命中。

boto 可以在创建点击时进行此设置吗?有没有人可以告诉我这个?

【问题讨论】:

标签: amazon-web-services boto mechanicalturk


【解决方案1】:

这有几个层次。如果要限制可以预览 HIT 的 Workers,它是 QualificationRequirement 的配置参数,这是您在调用 CreateHIT 或 CreateHITType 时附加到 HIT 的数据结构。您可以在此处查看使用 Boto 的示例:https://github.com/awslabs/mturk-code-samples/blob/master/Python/CreateHitSample.py

具体来说,部分:

localRequirements = [{
    'QualificationTypeId': '00000000000000000071',
    'Comparator': 'In',
    'LocaleValues': [{
        'Country': 'US'
    }, {
        'Country': 'CA'
    }],
    'RequiredToPreview': True
}]

# Create the HIT 
response = client.create_hit(
    MaxAssignments = 10,
    LifetimeInSeconds = 600,
    AssignmentDurationInSeconds = 600,
    Reward ='0.20',
    Title = 'Answer a simple question',
    Keywords = 'question, answer, research',
    Description = 'Answer a simple question',
    Question = questionSample,
    QualificationRequirements = localRequirements
)

如果您想更进一步,让不合格的工人完全隐藏 HIT(或使用高级资格),您只能从请求者网站执行此操作。但是有一种方法可以在请求者网站中创建 HIT 类型,然后使用 SDK(包括 Boto)访问它。你这样做:

1) 在请求者网站中创建 HIT 类型。您可以按照本教程进行操作:https://blog.mturk.com/tutorial-how-to-quickly-create-hits-using-our-ruby-sdk-and-hit-editor-ffa83593dbf5

2) 访问 HIT 类型 ID、HIT 布局 ID 和 HIT 布局参数,如该博客文章中所示。具体来说,您要登录请求者网站,单击创建,然后单击您创建的模板的名称。会出现一个小模态,如下所示:

3) 然后,使用这样的代码来创建 HIT。为了全面披露,这是使用 Boto3(而上面的博客是在 Boto3 中支持 MTurk 之前编写的;对于混合和匹配造成的任何混淆,请见谅):

client.create_hit_with_hit_type(HITTypeId = "3UTQDPKCBDPS43G3N3YCFJLHPDX514",
                                HITLayoutId = "3ASV3OFR42CJPPALP03SPQPR0GRDYI",
                                HITLayoutParameters = [{ 'Name': 'image_url', 'Value':'http://example.com/image.png'}, 
                                                       { 'Name': 'objects_to_find', 'Value': 'example object' }],
                                LifetimeInSeconds = 60 * 60 * 24 * 3)

因为您只是使用通过请求者网站创建的 HIT 类型,它将使用该 HIT 类型的所有相同属性和属性,包括可见性参数(以及任何高级资格)。

希望对您有所帮助。祝你好运!

【讨论】:

  • 您好,非常感谢您的详细回答。在 sdk 中指定可见性确实是一个很好的解决方案。但在这种情况下(使用 HITTypeId 和 HITLayoutId),我不能再使用 ExternalQuestion。因为我正在使用 question = questionform 将外部网站集成到 turk 框架中,所以带有 hittype 的 creat_hit 不再允许我这样做。你知道如何解决这个问题吗?谢谢。
  • 如果您只是想阻止人们预览,您现在可以在 SDK/API 中执行此操作。您是否试图将 HIT 完全隐藏(例如,当 Worker 搜索它们时甚至不会显示)或者您可以让它们出现,但 Worker 无法预览?如果是后者,那么上面的第一个代码示例应该可以工作。
  • 您好,感谢您的回答。我需要的是前一个,即完全隐藏点击,甚至不会在工作人员搜索它们时出现。有什么方法可以通过API实现吗?
  • 唯一的方法是使用请求者网站 (requester.mturk.com) 创建您的 HIT 类型,然后使用 create_hit_with_hit_type 在 API 中使用该 HIT 类型 ID。
  • 非常感谢您的帮助!我现在很清楚了。那么就无法在基于外部问题的命中中设置可见性。再次感谢!!
猜你喜欢
  • 2020-02-29
  • 2021-12-21
  • 1970-01-01
  • 2012-06-30
  • 1970-01-01
  • 2016-12-29
  • 1970-01-01
  • 2015-05-23
  • 2012-11-30
相关资源
最近更新 更多