Aan de slagGa gratis aan de slag

Word2Vec

In deze oefening maak je een Word2Vec-model met Keras.

Het corpus dat is gebruikt om het model voor te trainen, is het script van alle afleveringen van de tv-serie The Big Bang Theory, zin voor zin opgedeeld. Dit staat in de variabele bigbang.

De tekst in het corpus is naar kleine letters omgezet en alle woorden zijn getokenized. Het resultaat staat in de variabele tokenized_corpus.

Er is een Word2Vec-model voorgetraind met een venstergrootte van 10 woorden voor context (5 vóór en 5 ná het middenwoord), woorden met minder dan 3 voorkomens zijn verwijderd en de skip-grammethode is gebruikt met 50 dimensies. Het model is opgeslagen in het bestand bigbang_word2vec.model.

De klasse Word2Vec is al geladen in de omgeving vanuit gensim.models.word2vec.

Deze oefening maakt deel uit van de cursus

Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Cursus bekijken

Oefeninstructies

  • Laad het voorgetrainde Word2Vec-model.
  • Sla een list met de woorden "bazinga", "penny", "universe", "spock", "brain" op in de variabele words_of_interest, in die volgorde.
  • Loop over elk woord van interesse, gebruik de methode .most_similar() op het attribuut wv en voeg de top 5 vergelijkbare woorden als een dictionary toe aan top5_similar_words.
  • Print de gevonden top 5 woorden voor elk van de woorden van interesse.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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
____
Code bewerken en uitvoeren