word2vecで単語間の類似度を取得する方法
word2vecでは単語間の類似度を取得することができます。
モデルについては前回の記事と同じものを使用します。
こちらの記事を参考にしてください。
プログラム
from gensim.models import word2vec import sys #モデルまでのパス model_path = 'word2vec.gensim.model' #モデルの読み込み model = word2vec.Word2Vec.load(model_path) similarity = model.wv.similarity(w1="東京", w2="横浜") print("東京<->横浜 " + str(similarity)) similarity = model.wv.similarity(w1="東京", w2="千葉") print("東京<->千葉 " + str(similarity)) similarity = model.wv.similarity(w1="東京", w2="大宮") print("東京<->大宮 " + str(similarity))
いろいろな意見がありそうですが、東京と周辺県の中核となる駅名で類似度を計算するプログラムです。
実行結果
東京<->横浜 0.8395518 東京<->千葉 0.64904183 東京<->大宮 0.56224567
こんな感じになりました。
まあ、こんなところでしょう。
横浜駅周辺が一番東京っぽいですからね。