标签: word2vec

与 word2vec 的余弦相似度

我加载了一个 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: …
Run Code Online (Sandbox Code Playgroud)

nlp cosine-similarity gensim scikit-learn word2vec

1
推荐指数
1
解决办法
896
查看次数

Google word2vec 训练模型是CBOW还是skipgram

是Google预训练的word2vec模型CBO或者skipgram。

我们通过以下方式加载预训练模型:

from gensim.models.keyedvectors as word2vec

model= word2vec.KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin.gz')
Run Code Online (Sandbox Code Playgroud)

我们如何专门加载预训练的 CBOW 或 Skipgram 模型?

python-3.x word2vec word-embedding

1
推荐指数
1
解决办法
1552
查看次数

绘图函数 word2vec 错误“Word2Vec”对象不可下标

我有我的 word2vec 模型。我可以使用它来查看最相似的单词。现在我创建一个函数来将单词绘制为向量。这是我的功能:

def tsne_plot(model):

    labels = []
    tokens = []

    for word in model.wv.key_to_index:
        tokens.append(model[word])
        labels.append(word)
    
    tsne_model = TSNE(perplexity=40, n_components=2, init='pca', n_iter=2500, random_state=23)
    new_values = tsne_model.fit_transform(tokens)

    x = []
    y = []
for value in new_values:
    x.append(value[0])
    y.append(value[1])
    
plt.figure(figsize=(16, 16)) 
for i in range(len(x)):
    plt.scatter(x[i],y[i])
    plt.annotate(labels[i],
                 xy=(x[i], y[i]),
                 xytext=(5, 2),
                 textcoords='offset points',
                 ha='right',
                 va='bottom')
plt.show()
Run Code Online (Sandbox Code Playgroud)

当我调用该函数时,出现以下错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-47-d0f4ea6902bf> in <module>
----> 1 tsne_plot(model)

<ipython-input-46-b4714ffe935b> in tsne_plot(model)
      5 
      6     for word in model.wv.key_to_index:
----> 7 …
Run Code Online (Sandbox Code Playgroud)

python gensim word2vec

1
推荐指数
1
解决办法
3305
查看次数

是否可以使用 graphdb 实现类似于 word2vec 的功能?

否则说用模式匹配和图遍历替换特征向量并模拟降维?

我的意思是,给定一个英语单词的语义图,计算类似于:

king - man = queen

这意味着我可以从图中减去一个子图,并在给定指标的情况下对结果子图进行评分。

我不希望这将是单个 neo4j 或 gremlin 查询。我对通过图形数据库同时进行全局和局部推理所涉及的底层机制感兴趣。

nlp graph-theory graph-databases gremlin word2vec

0
推荐指数
1
解决办法
867
查看次数

如何在 doc2vec 中找到文档中最相似的术语/单词?

我已经应用 Doc2vec 将文档转换为向量。之后,我在聚类中使用向量并找出与每个集群的质心最近/最相似的 5 个文档。现在我需要找到这些文档中最主要或最重要的术语,以便我可以弄清楚每个集群的特征。我的问题是有什么方法可以找出 Doc2vec 中文档的最主导或最相似的术语/单词。我正在使用 python 的 gensim 包来实现 Doc2vec

python cluster-analysis gensim word2vec doc2vec

0
推荐指数
1
解决办法
2806
查看次数

是否建议在word2vec算法中删除重复单词?

我有一个由 DNA 序列组成的数据,其中单词表示为长度为 6 的 kmers,句子表示为 DNA 序列。每个 DNA 序列有 80 kmers(单词)

我拥有的 kmers 列表约为 130,000 kmers,但删除重复元素后,我将只有 4500 kmers。因此,这个巨大的差距让我对是否删除重复的公里数感到困惑。我的问题是,在这种情况下是否建议删除word2vec算法中重复的kmers?

谢谢。

dna-sequence word2vec

0
推荐指数
1
解决办法
1341
查看次数