Inizia subitoInizia gratis

Creare un'entità personalizzata in spaCy

Se le entità nominate integrate di spaCy non sono sufficienti, puoi crearne di tue usando la classe EntityRuler() di spaCy.

EntityRuler() ti permette di creare entità personalizzate da aggiungere a una pipeline spaCy.

Per iniziare, crea un'istanza di EntityRuler() passandole la pipeline corrente, nlp.

Poi puoi chiamare add_patterns() sull'istanza e passarle un dizionario con il pattern di testo che vuoi etichettare come entità.

Una volta definito un pattern, puoi aggiungerlo alla pipeline nlp usando add_pipe().

Dato che Acme è un'azienda tecnologica, decidi di etichettare il pattern "smartphone" con il tag di entità "PRODUCT".

spaCy è stato importato e un doc è già disponibile, contenente il testo trascritto da call_4_channel_2.wav file).

Questo esercizio fa parte del corso

Elaborazione del linguaggio parlato in Python

Visualizza corso

Istruzioni dell'esercizio

  • Importa EntityRuler da spacy.pipeline.
  • Aggiungi "smartphone" come valore per la chiave "pattern".
  • Aggiungi l'istanza di EntityRuler(), ruler, alla pipeline nlp.
  • Stampa gli attributi delle entità contenute in doc.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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_)
Modifica ed esegui il codice