Similarité sémantique pour catégoriser du texte
L’objectif principal de la similarité sémantique est de mesurer la distance entre les sens d’un couple de mots, d’expressions, de phrases ou de documents. Par exemple, le mot « car » est plus proche de « bus » que de « cat ». Dans cet exercice, vous allez chercher les phrases similaires au mot sauce à partir d’un texte d’exemple tiré d’Amazon Fine Food Reviews. Vous pouvez utiliser spacy pour calculer le score de similarité entre le mot sauce et chacune des phrases d’une chaîne texts, puis afficher le score de la phrase la plus similaire.
Une chaîne texts est préchargée et contient toutes les données Text des avis. Vous utiliserez le modèle anglais en_core_web_md pour cet exercice, déjà disponible sous le nom nlp.
Cet exercice fait partie du cours
Traitement du langage naturel avec spaCy
Instructions
- Utilisez
nlppour générer des conteneursDocpour le motsauceet pourtexts, et stockez-les respectivement danskeyetsentences. - Calculez les scores de similarité entre le mot
sauceet chaque phrase de la chaînetexts(arrondis à deux décimales).
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)