Scikit learn 与word2vec的余弦相似性

Scikit learn 与word2vec的余弦相似性,scikit-learn,nlp,word2vec,gensim,cosine-similarity,Scikit Learn,Nlp,Word2vec,Gensim,Cosine Similarity,我加载了一个word2vec格式的文件,我想计算向量之间的相似性,但我不知道这个问题意味着什么 from gensim.models import Word2Vec from sklearn.metrics.pairwise import cosine_similarity from gensim.models import KeyedVectors import numpy as np model = KeyedVectors.load_word2vec_format('it-vectors

我加载了一个word2vec格式的文件,我想计算向量之间的相似性,但我不知道这个问题意味着什么

from gensim.models import Word2Vec
from sklearn.metrics.pairwise import cosine_similarity
from gensim.models import KeyedVectors
import numpy as np

model = KeyedVectors.load_word2vec_format('it-vectors.100.5.50.w2v')

similarities = cosine_similarity(model.vectors)


---------------------------------------------------------------------------
MemoryError                               Traceback (most recent call last)
<ipython-input-54-1d4e62f55ebf> in <module>()
----> 1 similarities = cosine_similarity(model.vectors)

/usr/local/lib/python3.5/dist-packages/sklearn/metrics/pairwise.py in cosine_similarity(X, Y, dense_output)
    923         Y_normalized = normalize(Y, copy=True)
    924 
--> 925     K = safe_sparse_dot(X_normalized, Y_normalized.T, dense_output=dense_output)
    926 
    927     return K

/usr/local/lib/python3.5/dist-packages/sklearn/utils/extmath.py in safe_sparse_dot(a, b, dense_output)
    138         return ret
    139     else:
--> 140         return np.dot(a, b)
    141 
    142 

MemoryError: 
从gensim.models导入Word2Vec
从sklearn.metrics.pairwise导入余弦_相似性
从gensim.models导入关键向量
将numpy作为np导入
model=KeyedVectors.load_word2vec_格式('it-vectors.100.5.50.w2v'))
相似性=余弦_相似性(模型向量)
---------------------------------------------------------------------------
MemoryError回溯(上次最近调用)
在()
---->1相似性=余弦_相似性(模型向量)
/usr/local/lib/python3.5/dist-packages/sklearn/metrics/pairwise.py余弦相似性(X,Y,密集输出)
923 Y_normalized=规格化(Y,copy=True)
924
-->925 K=安全稀疏点(X\u归一化,Y\u归一化.T,密集输出=密集输出)
926
927返回K
/安全稀疏点中的usr/local/lib/python3.5/dist-packages/sklearn/utils/extmath.py(a、b、密集输出)
138返回ret
139.其他:
-->140返回np.点(a,b)
141
142
记忆错误:
这意味着什么?
谢谢大家!

内存错误
表示内存不足,无法完成操作

“it vectors.100.5.50.w2v”集合中有多少个向量

请注意,
cosine\u similarity()
创建一个(nxn)结果矩阵。因此,如果集合中有100000个向量,则需要一个大小为:

100,000^2 * 4 bytes/float = 40GB

你有那么多可寻址内存吗?

MemoryError
意味着没有足够的内存来完成操作

“it vectors.100.5.50.w2v”集合中有多少个向量

请注意,
cosine\u similarity()
创建一个(nxn)结果矩阵。因此,如果集合中有100000个向量,则需要一个大小为:

100,000^2 * 4 bytes/float = 40GB
你有那么多可寻址内存吗