ÎncepețiÎncepe gratuit

EntityRuler pentru NER

EntityRuler poate fi combinat cu EntityRecognizer dintr-un model existent pentru a-i îmbunătăți acuratețea. În acest exercițiu, vei exersa combinarea unei componente EntityRuler cu componenta NER existentă din modelul en_core_web_sm. Modelul este deja încărcat ca nlp.

Atunci când EntityRuler este adăugat înaintea componentei NER, recunoașterea entităților va respecta entitățile deja identificate și își va ajusta predicțiile în funcție de pattern-urile adăugate în EntityRuler, îmbunătățind astfel acuratețea sarcinii de recunoaștere a entităților denumite.

Acest exercițiu face parte din cursul

Procesarea limbajului natural cu spaCy

Vezi cursul

Instrucțiuni pentru exercițiu

  • Adaugă un EntityRuler în pipeline-ul nlp, înaintea componentei ner.
  • Definește un pattern de entitate la nivel de token pentru a clasifica new york group (scris cu litere mici) ca ORG.
  • Adaugă patterns în componenta EntityRuler.
  • Rulează modelul și afișează tuplul cu textul și tipul fiecărei entități din containerul Doc.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

nlp = spacy.load("en_core_web_sm")
text = "New York Group was built in 1987."

# Add an EntityRuler to the nlp before NER component
ruler = nlp.____("entity_ruler", ____="ner")

# Define a pattern to classify lower cased new york group as ORG
patterns = [{"label": "ORG", "pattern": [{"lower": ____}]}]

# Add the patterns to the EntityRuler component
ruler.____(____)

# Run the model and print entities text and type for all the entities
doc = ____
print([(ent.____, ent.____) for ent in doc.____])
Editează și rulează codul