Skip to content

इंटर-एनोटेटर सहमति की व्याख्या

इंटर-एनोटेटर सहमति की व्यावहारिक मार्गदर्शिका, percent agreement, Cohen का और Fleiss का kappa, और Krippendorff का alpha, किसे कब इस्तेमाल करें, और Potato इन्हें कैसे रिपोर्ट करता है।

इंटर-एनोटेटर सहमति (IAA) यह नापती है कि स्वतंत्र एनोटेटर कितनी बार एक ही लेबल देते हैं। यही वह मानक सबूत है जिससे पता चलता है कि एनोटेशन कार्य ठीक से परिभाषित है और उससे मिले लेबल भरोसेमंद हैं। कम सहमति का मतलब आम तौर पर यह होता है कि दिशानिर्देश साफ़ नहीं हैं, न कि यह कि एनोटेटर लापरवाह हैं।

इस विषय का सामान्य नाम inter-rater reliability है। Potato एडमिन डैशबोर्ड में सहमति लगातार निकालता रहता है, देखें गुणवत्ता नियंत्रण।

सिर्फ़ percent agreement से काम क्यों नहीं चलता

सबसे सरल माप percent agreement है, यानी वे आइटम जिन पर एनोटेटरों ने एक जैसा लेबल लगाया। दिक्कत यह है कि कुछ सहमति संयोग से बन जाती है। अगर दो एनोटेटर 90% बार “positive” ही चुनते हैं, तो बेतरतीब लेबल लगाने पर भी वे ज़्यादातर बार सहमत दिखेंगे। Chance-corrected माप इसी को ठीक करते हैं।

Chance-corrected गुणांक का रूप ऐसा होता है:

text
        P_observed − P_expected
  κ =  ─────────────────────────
            1 − P_expected

जहाँ P_observed असल सहमति है और P_expected वह सहमति है जिसकी संयोग से उम्मीद की जाती है। मान 1 पूर्ण सहमति है, 0 संयोग के बराबर।

जो तीन सचमुच काम आएँगे

  • Cohen का kappa: दो एनोटेटर, श्रेणीबद्ध लेबल। किसी जोड़े के लिए पुराना और जाना-पहचाना विकल्प।
  • Fleiss का kappa: दो से ज़्यादा एनोटेटर, श्रेणीबद्ध लेबल, जब अलग-अलग आइटम अलग-अलग रेटर देख सकते हैं।
  • Krippendorff का alpha: सबसे व्यापक विकल्प। यह किसी भी संख्या में एनोटेटरों के साथ चलता है, अनुपस्थित डेटा संभाल लेता है, और nominal, ordinal, interval तथा ratio डेटा का समर्थन करता है। Potato डिफ़ॉल्ट रूप से यही रिपोर्ट करता है।

सरल श्रेणीबद्ध जोड़ों के लिए kappa इस्तेमाल करें, और जब एनोटेटर बहुत हों, overlap अधूरा हो, या लेबल क्रमित/सतत हों (जहाँ “एक कदम की चूक” को “चार कदम की चूक” से कम गिना जाना चाहिए), तब Krippendorff का alpha उठाएँ।

तीन एनोटेटर हों तो Fleiss का kappa या Krippendorff का alpha?

अगर तीनों एनोटेटर ने हर आइटम को लेबल किया है और लेबल बिना क्रम वाली श्रेणियाँ हैं, तो दोनों में से कोई भी गुणांक उचित है। अगर किसी भी आइटम पर एक लेबल छूटा है, या लेबल क्रमबद्ध हैं, तो Krippendorff का alpha इस्तेमाल करें।

