クラウドソーシング統合
Prolific、MTurk、およびその他のクラウドソーシングプラットフォームとの統合。
クラウドソーシング統合
Potatoは、大規模なアノテーションタスクのためにProlificやAmazon Mechanical Turkなどのクラウドソーシングプラットフォームとシームレスに統合します。
Prolific統合
基本設定
yaml
crowdsourcing:
platform: prolific
enabled: true
completion_code: "POTATO2024" # Code shown on completionURLパラメータ
Prolificは参加者情報をURLパラメータで渡します:
yaml
crowdsourcing:
platform: prolific
url_params:
- PROLIFIC_PID # Participant ID
- STUDY_ID # Study ID
- SESSION_ID # Session IDワーカーは以下のURLでアクセスします:
text
https://your-server.com/?PROLIFIC_PID=xxx&STUDY_ID=xxx&SESSION_ID=xxx
Prolificの設定
Prolificのスタディ設定で:
- スタディURLをPotatoサーバーに設定する
- URLパラメータを追加する:
?PROLIFIC_PID={{%PROLIFIC_PID%}}&STUDY_ID={{%STUDY_ID%}}&SESSION_ID={{%SESSION_ID%}} - 完了コードを設定ファイルと一致させる
バリデーション
Prolific参加者を検証する:
yaml
crowdsourcing:
platform: prolific
validate_participant: true
completion_code: "POTATO2024"Amazon MTurk統合
基本設定
yaml
crowdsourcing:
platform: mturk
enabled: trueHIT設定
サーバーを指すExternal Question HITを作成します:
xml
<?xml version="1.0" encoding="UTF-8"?>
<ExternalQuestion xmlns="http://mechanicalturk.amazonaws.com/AWSMechanicalTurkDataSchemas/2006-07-14/ExternalQuestion.xsd">
<ExternalURL>https://your-server.com/?workerId=${workerId}&assignmentId=${assignmentId}&hitId=${hitId}</ExternalURL>
<FrameHeight>800</FrameHeight>
</ExternalQuestion>URLパラメータ
yaml
crowdsourcing:
platform: mturk
url_params:
- workerId
- assignmentId
- hitIdサンドボックステスト
まずMTurkサンドボックスでテストする:
yaml
crowdsourcing:
platform: mturk
sandbox: true # Use sandbox environmentワーカー管理
ワーカーの追跡
yaml
crowdsourcing:
track_workers: true
worker_id_field: worker_idワーカーあたりのインスタンス数制限
yaml
instances_per_annotator: 50リピートワーカーのブロック
ワーカーがタスクを再受験することを防止する:
yaml
crowdsourcing:
prevent_retakes: true品質管理
注意力チェック
テスト問題を挿入する:
yaml
attention_checks:
enabled: true
frequency: 10 # Every 10 instances
fail_threshold: 2
action: warn # or 'block'ゴールドスタンダード問題
json
{
"id": "gold_1",
"text": "The sky is typically blue during a clear day.",
"gold_label": "True",
"is_gold": true
}yaml
quality_control:
gold_questions: true
gold_percentage: 10 # 10% of instances
min_gold_accuracy: 70時間制限
yaml
crowdsourcing:
min_time_per_instance: 5 # seconds
max_time_total: 3600 # 1 hour低品質作業の拒否
yaml
quality_control:
auto_reject:
enabled: true
conditions:
- gold_accuracy_below: 50
- completion_time_under: 300 # seconds完了処理
完了コードの表示
yaml
completion:
show_code: true
code: "POTATO2024"
message: "Thank you! Your completion code is: {code}"完了時のリダイレクト
yaml
completion:
redirect: true
redirect_url: "https://prolific.co/submissions/complete?cc={code}"カスタム完了ページ
yaml
completion:
custom_template: templates/completion.html報酬階層
品質に基づく報酬
yaml
payment:
tiers:
- name: bonus
condition:
gold_accuracy_above: 90
amount: 0.50
- name: standard
condition:
gold_accuracy_above: 70
amount: 0.00
- name: reject
condition:
gold_accuracy_below: 50完全な例:Prolificスタディ
yaml
task_name: "Sentiment Analysis Study"
# Crowdsourcing settings
crowdsourcing:
platform: prolific
enabled: true
completion_code: "SENT2024"
url_params:
- PROLIFIC_PID
- STUDY_ID
- SESSION_ID
prevent_retakes: true
# Open access for crowdworkers
allow_all_users: true
# Task assignment
instances_per_annotator: 50
annotation_per_instance: 3
# Quality control
attention_checks:
enabled: true
frequency: 10
fail_threshold: 2
quality_control:
gold_questions: true
gold_percentage: 5
min_gold_accuracy: 70
# Data
data_files:
- path: data/main.json
text_field: text
# Annotation scheme
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the sentiment?"
labels:
- Positive
- Negative
- Neutral
keyboard_shortcuts:
Positive: "1"
Negative: "2"
Neutral: "3"
# Completion
completion:
show_code: true
code: "SENT2024"
message: |
## Thank you for participating!
Your completion code is: **{code}**
Please return to Prolific and enter this code to receive payment.完全な例:MTurk HIT
yaml
task_name: "Image Classification HIT"
crowdsourcing:
platform: mturk
enabled: true
url_params:
- workerId
- assignmentId
- hitId
allow_all_users: true
instances_per_annotator: 20
# Time constraints
crowdsourcing:
min_time_per_instance: 3
max_time_total: 1800
# MTurk form submission
completion:
mturk_submit: true
submit_url: "https://www.mturk.com/mturk/externalSubmit"
annotation_schemes:
- annotation_type: radio
name: category
description: "What is shown in this image?"
labels:
- Cat
- Dog
- Bird
- Otherワーカーの監視
管理者ダッシュボード
yaml
admin_users:
- researcher@university.edu
admin_dashboard:
enabled: true
show_worker_stats: true/adminで以下を確認できます:
- ワーカーの完了率
- インスタンスあたりの平均時間
- ゴールド精度スコア
- 注意力チェックの結果
ワーカーデータのエクスポート
bash
potato export-workers config.yaml --output workers.csvベストプラクティス
- 徹底的にテスト - まず少人数でパイロット実行する
- 公正な報酬を設定 - 推定時間を計算し、公正に支払う
- 明確な指示 - 例やエッジケースを含める
- 注意力チェックを使用 - ランダムクリックを検出する
- ゴールド問題を含める - 理解度を検証する
- リアルタイムで監視 - 問題を早期に発見する
- 拒否に備える - 明確な品質基準を事前に設定する
- 問題を伝える - ワーカーに問題を連絡する
- フィードバックに基づいて改善 - ワーカーのコメントに基づいて改善する
- 定期的にデータをエクスポート - 最後まで待たない
関連情報
- MTurk統合 - 詳細なMTurkセットアップガイド
- パスワードレスログイン - URLベースの認証
- 品質管理 - 注意力チェックとゴールドスタンダード
実装の詳細については、ソースドキュメントを参照してください。