Skip to content

टेक्स्ट एनोटेशन

टेक्स्ट एनोटेशन की पूरी मार्गदर्शिका: वर्गीकरण, बहु-लेबल टैगिंग, रेटिंग और मुक्त टेक्स्ट, और Potato में हर तरह का टेक्स्ट कार्य कॉपी-पेस्ट config के साथ कैसे बनाएँ।

टेक्स्ट एनोटेशन का मतलब है लिखित भाषा को लेबल करना: दस्तावेज़ों को श्रेणियों में बाँटना, किसी लेख के विषय टैग करना, किसी अंश की गुणवत्ता को अंक देना, या कोई सुधार लिखना। प्राकृतिक भाषा संसाधन में यह सबसे आम एनोटेशन कार्य है, और Potato सबसे पहले इसी के लिए बना था। यह मार्गदर्शिका पूरे दस्तावेज़ पर चलने वाले टेक्स्ट कार्यों की है; टेक्स्ट के भीतर हिस्सों को चिह्नित करने के लिए देखें Span एनोटेशन

टेक्स्ट कार्य एक नज़र में

  • दस्तावेज़ वर्गीकरण: पूरे टेक्स्ट के लिए एक लेबल (text classification)।
  • बहु-लेबल टैगिंग: एक साथ कई लेबल, जैसे विषय या सामग्री चेतावनियाँ।
  • रेटिंग और स्कोरिंग: किसी स्केल पर एक स्थान, जैसे गुणवत्ता या sentiment की तीव्रता।
  • मुक्त टेक्स्ट: लिखा हुआ जवाब, भावार्थ, या सुधार।

वर्गीकरण: प्रति दस्तावेज़ एक लेबल

टेक्स्ट एनोटेशन का सबसे मेहनती कार्य। जब श्रेणियाँ परस्पर अनन्य हों तो radio लें:

yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "What is the overall sentiment of this review?"
    labels: [Positive, Negative, Neutral]
    sequential_key_binding: true

sequential_key_binding लेबल को 1, 2, 3 कुंजियों से जोड़ देता है, जिससे एनोटेटरों के हाथ कीबोर्ड पर ही बने रहते हैं। हज़ारों आइटम वाले काम में इससे बड़ी बचत होती है। चलता-फिरता उदाहरण देखने के लिए sentiment analysis डिज़ाइन देखें।

बहु-लेबल: एक साथ कई टैग

जब एक से ज़्यादा लेबल लागू हो सकते हों, तो multiselect लें। चुनाव की संख्या को अपने दिशानिर्देशों के हिसाब से बाँध दें:

yaml
annotation_schemes:
  - annotation_type: multiselect
    name: content_warnings
    description: "Select every content warning that applies."
    labels: [Violence, Profanity, Sexual content, Self-harm, None]

सामग्री मॉडरेशन बहु-लेबल टेक्स्ट कार्य का पुराना उदाहरण है; toxicity detection डिज़ाइन एक श्रेणी को चिह्नित span के साथ जोड़ता है।

टेक्स्ट को स्केल पर आँकना

श्रेणी के बजाय मात्रा दर्ज करनी हो तो Likert scale लें:

yaml
annotation_schemes:
  - annotation_type: likert
    name: helpfulness
    description: "How helpful is this answer?"
    size: 5
    min_label: "Not helpful"
    max_label: "Very helpful"

स्केल डिज़ाइन की दिक़्क़तों के लिए, जैसे acquiescence bias और कितने बिंदु रखे जाएँ, देखें रेटिंग स्केल

मुक्त टेक्स्ट और सुधार

कभी-कभी सबसे काम का लेबल वह वाक्य होता है जो एनोटेटर ख़ुद लिखता है, कोई औचित्य, कोई पुनर्लेखन, या कोई प्रतिलेखन। इसे किसी श्रेणी के साथ जोड़िए और तभी दिखाइए जब मतलब का हो:

yaml
annotation_schemes:
  - annotation_type: radio
    name: factuality
    description: "Is the claim supported by the source?"
    labels: [Supported, Contradicted, Not enough info]
  - annotation_type: text
    name: evidence
    description: "Quote the sentence that supports your choice."
    label_requirement:
      required: false

टेक्स्ट लेबल में एकरूपता कैसे लाएँ

टेक्स्ट अस्पष्ट होता है, इसलिए एकरूपता इंटरफ़ेस से नहीं, आसपास की प्रक्रिया से आती है:

  1. कसे हुए दिशानिर्देश लिखें, जिनमें “कह नहीं सकते” वाला विकल्प भी हो।
  2. एक ही आइटम पर कई एनोटेटरों को ओवरलैप कराएँ।
  3. अंतर-एनोटेटर सहमति पर नज़र रखें और असहमतियों का निपटारा करें।
  4. बड़े कामों को LLM pre-annotation से तेज़ करें और सुझावों को हाथ से जाँचें।

आगे पढ़ें