文本分類六十年
文本分類是自然語言處理中最基本而且非常有必要的任務,大部分自然語言處理任務都可以看作是個分類任務。近年來,深度學習所取得的前所未有的成功,使得該領域的研究在過去十年中保持激增。這些文獻中已經提出了許許多多的算法模型、基準數據集一集評測指標,因此需要一個對這個領域進行全面而且跟進趨勢的調查。這里我們介紹基于機器學習和深度學習的文本分類,主要內容來自北航、伊利諾伊大學等學者聯合發表論文 A Survey on Text Classification: From Shallow to Deep Learning。
本文通過回顧文本分類領域自1961年到2020年以來的歷年SOTA模型來填補這類綜述研究的空白,聚焦于從淺層學習到深度學習的各種模型。根據文本分類任務所涉及的文本數據來源、特征提取的方法以及分類模型的不同進行分類對比研究。隨后,將討論每一個類別的詳細情況,其中涉及到給預測和測試提供可信支撐的技術變遷以及基準數據集。這項調查對不同模型之間的性能優劣進行了全面比較,而且指出了各種評測指標的優缺點。
最后,對各種算法模型的核心精髓、未來的研究趨勢以及該研究領域面臨的挑戰進行了提煉總結。

文本分類
文本分類流程
在許多自然語言處理(NLP)下游任務中,例如情感分析,主題標記,自動問答和對話行為分類,文本分類(給文本指定某一預定義標簽的過程)是一項意義重大且十分必要的任務。在信息爆炸時代,對海量的文本數據進行人工手動處理和分類,既費時又存在許多操作困難。除此之外,人工文本分類的準確性很容易受到人為因素的影響,例如疲勞和專業知識。因此,我們渴望使用機器學習的方法來使文本分類過程自動化,以產生結果更可靠、判定更少主觀的結果。此外,通過從文本中定位所需信息,可以用來幫助提高信息檢索效率并緩解信息過載的問題。
圖1展示出了基于淺層和深度學習的文本分類方法中所涉及的操作步驟的流程圖。文本數據不同于數字,圖像或信號數據。它要求NLP技術具有能夠進行十分精細化處理的能力。而首先重要的一步是對輸入模型的文本數據進行預處理。淺層學習模型通常需要通過人工標注的方法來獲得良好的樣本特征,然后使用經典的機器學習算法對其進行分類。因此,該方法的有效性在很大程度上受限制于特征提取結果的好壞。但是,與淺層模型不同的是,深度學習通過學習一系列的非線性變換模式將特征工程直接映射到輸出,從而將特征工程集成到模型擬合過程中。

文本分類發展歷程
從1960年代到2010年代,基于淺層學習的文本分類模型占主導地位。這里的淺層學習指的是基于統計的模型,例如樸素貝葉斯方法(Na?veBayes,NB),K近鄰(K- Nearest Neighbor,KNN)和支持向量機(Support Vector Machine,SVM)。與早期的基于規則的方法相比,該類方法的準確性和穩定性優勢比較明顯。但是,這些方法仍然需要做大量費時費力的特征工程。此外,這類方法通常不考慮文本數據中的自然順序結構或上下文信息,這使得模型很難具備學習單詞之間語義信息的能力。2010年代之后,文本分類已逐漸從淺層學習模型轉變為深度學習模型。與基于淺層學習的方法相比,深度學習方法避免了人工設計規則和特征,可以自動從文本中挖掘出大量且豐富的語義表示。因此,大多數文本分類研究工作都是基于數據驅動且計算復雜度較高的DNNs來進行的。也正因為如此,如今很少有文章去關注如何使用淺層學習模型來緩和模型計算和構建數據時的局限性。
模型
文本分類模型
文本分類就是從原始文本語料中提取語義特征,并基于這些特征預測文本數據的主題類別。過去的幾十年中,出現了各式各樣的用于文本分類的模型。對于淺層學習類型的模型來說,樸素貝葉斯方法是開創了文本分類任務的模型的先河。此后,涌現出了更多通用的分類模型(習慣上稱之為分類器),比如KNN,SVM和RF,它們在文本分類任務上都運用很廣泛。最近,XGBoost和LightGBM這兩類模型表現出優異的分類性能。對于深度學習類模型,到目前為止TextCNN仍然占據這類模型的最高引用量,其首次使用卷積神經網絡來解決文本分類問題。BERT雖然不是專門為處理文本分類任務而設計的,但由于考慮到它在眾多文本分類數據集中的有效性,因此在設計文本分類模型時也已被廣泛借鑒。
淺層學習模型
淺層學習模型加快了文本分類速度,提高了準確性,并擴大了淺層學習的應用范圍。首先是對原始輸入文本進行預處理,以訓練淺層學習模型,該模型通常包括分詞,數據清理和數據統計。然后,文本表示旨在以對計算機來說更容易的形式來表達預處理的文本,并最大程度地減少信息丟失,例如詞袋(BOW),N-gram,術語頻率倒排文檔頻率(TF-IDF),word2vec [94]和GloVe [95]。BOW的核心是用字典大小的向量表示每個文本。向量的單個值表示對應于其在文本中固有位置的詞頻。與BOW相比,N-gram考慮相鄰單詞的信息,并通過考慮相鄰單詞來構建字典。TF-IDF使用單詞頻率并反轉文檔頻率來對文本建模。word2vec使用本地上下文信息來獲取單詞向量。GloVe -具有局部上下文和全局統計功能-訓練單詞-單詞共現矩陣中的非零元素。最后,根據所選特征將表示的文本輸入分類器。


