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
Instrucțiuni pentru exercițiu
- Afișează o listă de tupluri cu textul și tipul entităților din
example_text, folosind modelulnlp. - Definește mai multe șabloane pentru a potrivi
brotherșisistersscrise cu litere mici cu etichetaPERSON. - Adaugă o componentă
EntityRulerla pipeline-ulnlpși adaugăpatternslaEntityRuler. - Afișează un tuplu cu textul și tipul entităților din
example_text, folosind modelulnlp.
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).____])