• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

w2v

date: 2017-04-05 excerpt: w2vについて

tag: nlpgensimw2v


w2vについて

概要

  • 類似の使われ方をする単語をコサイン類似度で計算できる

gensim

  • gensimというライブラリが便利

ドキュメント

  • Word2vec embeddings

学習

from gensim.test.utils import common_texts
from gensim.models import Word2Vec

model = Word2Vec(sentences: List[List[str]], vector_size=100, window=5, min_count=1, workers=4)
  • sentencesはList[List[str]]で一つの文章が一つのListに収まっている必要がある
  • vector_sizeはNNのサイズで大きい方が表現力が大きくなるが学習が遅くなる
  • min_countを増やすと変な単語を掴む確率が下がり、安定するが、大きすぎると単語を検出できない

類似度検索

model.wv.most_similar('computer', topn=10)

2つの単語間の類似度(-1 ~ 1)

model.wv.similarity("word_a", "word_b")

モデルに含まれるキー(文字)の一覧

words = list(model.wv.index_to_key)

モデルのセーブ

model.save("word2vec.model")

モデルのロード

model = Word2Vec.load("word2vec.model")


nlpgensimw2v Share Tweet