我是自然语言处理的新手。我有一个博客标题列表,例如(不是真实数据,但你明白了):
docs = ["Places to Eat", "Places to Visit", "Top 10 Things to Do in Singapore"]...大约有3000多个标题,我想在Python中使用LDA为每个标题生成主题。假设我已经使用nltk包清理和标记了这些文本,并删除了停用词,最后我将得到:
texts = [["places","eat"],["places","visit"]]...然后,我继续将这些文本转换为词袋:
from gensim import corpora, models
dictionary = corpora.Dictionary(texts)
corpus = [dictionary.doc2bow(text) for text in texts]语料库数据如下所示:
[(0, 1), (1, 1)]...模型创建:
import gensim
ldamodel = gensim.models.ldamodel.LdaModel(corpus, num_topics=30, id2word = dictionary, passes=20)我如何利用这个模型来生成一个主题列表--例如,为每个标题生成"Eat“、”titles“等?我知道输出可能包含概率,但我只想将它们与文本串在一起。
发布于 2018-02-05 09:20:13
您可以使用以下命令从gensim LDA检索文档主题列表
Ldamodel.show_topics()然后对新文档进行分类
Ldamodel.get_document_topics(doc)其中doc是文档词袋向量。
https://stackoverflow.com/questions/48606331
复制相似问题