Word2Vecにおける2単語間の類似度の計算方法について
解決したいこと
PythonにてWord2Vecを用いて単語間の類似度の計算を行っています。公式の情報によると、単語間の類似度はコサイン類似度によって計算されるらしいのですが、
➀model.similarity(単語1, 単語2)
➁単語1のベクトル と 単語2のベクトルのコサイン類似度
➀と➁で計算結果が変わっています。
なぜこのような結果になるのか教えていただけますでしょうか。
該当するソースコード
from gensim.models import KeyedVectors
import numpy as np
#ベクトルの取得
vector_data=model['展開']
vector_data2=model['天才']
#コサイン類似度の計算
def cal_cos_similarity(q, d):
return np.dot(q, d) / np.linalg.norm(q) * np.linalg.norm(d)
print(model.similarity('展開', '天才'))
print (cal_cos_similarity(vector_data, vector_data2))
結果
-0.03639728
-18.970665
0 likes