Performance du modèle sur vos données
Dans cet exercice, vous allez vous entraîner à évaluer un modèle existant sur vos données. Ici, l’objectif est d’examiner les performances du modèle sur une étiquette d’entité spécifique, PRODUCT. Si un modèle parvient à classer correctement un pourcentage élevé d’entités PRODUCT (par exemple plus de 75 %), vous n’avez pas besoin d’entraîner le modèle sur des exemples d’entités PRODUCT. Sinon, vous devriez envisager d’entraîner le modèle pour améliorer ses performances sur la prédiction d’entités PRODUCT.
Vous utiliserez deux avis du jeu de données Amazon Fine Food Reviews pour cet exercice. Vous pouvez accéder à ces avis via la liste texts.
Le modèle en_core_web_sm est déjà chargé pour vous. Vous pouvez y accéder en appelant nlp(). Le modèle a déjà été exécuté sur la liste texts et documents, une liste de conteneurs Doc, est disponible pour votre usage.
Cet exercice fait partie du cours
Traitement du langage naturel avec spaCy
Instructions
- Constituez une liste
target_entitiescontenant toutes les entités pour chacun desdocuments, et ajoutez un tuple (texte de l’entité, label de l’entité) uniquement siJumboapparaît dans le texte de l’entité. - Pour chaque tuple dans
target_entities, ajoutezTrueà une listecorrect_labelssi le label de l’entité (le deuxième élément du tuple) estPRODUCT, sinon ajoutezFalse.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)