Similarità semantica per categorizzare il testo
L'obiettivo principale della similarità semantica è misurare la distanza tra i significati di coppie di parole, frasi, periodi o documenti. Ad esempio, la parola “car” è più simile a “bus” che a “cat”. In questo esercizio troverai le frasi simili alla parola sauce a partire da un testo di esempio tratto da Amazon Fine Food Reviews. Puoi usare spacy per calcolare il punteggio di similarità tra la parola sauce e ciascuna delle frasi nella stringa texts e riportare il punteggio della frase più simile.
È stata precaricata una stringa texts che contiene tutti i dati Text delle recensioni. Userai il modello inglese en_core_web_md per questo esercizio, già disponibile come nlp.
Questo esercizio fa parte del corso
Natural Language Processing con spaCy
Istruzioni dell'esercizio
- Usa
nlpper generare i contenitoriDocper la parolasaucee pertextse salvali rispettivamente inkeyesentences. - Calcola i punteggi di similarità tra la parola
saucee ciascuna frase nella stringatexts(arrotondati a due cifre).
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Populate Doc containers for the word "sauce" and for "texts" string
key = ____
sentences = ____
# Calculate similarity score of each sentence and a Doc container for the word sauce
semantic_scores = []
for sent in sentences.____:
semantic_scores.append({"score": round(sent.____(____), 2)})
print(semantic_scores)