تصنيف برومبتات الترجمة (عامة / قانونية / صحفية)
وتصنيف البيانات العامة متعدد الأبعاد
دليل تشغيلي كامل لفريق من ١٠ أشخاص: بناء داتاست عالي الجودة عبر أربعة مسارات، بتعليمات مفصّلة، وإعدادات واجهة XML لكل معلّم، ونظام تجميع وحسم يقوده مُجمِّع واحد.
١ نظرة عامة على المشروع
الهدف بناء داتاست مُعنون عالي الجودة يخدم تدريب/تقييم نماذج توجيه البرومبتات وتقدير صعوبتها وتصنيف مجالها، بالإضافة إلى تصنيف بيانات عامة متعدد الأبعاد لأغراض NLP.
المخرَج النهائي المطلوب
ملف gold_dataset.json موحّد، خالٍ من الخلافات، مبنيّ على تصويت أغلبية وحسم بشري، مصحوب بتقرير جودة يوضّح نسب اتفاق المعلّمين (IAA) لكل حقل.
لماذا هذا المشروع «متقدم» وليس بسيطًا؟
- أربعة مسارات مختلفة، كل مسار له مخطط تصنيف (Schema) خاص من ٧ إلى ١٠ أبعاد.
- كل عنصر يُعنون من معلّمَين على الأقل (تداخل Overlap) لقياس الاتفاق، لا معلّم واحد.
- وسم أجزاء داخل النص (Span/NER) إلى جانب التصنيف الكلّي.
- تصنيفات هرمية (Taxonomy) ومتعددة الاختيار وتقييم ثقة رقمي.
- مرحلة تجميع منهجية بحساب Cohen/Fleiss Kappa وحسم الخلافات، لا مجرد دمج ملفات.
المسارات الأربعة
| المسار | المحتوى | الأبعاد | العدد | الإعداد (XML) |
|---|---|---|---|---|
| أ برومبتات ترجمة عامة | تصنيف اتجاه/نوع/مجال/صعوبة/جودة صياغة | ٩ | ٤٥ | config_A_general_prompts.xml |
| ب برومبتات ترجمة قانونية | نوع المستند/النظام القانوني/كثافة المصطلح/المخاطرة | ١٠ | ٤٥ | config_B_legal_prompts.xml |
| ج برومبتات ترجمة صحفية | النوع الصحفي/الحساسية/السجل/التوطين الثقافي | ١٠ | ٤٥ | config_C_journalistic_prompts.xml |
| د بيانات عامة (متقدم) | لغة/موضوع/نية/مشاعر/سلامة/جودة/كيانات | ١٠ | ٦٥ | config_D_general_data_advanced.xml |
٢ هيكل الفريق والأدوار
٩ معلّمين موزّعين على أربعة مسارات + مُجمِّع واحد يقود التجميع وضمان الجودة.
| # | الكود | الدور | المسار | المسؤولية الأساسية |
|---|---|---|---|---|
| ١ | A1 | معلّم | أ | تصنيف برومبتات عامة + النصف الأول من التداخل |
| ٢ | A2 | معلّم | أ | تصنيف برومبتات عامة + النصف الثاني من التداخل |
| ٣ | B1 | معلّم (خبرة قانونية) | ب | تصنيف قانوني — يفضّل خلفية ترجمة محلّفة |
| ٤ | B2 | معلّم (خبرة قانونية) | ب | تصنيف قانوني — يفضّل خلفية ترجمة محلّفة |
| ٥ | C1 | معلّم | ج | تصنيف صحفي — حسّاسية سياسية/ثقافية |
| ٦ | C2 | معلّم | ج | تصنيف صحفي — حسّاسية سياسية/ثقافية |
| ٧ | D1 | معلّم | د | تصنيف بيانات متعدد الأبعاد + NER |
| ٨ | D2 | معلّم | د | تصنيف بيانات متعدد الأبعاد + NER |
| ٩ | D3 | معلّم | د | تصنيف بيانات متعدد الأبعاد + NER |
| ١٠ | G1 | المُجمِّع / قائد المشروع | تجميع | الإعداد + الأسئلة الذهبية + التجميع + الحسم + التقرير |
٣ توزيع الحِمل (Distribution)
لكل معلّم ملف تاسك مستقل من ٢٥ عنصرًا = ٢٠ فريدة خاصة به + ٥ عناصر تداخل مشتركة بين معلّمي المسار. المُجمِّع G1 له ملف ذهبي من ١٥ عنصرًا.
| المسار | فريدة/فرد | تداخل مشترك | حِمل الفرد | ملفات التاسك | إجمالي المسار |
|---|---|---|---|---|---|
| أ عامة | ٢٠ | ٥ | ٢٥ | task_A1.json · task_A2.json | ٤٥ |
| ب قانونية | ٢٠ | ٥ | ٢٥ | task_B1.json · task_B2.json | ٤٥ |
| ج صحفية | ٢٠ | ٥ | ٢٥ | task_C1.json · task_C2.json | ٤٥ |
| د بيانات | ٢٠ | ٥ | ٢٥ | task_D1/D2/D3.json | ٦٥ |
| G1 مُجمِّع | ملف ذهبي (Gold) للمراقبة + قيادة التجميع والحسم | task_G1_gold.json | ١٥ | ||
آلية العمل بالملفات في Label Studio
- ينشئ G1 مشروعًا منفصلًا لكل مسار (٤ مشاريع)، ويلصق ملف XML الخاص به.
- الأبسط تشغيليًا: كل معلّم يستورد ملفه (
task_X.json) ويعنونه بالكامل — العناصر الفريدة تخصّه، وعناصر التداخل (بادئة-OV-) يعنونها هو وزميله كلٌّ في نسخته. - بديل مركزي: يستورد G1 كل ملفات المسار في مشروع واحد، ويضبط
Overlapعلى عناصر-OV-فقط (٢ للمسارات أ/ب/ج، و٣ للمسار د)، ويوزّع الباقي بـ Assignments. - يبذر G1 عناصر ملفه الذهبي داخل طوابير المعلّمين (~٥ لكل معلّم) دون إعلامهم، لمراقبة الدقة.
-OV- (مثل A-OV-03) هو عنصر مشترك يُقاس عليه اتفاق المعلّمين. لا تناقشه مع زميلك قبل جلسة المعايرة.٤ تدفق العمل كفريق
من الإعداد إلى التصدير النهائي في ست مراحل مترابطة.
الإعداد
G1 ينشئ المشاريع، يلصق XML، يستورد البيانات، يكتب الأسئلة الذهبية.
المعايرة
كل معلّم يعنون ٥٠ عنصرًا تجريبيًا، ثم جلسة مناقشة موحّدة للمفاهيم.
التعليم الرئيسي
تنفيذ الحِمل الكامل حسب جدول التوزيع، مع مراقبة يومية.
القياس
G1 يصدّر ويحسب IAA. أي حقل كابا < ٠٫٦ يُعاد ضبطه.
التجميع والحسم
تصويت أغلبية + حسم يدوي للخلافات عبر aggregate.py.
التصدير النهائي
بناء الداتاست الذهبي + تقرير الجودة + التسليم.
٥ الجدول الزمني المقترح
| الفترة | النشاط | المسؤول | المخرَج |
|---|---|---|---|
| الأيام (-٣ إلى ٠) | إنشاء المشاريع، لصق XML، توزيع ملفات التاسك، تجهيز الملف الذهبي (١٥ عنصرًا) | G1 | ٤ مشاريع جاهزة |
| الأسبوع ١ | جولة معايرة (عناصر التداخل + عيّنة) + جلسة مناقشة + IAA أوّلي | الجميع | فهم موحّد + تعديل التعليمات |
| الأسبوعان ٢–٣ | تعليم الحِمل الكامل (٢٥ تاسك/معلّم) مع متابعة يومية | ٩ معلّمين | ~٢٠٠ عنصر معنون |
| الأسبوع ٤ (١–٣) | التصدير، حساب IAA النهائي، تشغيل سكربت التجميع | G1 | تقرير جودة + ملف خلافات |
| الأسبوع ٤ (٤–٥) | جلسة حسم الخلافات + بناء الداتاست الذهبي + التسليم | G1 + المعلّمون | gold_dataset.json |
٦ تعليمات عامة لكل المعلّمين
القواعد الذهبية العشر
- اقرأ البرومبت/النص كاملًا قبل لمس أي حقل.
- طبّق الروبريك لا الحدس — القرار يجب أن يكون قابلًا للتبرير.
- كل الحقول المُعلّمة
requiredإجبارية؛ لا تترك عنصرًا ناقصًا. - عند الشك: اختر أقرب تصنيف، ضع علامة 🚩 يحتاج مراجعة، واكتب السبب في الملاحظات.
- في الحقول متعددة الاختيار، اختر كل ما ينطبق فعليًا — لا تُفرط ولا تُقصّر.
- وسم الأجزاء (Spans) اختياري لكنه مطلوب حين يوجد عنصر واضح (مصطلح/اسم/اقتباس).
- لا تناقش عناصر التداخل مع زميلك قبل جلسة المعايرة؛ النقاش يفسد قياس الاتفاق.
- الجودة قبل السرعة، لكن التزم بمعدل يومي معقول لتفادي التكدّس.
- احفظ عملك أولًا بأول (Submit لكل عنصر) ولا تترك عناصر مفتوحة.
- إن تكرر نمط غامض، أبلغ G1 فورًا بدل تخمين ١٠٠ عنصر بشكل خاطئ.
٧ روبريك الصعوبة (موحّد للمسارات أ/ب/ج)
| المستوى | المعايير | مثال دلالي |
|---|---|---|
| مبتدئ | نص قصير، مجال عام، مصطلحات مألوفة، لا غموض، اتجاه واحد واضح | ترجمة جملة تحية أو إعلان بسيط |
| متوسط | مجال شبه متخصص، بعض المصطلحات، سياق واضح، أسلوب محدد بسيط | بريد تجاري أو خبر قصير |
| متقدم | مجال متخصص، مصطلحات كثيفة، يحتاج بحثًا مصطلحيًا، التزام أسلوبي دقيق | مقطع طبي أو بند عقد |
| خبير | تخصص دقيق + غموض/تناقض + مخاطرة عالية + إبداع لغوي أو توطين معقّد | منطوق حكم قضائي أو عنوان ساخر متعدد الطبقات |
ملاحظة: المسار (د) يستخدم بُعد «صعوبة التصنيف» (سهل/متوسط/صعب/غامض) الذي يصف صعوبة اتخاذ قرار التصنيف نفسه، لا صعوبة الترجمة، مصحوبًا بتقييم ثقة من ١ إلى ٥.
٨ تعليمات مخصّصة لكل شخص
بطاقة لكل عضو: الكود، الإعداد المستخدم، الحِمل، ونقاط التركيز والأخطاء الشائعة.
- التمييز بين «ناقص السياق» و«غامض» في جودة الصياغة.
- ضبط اتجاه الترجمة بدقة (كثير من البرومبتات ثنائية).
- ظلّل «التعليمة» مقابل «النص المصدر» بدقة.
- تصنيف المجال الهرمي بدقة (تجاري ← تسويق مثلًا).
- عدم الإفراط في «خبير»؛ استخدم الروبريك.
- المهارات المطلوبة: اختر ما يظهر فعليًا في البرومبت.
- «مستوى المخاطرة» أهم حقل — اربطه بأثر الخطأ المالي/الجنائي.
- فرّق بين «معتمد محلّف» و«توثيق» في حقل الاعتماد.
- ظلّل المصطلحات القانونية والمبالغ والتواريخ الحساسة.
- تحديد النظام القانوني الصحيح (مصري/خليجي/Common Law).
- كثافة المصطلح: احكم بعدد المصطلحات لا بطول النص.
- وسم بنود الاختصاص والولاية القضائية بدقة.
- «درجة الحساسية» بحياد تام دون إقحام رأي شخصي.
- تمييز «مقال رأي» عن «تعليق تحليلي» عن «تقرير».
- ظلّل الاقتباسات المباشرة والأسماء والتعبيرات المجازية.
- حاجة التوطين الثقافي: ميّز العبارات التي لا تُنقل حرفيًا.
- السجل الأسلوبي (رسمي/جماهيري) وأثره في القرار.
- رصد التحيّز اللغوي المحتمل دون مبالغة.
- مؤشرات السلامة: «آمن» افتراضيًا، ولا تُطلق «كراهية» إلا بدليل.
- تمييز «مختلط» في المشاعر عن «محايد».
- وسم الكيانات الخمسة (شخص/مكان/جهة/تاريخ/تقني).
- الموضوع الهرمي: انزل للمستوى الفرعي متى توفّر.
- «صعوبة التصنيف» تصف قرارك أنت، لا صعوبة النص لغويًا.
- درجة الثقة صادقة: ٣ نجوم فأقل تعني «راجعني».
- تحديد اللغة/اللهجة بدقة (فصحى/مصرية/مختلط).
- «النية» مقابل «نوع النص» — لا تخلط بينهما.
- جودة النص لغويًا مستقلة عن صحة محتواه.
- قبل البدء: أنشئ ٤ مشاريع، ألصق XML لكل مسار، وزّع ملفات التاسك (
task_*.json) على أصحابها. - ابذر عناصر ملفك الذهبي (~٥ لكل معلّم) في طوابيرهم دون إعلامهم، وسجّل الإجابات الصحيحة عندك.
- أثناء التنفيذ: راقب معدلات الإنجاز ودقة الأسئلة الذهبية يوميًا.
- بعد الانتهاء: نفّذ خطوات القسم (١٠) للتجميع والحسم والتصدير.
٩ ضمان الجودة (QA)
١) الأسئلة الذهبية (Honeypots)
ملف task_G1_gold.json فيه ١٥ عنصرًا معروف الإجابة يبذرها G1 (~٥ لكل معلّم) في الطوابير. الدقة عليها مؤشر مباشر على الجودة. أقل من ٨٥٪ ← جلسة إعادة تدريب.
٢) اتفاق المعلّمين (IAA)
على عناصر التداخل نحسب Cohen Kappa (معلّمَين) أو Fleiss Kappa (ثلاثة). المستهدف ≥ ٠٫٧ لكل حقل. من ٠٫٦ إلى ٠٫٧ مقبول بتحفّظ، وأقل من ٠٫٦ يستوجب إعادة ضبط الحقل.
٣) الفحص العيّني (Spot Check)
يراجع G1 عينة عشوائية ٥٪ من العناصر المتفَق عليها للتأكد أن الاتفاق ليس اتفاقًا على خطأ منهجي مشترك.
٤) جلسة المعايرة
بعد الجولة التجريبية يجتمع الفريق لمناقشة الحالات الحدّية وتوحيد الفهم قبل الحِمل الكامل — أهم خطوة لرفع IAA.
مقياس تفسير الكابا
| قيمة الكابا | التفسير | الإجراء |
|---|---|---|
| ٠٫٨١ – ١٫٠ | اتفاق شبه تام | اعتماد مباشر |
| ٠٫٦١ – ٠٫٨٠ | اتفاق جوهري | مقبول |
| ٠٫٤١ – ٠٫٦٠ | اتفاق متوسط | مراجعة تعريف الحقل |
| أقل من ٠٫٤١ | اتفاق ضعيف | إعادة معايرة إلزامية |
١٠ التجميع والحسم — دور المُجمِّع G1
هذه المرحلة يقودها G1 وحده. الهدف تحويل تعليقات ٩ معلّمين إلى داتاست ذهبي واحد موثوق.
الخطوات التنفيذية بالترتيب
- تأكد أن كل معلّمي كل مسار أنهوا وضغطوا Submit على جميع عناصرهم.
- من كل مشروع: Export → JSON، وسمِّ الملفات:
track_A.json…track_D.jsonوضعها في مجلدexports/. - ثبّت المتطلبات ثم شغّل السكربت:
pip install pandas scikit-learn statsmodels python aggregate.py --input ./exports --output ./final
ماذا ينتج السكربت؟
| الملف | المحتوى | استخدامك له |
|---|---|---|
quality_report.csv | نسبة الاتفاق وكابا لكل حقل في كل مسار | أي حقل كابا < ٠٫٦ ← ناقشه مع معلّمي المسار |
conflicts_for_adjudication.csv | كل صف فيه خلاف بين المعلّمين + الأصوات | احسم كل صف يدويًا حسب قواعد الحسم |
gold_dataset.json | نتيجة تصويت الأغلبية للعناصر المتفَق عليها | أدخل القيم المحسومة ثم صدّره نهائيًا |
قواعد الحسم (Adjudication)
- الروبريك أولًا: ارجع لتعريف الحقل والروبريك قبل أي اجتهاد.
- الخبرة المتخصصة ثانيًا: مصطلح قانوني ← مرجع قانوني معتمد؛ حساسية صحفية ← دليل الأسلوب.
- عند التعادل التام: اطلب رأي المعلّمَين معًا في جلسة قصيرة، ثم قرّر أنت.
- سجّل السبب: اكتب سبب كل حسم في عمود ملاحظات — يفيد في تدريب الدفعات القادمة.
- لا تصوّت أنت كطرف ثالث إلا للحسم؛ دورك مراجع لا معلّم إضافي.
الفحص النهائي قبل التسليم
- راجع عينة ٥٪ عشوائية من العناصر المتفَق عليها (Spot Check).
- تأكد أن لا حقل
needs_adjudication = trueبقي دون حسم. - اكتب تقريرًا موجزًا: IAA لكل مسار، عدد الخلافات المحسومة، أبرز مصادر الغموض، توصيات للدفعة القادمة.
- صدّر
gold_dataset.jsonالنهائي + التقرير، وسلّمه للجهة المستفيدة.
١١ ملفات الحزمة
كيف تبدأ في دقيقتين
- في Label Studio: Create Project لكل مسار.
- Settings → Labeling Interface → Code ← ألصق ملف XML الخاص بالمسار.
- Import ← يستورد كل معلّم ملفه (
task_X.json). الحقول جاهزة:id,source,text,track,assigned_to. - عناصر التداخل (بادئة
-OV-) موجودة في ملفَي معلّمي المسار؛ ابدأوا بها في المعايرة ثم أكملوا الباقي.