NewBeeNLP公眾號原創出品
公眾號專欄作者 @lucy
北航博士在讀 · 文本挖掘/事件抽取方向
本系列文章總結自然語言處理(NLP)中最基礎最常用的「文本分類」任務,主要包括以下幾大部分:
深度網絡方法(Deep Learning Models)淺層網絡模型(Shallow Learning Models)展望研究與挑戰(Future Research Challenges)Github地址: https://github.com/xiaoqian19940510/text-classification-surveys全文五萬字,分幾篇整理,後續會整理成PDF分享給大家,歡迎持續關注!文本分類綜述A Survey on Text Classification: From Shallow to Deep Learning,2020[1]文本分類是自然語言處理中最基本,也是最重要的任務。由於深度學習的成功,在過去十年裡該領域的相關研究激增。鑑於已有的文獻已經提出了許多方法,數據集和評估指標,因此更加需要對上述內容進行全面的總結。
本文通過回顧1961年至2020年的最新方法填補來這一空白,主要側重於從淺層學習模型到深度學習模型。我們首先根據方法所涉及的文本,以及用於特徵提取和分類的模型,構建了一個對不同方法進行分類的規則。然後我們將詳細討論每一種類別的方法,涉及該方法相關預測技術的發展和基準數據集。
此外,本綜述還提供了不同方法之間的全面比較,並確定了各種評估指標的優缺點。最後,我們總結了該研究領域的關鍵影響因素,未來研究方向以及所面臨的挑戰。
深度學習模型本部分按年份時間順序整理了文本分類任務相關的深度模型。
2011Semi-supervised recursive autoencoders forpredicting sentiment distributions[2]介紹了一種新穎地基於遞歸自動編碼器機器學習框架,用於句子級地情感標籤分布預測。該方法學習多詞短語的向量空間表示。在情感預測任務中,這些表示優於常規數據集(例如電影評論)上的其他最新方法,而無需使用任何預定義的情感詞典或極性轉換規則。
論文還將根據經驗項目上的效果來評估模型在新數據集上預測情緒分布的能力。數據集由帶有多個標籤的個人用戶故事組成,這些標籤匯總後形成捕獲情感反應的多項分布。與其他幾個具有競爭力的baseline相比,我們的算法可以更準確地預測此類標籤的分布。
2012Semantic compositionality through recursive matrix-vector spaces[3]基於單個詞的向量空間模型在學習詞彙信息方面非常成功。但是,它們無法捕獲較長短語的組成含義,從而阻止了它們更深入理解地理解語言。本文介紹了一種循環神經網絡(RNN)模型,該模型學習任意句法類型和長度的短語或句子的成分向量表示。
模型為解析樹中的每個節點分配一個向量和一個矩陣:其中向量捕獲成分的固有含義,而矩陣捕獲其如何改變相鄰單詞或短語的含義。該矩陣-向量RNN可以學習命題邏輯和自然語言中算子的含義。該模型在三種不同的實驗中均獲得了SOTA效果:預測副詞-形容詞對的細粒度情緒分布;對電影評論的情感標籤進行分類,並使用名詞之間的句法路徑對名詞之間的因果關係或主題消息等語義關係進行分類。
2013Recursive deep models for semantic compositionality over a sentiment treebank[4]儘管語義詞空間在語義表徵方面效果很好,但卻不能從原理上表達較長短語的含義。在諸如情緒檢測等任務中的詞語組合性理解方向的改進需要更豐富的監督訓練和評估資源, 以及更強大的合成模型。
為了解決這個問題,我們引入了一個情感樹庫。它在11,855個句子的語法分析樹中包含215,154個短語的細粒度情感標籤,並在情感組成性方面提出了新挑戰。為了解決這些問題,我們引入了遞歸神經張量網絡。在新的樹庫上進行訓練後,該模型在多個評價指標上效果優於之前的所有方法。它使單句正/負分類的最新技術水平從80%上升到85.4%。預測所有短語的細粒度情感標籤的準確性達到80.7%,相較於基準工作提高了9.7%。此外,它也是是唯一一個可以在正面和負面短語的各個樹級別準確捕獲消極影響及其範圍的模型。
2014Convolutional Neural Networks for Sentence Classification[5]我們在卷積神經網絡(CNN)上進行一系列實驗,這些卷積神經網絡在針對句子級別分類任務的預訓練單詞向量的基礎上進行了訓練。實驗證明,幾乎沒有超參數調整和靜態矢量的簡單CNN在多個基準上均能實現出色的結果。
通過微調來學習針對特定任務的單詞向量可進一步提高性能。此外,我們還提出了對體系結構進行簡單的修改,以讓模型能同時使用針對特定任務的單詞向量和靜態向量。本文討論的CNN模型在7個任務中的4個上超過了現有的SOTA效果,其中包括情感分析和問題分類。
A convolutional neural network for modelling sentences[6]準確的句子表徵能力對於理解語言至關重要。本文提出了一種被稱為動態卷積神經網絡(Dynamic Convolutional Neural Network , DCNN)的卷積體系結構,用來對句子的語義建模。網絡使用一種線性序列上的全局池化操作,稱為動態k-Max池化。網絡處理長度可變的輸入句子,並通過句子來生成特徵圖, 該特徵圖能夠顯式捕獲句中的短期和長期關係。該網絡不依賴於語法分析樹,並且很容易適用於任何語言。
本文在四個實驗中測試了DCNN:小規模的二類和多類別情感預測,六向問題分類以及通過遠程監督的Twitter情感預測。相對於目前效果最好的基準工作,本文的網絡在前三個任務中標系出色的性能,並且在最後一個任務中將錯誤率減少了25%以上。
Distributed representations of sentences and documents[7]許多機器學習算法要求將輸入表示為固定長度的特徵向量。當涉及到文本時,詞袋模型是最常見的表示形式之一。儘管非常流行,但詞袋模型有兩個主要缺點:丟失了單詞的順序信息,並且也忽略了單詞的語義含義。例如在詞袋中,「powerful」,「strong」和「Paris」的距離相等(但根據語義含義,顯然「powerful」和」strong」的距離應該更近)。
因此在本文中,作者提出了一種無監督算法,用於學習句子和文本文檔的向量表示。該算法用一個密集矢量來表示每個文檔,經過訓練後該向量可以預測文檔中的單詞。它的構造使本文的算法可以克服單詞袋模型的缺點。實驗結果表明,本文的技術優於詞袋模型以及其他用於文本表示的技術。最後,本文在幾個文本分類和情感分析任務上獲得了SOTA效果。
2015Character-level convolutional networks for text classification[8]本文提出了通過字符級卷積網絡(ConvNets)進行文本分類的實證研究。本文構建了幾個大型數據集,以證明字符級卷積網絡可以達到SOTA結果或者得到具有競爭力的結果。可以與傳統模型(例如bag of words,n-grams 及其 TFIDF變體)以及深度學習模型(例如基於單詞的ConvNets和RNN)進行比較。
Improved semantic representations from tree-structured long short-term memory networks[9]由於具有較強的序列長期依賴保存能力,具有更複雜的計算單元的長短時記憶網絡(LSTM)在各種序列建模任務上都取得了出色的結果。然而,現有研究探索過的唯一底層LSTM結構是線性鏈。由於自然語言具有句法屬性, 因此可以自然地將單詞與短語結合起來。
本文提出了Tree-LSTM,它是LSTM在樹形拓撲網絡結構上的擴展。Tree-LSTM在下面兩個任務上的表現優於所有現有模型以及強大的LSTM基準方法:預測兩個句子的語義相關性(SemEval 2014,任務1)和情感分類(Stanford情感樹庫)。
Deep unordered composition rivals syntactic methods for text classification[10]現有的許多用於自然語言處理任務的深度學習模型都專注於學習不同輸入的語義合成性, 然而這需要許多昂貴的計算。本文提出了一個簡單的深度神經網絡,它在情感分析和事實類問題解答任務上可以媲美,並且在某些情況下甚至勝過此類模型,並且只需要少部分訓練事件。儘管本文的模型對語法並不敏感, 但通過加深網絡並使用一種新型的輟學變量,模型相較於以前的單詞袋模型上表現出顯著的改進。
此外,本文的模型在具有高句法差異的數據集上的表現要比句法模型更好。實驗表明,本文的模型與語法感知模型存在相似的錯誤,表明在本文所考慮的任務中,非線性轉換輸入比定製網絡以合併單詞順序和語法更重要。
Recurrent convolutional neural networks for text classification[11]文本分類是眾多NLP應用中的一項基本任務。傳統的文本分類器通常依賴於許多人工設計的特徵工程,例如字典,知識庫和特殊的樹形內核。與傳統方法相比,本文引入了循環卷積神經網絡來進行文本分類,而無需手工設計的特徵或方法。
在本文的模型中,當學習單詞表示時,本文應用遞歸結構來儘可能地捕獲上下文信息,相較於傳統的基於窗口的神經網絡,這種方法帶來的噪聲更少。本文還採用了一個最大池化層,該層可以自動判斷哪些單詞在文本分類中起關鍵作用,以捕獲文本中的關鍵組成部分。
本文在四個常用數據集進行了實驗, 實驗結果表明,本文所提出的模型在多個數據集上,特別是在文檔級數據集上,優於最新方法。
2016Long short-term memory-networks for machine reading[12]在本文中,作者解決了如何在處理結構化輸入時更好地呈現序列網絡的問題。本文提出了一種機器閱讀模擬器,該模擬器可以從左到右遞增地處理文本,並通過記憶和注意力進行淺層推理。閱讀器使用存儲網絡代替單個存儲單元來對LSTM結構進行擴展。這可以在神經注意力循環計算時啟用自適應內存使用,從而提供一種弱化token之間關係的方法。該系統最初設計為處理單個序列,但本文還將演示如何將其與編碼器-解碼器體系結構集成。在語言建模,情感分析和自然語言推理任務上的實驗表明,本文的模型與SOTA相媲美,甚至優於目前的SOTA。
Recurrent neural network for text classification with multi-task learning[13]基於神經網絡的方法已經在各種自然語言處理任務上取得了長足的進步。然而在以往的大多數工作中,都是基於有監督的單任務目標進行模型訓練,而這些目標通常會受訓練數據不足的困擾。在本文中,作者使用多任務學習框架來共同學習多個相關任務(相對於多個任務的訓練數據可以共享)。
本文提出了三種不同的基於遞歸神經網絡的信息共享機制,以針對特定任務和共享層對文本進行建模。整個網絡在這些任務上進行聯合訓練。在四個基準文本分類任務的實驗表明,模型在某一任務下的性能可以在其他任務的幫助下得到提升。
Hierarchical attention networks for document classification[14]本文提出了一種用於文檔分類的層次注意力網絡。該模型具有兩個鮮明的特徵:(1)具有分層模型結構,能反應對應層次的文檔結構;(2)它在單詞和句子級別上應用了兩個級別的注意機制,使它在構建文檔表徵時可以有區別地對待或多或少的重要內容。
在六個大型文本分類任務上進行的實驗表明,本文所提出的分層體系結構在很大程度上優於先前的方法。此外,注意力層的可視化說明該模型定性地選擇了富有主要信息的詞和句子。
2017Recurrent Attention Network on Memory for Aspect Sentiment Analysis[15]本文提出了一種基於神經網絡的新框架,以識別評論中意見目標的情緒。本文的框架採用多注意機制來捕獲相距較遠的情感特徵,因此對於不相關的信息魯棒性更高。多重注意力的結果與循環神經網絡(RNN)進行非線性組合,從而增強了模型在處理更多並發情況時的表達能力。加權內存機制不僅避免了工作量大的特徵工程工作,而且還為句子的不同意見目標提供了對應的記憶特徵。
在四個數據集上的實驗驗證了模型的優點:兩個來自SemEval2014,該數據集包含了例如餐館和筆記本電腦的評論信息; 一個Twitter數據集,用於測試其在社交媒體數據上的效果;以及一個中文新聞評論數據集,用於測試其語言敏感性。實驗結果表明,本文的模型在不同類型的數據上始終優於SOTA方法。
Interactive attention networks for aspect-level sentiment classification[16]方面級別(aspect-level)的情感分類旨在識別特定目標在其上下文中的情感極性。先前的方法已經意識到情感目標在情感分類中的重要性,並開發了各種方法,目的是通過生成特定於目標的表示來對上下文進行精確建模。但是,這些研究始終忽略了目標的單獨建模。
在本文中,作者認為目標和上下文都應受到特殊對待,需要通過交互式學習來學習它們自己的特徵表示。因此,作者提出了交互式注意力網絡(interactive attention networks , IAN),以交互方式學習上下文和目標中的注意力信息,並分別生成目標和上下文的特徵表示。通過這種設計,IAN模型可以很好地表示目標及其搭配上下文,這有助於情感分類。在SemEval 2014數據集上的實驗結果證明了本文模型的有效性。
Deep pyramid convolutional neural networks for text categorization[17]本文提出了一種用於文本分類的低複雜度的詞語級深度卷積神經網絡(CNN)架構,該架構可以有效地對文本中的遠程關聯進行建模。在以往的研究中,已經有多種複雜的深度神經網絡已經被用於該任務,當然前提是可獲得相對大量的訓練數據。然而隨著網絡的深入,相關的計算複雜性也會增加,這對網絡的實際應用提出了嚴峻的挑戰。
此外,最近的研究表明,即使在設置大量訓練數據的情況下,較淺的單詞級CNN也比諸如字符級CNN之類的深度網絡更準確,且速度更快。受這些發現的啟發,本文仔細研究了單詞級CNN的深度化以捕獲文本的整體表示,並找到了一種簡單的網絡體系結構,在該體系結構下,可以通過增加網絡深度來獲得最佳精度,且不會大量增加計算成本。相應的模型被稱為深度金字塔CNN(pyramid-CNN)。在情感分類和主題分類任務的六個基準數據集上,本文提出的具有15個權重層的模型優於先前的SOTA模型。
Bag of tricks for efficient text classification[18]本文探討了一種簡單有效的文本分類基準。實驗表明,本文的快速文本分類器fastText在準確性方面可以與深度學習分類器相提並論,而訓練和預測速度要快多個數量級。可以使用標準的多核CPU在不到十分鐘的時間內在超過十億個單詞的數據集上訓練fastText,並在一分鐘之內對屬於312K個類別的50萬個句子進行分類。
ok,不知不覺接近一萬字,為了方便大家精準討論,我們新建立了文本分類討論組,歡迎過來玩耍~ 如果下方二維碼過期或者人滿,可以添加微信『text_b』,手動邀請你呀
A Survey on Text Classification: From Shallow to Deep Learning,2020: https://arxiv.org/pdf/2008.00364.pdf
[2]Semi-supervised recursive autoencoders forpredicting sentiment distributions: https://www.aclweb.org/anthology/D11-1014/
[3]Semantic compositionality through recursive matrix-vector spaces: https://www.aclweb.org/anthology/D12-1110/
[4]Recursive deep models for semantic compositionality over a sentiment treebank: https://www.aclweb.org/anthology/D13-1170/
[5]Convolutional Neural Networks for Sentence Classification: https://www.aclweb.org/anthology/D14-1181.pdf
[6]A convolutional neural network for modelling sentences: https://doi.org/10.3115/v1/p14-1062
[7]Distributed representations of sentences and documents: http://proceedings.mlr.press/v32/le14.html
[8]Character-level convolutional networks for text classification: http://papers.nips.cc/paper/5782-character-level-convolutional-networks-for-text-classification
[9]Improved semantic representations from tree-structured long short-term memory networks: https://doi.org/10.3115/v1/p15-1150
[10]Deep unordered composition rivals syntactic methods for text classification: https://doi.org/10.3115/v1/p15-1162
[11]Recurrent convolutional neural networks for text classification: http://www.aaai.org/ocs/index.php/AAAI/AAAI15/paper/view/9745
[12]Long short-term memory-networks for machine reading: https://doi.org/10.18653/v1/d16-1053
[13]Recurrent neural network for text classification with multi-task learning: https://www.ijcai.org/Abstract/16/408
[14]Hierarchical attention networks for document classification: https://doi.org/10.18653/v1/n16-1174
[15]Recurrent Attention Network on Memory for Aspect Sentiment Analysis: https://www.aclweb.org/anthology/D17-1047/
[16]Interactive attention networks for aspect-level sentiment classification: https://www.ijcai.org/Proceedings/2017/568
[17]Deep pyramid convolutional neural networks for text categorization: https://doi.org/10.18653/v1/P17-1052
[18]Bag of tricks for efficient text classification: https://doi.org/10.18653/v1/e17-2068