javascript - MTurk : Posting experimental conditions simultaneously, 但只允许每个 worker 看到其中一个条件

标签 javascript amazon-web-services boto mechanicalturk

我在多种条件下进行了实验。在每个实验中,我都会要求 Turkers 对一篇新闻文章进行评分,但我会根据实验条件更改呈现方式。我需要同时向 Turk 发布所有条件,但允许每个 worker 仅看到众多条件之一。 worker 第一次尝试点击时,他会被随机分配到一个实验条件(例如 A),然后如果他尝试任何后续点击,他应该看到与相同实验条件(A)相关的任务,而不是其他实验条件(A)。 B、C 等)。

我知道可以使用资格要求来防止 worker 重复调查,但在我上面描述的情况下这是不可能的,因为我需要同时发布不同的实验条件,这与你进行第一阶段的调查不同,检索 worker ID谁完成了任务,然后阻止(或分配资格),以便他们无法在第 2 阶段尝试调查。

无论如何,问题的简短版本是:如果我同时发布所有条件,我如何将一名 worker 随机分配到一个实验条件,然后确保他在任何后续点击中分配到相同的条件。有没有办法在 worker 看到 HIT 时检索他们的 ID,然后为他们分配相应的实验条件任务。我能找到的最接近的是这个paper (第 5 页),他们使用 IFrame 来查找工作人员 ID。

最佳答案

我在这里建议不要使用真正的随机化。相反,使用 javascript 检索工作人员的 workerId 参数,该参数将作为 URL 查询参数传递给 HIT。然后,在 HIT 本身中,使用 javascript 根据工作人员的工作 ID 的某些部分(例如最后两个字符)非随机地向工作人员显示一篇文章。

作为更完整的示例,创建一个所有两元素字母数字组合的数组。将这些组合中的每一个随机分配给一个条件。然后,当worker接受HIT时,提取其workerId,根据数组将其最后两个字符与条件匹配,然后将相应的内容显示给worker。因此,本质上,您是根据 worker ID 非随机分配人员,但该标识符基本上是随机分配的。

关于javascript - MTurk : Posting experimental conditions simultaneously, 但只允许每个 worker 看到其中一个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25331801/

相关文章:

javascript - 与 timeago.js 相反?

javascript - 保护全局 Javascript "API"对象

javascript - 在javascript中获取开始日期和结束日期的周数

java - 在 aws 服务器上启动 tomcat 8 的问题

python - 列出 S3 对象直到第一级

javascript - 如何将下拉列表的值传递给 instafeed tagName 属性

mysql - 从机架空间导出更大尺寸的数据库

amazon-s3 - boto 获取 md5 s3 文件

python - 如何处理boto3的错误?

python - 无法将 pyodbc 与 aws lambda 和 API 网关一起使用