淺層學習方法是機器學習的一種。它從數據中學習,數據是對預測值的性能很重要的預定義功能。但是,要素工程是一項艱巨的工作。在訓練分類器之前,我們需要收集知識或經驗以從原始文本中提取特征。淺層學習方法基于從原始文本中提取的各種文本特征來訓練初始分類器。對于小型數據集,在計算復雜度的限制下,淺層學習模型通常比深層學習模型表現出更好的性能。因此,一些研究人員研究了數據較少的特定領域的淺層模型的設計。
深度學習模型
DNN由人工神經網絡組成,該人工神經網絡模擬人腦以自動從數據中學習高級功能,在語音識別,圖像處理和文本理解方面比淺層學習模型獲得更好的結果。應該分析輸入數據集以對數據進行分類,例如單標簽,多標簽,無監督,不平衡的數據集。根據數據集的特征,將輸入單詞向量發送到DNN中進行訓練,直到達到終止條件為止。訓練模型的性能由下游任務驗證,例如情感分類,問題回答和事件預測。在表2中顯示了多年來的DNN,包括與相應基本模型,評估指標和實驗數據集不同的設計。如表2所示,前饋神經網絡和遞歸神經網絡是用于文本分類任務的前兩種深度學習方法,與淺層學習模型相比,它們可以提高性能。然后,將CNN,RNN和注意力機制用于文本分類。許多研究人員通過改進CNN,RNN和注意力,或模型融合和多任務方法,提高了針對不同任務的文本分類性能。可以生成上下文化詞向量的來自變壓器的雙向編碼器表示(BERT)的出現,是文本分類和其他NLP技術發展的重要轉折點。許多研究人員已經研究了基于BERT的文本分類模型,該模型在包括文本分類在內的多個NLP任務中比上述模型具有更好的性能。此外,一些研究人員研究了基于GNN的文本分類技術,以捕獲文本中的結構信息,這是其他方法無法替代的。




