在外部网站上运行MTurk HIT

时间:2012-05-26 19:30:55

标签: mechanicalturk

我正在实施一个网站,招募的MTurk工作人员将在该网站上执行任务。我计划使用MTurk任务招聘员工,我将使用这些任务将他们重定向到外部网站进行实际工作。我有关于这个计划的以下问题。

  1. 这种运行HIT的方法有任何可预见的问题吗?如果是这样,我们如何减轻它们?

  2. 我应该如何在外部网站上实施身份验证过程?例如,如何确保访问该网站的人员执行特定任务确实与之前在MTurk上针对此特定任务招募的人员相同?

  3. 当工人完成任务时,我应该如何根据他们的表现将付款程序与MTurk整合?例如,工作人员在我的外部网站上完成任务后欠了3美元,我是否有可能告诉MTurk以编程方式向他/她支付这笔金额?

  4. 如果这些细节很重要,外部网站将使用Python构建。

    根据您使用MTurk的经验和见解提出的任何建议和意见将非常感谢!

2 个答案:

答案 0 :(得分:30)

我正在考虑为我的类似项目。我自己就是一名工人。这是我的计划,我希望它对你有用。 (我还没有实现它。它基于我作为工人参与的学术HIT。)这里有:

一个。创建一个具有以下语言的模板:

1. Please open this web site in a new browser window:
   http://your-url.xyz.blah/tasks/${token}
2. Read and follow the instructions there.
3. After completing the task, you will receive a confirmation code. Paste 
   it here: [________]

B中。为您的Mechnical Turk数据文件创建一些随机令牌:

1A1B43B327015141
09F49F2D47823E0C
B5C49A18B3DB56F4
4E93BB63B0938728
CCE7FA60BFEB3198
...

(从您的应用生成这些令牌;它需要交叉引用它们。)

℃。您的应用程序从URL中提取令牌,查找任务,并执行任何需要执行的操作。我个人并不担心人们绊倒了URL,因为它是一次性使用令牌。

d。用户在外部网站上完成任务后,外部应用程序会提供确认代码。确认码应该是随机且不透明的。只有您的应用程序才能知道任何特定代码是否对应于正确或错误的答案。实际上,如果您愿意,甚至可能无法实时确定正确性 - 它可能是多个提交内容的聚合和/或比较的结果。

电子。编写一些代码以编程方式进行交互。获取MTurk结果提供的令牌和确认码,并确保它们与您的外部应用程序匹配。如果它们不匹配,请拒绝HIT。如果匹配,请检查外部应用中的正确性并批准或拒绝。您可以考虑奖金支付结构。

所以,回答你的具体问题:

  1. 我预计我所描述的方法不会出现问题。也就是说,机械土耳其人既是艺术又是科学。也许更多的艺术。写下好的问题并适当地支付Turkers是你必须通过常识,市场研究和实验相结合的方法。

  2. 见上文(C)。令牌设计为仅使用一次。使用足够长的令牌并且碰撞的可能性变得非常低。

  3. 见上文(E)。 Mechanical Turk Developer Guide是一个很好的起点。

  4. 请分享您的结果。或者让Turkers向StackOverflow发送数百张明信片。 :)

    注意:

    • 我正在探索资格考试。我怀疑它们非常有用。

    • 我想在我的外部应用程序中获取Turker的工作者ID,但我还没想出那个部分。我正在读它;例如:Getting workerId by assignmentId

    • 我正在考虑使用API​​中的ExternalQuestion功能:“...您可以使用”外部“问题在自己的网站上托管问题。... HIT with a外部问题在工作人员的Web浏览器的框架中显示您网站上的网页。您的网页显示工作人员填写并提交的表格。工人使用您的表单提交结果,并且您的表单将结果提交回Mechanical Turk。使用您的网站显示表单,可以让您的网站控制问题的显示方式以及如何收集答案。“

答案 1 :(得分:7)

您可能还会发现PsiTurk非常有用:“PsiTurk是一个开放平台,用于在亚马逊的Mechanical Turk上进行自定义的行为实验....它旨在提供运行实验所需的大部分后端机制它使用AMT的External Question HIT类型,这意味着您可以使用任何网站收集数据。只要您可以将您的实验转变为网站,您就可以使用PsiTurk运行它!“