ComenzarEmpieza gratis

Crear una entidad con nombre personalizada en spaCy

Si las entidades con nombre integradas de spaCy no son suficientes, puedes crear las tuyas con la clase EntityRuler() de spaCy.

EntityRuler() te permite crear tus propias entidades para añadirlas a un pipeline de spaCy.

Empieza creando una instancia de EntityRuler() y pasándole el pipeline actual, nlp.

Después puedes llamar a add_patterns() sobre la instancia y pasarle un diccionario con el pattern de texto que quieres etiquetar con una entidad.

Una vez que tengas el patrón configurado, puedes añadirlo al pipeline nlp usando add_pipe().

Como Acme es una empresa tecnológica, decides etiquetar el patrón "smartphone" con la etiqueta de entidad "PRODUCT".

spaCy ya se ha importado y ya existe un doc que contiene el texto transcrito de call_4_channel_2.wav file).

Este ejercicio forma parte del curso

Procesamiento del lenguaje hablado en Python

Ver curso

Instrucciones del ejercicio

  • Importa EntityRuler desde spacy.pipeline.
  • Añade "smartphone" como valor para la clave "pattern".
  • Añade la instancia EntityRuler(), ruler, al pipeline nlp.
  • Imprime los atributos de las entidades que contiene doc.

Ejercicio interactivo práctico

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

# Import EntityRuler class
from spacy.pipeline import ____

# Create EntityRuler instance
ruler = EntityRuler(nlp)

# Define pattern for new entity
ruler.add_patterns([{"label": "PRODUCT", "pattern": ____}])

# Update existing pipeline
nlp.add_pipe(____, before="ner")

# Test new entity
for entity in doc.____:
  print(entity.text, entity.label_)
Editar y ejecutar código