1.開篇
最近幾個月因為項目的原因,接手了半監督學習在文本分類中應用的課題,所以很認真地學習了相關的內容,包括半監督學習、文本分析、傳統分類方法、深度學習分類等等。
為了更好的鞏固自己所學,所以嘗試把看到的比較易懂的內容拿過來和大家分享,也算是自己的一次梳理匯總和學習。本篇介紹傳統的分類方法和半監督學習算法之生成式方法,使用naive bayes模型的生成式半監督學習方法對分本進行分類,來自:附錄1。
2.縮寫介紹
NB——Naive Bayes
SSL——Semi-Supervised Learning
TC——Text Classification
EM——Expectation Maximization
SVM——Support Vector Machine
3.問題定義
1)隨着訓練文本數量的增加,文本分類的准確率也在上升,但傳統分類器是使用有標記的樣本進行訓練的
2)然而對樣本進行標注是困難、耗時、昂貴的,因為這項任務一般需要由專門的、有經驗的人工標注員來完成
3)未標注樣本相對容易收集,因此可以考慮使用半監督學習,充分利用未標注和已標注的樣本訓練分類器,因此當有標注樣本數量少時研究半監督學習是非常有意義的
半監督學習介於有監督學習和無監督學習之間,對它的研究目前也非常多,常見於圖像、文本、生物信息學等擁有大量未標注數據的應用領域。
由下圖可見,使用和不使用未標記樣本,得到的分類器是不一樣的。


4.文本分類的流程
有監督分類流程:

文本預處理流程:

詞頻和文本頻率計算:

使用朴素貝葉斯的例子簡介:

5.半監督學習方法簡介
半監督學習方法主要分為以下四類:
1)半監督SVM
2)基於圖的半監督學習
3)生成式方法
4)基於分歧的方法(co-training,multi-view...)
6.基於朴素貝葉斯模型的生成式半監督方法
基於EM算法的半監督學習,使用朴素貝葉斯模型作分類器:


7.改進
可以考慮同時使用朴素貝葉斯(Bayes)和支持向量機(Support Vector Machine,SVM)模型,然后進行投票,並且在下一次迭代中只考慮NB和SVM預測相同標簽的那些無標簽文檔,並丟棄其余的未標簽文檔。詳細做法參見鏈接中參考論文。
8.參考
附錄1:Semi-Supervised Text Classification: A New Extension for RapidMiner
