導讀: 文本分類,是NLP的基礎任務,旨在對給定文本預測其類別。然而,基礎任務不代表簡單任務:文本來源復雜多樣,文本粒度有大有小,文本標簽之間也有各種關系。面對各種問題,文本分類,仍在飛速發展中。來自美國弗吉尼亞大學的Kamran Kowsari博士等人,用了68頁A4紙的篇幅,從0開始,細致的總結了文本分類近些年的發展,循序漸進,新手友好!
近年來,復雜文檔和文本的數量呈指數級增長,需要對機器學習方法有更深刻的理解,才能在許多應用中準確地對文本進行分類。許多機器學習方法在自然語言處理方面取得了卓越的成績。這些學習算法的成功依賴于它們理解復雜模型和數據中的非線性關系的能力。然而,為文本分類找到合適的結構、體系和技術對研究人員來說是一個挑戰。本文簡要介紹了文本分類算法。本文概述了不同的文本特征提取、降維方法、現有的分類算法和技術以及評估手段。最后,討論了每種技術的局限性及其在實際問題中的應用。
代碼詳解: //github.com/kk7nc/Text_Classification
文本分類流程:
特征降維:由于文本或文檔數據集通常包含許多獨特的單詞,數據預處理步驟可能會因時間和內存復雜性而滯后。這個問題的一個常見解決方案就是簡單地使用廉價的算法。然而,在一些數據集中,這些類型的廉價算法并沒有預期的那么好。為了避免性能下降,許多研究人員傾向于使用降維來減少應用程序的時間和內存復雜度。使用降維進行預處理可能比開發廉價的分類器更有效。在第3節中,我們概述了降維最常用的技術,包括主成分分析(PCA)、線性判別分析(LDA)和非負矩陣因子分解(NMF)。我們還討論了用于無監督特征提取降維的新技術,如隨機投影、自編碼和t分布隨機鄰居嵌入(T-SNE).
分類技術:文本分類管道中最重要的步驟是選擇最佳分類器。如果對每種算法沒有一個完整的概念理解,我們就不能有效地確定文本分類應用程序的最有效模型。在第四部分中,我們將討論最流行的文本分類技術。首先,我們介紹了傳統的文本分類方法,如Rocchio分類。接下來,我們將討論基于ensemble的學習技術,如boost和Bagging,這些技術主要用于查詢學習策略和文本分析。最簡單的分類算法之一是Logistic回歸(Logistic Regression, LR),它已經在大多數數據挖掘領域得到了解決。在信息檢索作為一種可行的應用的最早歷史上,樸素貝葉斯分類器(NBC)是非常流行的。我們有一個簡單的概述樸素貝葉斯分類器,這是計算成本低,也需要非常低的內存。
非參數技術被應用于k近鄰(KNN)等分類任務中。支持向量機(SVM)是另一種使用判別分類器進行文檔分類的常用技術。該技術也可應用于生物信息學、圖像、視頻、人類活動分類、安全與保障等數據挖掘的各個領域。這個模型也被用作許多研究人員與他們自己的作品進行比較的基準,以突出新穎性和貢獻。本文還研究了基于樹的決策樹和隨機森林分類器在文檔分類中的應用。每個基于樹的算法將在單獨的小節中介紹。近年來,圖形分類被認為是一種分類任務,如條件隨機域(CRFs)。然而,這些技術主要用于文檔摘要和自動關鍵字提取。
近年來,深度學習方法在圖像分類、自然語言處理、人臉識別等任務上取得了超過以往機器學習算法的效果。這些深度學習算法的成功依賴于它們在數據中建模復雜非線性關系的能力。
CNN文本分類
多模型文本分類
DNN框架