标签: gensim

更新gensim word2vec模型

我在gensim中有一个word2vec模型,训练超过98892个文档.对于句子数组中不存在的任何给定句子(即我训练模型的集合),我需要用该句子更新模型,以便下次查询它会给出一些结果.我是这样做的:

new_sentence = ['moscow', 'weather', 'cold']
model.train(new_sentence)
Run Code Online (Sandbox Code Playgroud)

并将其打印为日志:

2014-03-01 16:46:58,061 : INFO : training model with 1 workers on 98892 vocabulary and 100 features
2014-03-01 16:46:58,211 : INFO : reached the end of input; waiting to finish 1 outstanding jobs
2014-03-01 16:46:58,235 : INFO : training on 10 words took 0.1s, 174 words/s
Run Code Online (Sandbox Code Playgroud)

现在,当我使用类似的new_sentence查询大多数肯定(as model.most_similar(positive=new_sentence))时,它会发出错误:

Traceback (most recent call last):
 File "<pyshell#220>", line 1, in <module>
 model.most_similar(positive=['moscow', 'weather', 'cold'])
 File "/Library/Python/2.7/site-packages/gensim/models/word2vec.py", line 405, in most_similar
 raise KeyError("word '%s' not …
Run Code Online (Sandbox Code Playgroud)

gensim word2vec

29
推荐指数
3
解决办法
2万
查看次数

如何检查word2vec训练模型中是否存在密钥

我使用Gensim的文档语料库训练了一个word2vec模型.一旦模型正在训练,我正在编写以下代码以获得单词的原始特征向量说"视图".

myModel["view"]
Run Code Online (Sandbox Code Playgroud)

但是,我得到了一个单词的KeyError,这可能是因为它不存在作为word2vec索引的键列表中的键.在尝试获取原始特征向量之前,如何检查索引中的键是否退出?

python gensim word2vec

29
推荐指数
3
解决办法
2万
查看次数

使用gensim了解LDA实现

我试图了解Python中的gensim包如何实现Latent Dirichlet Allocation.我正在做以下事情:

定义数据集

documents = ["Apple is releasing a new product", 
             "Amazon sells many things",
             "Microsoft announces Nokia acquisition"]             
Run Code Online (Sandbox Code Playgroud)

删除停用词后,我创建了字典和语料库:

texts = [[word for word in document.lower().split() if word not in stoplist] for document in documents]
dictionary = corpora.Dictionary(texts)
corpus = [dictionary.doc2bow(text) for text in texts]
Run Code Online (Sandbox Code Playgroud)

然后我定义了LDA模型.

lda = gensim.models.ldamodel.LdaModel(corpus=corpus, id2word=dictionary, num_topics=5, update_every=1, chunksize=10000, passes=1)
Run Code Online (Sandbox Code Playgroud)

然后我打印主题:

>>> lda.print_topics(5)
['0.181*things + 0.181*amazon + 0.181*many + 0.181*sells + 0.031*nokia + 0.031*microsoft + 0.031*apple + 0.031*announces + 0.031*acquisition + 0.031*product', '0.077*nokia + …
Run Code Online (Sandbox Code Playgroud)

python dirichlet gensim topic-modeling

26
推荐指数
3
解决办法
3万
查看次数

Python Gensim:如何使用LDA模型计算文档相似度?

我有一个训练有素的LDA模型,我想计算我训练模型的语料库中两个文档之间的相似性得分.在研究了所有Gensim教程和功能之后,我仍然无法理解它.有人可以给我一个暗示吗?谢谢!

python nlp lda gensim

26
推荐指数
3
解决办法
2万
查看次数

PyTorch/Gensim - 如何加载预训练的单词嵌入

我想将带有gensim的预训练word2vec嵌入到PyTorch嵌入层中.

所以我的问题是,如何将gensim加载的嵌入权重加到PyTorch嵌入层中.

提前致谢!

python embedding neural-network gensim pytorch

26
推荐指数
1
解决办法
2万
查看次数

主题分发:在python中执行LDA后,我们如何查看哪个文档属于哪个主题

我可以从gensim运行LDA代码,并使用各自的关键字获得前10个主题.

现在,我想进一步了解LDA算法的准确性,看看他们将哪些文档聚集到每个主题中.这对于gensim LDA有可能吗?

基本上我想做这样的事情,但在python和使用gensim.

具有topicmodel的LDA,如何查看不同文档属于哪些主题?

python nltk lda gensim

22
推荐指数
2
解决办法
2万
查看次数

word2vec训练前语料库的词形化

Word2vec似乎主要是针对原始语料库数据进行培训.然而,词形还原是许多语义相似性任务的标准预处理.我想知道是否有人在训练word2vec之前有使词库语法化的经验,以及这是否是一个有用的预处理步骤.

nlp lemmatization gensim word2vec

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

word2vec中单词的向量代表什么?

word2vec是Google的一个开源工具:

  • 对于每个单词,它提供了一个浮点值向量,它们究竟代表什么?

  • 还有一篇关于段落向量的论文,任何人都可以解释他们如何使用word2vec来获得段落的固定长度向量.

nlp machine-learning neural-network gensim

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

gensim错误:没有名为gensim的模块

我试图导入gensim.

我有以下代码

import gensim
model = gensim.models.Word2Vec.load_word2vec_format('./model/GoogleNews-  
vectors-negative300.bin', binary=True)  
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

ImportError                               Traceback (most recent call  
last)
<ipython-input-5-50007be813d4> in <module>()
----> 1 import gensim
  2 model = gensim.models.Word2Vec.load_word2vec_format('./model  
/GoogleNews-vectors-negative300.bin', binary=True)

ImportError: No module named 'gensim'
Run Code Online (Sandbox Code Playgroud)

我在python中安装了gensim.我使用genssim作为word2vec.

python linux gensim word2vec

21
推荐指数
3
解决办法
3万
查看次数

生成器不是迭代器?

我有一个生成器(一个产生东西的函数),但是当试图将它传递给gensim.Word2Vec我时,我得到以下错误:

TypeError:您不能将生成器作为句子参数传递.尝试一个迭代器.

发生器不是一种迭代器吗?如果没有,我如何从中制作迭代器?

看一下库代码,它似乎只是简单地迭代句子for x in enumerate(sentences),这对我的生成器来说效果很好.那么是什么导致错误?

python gensim word2vec

20
推荐指数
2
解决办法
4361
查看次数