【NLP】文本分类综述 (上)
NewBeeNLP公眾號原創出品? ??
公眾號專欄作者?@lucy
北航博士在讀 · 文本挖掘/事件抽取方向
本系列文章總結自然語言處理(NLP)中最基礎最常用的「文本分類」任務,主要包括以下幾大部分:
綜述(Surveys)
深度網絡方法(Deep Learning Models)
淺層網絡模型(Shallow Learning Models)
數據集(Datasets)
評估方式(Evaluation Metrics)
展望研究與挑戰(Future Research Challenges)
實用工具與資料(Tools and Repos)
Github地址:?https://github.com/xiaoqian19940510/text-classification-surveys
全文五萬字,分幾篇整理,后續會整理成PDF分享給大家,歡迎持續關注!
文本分類綜述
A Survey on Text Classification: From Shallow to Deep Learning,2020[1]
文本分類是自然語言處理中最基本,也是最重要的任務。由于深度學習的成功,在過去十年里該領域的相關研究激增。鑒于已有的文獻已經提出了許多方法,數據集和評估指標,因此更加需要對上述內容進行全面的總結。
本文通過回顧1961年至2020年的最新方法填補來這一空白,主要側重于從淺層學習模型到深度學習模型。我們首先根據方法所涉及的文本,以及用于特征提取和分類的模型,構建了一個對不同方法進行分類的規則。然后我們將詳細討論每一種類別的方法,涉及該方法相關預測技術的發展和基準數據集。
此外,本綜述還提供了不同方法之間的全面比較,并確定了各種評估指標的優缺點。最后,我們總結了該研究領域的關鍵影響因素,未來研究方向以及所面臨的挑戰。
深度學習模型
本部分按年份時間順序整理了文本分類任務相關的深度模型。
2011
Semi-supervised recursive autoencoders forpredicting sentiment distributions[2]
介紹了一種新穎地基于遞歸自動編碼器機器學習框架,用于句子級地情感標簽分布預測。該方法學習多詞短語的向量空間表示。在情感預測任務中,這些表示優于常規數據集(例如電影評論)上的其他最新方法,而無需使用任何預定義的情感詞典或極性轉換規則。
論文還將根據經驗項目上的效果來評估模型在新數據集上預測情緒分布的能力。數據集由帶有多個標簽的個人用戶故事組成,這些標簽匯總后形成捕獲情感反應的多項分布。與其他幾個具有競爭力的baseline相比,我們的算法可以更準確地預測此類標簽的分布。
2012
Semantic compositionality through recursive matrix-vector spaces[3]
基于單個詞的向量空間模型在學習詞匯信息方面非常成功。但是,它們無法捕獲較長短語的組成含義,從而阻止了它們更深入理解地理解語言。本文介紹了一種循環神經網絡(RNN)模型,該模型學習任意句法類型和長度的短語或句子的成分向量表示。
模型為解析樹中的每個節點分配一個向量和一個矩陣:其中向量捕獲成分的固有含義,而矩陣捕獲其如何改變相鄰單詞或短語的含義。該矩陣-向量RNN可以學習命題邏輯和自然語言中算子的含義。該模型在三種不同的實驗中均獲得了SOTA效果:預測副詞-形容詞對的細粒度情緒分布;對電影評論的情感標簽進行分類,并使用名詞之間的句法路徑對名詞之間的因果關系或主題消息等語義關系進行分類。
2013
Recursive deep models for semantic compositionality over a sentiment treebank[4]
盡管語義詞空間在語義表征方面效果很好,但卻不能從原理上表達較長短語的含義。在諸如情緒檢測等任務中的詞語組合性理解方向的改進需要更豐富的監督訓練和評估資源, 以及更強大的合成模型。
為了解決這個問題,我們引入了一個情感樹庫。它在11,855個句子的語法分析樹中包含215,154個短語的細粒度情感標簽,并在情感組成性方面提出了新挑戰。為了解決這些問題,我們引入了遞歸神經張量網絡。在新的樹庫上進行訓練后,該模型在多個評價指標上效果優于之前的所有方法。它使單句正/負分類的最新技術水平從80%上升到85.4%。預測所有短語的細粒度情感標簽的準確性達到80.7%,相較于基準工作提高了9.7%。此外,它也是是唯一一個可以在正面和負面短語的各個樹級別準確捕獲消極影響及其范圍的模型。
2014
Convolutional 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效果。
2015
Character-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應用中的一項基本任務。傳統的文本分類器通常依賴于許多人工設計的特征工程,例如字典,知識庫和特殊的樹形內核。與傳統方法相比,本文引入了循環卷積神經網絡來進行文本分類,而無需手工設計的特征或方法。
在本文的模型中,當學習單詞表示時,本文應用遞歸結構來盡可能地捕獲上下文信息,相較于傳統的基于窗口的神經網絡,這種方法帶來的噪聲更少。本文還采用了一個最大池化層,該層可以自動判斷哪些單詞在文本分類中起關鍵作用,以捕獲文本中的關鍵組成部分。
本文在四個常用數據集進行了實驗, 實驗結果表明,本文所提出的模型在多個數據集上,特別是在文檔級數據集上,優于最新方法。
2016
Long 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)它在單詞和句子級別上應用了兩個級別的注意機制,使它在構建文檔表征時可以有區別地對待或多或少的重要內容。
在六個大型文本分類任務上進行的實驗表明,本文所提出的分層體系結構在很大程度上優于先前的方法。此外,注意力層的可視化說明該模型定性地選擇了富有主要信息的詞和句子。
2017
Recurrent 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』,手動邀請你呀
下期預告
本文參考資料
[1]
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
-?END?-
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯 獲取本站知識星球優惠券,復制鏈接直接打開: https://t.zsxq.com/qFiUFMV 本站qq群704220115。加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【NLP】文本分类综述 (上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python基础】关于日期特征,你想知
- 下一篇: 【论文解读】腾讯FAT | 未来感知的多