EntityRuler cu un model spaCy gol
EntityRuler îți permite să adaugi entități în doc.ents. Poate fi combinat cu EntityRecognizer, o componentă de pipeline spaCy pentru recunoașterea entităților cu nume, pentru a îmbunătăți acuratețea, sau poate fi folosit de sine stătător pentru a implementa un sistem de recunoaștere a entităților bazat exclusiv pe reguli. În acest exercițiu, vei exersa adăugarea unei componente EntityRuler la un model spaCy gol pentru limba engleză și clasificarea entităților cu nume din text-ul dat, folosind recunoașterea de entități bazată exclusiv pe reguli.
Pachetul spaCy este deja importat, iar un model spaCy gol pentru engleză este disponibil ca nlp. O listă de patterns pentru a clasifica OpenAI și Microsoft (cu litere mici) ca ORG este deja creată pentru tine.
Acest exercițiu face parte din cursul
Procesarea limbajului natural cu spaCy
Instrucțiuni pentru exercițiu
- Creează și adaugă o componentă
EntityRulerla pipeline. - Adaugă pattern-urile date la componenta
EntityRuler. - Rulează modelul pe
text-ul dat și creează containerulDoccorespunzător. - Afișează un tuplu cu (textul entității și tipul ei) pentru toate entitățile din containerul
Doc.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
nlp = spacy.blank("en")
patterns = [{"label": "ORG", "pattern": [{"LOWER": "openai"}]},
{"label": "ORG", "pattern": [{"LOWER": "microsoft"}]}]
text = "OpenAI has joined forces with Microsoft."
# Add EntityRuler component to the model
entity_ruler = nlp.____("entity_ruler")
# Add given patterns to the EntityRuler component
entity_ruler.____(____)
# Run the model on a given text
doc = nlp(____)
# Print entities text and type for all entities in the Doc container
print([(ent.____, ent.____) for ent in doc.____])