ComenzarEmpieza gratis

EntityRuler con múltiples patrones en spaCy

EntityRuler te permite añadir entidades a doc.ents y mejorar el rendimiento del reconocimiento de entidades con nombre. En este ejercicio, practicarás cómo añadir un componente EntityRuler a un pipeline nlp existente para asegurarte de que varias entidades se clasifiquen correctamente.

El modelo en_core_web_sm ya está cargado y disponible como nlp. Puedes acceder a un texto de ejemplo en example_text y usar nlp y doc para acceder al modelo de spaCy y al contenedor Doc de example_text, respectivamente.

Este ejercicio forma parte del curso

Procesamiento del Lenguaje Natural con spaCy

Ver curso

Instrucciones del ejercicio

  • Imprime una lista de tuplas con el texto y el tipo de las entidades en example_text usando el modelo nlp.
  • Define múltiples patrones para hacer coincidir en minúsculas brother y sisters con la etiqueta PERSON.
  • Añade un componente EntityRuler al pipeline de nlp y añade los patterns al EntityRuler.
  • Imprime una tupla con el texto y el tipo de las entidades para example_text usando el modelo nlp.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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).____])
Editar y ejecutar código