IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Crea e aggiungi un componente EntityRuler alla pipeline.
  • Aggiungi i pattern forniti al componente EntityRuler.
  • Esegui il modello sul text fornito e crea il relativo contenitore Doc.
  • 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.____])
Modifica ed esegui il codice