spaCy में EntityRuler के साथ RegEx
रेगुलर एक्सप्रेशंस (RegEx) का उपयोग जटिल स्ट्रिंग मैचिंग पैटर्न्स के साथ रूल-बेस्ड इन्फॉर्मेशन एक्सट्रैक्शन के लिए किया जाता है. RegEx से आप किसी स्ट्रिंग में पैटर्न्स ढूँढ़ सकते हैं या मिलते-जुलते पैटर्न्स को किसी और पैटर्न से बदल सकते हैं. इस अभ्यास में, आप दिए गए text में ईमेल एड्रेसेज़ खोजने के लिए spaCy में EntityRuler का उपयोग करने का अभ्यास करेंगे.
spaCy पैकेज आपके लिए पहले से इम्पोर्ट किया गया है. आप 0 से 9 तक किसी भी अंक से मेल खाने वाले मेटा-कैरेक्टर के लिए \d का उपयोग कर सकते हैं.
एक spaCy पैटर्न में REGEX को एक एट्रिब्यूट के रूप में उपयोग किया जा सकता है. इस स्थिति में, पैटर्न का स्वरूप [{"TEXT": {"REGEX": "<a given pattern>"}}] होगा.
यह अभ्यास पाठ्यक्रम का हिस्सा है
spaCy के साथ Natural Language Processing
अभ्यास निर्देश
EntityRulerद्वारा उपयोग किए जाने के लिए8888888888फॉर्म वाले फोन नंबरों से मेल खाने वाला एक पैटर्न परिभाषित करें.- एक खाली
spaCyEnglish मॉडल लोड करें और पाइपलाइन मेंEntityRulerकंपोनेंट जोड़ें. - कंपाइल किए गए पैटर्न को
EntityRulerकंपोनेंट में जोड़ें. - मॉडल चलाएँ और दिए गए
textके लिए एंटिटीज़ के टेक्स्ट और टाइप का ट्यूपल प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
text = "Our phone number is 4251234567."
# Define a pattern to match phone numbers
patterns = [{"label": "PHONE_NUMBERS", "pattern": [{"TEXT": {"REGEX": "(____){____}"}}]}]
# Load a blank model and add an EntityRuler
nlp = spacy.____("en")
ruler = nlp.____("entity_ruler")
# Add the compiled patterns to the EntityRuler
ruler.____(patterns)
# Print the tuple of entities texts and types for the given text
doc = ____(____)
print([(ent.____, ent.____) for ent in doc.____])