Performance du modèle sur vos données
Dans cet exercice, vous allez vous exercer à évaluer un modèle existant sur vos données. Ici, l'objectif est d'examiner la performance du modèle sur une étiquette d'entité précise, PRODUCT. Si un modèle peut classer correctement un fort pourcentage d'entités PRODUCT (p. ex. 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 sa performance de prédiction des entités PRODUCT.
Vous utiliserez deux critiques tirées du jeu de données Amazon Fine Food Reviews pour cet exercice. Vous pouvez y accéder en utilisant 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 à votre disposition.
Cette activité fait partie du cours
Traitement du langage naturel avec spaCy
Instructions de l’exercice
- Constituez une liste
target_entitiesde toutes les entités pour chacun desdocuments, et ajoutez un tuple (texte de l'entité, étiquette de l'entité) seulement siJumbose trouve dans le texte de l'entité. - Pour tout tuple dans
target_entities, ajoutezTrueà une listecorrect_labelssi l'étiquette de l'entité (le deuxième élément du tuple) estPRODUCT, sinon ajoutezFalse.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)