EntityRuler con modello spaCy vuoto
EntityRuler ti permette di aggiungere entità a doc.ents. Può essere combinato con EntityRecognizer, un componente della pipeline di spaCy per il riconoscimento delle entità con nome, per aumentare l'accuratezza, oppure usato da solo per implementare un sistema di riconoscimento di entità puramente basato su regole. In questo esercizio, farai pratica nell'aggiungere un componente EntityRuler a un modello inglese spaCy vuoto e nel classificare le entità con nome del text fornito usando un riconoscimento basato esclusivamente su regole.
Il pacchetto spaCy è già importato e un modello inglese spaCy vuoto è pronto per l'uso come nlp. È già stata creata per te una lista di patterns per classificare openai e microsoft in minuscolo come ORG.
Questo esercizio fa parte del corso
Natural Language Processing con spaCy
Istruzioni dell'esercizio
- Crea e aggiungi un componente
EntityRuleralla pipeline. - Aggiungi i pattern forniti al componente
EntityRuler. - Esegui il modello sul
textfornito e crea il relativo contenitoreDoc. - Stampa una tupla (testo dell'entità e tipo) per tutte le entità nel contenitore
Doc
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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.____])