python - 我应该使用 tfidf 语料库还是仅使用语料库来使用 LDA 推断文档?

标签 python lda gensim

我想知道当我们在 gensim 中使用 LDA 推理文档时,它是要使用的 TFIDF 语料库还是仅要使用的语料库

举个例子

from gensim import corpora, models
import numpy.random
numpy.random.seed(10)

doc0 = [(0, 1), (1, 1)]
doc1 = [(0,1)] 
doc2 = [(0, 1), (1, 1)]
doc3 = [(0, 3), (1, 1)]

corpus = [doc0,doc1,doc2,doc3]
dictionary = corpora.Dictionary(corpus)

tfidf = models.TfidfModel(corpus)
corpus_tfidf = tfidf[corpus]
corpus_tfidf.save('x.corpus_tfidf')

corpus_tfidf = corpora.MmCorpus.load('x.corpus_tfidf')

lda = models.ldamodel.LdaModel(corpus_tfidf, id2word=dictionary, num_topics=2)

#which one i should use from this   
**corpus_lda = lda[corpus]**          #this one 
**corpus_LDA = lda[corpus_tfidf ]**   #or this one?


corpus_lda.save('x.corpus_lda')

for i,j in enumerate(corpus_lda):
    print j, corpus[i]

最佳答案

根据 Gensim's mailing list (特别是最后一篇文章)标准程序是使用词袋语料库。你可以使用 TF-IDF 语料库,但似乎不清楚这会产生什么样的效果。

关于python - 我应该使用 tfidf 语料库还是仅使用语料库来使用 LDA 推断文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27147690/

相关文章:

Python 迭代脚本随着迭代的进行而变慢

python - 随机游走代码 python

lda - LDA 可以为一个单词分配多个主题吗?

java - 什么是使用 mallet 库的主题建模中的估计函数

python-3.x - 如何解释 LDA 组件(使用 sklearn)?

python - 如何在 gensim 中加载预训练模型并用它训练 doc2vec?

Python kdtree 查找 "n"最近邻组(坐标)

python - 使用 DBSCAN 聚类 word2vec 输出的故障排除技巧

python - word2vec向量[gensim库]的 "size"是什么意思?

python - django.core.exceptions.FieldError : Cannot resolve keyword 'timestamp' into field