Skip to content
Guides3 min read

التعلم النشط: وسِم بذكاء وليس بجهد أكبر

كيفية استخدام أخذ العينات بالارتياب لتحديد أولويات التوسيم وتقليل جهد التصنيف الكلي بنسبة تصل إلى 50%.

Potato Team·

التعلم النشط: وسِم بذكاء وليس بجهد أكبر

يختار التعلم النشط بذكاء العناصر التي يجب توسيمها تالياً، مع تركيز الجهد البشري حيث يكون الأمر أكثر أهمية. يوضح هذا الدليل كيفية تقليل جهد التوسيم بنسبة تصل إلى 50% مع الحفاظ على جودة النموذج.

ما هو التعلم النشط؟

بدلاً من أخذ عينات عشوائية من البيانات للتوسيم، يقوم التعلم النشط بما يلي:

  1. تدريب نموذج على التوسيمات الحالية
  2. تحديد العناصر التي يكون النموذج غير متأكد منها
  3. إعطاء الأولوية لتلك العناصر للتوسيم البشري
  4. التكرار مع التحسين المستمر للكفاءة

لماذا نستخدم التعلم النشط؟

  • تقليل تكلفة التوسيم: توسيم عناصر أقل للحصول على نفس جودة النموذج
  • تكرار أسرع: الحصول على نماذج قابلة للاستخدام في وقت أقرب
  • تركيز الخبرة: توجيه الانتباه البشري للحالات الصعبة
  • تغطية أفضل: ضمان تمثيل الحالات الحدية

إعداد التعلم النشط الأساسي

yaml
annotation_task_name: "Active Learning Classification"
 
data_files:
  - "data/unlabeled_pool.json"
 
# Active learning configuration
active_learning:
  enabled: true
  classifier_name: "sklearn.linear_model.LogisticRegression"
 
  # Sampling settings
  max_instances_to_reorder: 1000  # Number of instances to reorder by uncertainty
  random_sample_percent: 0.1  # 10% random sampling to maintain diversity
 
annotation_schemes:
  - annotation_type: radio
    name: category
    labels: [Positive, Negative, Neutral]

كيف يعمل أخذ العينات بالارتياب

يستخدم التعلم النشط في Potato أخذ العينات بالارتياب لإعطاء الأولوية للعناصر التي يكون المصنف أقل ثقة فيها. يتنبأ المصنف بالتسميات للعينات غير الموسومة، ويتم تقديم تلك التي تحصل على أدنى درجات ثقة أولاً للتوسيم.

يحدد حقل classifier_name أي مصنف متوافق مع scikit-learn باستخدام مساره الكامل:

yaml
active_learning:
  enabled: true
  classifier_name: "sklearn.linear_model.LogisticRegression"

تشمل خيارات المصنفات الأخرى:

  • sklearn.ensemble.RandomForestClassifier
  • sklearn.svm.SVC (مع probability=True)
  • sklearn.naive_bayes.MultinomialNB

التكوين الكامل

yaml
annotation_task_name: "Active Learning for Sentiment"
 
data_files:
  - "data/reviews.json"
 
active_learning:
  enabled: true
  classifier_name: "sklearn.linear_model.LogisticRegression"
 
  # Sampling settings
  max_instances_to_reorder: 2000  # Reorder top N by uncertainty
  random_sample_percent: 0.1  # 10% random to maintain diversity
 
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "Classify the sentiment"
    labels:
      - name: Positive
        key_value: "1"
      - name: Negative
        key_value: "2"
      - name: Neutral
        key_value: "3"
    required: true
 
annotation_guidelines:
  text: |
    ## Sentiment Classification
 
    Items are prioritized by model uncertainty.
    You may see more difficult or ambiguous cases.
 
    Focus on accuracy over speed.

مراقبة التقدم

تابع تقدم التوسيم من خلال نظام التسجيل المدمج في Potato. يسجل النظام العناصر التي تم اختيارها ودرجات الارتياب الخاصة بها، مما يتيح لك مراقبة عملية التعلم النشط.

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

البداية الباردة

ابدأ بأخذ عينات عشوائية متنوعة عن طريق تعيين نسبة أعلى لـ random_sample_percent:

yaml
active_learning:
  enabled: true
  classifier_name: "sklearn.linear_model.LogisticRegression"
  random_sample_percent: 0.2  # 20% random for initial diversity

التحكم في نطاق إعادة الترتيب

استخدم max_instances_to_reorder للتحكم في عدد العينات التي يتم ترتيبها حسب الارتياب. توفر القيمة الأكبر اختياراً أفضل لكنها تتطلب حساباً أكثر:

yaml
active_learning:
  max_instances_to_reorder: 5000  # Rank top 5000 by uncertainty

الحفاظ على التنوع

يضمن معامل random_sample_percent تضمين بعض العينات المختارة عشوائياً، مما يمنع النموذج من رؤية الحالات الحدية غير المؤكدة فقط:

yaml
active_learning:
  random_sample_percent: 0.1  # 10% random sampling

نصائح للنجاح

  1. ابدأ بالتنوع: العينة الأولية العشوائية تغطي الحالات الحدية
  2. راقب الدقة: تتبع أداء النموذج بمرور الوقت
  3. لا تفرط في التحسين: بعض أخذ العينات العشوائي يحافظ على التغطية
  4. تعامل مع إرهاق المُوسِّم: العناصر الصعبة مُتعبة
  5. احفظ نقاط التحقق للنموذج: لتمكين التراجع عند الحاجة

الخطوات التالية


وثائق التعلم النشط الكاملة في /docs/features/active-learning.