CommencezCommencez gratuitement

Word2Vec

Dans cet exercice, vous allez créer un modèle Word2Vec avec Keras.

Le corpus utilisé pour le préentraînement du modèle est le script de tous les épisodes de l'émission The Big Bang Theory, découpé phrase par phrase. Il est disponible dans la variable bigbang.

Le texte du corpus a été mis en minuscules et tous les mots ont été tokenisés. Le résultat est stocké dans la variable tokenized_corpus.

Un modèle Word2Vec a été préentraîné en utilisant une fenêtre de 10 mots pour le contexte (5 avant et 5 après le mot central), les mots ayant moins de 3 occurrences ont été retirés et la méthode skip-gram a été utilisée avec une dimension de 50. Le modèle est enregistré dans le fichier bigbang_word2vec.model.

La classe Word2Vec est déjà chargée dans l'environnement à partir de gensim.models.word2vec.

Cette activité fait partie du cours

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Voir le cours

Instructions de l’exercice

  • Chargez le modèle Word2Vec préentraîné.
  • Stockez une list contenant les mots "bazinga", "penny", "universe", "spock", "brain" dans la variable words_of_interest, en les conservant dans cet ordre.
  • Itérez sur chaque mot d'intérêt en utilisant la méthode .most_similar() présente dans l'attribut wv et ajoutez les 5 mots les plus similaires à top5_similar_words sous forme de dictionnaire.
  • Imprimez les 5 meilleurs mots trouvés pour chacun des mots d'intérêt.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Word2Vec model
w2v_model = Word2Vec.load(____)

# Selected words to check similarities
words_of_interest = ____

# Compute top 5 similar words for each of the words of interest
top5_similar_words = []
for word in words_of_interest:
    top5_similar_words.append(
      {word: [item[0] for item in w2v_model.wv.____([word], topn=5)]}
    )

# Print the similar words
____
Modifier et exécuter le code