Prestazioni del modello sui tuoi dati
In questo esercizio metterai in pratica la valutazione di un modello esistente sui tuoi dati. In questo caso, l’obiettivo è analizzare le prestazioni del modello su una specifica etichetta di entità, PRODUCT. Se un modello riesce a classificare correttamente una grande percentuale di entità PRODUCT (ad es. oltre il 75%), non è necessario addestrarlo su esempi di entità PRODUCT; altrimenti, dovresti considerare di addestrare il modello per migliorare le sue prestazioni nella predizione di entità PRODUCT.
Per questo esercizio userai due recensioni dal dataset Amazon Fine Food Reviews. Puoi accedere a queste recensioni tramite la lista texts.
Il modello en_core_web_sm è già caricato per te. Puoi richiamarlo con nlp(). Il modello è già stato eseguito sulla lista texts e documents, una lista di contenitori Doc, è a tua disposizione.
Questo esercizio fa parte del corso
Natural Language Processing con spaCy
Istruzioni dell'esercizio
- Crea una lista
target_entitiescon tutte le entità per ciascuno deidocumentse aggiungi una tupla (testo dell’entità, etichetta dell’entità) solo seJumboè presente nel testo dell’entità. - Per ogni tupla in
target_entities, aggiungiTruealla listacorrect_labelsse l’etichetta dell’entità (secondo elemento della tupla) èPRODUCT; in caso contrario, aggiungiFalse.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)