标签: word2vec

t-SNE的并行版本

是否有任何带有t-SNE算法并行版本的Python库?或者存在多核/并行t-SNE算法?

我正在尝试使用t-SNE减少词汇表中所有word2vecs的维度(300d - > 2d).

问题:词汇量的大小约为130000,并且为它们进行t-SNE需要很长时间.

python parallel-processing multiprocessing dimensionality-reduction word2vec

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

gensim入门错误:没有这样的文件或目录:'text8'

我正在学习python中的word2vec和GloVe模型,所以我在这里可以看到这个.

在Idle3中逐步编译这些代码之后:

>>>from gensim.models import word2vec
>>>import logging
>>>logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
>>>sentences = word2vec.Text8Corpus('text8')
>>>model = word2vec.Word2Vec(sentences, size=200)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

2017-01-13 11:15:41,471 : INFO : collecting all words and their counts
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    model = word2vec.Word2Vec(sentences, size=200)
  File "/usr/local/lib/python3.5/dist-packages/gensim/models/word2vec.py", line 469, in __init__
    self.build_vocab(sentences, trim_rule=trim_rule)
  File "/usr/local/lib/python3.5/dist-packages/gensim/models/word2vec.py", line 533, in build_vocab
    self.scan_vocab(sentences, progress_per=progress_per, trim_rule=trim_rule)  # initial survey
  File "/usr/local/lib/python3.5/dist-packages/gensim/models/word2vec.py", line 545, in scan_vocab
    for sentence_no, …
Run Code Online (Sandbox Code Playgroud)

python error-handling python-3.x gensim word2vec

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

没有为Word2Vec加载C扩展名

我重新安装了gensim pkg和Cython,但它一直显示这个警告,有人知道吗?我使用的是Python 3.6,PyCharm Linux Mint.

UserWarning:没有为Word2Vec加载C扩展,训练会很慢.安装C编译器并重新安装gensim以进行快速培训.warnings.warn("没有为Word2Vec加载C扩展,训练会很慢."

当我创建或加载模型时,它也会显示此行.
正在使用慢速版本的gensim.models.doc2vec

python python-3.x gensim word2vec

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

如何使用 word2vec 获取给定单词的词嵌入向量和上下文向量?

from gensim.models import word2vec

sentences = word2vec.Text8Corpus('TextFile')
model = word2vec.Word2Vec(sentences, size=200, min_count = 2, workers = 4)
print model['king']
Run Code Online (Sandbox Code Playgroud)

输出向量是“king”的上下文向量还是“king”的词嵌入向量?如何同时获得“king”的上下文向量和“king”的词嵌入向量?谢谢!

python vector word2vec word-embedding

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

seq2seq 中特殊词的 GLoVe 词嵌入

我正在seq2seq modelTensorflow 中进行训练。我想用作GLoVe序列中单词的单词嵌入。在 中,我在序列中seq2seq使用一些标签,例如EOS(End of Sequence), GO(start of sequence for decoder), , 作为单词。PAD(for padding sequence)

GLoVe不会嵌入这些标签。那么,我应该如何表示这些标签呢?

word2vec deep-learning tensorflow

6
推荐指数
0
解决办法
1818
查看次数

word2vec - 什么是最好的?添加,连接或平均单词向量?

我正在研究一种复发语言模型.要学习可用于初始化我的语言模型的单词嵌入,我使用的是gensim的word2vec模型.训练之后,word2vec模型为词汇表中的每个单词保存两个向量:单词嵌入(输入/隐藏矩阵的行)和上下文嵌入(隐藏/输出矩阵的列).

作为概括这个帖子有这两个嵌入矢量组合至少三种常用的方法:

  1. 总结每个单词的上下文和单词向量
  2. 求和和求平均值
  3. 连接上下文和单词向量

但是,我找不到关于最佳策略的适当论文或报告.所以我的问题是:

  1. 是否对向量求和,平均或连接有共同的解决方案吗?
  2. 或者最好的方法完全取决于相关任务?如果是这样,什么策略最适合单词级语言模型?
  3. 为什么要结合载体?为什么不对每个单词使用"原始"单词嵌入,即包含在输入和隐藏神经元之间的权重矩阵中的单词嵌入.

相关(但未答复)的问题:

python gensim word2vec language-model word-embedding

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

将向量加载到 gensim Word2Vec 模型中 - 不是 KeyedVectors

我正在尝试将一些预先训练的向量加载到 gensimWord2Vec模型中,以便可以使用新数据重新训练它们。我的理解是我可以用 进行再培训gensim.Word2Vec.train()。然而,我能找到的加载向量的唯一方法是gensim.models.KeyedVectors.load_word2vec_format('path/to/file.bin', binary=True)创建一个通常是模型wv属性的对象gensim.Word2Vec。但是这个对象本身没有方法train(),而这正是我重新训练向量所需的方法。

那么如何将这些向量转化为实际gensim.Word2Vec模型呢?

nlp machine-learning gensim word2vec word-embedding

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

如何获得 word2vec 词汇表中不存在的单词的向量?

我已经检查了之前的帖子链接,但它似乎不适用于我的情况:-

我已经预先训练过 word2vec 模型:

import gensim    
model = Word2Vec.load('w2v_model')
Run Code Online (Sandbox Code Playgroud)

现在我有一个带有关键字的熊猫数据框:

keyword
corruption
people
budget
cambodia
.......
......
Run Code Online (Sandbox Code Playgroud)

我只想在其相应的列中为每个关键字添加向量,但是当我使用model['cambodia']它时会抛出错误KeyError: "word 'cambodia' not in vocabulary"

所以我将关键字更新为:

model.train(['cambodia'])
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用,当我使用 model['cambodia']

它仍然给出错误为KeyError: "word 'cambodia' not in vocabulary". 如何将新单词更新为 word2vec 词汇表,以便我可以获得它的向量?预期输出将是:-

keyword    V1         V2          V3         V4            V5         V6   
corruption 0.07397  0.290874    -0.170812   0.085428    -0.148551   0.38846 
people      ..............................................................
budget      ...........................................................
Run Code Online (Sandbox Code Playgroud)

python-3.x pandas gensim text-classification word2vec

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

如何将大数据集加载到gensim word2vec模型

所以我有多个文本文件(大约 40 个)。每个文件大约有 2000 篇文章(平均每篇 500 字)。每个文档都是文本文件中的一行。

因此,由于内存限制,我想使用这些文本文件的动态加载来进行训练。(也许是一个迭代器类?)

那么我该如何进行呢?

  • 训练每个文本文件 -> 保存模型 -> 加载模型并在新数据上重新运行?
  • 迭代器类有没有办法自动执行此操作?
  • 我应该逐句、逐篇文章或逐个文本文件作为模型训练的输入吗?

python iterator gensim word2vec

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

使用 BERT 通过词嵌入生成相似词或同义词

众所周知,BERT模型的词嵌入能力,它可能比word2vec和任何其他模型都要好。

我想创建一个BERT词嵌入模型来生成同义词或相似的单词。就像我们在Gensim Word2Vec. 我想将 Gensim 的方法创建model.most_similar()到 BERT 词嵌入中。

我对此进行了很多研究,似乎可以做到这一点,但问题是它仅以数字形式显示嵌入,无法从中获取实际的单词。有人可以帮我解决这个问题吗?

python nlp gensim word2vec bert-language-model

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