LDA代码生成的主题编号从0到5。是否有标准的方法(规范)将生成的主题与文档本身联系起来。例如:文档1属于主题0,文档5属于主题1等等。我能想到的一种方法是,在每个文档中搜索每个主题生成的关键词。是否有通用的方法或实践来实现这一点?
示例LDA代码 – https://github.com/manhcompany/lda/blob/master/lda.py
回答:
我“收集了一些代码”,对我来说这是有效的。假设你有一个词频
tf_vectorizer = CountVectorizer("你选择的参数")tf = tf_vectorizer.fit_transform("你的数据")`lda_model = LatentDirichletAllocation("你选择的其他参数")lda_model.fit(tf)
创建主题-文档矩阵(关键步骤),并选择最重要的num_topic个主题
doc_topic = lda_model.transform(tf)num_most_important_topic = 2dominant_topic = []for ind_doc in range(doc_topic.shape[0]): dominant_topic.append(sorted(range(len(doc_topic[ind_doc])), key=lambda ind_top: doc_topic[ind_doc][ind_top], reverse=True)[:num_most_important_topic])
这应该会给你一个包含num_most_important_topic个主题的数组。祝你好运!