التعيين حسب الفئة
توجيه عناصر التعليق التوضيحي إلى المعلّقين بناءً على خبرتهم المثبتة.
التعيين المبني على الفئة
يقوم التعيين المبني على الفئة بمطابقة المعلّقين تلقائياً مع عناصر التعليق التوضيحي بناءً على خبرتهم المثبتة. يتم تقييم المعلّقين خلال مراحل التدريب على أسئلة خاصة بالفئات ولا يتلقون إلا عناصر من الفئات التي تأهلوا لها.
نظرة عامة
يعمل نظام التعيين المبني على الفئة كالتالي:
- وسم البيانات: يتم وسم العناصر في ملفات البيانات بفئات
- تقييم التدريب: يتم أيضاً وسم أسئلة التدريب بفئات
- تتبع الأداء: يتتبع النظام الدقة لكل فئة أثناء التدريب
- التأهيل: المستخدمون الذين يستوفون عتبة الدقة المطلوبة يكونون "مؤهلين"
- التعيين: يتلقى المستخدمون عناصر فقط من فئاتهم المؤهلة
الإعدادات
الإعداد الأساسي
# Enable category-based assignment strategy
assignment_strategy: category_based
# Configure category key in item_properties
item_properties:
id_key: id
text_key: text
category_key: category # Field containing category
# Category assignment settings
category_assignment:
enabled: true
qualification:
source: training # Where qualification comes from
threshold: 0.7 # 70% accuracy required
min_questions: 2 # At least 2 questions per category
fallback: uncategorized # What to do if user qualifies for nothingخيارات الإعدادات
| الخيار | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
enabled | boolean | true | تفعيل/تعطيل التعيين حسب الفئة |
qualification.source | string | "training" | المصدر: "training" أو "prestudy" أو "both" |
qualification.threshold | float | 0.7 | الحد الأدنى للدقة (0.0-1.0) للتأهل |
qualification.min_questions | integer | 1 | الحد الأدنى لعدد الأسئلة لكل فئة |
fallback | string | "uncategorized" | السلوك عندما لا يتأهل المستخدم |
خيارات الرجوع البديل
uncategorized: تعيين عناصر ليس لها فئةrandom: تعيين عشوائي من جميع العناصر المتبقيةnone: عدم تعيين أي عناصر
تنسيق البيانات
بيانات العناصر
أضف حقل الفئة في ملفات البيانات الخاصة بك:
{"id": "econ_001", "text": "Market analysis...", "category": "economics"}
{"id": "sci_001", "text": "Research findings...", "category": "science"}
{"id": "multi_001", "text": "Interdisciplinary...", "category": ["economics", "science"]}
{"id": "general_001", "text": "General content...", "category": null}بيانات التدريب
يجب أن تتضمن عناصر التدريب الفئات:
{
"training_instances": [
{
"id": "train_econ_1",
"text": "Question about economic concepts...",
"category": "economics",
"correct_answers": {"topic": "Economics"},
"explanation": "This is an economics topic because..."
}
]
}كيف يعمل التأهيل
أثناء التدريب
بينما يجيب المستخدمون على أسئلة التدريب:
- يسجل النظام فئة كل سؤال
- لكل فئة، يتتبع:
- إجمالي الأسئلة المُجاب عنها
- عدد الإجابات الصحيحة
- الدقة (الصحيحة / الإجمالي)
بعد اكتمال التدريب
عندما يجتاز المستخدم التدريب:
- يتم حساب الدقة لكل فئة
- الفئات التي تستوفي كلاً من العتبة والحد الأدنى لعدد الأسئلة تُضاف إلى "الفئات المؤهلة"
- التأهيلات تستمر طوال الجلسة
مثال
إذا كانت العتبة 0.7 (70%) والحد الأدنى للأسئلة 2:
| الفئة | الأسئلة | الصحيحة | الدقة | مؤهل؟ |
|---|---|---|---|---|
| Economics | 3 | 3 | 100% | نعم |
| Science | 2 | 1 | 50% | لا (أقل من العتبة) |
| Sports | 1 | 1 | 100% | لا (أقل من الحد الأدنى للأسئلة) |
سيتلقى المستخدم عناصر "Economics" فقط.
حالات الاستخدام
توجيه الخبراء
توجيه المحتوى المتخصص إلى المعلّقين المؤهلين:
- النصوص الطبية إلى المعلّقين ذوي المعرفة الطبية
- المستندات القانونية إلى من يفهمون المصطلحات القانونية
- المحتوى التقني إلى ذوي الخبرة التقنية
مراقبة الجودة
ضمان الجودة من خلال تعيين المحتوى فقط للأفراد المؤهلين:
- يثبت المعلّقون كفاءتهم قبل تلقي العمل الفعلي
- عتبات جودة مختلفة لأنواع محتوى مختلفة
توزيع عبء العمل
توزيع العمل بناءً على الخبرة:
- العناصر عالية التعقيد إلى المعلّقين الخبراء
- العناصر العامة إلى جميع المعلّقين
وضع الخبرة الديناميكي
تتيح الخبرة الديناميكية التقييم الفوري أثناء التعليق التوضيحي بدون بيانات تدريب ذهبية:
category_assignment:
enabled: true
dynamic:
enabled: true
agreement_method: majority_vote
min_annotations_for_consensus: 2
learning_rate: 0.1
update_interval_seconds: 60
base_probability: 0.1كيف يعمل الوضع الديناميكي
- الحالة الأولية: يبدأ جميع المعلّقين بخبرة محايدة (0.5) لجميع الفئات
- التعيين الاحتمالي: الفئات ذات الخبرة الأعلى لها احتمالية تعيين أعلى
- المعالجة في الخلفية: يحسب الإجماع دورياً ويحدّث درجات الخبرة
- تحديث الخبرة: تزداد الدرجات عند الاتفاق مع الإجماع وتنخفض عند الاختلاف
خيارات الإعدادات
| الخيار | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
agreement_method | string | "majority_vote" | طريقة حساب الإجماع |
min_annotations_for_consensus | integer | 2 | الحد الأدنى للتعليقات قبل الحساب |
learning_rate | float | 0.1 | سرعة تغيّر درجات الخبرة |
base_probability | float | 0.1 | الحد الأدنى لاحتمالية أي فئة |
مرجع API
أساليب TrainingState
# Record an answer for category tracking
training_state.record_category_answer(categories=['economics'], is_correct=True)
# Get score for a specific category
score = training_state.get_category_score('economics')
# Returns: {'correct': 3, 'total': 4, 'accuracy': 0.75}
# Get qualified categories based on threshold
qualified = training_state.get_qualified_categories(threshold=0.7, min_questions=2)أساليب UserState
# Add a qualified category
user_state.add_qualified_category('economics', score=0.85)
# Check if user is qualified for a category
is_qualified = user_state.is_qualified_for_category('economics')
# Get all qualified categories
categories = user_state.get_qualified_categories()استكشاف الأخطاء وإصلاحها
المستخدمون لا يحصلون على عناصر معيّنة
- تحقق مما إذا كان لدى المستخدم فئات مؤهلة (راجع أداء التدريب)
- هل توجد عناصر في تلك الفئات لم يتم التعليق عليها بعد؟
- هل تم تعيين
fallbackبشكل مناسب؟
الفئات لا يتم تتبعها
- تأكد من تعيين
category_keyفيitem_properties - عناصر التدريب تحتوي على حقل
category category_assignment.enabledمضبوط علىtrue
قراءة إضافية
- تعيين المهام - استراتيجيات التعيين العامة
- مرحلة التدريب - إعدادات التدريب
- مراقبة الجودة - فحوصات الانتباه والمعايير الذهبية
للاطلاع على تفاصيل التنفيذ، راجع الوثائق المصدرية.