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 [*]以獲取更多信息如何查詢有關文件的具體信息模型(每個字主題的信息等)。

[*]從我把代碼的摘錄上述