डेटा एनोटेशन क्या है?
डेटा एनोटेशन की सरल भाषा में जानकारी, यह होता क्या है, इसके मुख्य कार्य-प्रकार (वर्गीकरण, span लेबलिंग, रैंकिंग, मुक्त टेक्स्ट), और Potato से एनोटेशन परियोजना कैसे चलाएँ।
डेटा एनोटेशन यानी कच्चे डेटा पर लेबल लगाना, चाहे वह टेक्स्ट हो, छवि, ऑडियो, वीडियो, या मॉडल का आउटपुट, ताकि उस डेटा को मापा जा सके, उसकी तुलना की जा सके, या उससे मशीन लर्निंग मॉडल को सिखाया और परखा जा सके। लेबल किसी ट्वीट पर भाव की श्रेणी हो सकता है, वाक्य में हाइलाइट किया गया कोई नाम, chatbot के जवाब पर 1–5 की गुणवत्ता रेटिंग, या तस्वीर में किसी राहगीर के चारों ओर खींचा गया bounding box।
एनोटेशन को कहीं-कहीं डेटा लेबलिंग, टैगिंग या कोडिंग भी कहा जाता है (आख़िरी शब्द समाज विज्ञान में चलता है)। विकिपीडिया पर Data annotation और उससे जुड़ा विचार labeled training set देखें।
यह क्यों मायने रखता है
पर्यवेक्षित मशीन लर्निंग ऐसे उदाहरणों से सीखती है जिनमें सही जवाब पहले से मौजूद हो। उन जवाबों की गुणवत्ता ही तय कर देती है कि मॉडल कितना अच्छा बन सकता है, इसलिए सावधानी से किया गया एनोटेशन अक्सर परियोजना का सबसे असरदार हिस्सा होता है। मॉडल को परखने का रास्ता भी एनोटेशन ही है: किसी AI प्रणाली का जवाब सही है या नहीं, यह आम तौर पर कोई इंसान ही तय करता है।
एनोटेशन कार्यों के मुख्य प्रकार
ज़्यादातर परियोजनाएँ कुछ ही परिवारों में आती हैं। हर परिवार Potato के एक या एक से अधिक एनोटेशन नियंत्रणों से मेल खाता है (देखें एनोटेशन स्कीम)।
- वर्गीकरण: पूरे आइटम के लिए एक या कई श्रेणियाँ चुनना। जैसे: यह समीक्षा सकारात्मक है, नकारात्मक, या तटस्थ? देखें टेक्स्ट वर्गीकरण।
- Span लेबलिंग: आइटम के भीतर किसी हिस्से को चिह्नित करना, जैसे वाक्य में कोई नाम या ऑडियो क्लिप का कोई टुकड़ा। देखें Span एनोटेशन।
- रेटिंग और स्कोर: किसी आइटम को पैमाने पर रखना, जैसे 1–5 का गुणवत्ता निर्णय। देखें रेटिंग स्केल।
- रैंकिंग और तुलना: आइटम को क्रम में लगाना या दो में से बेहतर चुनना। देखें Pairwise और Best–Worst Scaling।
- संरचित एनोटेशन: span को आपस में जोड़कर संबंध बनाना, coreference शृंखलाएँ बनाना, या घटनाओं का एनोटेशन। देखें संबंध और घटना निष्कर्षण।
- मुक्त टेक्स्ट: कोई व्याख्या, सुधार या प्रतिलेखन लिखना।
एक छोटा-सा उदाहरण
Potato में भाव पहचानने का कार्य कुछ पंक्तियों के YAML में बन जाता है। annotation_schemes ब्लॉक तय करता है कि एनोटेटर को कौन-से लेबल दिखेंगे:
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the overall sentiment of this review?"
labels:
- Positive
- Negative
- Neutralपूरा interface इतने में ही तय हो गया। डेटा आप देते हैं, potato start चलाते हैं, और एनोटेटर ब्राउज़र में लेबल लगाने लगते हैं।
परियोजना आम तौर पर कैसे चलती है
- कार्य तय कीजिए। सवाल और लेबल का समूह लिखकर रखिए।
- दिशानिर्देश लिखिए। एनोटेटर को नियम और उदाहरण दीजिए। देखें एनोटेशन दिशानिर्देश लिखना।
- Pilot चलाइए। थोड़े-से आइटम लेबल कराइए, असहमति ढूँढ़िए, दिशानिर्देश सुधारिए।
- ओवरलैप के साथ एनोटेट कराइए। एक ही आइटम कई लोगों से लेबल कराइए ताकि सहमति मापी जा सके।
- सहमति मापिए। देखें इंटर-एनोटेटर सहमति।
- निपटारा कीजिए और एक्सपोर्ट कीजिए। असहमतियाँ सुलझाइए और ट्रेनिंग या विश्लेषण के लिए डेटा एक्सपोर्ट कीजिए।
आगे पढ़ें
- एनोटेशन स्कीम चुनना
- त्वरित शुरुआत, पाँच मिनट में Potato चलाइए
- एनोटेशन स्कीम संदर्भ