إسناد المهام
تحكّم في كيفية توزيع Potato لعناصر التوسيم على المُوسِّمين. يغطّي جميع استراتيجيات الإسناد بما في ذلك استراتيجية Batch المخصّصة لدراسات الجولات المتكرّرة، واستعادة الإسنادات المهجورة من المُوسِّمين على Prolific أو المحظورين بسبب ضبط الجودة.
يتحكّم إسناد المهام في العناصر التي يراها كل مُوسِّم، وعددها التي يكملها، وعدد التوسيمات التي يتلقّاها كل عنصر، والترتيب الذي تظهر به العناصر. تتناول هذه الصفحة استراتيجيات الإسناد في Potato، واستراتيجية Batch المخصّصة لتصاميم الدراسات متعدّدة الجولات، وكيفية استعادة الإسنادات التي يهجرها عمّال التعهيد الجماعي.
استراتيجيات الإسناد
اضبط assignment_strategy على إحدى القيم التالية:
| الاستراتيجية | ما تفعله |
|---|---|
random | تُسند العناصر عشوائيًا (القيمة الافتراضية). |
fixed_order | تُسند العناصر بترتيب مجموعة البيانات. |
least_annotated | تُعطي الأولوية للعناصر الأقل عددًا من التوسيمات حتى الآن. |
max_diversity | تُعطي الأولوية للعناصر ذات أكبر قدر من الاختلاف بين التوسيمات الموجودة. |
diversity_clustering | تضمّن العناصر وتُجمّعها في عناقيد، ثم تقدّمها بالتناوب عبر العناقيد. |
batch | تقصر الإسناد على مجموعات محدّدة من المُوسِّمين/العناصر (انظر أدناه). |
priority | تقدّم العناصر ذات الأولوية الأعلى أولًا؛ انظر قائمة الفرز. |
active_learning | تستخدم نموذجًا لإعطاء الأولوية للعناصر غير المؤكّدة. |
assignment_strategy: random
max_annotations_per_user: 10 # -1 for unlimited
max_annotations_per_item: 3 # -1 for unlimitedإسناد Batch المخصّص
تُسند استراتيجية batch دفعات مُحدّدة مسبقًا من العناصر إلى مُوسِّمين بعينهم. وهي مبنيّة لتصاميم الدراسات متعدّدة الجولات، حيث يجب أن يتلقّى المُوسِّمون أنفسهم الذين رأوا دفعة الجولة الأولى دفعة الجولة الثانية المطابقة لها.
assignment_strategy: batch
num_annotators_per_item: 4
batch_assignment:
groups:
- name: round1_batch_a
annotators: ["u1", "u2", "u3", "u4"]
instances: ["r2_item_001", "r2_item_002"]بالنسبة إلى الدفعات الطويلة، انقل قائمة المثيلات إلى ملف بيانات منفصل (json أو jsonl أو csv أو tsv أو parquet)؛ تُقرأ المعرّفات باستخدام item_properties.id_key:
batch_assignment:
groups:
- name: round1_batch_a
annotators: ["u1", "u2", "u3", "u4"]
instances_file: batches/round1_batch_a.csvيمكن أيضًا للعناصر أن تُسمّي المُوسِّمين المسموح لهم مباشرةً، وهو أمر مفيد عند توليد بيانات الجولة الثانية من توسيمات الجولة الأولى:
assignment_strategy: batch
batch_assignment:
annotator_key: round1_annotatorsلا يتلقّى المستخدمون خارج المجموعات المُهيّأة أيّ عناصر ضمن هذه الاستراتيجية.
استعادة الإسنادات المهجورة
في دفعات التعهيد الجماعي، قد يُعيد العمّال العناصر المُسندة إليهم، أو تنتهي مهلتهم، أو يخفقون في فحوص الجودة بعد استلامها. عند تفعيل instance_reclaim، يُعيد Potato العناصر المُسندة وغير المُوسَّمة إلى المجمّع لكي يُعاد إسنادها.
instance_reclaim:
enabled: true
timeout_hours: 24
preserve_completed_annotations: trueتُنفَّذ الاستعادة تلقائيًا للإسنادات القديمة عند تشغيل الإسناد، ولعمّال Prolific الذين تصبح حالة تقديماتهم RETURNED أو TIMED-OUT أو REJECTED، وللمستخدمين المحظورين بسبب فشل فحص الانتباه (الذين يُحرّرون عناصرهم غير المُوسَّمة فورًا).
يمكنك أن تقرّر لكل سبب على حدة ما إذا كنت ستحتفظ بالتوسيمات المُكتملة للعامل المُستعاد منه. يتيح لك هذا الوثوق بالعمل الجزئي لعامل Prolific انتهت مهلته مع التخلّص من كل شيء من عامل محظور بسبب ضبط الجودة:
instance_reclaim:
enabled: true
timeout_hours: 24
preserve_completed_annotations: true # default for reasons not overridden below
prolific:
status_policies:
TIMED-OUT:
preserve_completed_annotations: true
RETURNED:
preserve_completed_annotations: true
REJECTED:
preserve_completed_annotations: false
quality_control:
preserve_completed_annotations: falseعندما تكون قيمة preserve_completed_annotations هي false، يمسح Potato توسيمات ذلك المستخدم للعناصر المُسندة إليه، ويزيل اعتماده كمُوسِّم، ويُعيد العناصر إلى المجمّع. أمّا إجابة فحص الانتباه الفاشلة التي تؤدّي إلى الحظر فلا يُحتفظ بها أبدًا.
ذات صلة
- التغطية غير المتجانسة — حدود المُوسِّمين لكل عنصر وأخذ عيّنات التداخل
- التعهيد الجماعي — التكامل مع MTurk وProlific
- قائمة الفرز القائمة على الإشارات — استراتيجية
priority
للاطّلاع على تفاصيل التنفيذ، راجع الوثائق المصدرية.