El reconocimiento de entidades nombradas (NER) es una subtarea del procesamiento del lenguaje natural (NLP) que tiene como objetivo extraer entidades específicas del texto. Estas entidades pueden ser cualquier cosa, desde nombres de personas, organizaciones, ubicaciones y más. En esta publicación de blog, exploraremos cómo usar Spacy para NER en las revisiones de IMDB.
Para el propósito de este tutorial, usaremos una revisión de muestra de IMDB:
“Me encantó la película Avatar. Los efectos visuales fueron increíbles y la actuación fue de primera categoría. El director, James Cameron, hizo un trabajo increíble al darle vida a la historia”.
Supongamos que queremos extraer las entidades de esta revisión, incluido el nombre de la película, el nombre del director y el adjetivo que describe la actuación. Usaremos los siguientes tipos de entidad para esta tarea:
MOVIE
por el nombre de la peliculaDIRECTOR
por el nombre del directorADJ
para adjetivos que describen la actuación.Usaremos SpaCy 3.0.6 para esta tarea. Así es como podemos implementar el modelo NER usando Spacy:
import spacynlp = spacy.load("en_core_web_sm")
text = "I loved the movie Avatar. The visual effects were amazing and the acting was top-notch. The director, James Cameron, did an incredible job bringing the story to life."
doc = nlp(text)
for ent in doc.ents:
if ent.label_ == "MOVIE":
print("Movie name:", ent.text)
elif ent.label_ == "DIRECTOR":
print("Director name:", ent.text)
elif ent.label_ == "ADJ":
print("Adjective describing the acting:", ent.text)
Esto generará las entidades reconocidas junto con sus tipos de entidad:
Movie name: Avatar
Director name: James Cameron
Adjective describing the acting: top-notch
Podemos ver que el modelo NER ha reconocido con éxito el nombre de la película, el nombre del director y el adjetivo que describe la actuación de la reseña.
SpaCy es una poderosa herramienta para implementar tareas NER en datos de texto. En esta publicación de blog, exploramos cómo usar SpaCy para NER en las revisiones de IMDB. Hemos visto cómo definir tipos de entidades, cargar el modelo SpaCy e implementar la tarea NER.
Si está interesado en explorar NER más a fondo, puede probar diferentes tipos de entidades y conjuntos de datos para ver cómo funciona el modelo. ¡Feliz codificación!