Skip to content
Questa pagina non è ancora disponibile nella tua lingua. Viene mostrata la versione in inglese.

Category Assignment

Annotators की प्रदर्शित विशेषज्ञता के आधार पर annotation items route करें।

Category-Based Assignment

Category-based assignment स्वचालित रूप से annotators को उनकी प्रदर्शित विशेषज्ञता के आधार पर annotation instances से जोड़ता है। Annotators को training phases के दौरान category-specific प्रश्नों पर assessed किया जाता है और केवल उन categories से instances प्राप्त होते हैं जिनके लिए वे qualified हैं।

अवलोकन

Category-based assignment system निम्नानुसार काम करती है:

  1. Data Tagging: आपकी data files में instances को categories के साथ tag किया जाता है
  2. Training Assessment: Training प्रश्नों को भी categories के साथ tag किया जाता है
  3. Performance Tracking: System training के दौरान प्रति category accuracy ट्रैक करता है
  4. Qualification: Threshold accuracy को पूरा करने वाले users "qualified" हो जाते हैं
  5. Assignment: Users केवल अपनी qualified categories से instances प्राप्त करते हैं

कॉन्फ़िगरेशन

बुनियादी सेटअप

yaml
# 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

कॉन्फ़िगरेशन Options

OptionTypeDefaultविवरण
enabledbooleantrueCategory assignment सक्षम/अक्षम करें
qualification.sourcestring"training"Source: "training", "prestudy", या "both"
qualification.thresholdfloat0.7Qualify करने के लिए न्यूनतम accuracy (0.0-1.0)
qualification.min_questionsinteger1प्रति category न्यूनतम प्रश्न
fallbackstring"uncategorized"User qualify नहीं होने पर व्यवहार

Fallback Options

  • uncategorized: ऐसे instances assign करें जिनकी कोई category नहीं है
  • random: सभी शेष instances से यादृच्छिक रूप से assign करें
  • none: कोई instances assign न करें

Data Format

Instance Data

अपनी data files में category field शामिल करें:

json
{"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 Data

Training instances में categories शामिल होनी चाहिए:

json
{
  "training_instances": [
    {
      "id": "train_econ_1",
      "text": "Question about economic concepts...",
      "category": "economics",
      "correct_answers": {"topic": "Economics"},
      "explanation": "This is an economics topic because..."
    }
  ]
}

Qualification कैसे काम करता है

Training के दौरान

जैसे-जैसे users training प्रश्नों का उत्तर देते हैं:

  1. System प्रत्येक प्रश्न की category दर्ज करता है
  2. प्रत्येक category के लिए, यह ट्रैक करता है:
    • उत्तर दिए गए कुल प्रश्न
    • सही उत्तरों की संख्या
    • Accuracy (सही / कुल)

Training पूर्ण होने के बाद

जब कोई user training पास करता है:

  1. प्रत्येक category के लिए accuracy की गणना की जाती है
  2. Threshold AND minimum questions दोनों को पूरा करने वाली categories "qualified categories" में जोड़ी जाती हैं
  3. Qualifications session के लिए persist करती हैं

उदाहरण

यदि threshold 0.7 (70%) और min_questions 2 है:

Categoryप्रश्नसहीAccuracyQualified?
Economics33100%हाँ
Science2150%नहीं (threshold से नीचे)
Sports11100%नहीं (min_questions से नीचे)

User को केवल "Economics" instances मिलेंगे।

उपयोग के मामले

विशेषज्ञ Routing

योग्य annotators को विशेष content route करें:

  • Medical knowledge वाले annotators को medical texts
  • Legal terminology समझने वालों को legal documents
  • Technical expertise वालों को technical content

गुणवत्ता नियंत्रण

केवल योग्य व्यक्तियों को content assign करके गुणवत्ता सुनिश्चित करें:

  • Annotators वास्तविक काम प्राप्त करने से पहले योग्यता साबित करते हैं
  • विभिन्न content types के लिए अलग-अलग quality thresholds

कार्यभार वितरण

विशेषज्ञता के आधार पर काम वितरित करें:

  • Expert annotators को high-complexity items
  • सभी annotators को general items

Dynamic Expertise Mode

Dynamic expertise gold-labeled training data के बिना annotation के दौरान on-the-fly assessment सक्षम करती है:

yaml
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

Dynamic Mode कैसे काम करता है

  1. प्रारंभिक स्थिति: सभी annotators सभी categories के लिए neutral expertise (0.5) से शुरू होते हैं
  2. Probabilistic Assignment: उच्च expertise वाली categories की assignment probability अधिक होती है
  3. Background Processing: समय-समय पर consensus की गणना करता है और expertise scores अपडेट करता है
  4. Expertise Updates: Consensus से सहमत होने पर scores बढ़ते हैं, असहमत होने पर घटते हैं

कॉन्फ़िगरेशन Options

OptionTypeDefaultविवरण
agreement_methodstring"majority_vote"Consensus की गणना कैसे करें
min_annotations_for_consensusinteger2गणना से पहले न्यूनतम annotations
learning_ratefloat0.1Expertise scores कितनी तेज़ी से बदलते हैं
base_probabilityfloat0.1किसी भी category के लिए न्यूनतम probability

API Reference

TrainingState Methods

python
# 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 Methods

python
# 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()

समस्या निवारण

Users को Instances नहीं मिल रहे

  1. जांचें कि user की qualified categories हैं (training प्रदर्शन समीक्षा करें)
  2. क्या उन categories में ऐसे instances हैं जो annotate नहीं हुए?
  3. क्या fallback उचित रूप से सेट है?

Categories ट्रैक नहीं हो रहीं

  1. सत्यापित करें कि item_properties में category_key सेट है
  2. Training instances में category field है
  3. category_assignment.enabled true है

आगे पढ़ें

कार्यान्वयन विवरण के लिए, source documentation देखें।