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 निम्नानुसार काम करती है:
- Data Tagging: आपकी data files में instances को categories के साथ tag किया जाता है
- Training Assessment: Training प्रश्नों को भी categories के साथ tag किया जाता है
- Performance Tracking: System training के दौरान प्रति category accuracy ट्रैक करता है
- Qualification: Threshold accuracy को पूरा करने वाले users "qualified" हो जाते हैं
- Assignment: Users केवल अपनी qualified categories से instances प्राप्त करते हैं
कॉन्फ़िगरेशन
बुनियादी सेटअप
# 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
| Option | Type | Default | विवरण |
|---|---|---|---|
enabled | boolean | true | Category assignment सक्षम/अक्षम करें |
qualification.source | string | "training" | Source: "training", "prestudy", या "both" |
qualification.threshold | float | 0.7 | Qualify करने के लिए न्यूनतम accuracy (0.0-1.0) |
qualification.min_questions | integer | 1 | प्रति category न्यूनतम प्रश्न |
fallback | string | "uncategorized" | User qualify नहीं होने पर व्यवहार |
Fallback Options
uncategorized: ऐसे instances assign करें जिनकी कोई category नहीं हैrandom: सभी शेष instances से यादृच्छिक रूप से assign करेंnone: कोई instances assign न करें
Data Format
Instance Data
अपनी data files में category field शामिल करें:
{"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 शामिल होनी चाहिए:
{
"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 प्रश्नों का उत्तर देते हैं:
- System प्रत्येक प्रश्न की category दर्ज करता है
- प्रत्येक category के लिए, यह ट्रैक करता है:
- उत्तर दिए गए कुल प्रश्न
- सही उत्तरों की संख्या
- Accuracy (सही / कुल)
Training पूर्ण होने के बाद
जब कोई user training पास करता है:
- प्रत्येक category के लिए accuracy की गणना की जाती है
- Threshold AND minimum questions दोनों को पूरा करने वाली categories "qualified categories" में जोड़ी जाती हैं
- Qualifications session के लिए persist करती हैं
उदाहरण
यदि threshold 0.7 (70%) और min_questions 2 है:
| Category | प्रश्न | सही | Accuracy | Qualified? |
|---|---|---|---|---|
| Economics | 3 | 3 | 100% | हाँ |
| Science | 2 | 1 | 50% | नहीं (threshold से नीचे) |
| Sports | 1 | 1 | 100% | नहीं (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 सक्षम करती है:
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.1Dynamic Mode कैसे काम करता है
- प्रारंभिक स्थिति: सभी annotators सभी categories के लिए neutral expertise (0.5) से शुरू होते हैं
- Probabilistic Assignment: उच्च expertise वाली categories की assignment probability अधिक होती है
- Background Processing: समय-समय पर consensus की गणना करता है और expertise scores अपडेट करता है
- Expertise Updates: Consensus से सहमत होने पर scores बढ़ते हैं, असहमत होने पर घटते हैं
कॉन्फ़िगरेशन Options
| Option | Type | Default | विवरण |
|---|---|---|---|
agreement_method | string | "majority_vote" | Consensus की गणना कैसे करें |
min_annotations_for_consensus | integer | 2 | गणना से पहले न्यूनतम annotations |
learning_rate | float | 0.1 | Expertise scores कितनी तेज़ी से बदलते हैं |
base_probability | float | 0.1 | किसी भी category के लिए न्यूनतम probability |
API Reference
TrainingState Methods
# 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
# 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 नहीं मिल रहे
- जांचें कि user की qualified categories हैं (training प्रदर्शन समीक्षा करें)
- क्या उन categories में ऐसे instances हैं जो annotate नहीं हुए?
- क्या
fallbackउचित रूप से सेट है?
Categories ट्रैक नहीं हो रहीं
- सत्यापित करें कि
item_propertiesमेंcategory_keyसेट है - Training instances में
categoryfield है category_assignment.enabledtrueहै
आगे पढ़ें
- Task Assignment - सामान्य assignment strategies
- Training Phase - Training कॉन्फ़िगरेशन
- Quality Control - ध्यान जांच और gold standards
कार्यान्वयन विवरण के लिए, source documentation देखें।