深度學習由神經網絡中的多個隱藏層組成,具有更高的復雜度,并且可以在非結構化數據上進行訓練。深度學習架構可以直接從輸入中學習特征表示,而無需太多的人工干預和先驗知識。但是,深度學習技術是一種數據驅動的方法,通常需要大量數據才能實現高性能。盡管基于自我注意的模型可以為DNN帶來一些單詞間的可解釋性,但與淺層模型進行比較并不足以解釋其原因和工作方式。
技術挑戰
文本分類作為高效的信息檢索和挖掘技術,在文本數據的自動化管理中起著至關重要的作用。其中涉及到使用NLP、數據挖掘、機器學習和其他技術來實現自動主題分類或發掘新的不同的文本類型。文本分類將多種類型的文本作為輸入,并且由預訓練模型表示為可以計算的向量,然后將向量喂到DNN中進行訓練,直到達到終止條件為止,最后,在下游任務驗證訓練模型的性能。現有的文本分類模型已經在實際應用中顯現出了其可用性,但是仍有許多可改進的地方需要繼續探索。
盡管一些新的文本分類模型不斷刷新了大多數分類任務的準確率指標記錄,但這并不能說明模型是否能像人類一樣從語義層面“理解”文本。此外,隨著噪聲樣本的出現,小的樣本噪聲可能導致決策置信度發生實質性變化,甚至逆轉決策結果。因此,需要在實踐中證明該模型的語義表示能力和魯棒性。此外,由詞向量表示的預訓練語義表征模型往往可以提高下游NLP任務的性能。現有的上下文無關詞向量遷移學習的研究還比較初步。因此,我們從數據,模型和性能三個角度總結出文本分類主要面臨以下挑戰:
A.數據
對于文本分類任務,無論是淺層學習還是深度學習方法,數據對于模型性能都是必不可少的。研究的文本數據主要包括多篇章,短文本,跨語言,多標簽,少樣本文本。針對于這些數據的特質,現有的技術挑戰如下:
零樣本/少樣本學習。用于文本分類的零樣本或少樣本學習旨在對沒有或只有很少的相同標簽類數據的文本進行分類。然而,當前模型過于依賴大量標記數據,它們的性能受零樣本或少樣本學習的影響很大。因此,一些工作著重于解決這些問題,其主要思想是通過學習各種語義知識來推斷特征,例如學習類之間的關系和合并類描述。此外,潛在特征生成、元學習和動態記憶力機制也是有效的方法。盡管如此,由于少量未知類型的數據的限制以及已知和未知類別數據之間不同的數據分布,要達到與人類相當的學習能力還有很長的路要走。
引入外部知識。眾所周知,將更多有益的信息輸入到DNN中,其性能會更好。因此,添加外部知識(知識庫或知識圖譜)是提高模型性能的有效方法。現有知識包括概念信息,常識知識,知識庫信息,通用知識圖譜等,這些知識增強了文本的語義表示。然而,由于投入規模的限制,如何為不同任務增加知識以及增加什么樣的外部知識仍然是一個挑戰。
多標簽文本分類任務。多標簽文本分類需要充分考慮標簽之間的語義關系,而模型的嵌入和編碼是有損的壓縮過程。因此,如何減少訓練過程中層次語義的丟失以及如何保留豐富而復雜的文檔語義信息仍然是一個亟待解決的問題。
具有許多術語的特殊領域的文本分類。特定領域的文本(例如金融和醫學文本)包含許多特定的單詞或領域專家才可理解的詞匯,縮寫等,這使得現有的預訓練詞向量難以使用。
B.模型
大多數現有的淺層和深度學習模型的結構可以用于文本分類,包括集成方法。BERT學習了一種可用于微調許多下游NLP任務語言表征形式。主要方法是增加數據,提高計算能力以及設計訓練程序以獲得更好的結果。如何在數據與計算資源以及預測性能之間進行權衡值得研究。
C.性能
淺層學習模型和深度學習模型可以在大多數文本分類任務中實現良好的性能,但是需要提高其結果的抗干擾能力。如何實現對深度模型的解釋也是一個技術挑戰。
模型的語義魯棒性。近年來,研究人員設計了許多模型來增強文本分類模型的準確性。但是,如果數據集中有一些對抗性樣本,則模型的性能會大大降低。因此,如何提高模型的魯棒性是當前研究的熱點和挑戰。
模型的可解釋性。DNN在特征提取和語義挖掘方面具有獨特的優勢,并且已經出色地完成了文本分類任務。但是,深度學習是一個黑盒模型,訓練過程難以重現,隱層的語義和輸出可解釋性很差。盡管它對模型進行了改進和優化,但是卻缺乏明確的指導。此外,我們無法準確解釋為什么該模型可以提高性能。
總結
在表1中介紹了文本分類的過程和發展,并根據模型類型和發表年份總結了經典模型的必要信息,包括會議,應用,數據集等。

介紹了當前數據集并給出了主要評估度量的表述,包括單標簽和多標簽文本分類任務。在表2中總結了主要數據集的必要信息,包括類別數,平均句子長度,每個數據集的大小,相關論文和數據地址。

在表4中總結了經典模型在基準數據集上的分類準確度得分,并通過討論文本分類面臨的主要挑戰。

論文鏈接:
https://arxiv.org/abs/2008.00364
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

















