ComenzarEmpieza gratis

EntityRuler con un modelo en blanco de spaCy

EntityRuler te permite añadir entidades a doc.ents. Puede combinarse con EntityRecognizer, un componente del pipeline de spaCy para el reconocimiento de entidades con nombre, para mejorar la precisión, o usarse por sí solo para implementar un sistema de reconocimiento de entidades basado únicamente en reglas. En este ejercicio, practicarás cómo añadir un componente EntityRuler a un modelo de inglés en blanco de spaCy y clasificar las entidades con nombre del text dado usando un reconocimiento de entidades basado únicamente en reglas.

El paquete spaCy ya está importado y tienes un modelo de inglés en blanco listo para usar como nlp. Ya se ha creado una lista de patterns para clasificar OpenAI y Microsoft en minúsculas como ORG para que la uses.

Este ejercicio forma parte del curso

Procesamiento del Lenguaje Natural con spaCy

Ver curso

Instrucciones del ejercicio

  • Crea y añade un componente EntityRuler al pipeline.
  • Añade los patrones dados al componente EntityRuler.
  • Ejecuta el modelo sobre el text proporcionado y crea su contenedor Doc correspondiente.
  • Imprime una tupla (texto y tipo de las entidades) para todas las entidades en el contenedor Doc

Ejercicio interactivo práctico

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

nlp = spacy.blank("en")
patterns = [{"label": "ORG", "pattern": [{"LOWER": "openai"}]},
            {"label": "ORG", "pattern": [{"LOWER": "microsoft"}]}]
text = "OpenAI has joined forces with Microsoft."

# Add EntityRuler component to the model
entity_ruler = nlp.____("entity_ruler")

# Add given patterns to the EntityRuler component
entity_ruler.____(____)

# Run the model on a given text
doc = nlp(____)

# Print entities text and type for all entities in the Doc container
print([(ent.____, ent.____) for ent in doc.____])
Editar y ejecutar código