Skip to content

Instantly share code, notes, and snippets.

@nakagami
Last active April 9, 2018 05:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nakagami/a45816743c19809378c2e5a45000b0e2 to your computer and use it in GitHub Desktop.
Save nakagami/a45816743c19809378c2e5a45000b0e2 to your computer and use it in GitHub Desktop.
python + word2vec 最初のサンプルコード

word2vec を使って類似語を探す

白ヤギコーポレーションさんが作成、公開している日本語モデルを使ってみます

http://aial.shiroyagi.co.jp/2017/02/japanese-word2vec-model-builder/

$ curl http://public.shiroyagi.s3.amazonaws.com/latest-ja-word2vec-gensim-model.zip > latest-ja-word2vec-gensim-model.zip
$ unzip latest-ja-word2vec-gensim-model.zip

上記コマンドで、以下のファイルがカレントディレクトリにできます

  • word2vec.gensim.model
  • word2vec.gensim.model.syn1neg.npy
  • word2vec.gensim.model.wv.syn0.npy

上記ダウンロードしたモデルを使って「野球」に似ている言葉と類似度を列挙するコード :

>>> from gensim.models.word2vec import Word2Vec
>>> model_path = 'word2vec.gensim.model'
>>> model = Word2Vec.load(model_path)
>>> for r in model.wv.most_similar(positive=['野球']):
...     print(r)
...
('ソフトボール', 0.8520911335945129)
('ラグビー', 0.808954119682312)
('サッカー', 0.7957996726036072)
('軟式野球', 0.7862450480461121)
('少年野球', 0.7850693464279175)
('アメフト', 0.7838374376296997)
('プロ野球', 0.7779729962348938)
('リトルリーグ', 0.7625014781951904)
('ホッケー', 0.7582970261573792)
('フットサル', 0.7554671764373779)
>>>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment