LDA話題模型訓練後,該如何進行文本分類?

已經訓練得到一些話題,並且每篇文章的話題分布。 假設這些文章都已經標註了類別,對於新來的文章該如何判定所屬類別呢?


LDA模型的根本目的,就是把一個高維的文檔向量降維成一個低維度的文檔向量。對於高維的文檔向量來說,就是原始的被切詞後的特徵向量,每個特徵是一個維度,降維後的低維的文檔向量,每個維度是一個主題,每個主題是通過Dirichlet參數估計得到的一個基於各個原始特徵的Multinominal Distribution。所以,理解清楚Dirichlet過程的本質,是個降維的過程,我們就知道,文本最終還是被視作一個Vector來處理的。

那麼一個Vector就是一個高維的數據點,怎麼分類?無非還是傳統的方法。分類本身就是一個Supervised方法,對於高維數據點,主流的方法是:

1)Decision Tree

2)Neural Network

3)Naive Bayesian

其他的稍微複雜點,可以自行構造!


謝邀,

大約有這麼幾個選擇:

1. 把LDA換成supervised LDA,對新來的樣本可以做inference判斷類別

2. 用「已經訓練得到一些話題」作為feature,訓練一個分類器,對新來的樣本做判別

3. 扔掉LDA,直接用文本詞袋訓練分類器,對新來的樣本做判別


之前畢業設計做過一點,最簡單的方法將你訓練得到的話題分布作為特徵輸入到分類器(如SVM),對每一類訓練出相應的模型。新來的文檔用分類器打個分判斷下屬於哪一個類就行了啊。


具體可以參考這個,有個回答很清楚。LDA訓練出主題之後,怎麼再通過主題計算出一篇文檔對於所有主題的分布呢? - 機器學習


用labeledlda 方法,效果不錯,有興趣可以討論


推薦閱讀:

TAG:文本挖掘 | 文本分類 |