Skip to content

Named entity recognition एनोटेशन

Named entity recognition (NER) क्या है, आम लेबल सेट कौन-से हैं, और Potato में रंगीन span लेबल तथा tooltip के साथ NER एनोटेशन कार्य कैसे बनाएँ।

Named entity recognition (NER) का काम है पाठ में नाम वाली चीज़ें ढूँढना और उनका वर्ग तय करना, जैसे व्यक्ति, संस्थाएँ, स्थान, तारीख़ें वगैरह। यह entity के प्रकार वाले लेबल सेट के साथ चलने वाला एक span एनोटेशन कार्य है। खोज, knowledge graph, संवेदनशील जानकारी हटाने और सूचना निकालने में NER एक बुनियादी ईंट है।

पृष्ठभूमि के लिए Named-entity recognition देखें।

लेबल सेट चुनना

किसी मानक स्कीम से शुरू करें और उसे अपने क्षेत्र के हिसाब से छाँट लें:

  • CoNLL-2003: PER, ORG, LOC, MISC। कम से कम में अच्छा डिफ़ॉल्ट।
  • OntoNotes: तारीख़, धनराशि और प्रतिशत समेत 18 प्रकार, जहाँ ज़्यादा बारीकी चाहिए।
  • क्षेत्र-विशेष: जैव-चिकित्सा (जीन, रोग), क़ानूनी (धाराएँ, पक्ष), या वित्त।

प्रकार जितने कम और जितने साफ़ परिभाषित होंगे, सहमति उतनी ऊँची रहेगी। कोई प्रकार तभी जोड़ें जब आगे के किसी असल इस्तेमाल में उसकी ज़रूरत हो।

Potato में कार्य बनाना

yaml
annotation_schemes:
  - annotation_type: span
    name: entities
    description: "Highlight each named entity and select its type."
    labels: [PERSON, ORGANIZATION, LOCATION, DATE, MISC]
    allow_discontinuous: false
    sequential_key_binding: true

Named entity recognition showcase यही configuration नमूना डेटा के साथ चलाता है। बेंचमार्क और क्षेत्र-विशेष रूपों के लिए triage चरण के साथ CoNLL-2003 और i2b2 क्लिनिकल नोट्स पर NER देखें।

असहमति रोकने वाले सीमा-नियम

NER में ज़्यादातर असहमति इस बात पर होती है कि entity कहाँ शुरू और ख़त्म होती है, इस पर नहीं कि वह क्या है। यह तय करके लिख लें:

  • क्या उपाधियाँ गिनी जाएँगी? ("Dr. Jane Smith" बनाम "Dr. Jane Smith"।)
  • "the United Nations" में "the" शामिल करेंगे या नहीं?
  • "Bank of England" जैसी भीतर धँसी entity को कैसे टैग करेंगे? अगर ऐसी entity चाहिए तो allow_overlapping: true रखें।

लेबल से मॉडल तक

CoNLL या spaCy फ़ॉर्मैट में निर्यात करें, जो entity को BIO/IOB टैग से दर्ज करते हैं। देखें ML के लिए एनोटेशन निर्यात करना

आगे पढ़ें