Skip to content

تكامل التعهيد الجماعي

التكامل مع Prolific وMTurk ومنصات التعهيد الجماعي الأخرى.

تكامل التعهيد الجماعي

يتكامل Potato بسلاسة مع منصات التعهيد الجماعي مثل Prolific وAmazon Mechanical Turk لمهام التعليق التوضيحي واسعة النطاق.

تكامل Prolific

الإعداد الأساسي

yaml
crowdsourcing:
  platform: prolific
  enabled: true
  completion_code: "POTATO2024"  # Code shown on completion

معاملات URL

يمرر Prolific معلومات المشاركين عبر معاملات URL:

yaml
crowdsourcing:
  platform: prolific
  url_params:
    - PROLIFIC_PID    # Participant ID
    - STUDY_ID        # Study ID
    - SESSION_ID      # Session ID

يصل العمال عبر:

text
https://your-server.com/?PROLIFIC_PID=xxx&STUDY_ID=xxx&SESSION_ID=xxx

إعداد Prolific

في إعدادات دراسة Prolific الخاصة بك:

  1. عيّن Study URL إلى خادم Potato الخاص بك
  2. أضف معاملات URL: ?PROLIFIC_PID={{%PROLIFIC_PID%}}&STUDY_ID={{%STUDY_ID%}}&SESSION_ID={{%SESSION_ID%}}
  3. عيّن Completion code ليطابق إعداداتك

التحقق

التحقق من مشاركي Prolific:

yaml
crowdsourcing:
  platform: prolific
  validate_participant: true
  completion_code: "POTATO2024"

تكامل Amazon MTurk

الإعداد الأساسي

yaml
crowdsourcing:
  platform: mturk
  enabled: true

إعداد HIT

أنشئ 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}&amp;assignmentId=${assignmentId}&amp;hitId=${hitId}</ExternalURL>
  <FrameHeight>800</FrameHeight>
</ExternalQuestion>

معاملات URL

yaml
crowdsourcing:
  platform: mturk
  url_params:
    - workerId
    - assignmentId
    - hitId

اختبار Sandbox

اختبر باستخدام MTurk Sandbox أولاً:

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

أفضل الممارسات

  1. اختبر بشكل شامل - قم بتشغيل تجربة أولية مع مجموعة صغيرة أولاً
  2. حدد أجراً عادلاً - احسب الوقت المقدر وادفع بإنصاف
  3. تعليمات واضحة - قم بتضمين أمثلة وحالات حدية
  4. استخدم فحوصات الانتباه - اكتشف النقر العشوائي
  5. قم بتضمين أسئلة ذهبية - تحقق من الفهم
  6. راقب في الوقت الفعلي - راقب المشكلات مبكراً
  7. خطط للرفض - حدد معايير جودة واضحة مسبقاً
  8. تواصل بشأن المشكلات - اتصل بالعمال حول المشاكل
  9. كرر بناءً على الملاحظات - حسّن بناءً على تعليقات العمال
  10. صدّر البيانات بانتظام - لا تنتظر حتى النهاية

قراءة إضافية

لمزيد من تفاصيل التنفيذ، راجع التوثيق المصدري.