始める無料で始める

Word2Vec

この演習では、Keras を使って Word2Vec モデルを作成します。

モデルの事前学習に使うコーパスは、TV 番組 The Big Bang Theory の全エピソードの台本を文ごとに分割したものです。変数 bigbang に用意されています。

コーパス内のテキストはすべて小文字化され、単語はトークン化されています。結果は変数 tokenized_corpus に保存されています。

Word2Vec モデルは、コンテキストのウィンドウサイズを 10 語(中心語の前後に 5 語ずつ)とし、出現回数が 3 未満の単語を除去し、skip-gram 手法を用いて 50 次元で事前学習されています。モデルはファイル bigbang_word2vec.model に保存されています。

Word2Vec クラスは、gensim.models.word2vec から環境に読み込まれています。

この演習はコースの一部です

Kerasで学ぶ言語モデリングのためのRecurrent Neural Networks (RNNs)

コースを見る

演習の手順

  • 事前学習済みの Word2Vec モデルを読み込みます。
  • 単語 "bazinga", "penny", "universe", "spock", "brain" をこの順序のまま list にして、変数 words_of_interest に保存します。
  • 各注目単語について反復処理を行い、属性 wv にある .most_similar() メソッドを使って、上位5件の類似単語を辞書として top5_similar_words に追加します。
  • 各注目単語ごとに見つかった上位5件の単語を出力してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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
____
コードを編集して実行