Zacznij terazZacznij za darmo

Word2Vec

W tym ćwiczeniu stworzysz model Word2Vec przy użyciu biblioteki Keras.

Korpus użyty do wstępnego trenowania modelu to skrypt wszystkich odcinków serialu The Big Bang Theory, podzielony zdanie po zdaniu. Jest on dostępny w zmiennej bigbang.

Tekst w korpusie został przekształcony do postaci małych liter, a wszystkie słowa zostały poddane tokenizacji. Wynik jest przechowywany w zmiennej tokenized_corpus.

Model Word2Vec został wstępnie wytrenowany z oknem kontekstowym o rozmiarze 10 słów (5 przed słowem centralnym i 5 po nim); słowa występujące mniej niż 3 razy zostały usunięte, a do trenowania użyto metody skip-gram z 50 wymiarami. Model jest zapisany w pliku bigbang_word2vec.model.

Klasa Word2Vec jest już wczytana do środowiska z modułu gensim.models.word2vec.

To ćwiczenie jest częścią kursu

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Wczytaj wstępnie wytrenowany model Word2Vec.
  • Zapisz list ze słowami "bazinga", "penny", "universe", "spock", "brain" w zmiennej words_of_interest, zachowując tę kolejność.
  • Iteruj po każdym słowie z listy, używając metody .most_similar() dostępnej w atrybucie wv, i dołączaj 5 najbardziej podobnych słów do top5_similar_words w postaci słownika.
  • Wyświetl znalezione 5 najbardziej podobnych słów dla każdego słowa z listy.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
____
Edytuj i uruchom kod