Word2Vec
In questo esercizio creerai un modello Word2Vec usando Keras.
Il corpus usato per il pre-addestramento del modello è la sceneggiatura di tutti gli episodi della serie TV The Big Bang Theory, divisa frase per frase. È disponibile nella variabile bigbang.
Il testo del corpus è stato trasformato in minuscolo e tutte le parole sono state tokenizzate. Il risultato è memorizzato nella variabile tokenized_corpus.
Un modello Word2Vec è stato pre-addestrato usando una finestra di 10 parole di contesto (5 prima e 5 dopo la parola centrale), le parole con meno di 3 occorrenze sono state rimosse e si è usato il metodo skip-gram con 50 dimensioni. Il modello è salvato nel file bigbang_word2vec.model.
La classe Word2Vec è già caricata nell'ambiente da gensim.models.word2vec.
Questo esercizio fa parte del corso
Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras
Istruzioni dell'esercizio
- Carica il modello Word2Vec pre-addestrato.
- Memorizza una
listcon le parole"bazinga", "penny", "universe", "spock", "brain"nella variabilewords_of_interest, mantenendole in quell'ordine. - Itera su ciascuna parola di interesse usando il metodo
.most_similar()presente nell'attributowve aggiungi le prime 5 parole simili atop5_similar_wordscome dizionario. - Stampa le 5 parole principali trovate per ciascuna delle parole di interesse.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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
____