0

我有大约150k文档的非结构化数据。我正尝试使用无监督学习算法对这些文档进行分组。目前我在gensim Python中使用LDA(潜在Dirichlet分配)。对于LDAModel,我已经通过了num_topics = 20。因此,我的整个150k数据都属于20个主题。LDA - 为主题分配关键字

现在,我有这些群体,我有2个问题:

  1. 我应该如何分配新的文件,以这些主题?

我正在采用的方法是: 计算每个主题文档的单词分数总和,并将文档分配给分数最高的主题。但是,这并没有给我带来好的结果。

有没有更好的方法来得到这个?

  1. 如何分配表示主题的主关键字?
+0

如果你的主题是预定义的,这是一个分类,而不是一个聚类问题。 –

+0

我修改了这个问题,我给出了20个作为num_topics参数的预定义含义。 –

回答

0

如何为这些主题分配新文档?

doc_bow = model.id2word.doc2bow(doc.split()) # convert to bag of words format first 
doc_topics, word_topics, phi_values = model.get_document_topics(bow, per_word_topics=True) 

重:

一旦你有一个训练有素的模型,你可以查询model为您的文档。 此代码将为您提供有关特定主题所属级别的每文档和每词信息。这意味着每个字的计算都会自动完成。

如何分配表示主题的主关键字?

很难理解你的意思。表示主题及其权重的关键字是使用语料库从训练中获得的实际LDA模型。


我想你可能有兴趣在审查the following notebook [*]以获取更多信息如何查询有关文件的具体信息模型(每个字主题的信息等)。

[*]从我把代码的摘录上述