ÎncepețiÎncepe gratuit

EntityRuler cu mai multe șabloane în spaCy

EntityRuler îți permite să adaugi entități în doc.ents și să îmbunătățești performanța recunoașterii entităților numite. În acest exercițiu, vei exersa adăugarea unei componente EntityRuler la un pipeline nlp existent, pentru a te asigura că mai multe entități sunt clasificate corect.

Modelul en_core_web_sm este deja încărcat și disponibil ca nlp. Poți accesa un text exemplu în example_text și poți folosi nlp și doc pentru a accesa, respectiv, un model spaCy și un container Doc al lui example_text.

Acest exercițiu face parte din cursul

Procesarea limbajului natural cu spaCy

Vezi cursul

Instrucțiuni pentru exercițiu

  • Afișează o listă de tupluri cu textul și tipul entităților din example_text, folosind modelul nlp.
  • Definește mai multe șabloane pentru a potrivi brother și sisters scrise cu litere mici cu eticheta PERSON.
  • Adaugă o componentă EntityRuler la pipeline-ul nlp și adaugă patterns la EntityRuler.
  • Afișează un tuplu cu textul și tipul entităților din example_text, folosind modelul nlp.

Exercițiu interactiv practic

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

nlp = spacy.load("en_core_web_md")

# Print a list of tuples of entities text and types in the example_text
print("Before EntityRuler: ", [____ for ____ in nlp(____).____], "\n")

# Define pattern to add a label PERSON for lower cased sisters and brother entities
patterns = [{"label": ____, "pattern": [{"lower": ____}]},
            {"label": ____, "pattern": [{"lower": ____}]}]

# Add an EntityRuler component and add the patterns to the ruler
ruler = nlp.____("entity_ruler")
ruler.____(____)

# Print a list of tuples of entities text and types
print("After EntityRuler: ", [(ent.____, ent.____) for ent in nlp(example_text).____])
Editează și rulează codul