शुरू करेंमुफ़्त में शुरू करें

spaCy में एक कस्टम named entity बनाना

अगर spaCy की built-in named entities पर्याप्त नहीं हैं, तो आप spaCy की EntityRuler() क्लास से अपनी entities बना सकते हैं.

EntityRuler() आपको अपनी entities बनाने और उन्हें spaCy पाइपलाइन में जोड़ने देता है.

शुरू करने के लिए EntityRuler() का एक instance बनाइए और मौजूदा पाइपलाइन nlp पास कीजिए.

फिर आप उस instance पर add_patterns() कॉल कर सकते हैं और एक डिक्शनरी पास कर सकते हैं जिसमें वह टेक्स्ट pattern हो जिसे आप किसी entity से लेबल करना चाहते हैं.

एक बार pattern सेट हो जाने पर आप उसे add_pipe() का उपयोग करके nlp पाइपलाइन में जोड़ सकते हैं.

क्योंकि Acme एक टेक्नोलॉजी कंपनी है, आप "smartphone" pattern को "PRODUCT" entity टैग से टैग करने का निर्णय लेते हैं.

spaCy इम्पोर्ट किया जा चुका है और एक doc पहले से मौजूद है, जिसमें call_4_channel_2.wav file से ट्रांसक्राइब किया गया टेक्स्ट है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Spoken Language Processing

पाठ्यक्रम देखें

अभ्यास निर्देश

  • spacy.pipeline से EntityRuler इम्पोर्ट करें.
  • "pattern" key के लिए मान के रूप में "smartphone" जोड़ें.
  • EntityRuler() instance ruler को nlp पाइपलाइन में जोड़ें.
  • doc में मौजूद entity attributes प्रिंट करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Import EntityRuler class
from spacy.pipeline import ____

# Create EntityRuler instance
ruler = EntityRuler(nlp)

# Define pattern for new entity
ruler.add_patterns([{"label": "PRODUCT", "pattern": ____}])

# Update existing pipeline
nlp.add_pipe(____, before="ner")

# Test new entity
for entity in doc.____:
  print(entity.text, entity.label_)
कोड संपादित करें और चलाएँ