Mots similaires dans un vocabulaire
Trouver des termes sémantiquement similaires a de nombreuses applications en recherche d'information. Dans cet exercice, vous allez pratiquer en repérant le terme le plus proche sémantiquement du mot computer dans le vocabulaire du modèle en_core_web_md.
Le vecteur du mot computer a déjà été extrait et est stocké dans word_vector. Le modèle en_core_web_md est déjà chargé dans nlp, et le module NumPy est importé sous np.
Vous pouvez utiliser la fonction .most_similar() de l'objet nlp.vocab.vectors pour trouver les termes les plus proches sémantiquement. L'indexation du résultat de cette fonction avec [0][0] renverra les identifiants des mots des termes similaires. nlp.vocab.strings[<a given word>] peut être utilisé pour obtenir l'identifiant d'un mot donné et peut, de façon similaire, retourner le mot associé à un identifiant donné.
Cette activité fait partie du cours
Traitement du langage naturel avec spaCy
Instructions de l’exercice
- Trouvez le terme le plus proche sémantiquement dans le vocabulaire
en_core_web_md. - À partir des identifiants de mots des termes similaires, dressez la liste des mots similaires.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Find the most similar word to the word computer
most_similar_words = nlp.vocab.vectors.____(np.asarray([____]), n = 1)
# Find the list of similar words given the word IDs
words = [nlp.____.____[____] for w in most_similar_words[0][0]]
print(words)