दोनों की मान्यताएँ अलग हैं:

  • छूटे हुए लेबल। Fleiss का kappa मानता है कि हर आइटम पर रेटिंग की संख्या बराबर है। अगर तीन में से किसी एक एनोटेटर ने कोई आइटम छोड़ दिया, तो वह आइटम हटाना पड़ेगा। Krippendorff का alpha उपलब्ध हर रेटिंग का उपयोग करता है।
  • मापन का स्तर। Fleiss का kappa लेबल को बिना क्रम का मानता है, इसलिए 1–5 के पैमाने पर 4 बनाम 5 को उतनी ही असहमति गिना जाता है जितनी 1 बनाम 5 को। Krippendorff का alpha एक दूरी मेट्रिक (नॉमिनल, ऑर्डिनल, इंटरवल या रेशियो) लेता है और क़रीबी अंतर को छोटी असहमति गिनता है।
  • छोटे नमूने। Krippendorff के alpha में छोटे नमूनों के लिए सुधार शामिल है, इसलिए कुछ दर्जन आइटम वाले पायलट में दोनों के मान अलग हो सकते हैं, भले ही डेटा दोनों के लिए उपयुक्त हो।

पूरे नॉमिनल डेटा और पर्याप्त आइटम होने पर दोनों के मान आम तौर पर पास-पास रहते हैं। अपने क्षेत्र में जो अपेक्षित है उसे रिपोर्ट करें, और पेपर में गुणांक और मेट्रिक दोनों का नाम लिखें, क्योंकि "सहमति 0.72 थी" का अर्थ दोनों में अलग होता है।

Potato पहले से कोई एक गुणांक चुनने को मजबूर करने के बजाय एक साथ कई गुणांक रिपोर्ट करता है। श्रेणीबद्ध स्कीम के लिए percent agreement, Cohen का kappa, Fleiss का kappa और नॉमिनल alpha साथ-साथ मिलते हैं, और क्रमित स्कीम के लिए रैखिक भारित kappa, द्विघात भारित kappa, Spearman का rho और ऑर्डिनल alpha मिलते हैं। संस्करण 2.9 से पहले, शब्द-लेबल वाले Likert पैमाने का ऑर्डिनल alpha शब्द-लेबलों को वर्णानुक्रम में रखता था, जिससे वह व्यवहार में नॉमिनल बन जाता था, इसलिए अगर आपने किसी पुराने संस्करण से शब्द-लेबल वाले पैमानों पर ऑर्डिनल सहमति रिपोर्ट की थी, तो उसकी फिर से गणना करें। संस्करण 2.10.1 तक ऑर्डिनल alpha किसी असहमति को रैंकों के सीधे अंतर से तौलता था, जो Krippendorff का ऑर्डिनल मेट्रिक नहीं है। 2.10.2 से यह कैलकुलेटर के ऑर्डिनल alpha से मेल खाता है, इसलिए किसी पुराने संस्करण से रिपोर्ट किए गए हर ऑर्डिनल alpha की फिर से गणना करें। आप ब्राउज़र में सहमति कैलकुलेटर से लेबल की तालिका भी जाँच सकते हैं, जो नॉमिनल, ऑर्डिनल और इंटरवल alpha के साथ Cohen और Fleiss का kappa भी निकालता है।

संख्या का मतलब निकालना

कोई सार्वभौमिक कट-ऑफ़ नहीं है, पर alpha/kappa के लिए एक आम मोटा पैमाना यह है:

  • ≥ 0.80: भरोसा करने लायक।
  • 0.67–0.80: अस्थायी नतीजों के लिए काम चल जाएगा, असहमतियों की छानबीन करें।
  • < 0.67: लेबल पर भरोसा करने से पहले दिशानिर्देश दोबारा देखें।

इन्हें पास/फ़ेल की कसौटी नहीं, छानबीन शुरू करने का इशारा मानिए। हमेशा देखिए कि असहमति किन आइटम और किन लेबल से आ रही है।

Potato में इसे मापना

एनोटेटरों को एक साझा उपसमूह पर overlap कराइए, फिर सहमति रिपोर्टिंग चालू कीजिए:

yaml
agreement_metrics:
  enabled: true
  # Krippendorff's alpha is reported in the admin dashboard.

