问题标签 [gensim]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1765 浏览

python - Gensim 获取文档的主题(查看文档)

我知道在为 gensim 训练 lda 模型之后,我们可以通过以下方式获取未见过文档的主题:

但是那些已经用于训练的文档呢?我的意思是有没有办法在语料库中获取用于训练的文档的主题,而不将其视为新文档?

0 投票
1 回答
485 浏览

google-app-engine - Google App Engine 上的 tf-idf 和 LDA

我有一个 python 代码,它使用 sklearn 和 gensim 库用于 tf-idf 和 LDA(潜在 Dirichlet 分配)。现在我想迁移到 Google 应用引擎,我不能使用这两个库中的任何一个,因为它们尚不受支持。谷歌应用引擎中是否已经包含任何服务,我可以使用这两个库来代替这两个库来执行 tf-idf 和 LDA?

0 投票
1 回答
1209 浏览

python - 使用 Gensim 对每个文档中的特征进行评分。还有一个 Python 内存问题

我正在使用GENSIM一个包含 50000 个文档的语料库以及一个包含大约 4000 个特征的字典。我也有一个LSI已经准备好的模型。

现在我想为每个添加的文档找到匹配度最高的特征。为了找到特定文档中的最佳特征,我正在为所有文档上的每个特征运行 gensim 的相似性模块。这为我们以后要使用的每个功能提供了一个分数。但正如您可以想象的那样,这是一个代价高昂的过程,因为我们必须迭代超过 50000 个索引并在每个索引上运行 4000 次相似性迭代。

我需要一种更好的方法来执行此操作,因为我在大约 1000 次迭代时用完了系统上的 8 GB 内存。实际上没有理由让内存不断增加,因为我只是在迭代期间重新分配它。令人惊讶的是,内存仅在大约 200 次迭代后才开始上升。

  1. 为什么会出现内存问题?如何解决?
  2. 有没有更好的方法来找到特定文档(不是主题)中得分最高的特征?

这是内存不足的代码片段:

编辑:

使用内存分析器解决了内存问题。在那个循环中还有其他东西导致它急剧上升。

让我详细解释一下目的。想象一下,我们正在处理各种食谱(每个食谱都是文档),字典中的每个项目都是一种成分。在下面找到六个这样的食谱。

corpus = [[Olive Oil, Tomato, Brocolli, Oregano], [Garlic, Olive Oil, Bread, Cheese, Oregano], [Avocado, Beans, Cheese, Lime], [Jalepeneo, Lime, Tomato, Tortilla, Sour Cream], [Chili Sauce, Vinegar, Mushrooms, Rice], [Soy Sauce, Noodles, Brocolli, Ginger, Vinegar]]

有成千上万种这样的食谱。我想要实现的是为每种成分分配 0 到 100 之间的权重(其中权重较高的成分是最重要或最独特的)。实现这一目标的最佳方法是什么。

0 投票
3 回答
750 浏览

python - Python MySQLdb change string encoding

I believe my issue is that python does not play nicely with the character encoding of a column in a SQL table:

The above shows the output for this column. It has type varchar(255) and has encoding latin1_swedish_ci.

Now when I try to make python play with this data, I am getting the following error:

gs is the gensim topic modeling library. I believe that the problem is that gensim requires unicode encodings.

  1. How can I change the character encoding (collation?) for this column in my database?
  2. Is there an alternative solution?

Thanks for all the help!

0 投票
2 回答
940 浏览

topic-modeling - 主题建模和发现主题中的相似性

问题陈述:我有几个文件(20k 个文件)。我需要应用主题建模来查找相似的文档,然后分析这些相似的文档以找出它们之间的不同之处。问:谁能建议我任何可以实现这一目标的主题建模包。我正在探索 Mallet 和 Gensim Python。不确定哪个最适合我的要求。

任何帮助将不胜感激。

0 投票
1 回答
2392 浏览

python - 了解 Gensim 中的 LDA 转换语料库

我试图检查 BOW 语料库与 LDA[BOW 语料库] 的内容(由在该语料库上训练的 LDA 模型转换,例如 35 个主题)我发现以下输出:

其中,DOC N 是来自 BOW 语料库的文档 LDA N 是该 LDA 模型对 DOC N 的转换

我将每个转换后的文档“LDA N”的输出理解为文档 N 所属的主题是否正确?通过这种理解,我可以看到像 4、5、6、7 和 8 这样的文档属于多个主题,例如 DOC 8 以各自的概率属于主题 12、19、22 和 28。

您能否解释一下 LDA N 的输出并纠正我对这个输出的理解,特别是因为在另一个线程HERE中 - Gensim 的创建者自己提到了一个文档属于一个主题?

0 投票
2 回答
8995 浏览

nlp - Gensim 在维基百科上训练 word2vec - 预处理和参数

我正在尝试gensim使用意大利维基百科“ http://dumps.wikimedia.org/itwiki/latest/itwiki-latest-pages-articles.xml.bz2 ”来训练 word2vec 模型

但是,我不确定这个语料库的最佳预处理是什么。

gensim模型接受标记化句子的列表。我的第一次尝试是只使用WikipediaCorpus来自gensim. 这会提取每篇文章,删除标点符号并在空格上拆分单词。使用这个工具,每个句子都会对应一个完整的模型,我不确定这个事实对模型的影响。

在此之后,我使用默认参数训练模型。不幸的是,经过培训,我似乎无法获得非常有意义的相似之处。

维基百科语料库上最适合此任务的预处理是什么?(如果这个问题太宽泛,请通过指向相关教程/文章来帮助我)

这是我第一次试用的代码:

0 投票
1 回答
2170 浏览

python - python IndexError 使用 gensim 进行 LDA 主题建模

另一个线程有一个与我类似的问题,但遗漏了可重现的代码。

有问题的脚本的目标是创建一个尽可能节省内存的进程。所以我尝试编写一个类corpus()来利用 gensims 的功能。但是,我遇到了一个 IndexError,我不确定在创建lda = models.ldamodel.LdaModel(corpus_tfidf, id2word=checker.dictionary, num_topics=int(options.number_of_topics)).

我使用的文档与 gensim 教程中使用的文档相同,我将其放入 tutorial_example.txt:

收到错误

下面是gensim_topic_modeling.py脚本:

结果topic-modeling-log文件如下。提前感谢您的帮助!

主题建模日志

0 投票
2 回答
14146 浏览

nlp - word2vec lemmatization of corpus before training

Word2vec seems to be mostly trained on raw corpus data. However, lemmatization is a standard preprocessing for many semantic similarity tasks. I was wondering if anybody had experience in lemmatizing the corpus before training word2vec and if this is a useful preprocessing step to do.

0 投票
0 回答
324 浏览

python - 如何处理“ValueError:数组太大”。在 Gensim 中运行 LDA 时?

我作为 gensim 教程在 195145 个文档、6636308 个特征、188901082 个非零条目上运行 LAD。代码很简单:

但我遇到了价值错误:

gensim 是内存友好的,为什么会发生这种情况?我怎样才能通过?