【发布时间】:2014-09-21 11:20:12
【问题描述】:
我正在使用 gensim 库将 LDA 应用于一组文档。使用 gensim,我可以将 LDA 应用于语料库,无论权重是什么:二进制、tf、tf-idf...
我的问题是,原始LDA 应该使用什么术语加权?如果我理解正确,权重应该是词频,但我不确定。
【问题讨论】:
标签: python lda topic-modeling gensim
我正在使用 gensim 库将 LDA 应用于一组文档。使用 gensim,我可以将 LDA 应用于语料库,无论权重是什么:二进制、tf、tf-idf...
我的问题是,原始LDA 应该使用什么术语加权?如果我理解正确,权重应该是词频,但我不确定。
【问题讨论】:
标签: python lda topic-modeling gensim
它应该是一个表示为“词袋”的语料库。或者,是的,术语计数列表。
正确的格式是first tutorial on the Gensim webpage 中定义的corpus(这些真的很有用)。
即,如果您有 Radim 教程中定义的 dictionary 以及以下文档,
doc1 = ['big', 'data', 'technique', 'lots', 'of', 'cash']
doc2 = ['this', 'document', 'has', 'words']
docs = [doc1, doc2]
那么您的语料库(用于 LDA)应该是以下形式的元组列表的可迭代对象(例如列表):(dictKey, count),其中dk 指的是术语的字典键,并且计数是它在文档中出现的次数。这是为您完成的
corpus = [dictionary.doc2bow(doc) for doc in docs]
doc2bow 函数的意思是“文档到词袋”。
【讨论】: