【问题标题】:Amazon Mechanical Turk: How to use react/redux to implement HIT?Amazon Mechanical Turk:如何使用 react/redux 实现 HIT?
【发布时间】:2020-04-15 07:49:04
【问题描述】:

我使用 React 和 Redux 实现了一个复杂的交互式 HTML 表单。我想将此表单展示给 mturk 工作人员并将结果作为 json 字符串检索(基本上包含表单完成后的 redux 状态)。

经过一番谷歌搜索,我看到了三个选项:

1) 使用 ExternalQuestion 并将其托管在我自己的服务器上。但是,我找不到如何使用 Mechanical Turk 网络界面创建 ExternalQuestion 的选项。我只找到了解释如何使用 mturk API 创建此类问题的教程。没有其他方法可以做到这一点吗?我想避免自己编写用于发布、检索结果和批准工作人员的脚本。

2) 使用预定义的问题类型,例如“调查”。在这个问题类型中,我可以嵌入一个 iframe,指向我自己的托管反应应用程序的服务器。使用额外的 javascript,我可以从 iframe 中检索结果,将其存储在调查的隐藏字段中,并将其作为我的最终结果提交。

3) 编译我的 react 应用程序,将 JS 和 CSS 文件上传到我自己的服务器,将 HTML 复制到 mturk 并从那里引用 JS/CSS。

我觉得这些选项都不合适。如何正确地做到这一点?

我认为 ExternalQuestion 是我最好的选择,但我想避免编写自己的 API 调用,因为错误可能会导致资金损失。

【问题讨论】:

    标签: javascript reactjs redux mechanicalturk


    【解决方案1】:

    选项 3 是此类用例的典型模式。

    您可以引用您的资产,然后在您的 javascript 中将您的提交值放入 内的隐藏输入中。

    This blog post 展示了如何使用Crowd HTML ElementsAmazon SageMaker Ground Truth 来实现这样的用例。对于如何直接使用 MTurk 执行此操作,这应该是一个有用的起点。

    如果您遇到问题,请随时通过 samhenry@amazon.com 与我联系。

    谢谢,

    亚马逊机械土耳其人

    【讨论】:

    • 谢谢!它几乎可以工作。我在人群表单中有一个手动创建的隐藏字段,并将结果作为 JSON 字符串存储在该字段中。但是,提交人群表单时,隐藏字段不包括在内。我必须使用 crowd-* 标签吗?如果我可以使用我的自定义隐藏字段,因为我想用 react 渲染它,那就太酷了。
    • 没关系。现在可以了!该解决方案确实很hacky,但似乎有效。
    • 我还有一个问题。是否可以为模板中使用的 ${variables} 提供默认值?这将使调试更容易。目前,每当我进行更改以查看它是否按预期工作时,我都需要上传 CSV 文件。
    • 是的,您可以更新您的 HTML 以将它们硬编码为一些虚拟占位符值,确认它正确呈现(甚至将实际 HIT 发布到 MTurk 沙箱并自己完成),然后更新回来当您确认 ${variables} 按预期工作时,将其移至 ${variables}。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多