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 pair 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 trouver 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 donnée, puis relever le score de la phrase la plus similaire.
Une chaîne texts est déjà chargée et contient toutes les données Text des évaluations. Vous utiliserez le modèle anglais en_core_web_md pour cet exercice, déjà disponible sous le nom nlp.
Cette activité fait partie du cours
Traitement du langage naturel avec spaCy
Instructions de l’exercice
- Utilisez
nlppour générer des conteneursDocpour le motsauceet pourtexts, puis stockez-les danskeyetsentencesrespectivement. - 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 ce code d’exemple.
# 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)