Rendimiento del modelo en tus datos
En este ejercicio, vas a practicar cómo evaluar un modelo existente con tus datos. En este caso, el objetivo es examinar el rendimiento del modelo en una etiqueta de entidad específica, PRODUCT. Si un modelo puede clasificar con precisión un alto porcentaje de entidades PRODUCT (p. ej., más del 75%), no necesitas entrenarlo con ejemplos de entidades PRODUCT; de lo contrario, deberías plantearte entrenarlo para mejorar su rendimiento al predecir entidades PRODUCT.
Usarás dos reseñas del conjunto de datos Amazon Fine Food Reviews para este ejercicio. Puedes acceder a estas reseñas mediante la lista texts.
El modelo en_core_web_sm ya está cargado para ti. Puedes acceder a él llamando a nlp(). El modelo ya se ha ejecutado sobre la lista texts y documents, una lista de contenedores Doc, está disponible para que la uses.
Este ejercicio forma parte del curso
Procesamiento del Lenguaje Natural con spaCy
Instrucciones del ejercicio
- Crea una lista
target_entitiescon todas las entidades de cada uno de losdocuments, y añade una tupla (texto de la entidad, etiqueta de la entidad) solo siJumboestá en el texto de la entidad. - Para cualquier tupla en
target_entities, añadeTruea una listacorrect_labelssi la etiqueta de la entidad (el segundo elemento de la tupla) esPRODUCT; en caso contrario, añadeFalse.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Append a tuple of (entities text, entities label) if Jumbo is in the entity
target_entities = []
for doc in ____:
target_entities.extend([(ent.____, ent.____) for ent in doc.____ if "Jumbo" in ent.text])
print(target_entities)
# Append True to the correct_labels list if the entity label is `PRODUCT`
correct_labels = []
for ent in target_entities:
if ____[1] == "PRODUCT":
correct_labels.append(____)
else:
correct_labels.append(____)
print(correct_labels)