Span और संरचित कार्यों के लिए सहमति उसी स्तर पर मापिए जो आपके लिए मायने रखता है, क्योंकि दस्तावेज़-स्तर के मेट्रिक सीमा-असहमति को छिपा देते हैं। Span स्कीम के लिए Potato token-स्तर का kappa, exact और partial span F1, प्रति-character लेबल पर Krippendorff का alpha, और Mathet के gamma का एक सरलीकृत रूप रिपोर्ट करता है, जिससे आप लेबल पर असहमति को इस असहमति से अलग कर सकते हैं कि span कहाँ से शुरू होता है।

जब सहमति कम हो

  1. असहमति वाले आइटम पढ़िए, दिशानिर्देश अस्पष्ट है या आइटम सचमुच कठिन है?
  2. परिभाषाएँ कसिए और कठिन मामलों को उदाहरण के तौर पर जोड़िए। देखें एनोटेशन दिशानिर्देश लिखना।
  3. दोबारा pilot कीजिए। अगर सचमुच व्यक्तिपरक कार्यों पर सहमति कम ही बनी रहे, तो एक जवाब थोपने के बजाय असहमति को ही दर्ज करने पर विचार कीजिए।

अक्सर पूछे जाने वाले प्रश्न

नीचे के प्रश्न Krippendorff के alpha के मान-दायरे, उसकी गणना के तरीके और सिर्फ़ दो एनोटेटरों के साथ सहमति के बारे में हैं।

क्या Krippendorff का alpha -1 से कम हो सकता है?

नहीं। जब एनोटेटर संयोग से अपेक्षित स्तर से ज़्यादा असहमत होते हैं तो alpha 0 से नीचे चला जाता है, और यह -1 के पास पहुँचता है पर उस तक नहीं पहुँचता। दो एनोटेटर जो N में से हर आइटम पर असहमत हों और दो लेबल बराबर बार इस्तेमाल करें, उनका alpha ठीक -1 + 1/N होता है, यानी 5 आइटम पर -0.8 और 20 आइटम पर -0.95। Krippendorff (2011) विश्वसनीयता के लिए मायने रखने वाला दायरा 0 से 1 बताते हैं और 0 से नीचे के मानों का कारण व्यवस्थित असहमति या सैंपलिंग त्रुटि मानते हैं। साफ़ तौर पर ऋणात्मक alpha व्यवस्थित असहमति की ओर इशारा करता है, जैसे एनोटेटरों का किसी पैमाने को उलटी दिशाओं में पढ़ना, और ऐसे में संख्या रिपोर्ट करने के बजाय दिशानिर्देश दोबारा देखने चाहिए।

Krippendorff का alpha कैसे निकालें?

Alpha, 1 में से देखी गई असहमति और संयोग से अपेक्षित असहमति के अनुपात को घटाकर मिलता है। देखी गई असहमति एक ही आइटम को दिए गए लेबल के जोड़ों से आती है, और अपेक्षित असहमति अध्ययन के सभी लेबल में से लिए गए जोड़ों से आती है, जिसमें एक दूरी मेट्रिक (नॉमिनल, ऑर्डिनल, इंटरवल या रेशियो) तय करता है कि हर बेमेल कितना गिना जाए। Potato एडमिन डैशबोर्ड में हर एनोटेशन स्कीम के लिए इसे तब निकालता है जब min_overlap एनोटेटर एक ही आइटम को लेबल कर चुके हों, और सहमति कैलकुलेटर ब्राउज़र में लेबल की तालिका से नॉमिनल, ऑर्डिनल और इंटरवल alpha निकालता है।

क्या सिर्फ़ दो एनोटेटरों के साथ इंटर-एनोटेटर सहमति निकाली जा सकती है?

हाँ। Cohen का kappa ठीक दो एनोटेटरों और श्रेणीबद्ध लेबल के लिए बना है, और Krippendorff का alpha दो एनोटेटरों के साथ भी उतना ही चलता है जितना ज़्यादा के साथ। दोनों के लिए ज़रूरी है कि दोनों एनोटेटरों ने एक ही आइटम स्वतंत्र रूप से लेबल किए हों, और आइटम कम हों तो अनुमान अस्थिर रहता है, इसलिए गुणांक के साथ आइटम की संख्या भी रिपोर्ट करें।

आगे पढ़ें