杜思佳,于海寧,張宏莉
基于深度學習的文本分類研究進展
杜思佳,于海寧,張宏莉
(哈爾濱工業大學計算機科學與技術學院,黑龍江 哈爾濱 150001)
文本分類技術是自然語言處理領域的研究熱點,其主要應用于輿情檢測、新聞文本分類等領域。近年來,人工神經網絡技術在自然語言處理的許多任務中有著很好的表現,將神經網絡技術應用于文本分類取得了許多成果。在基于深度學習的文本分類領域,文本分類的數值化表示技術和基于深度學習的文本分類技術是兩個重要的研究方向。對目前文本表示的有關詞向量的重要技術和應用于文本分類的深度學習方法的實現原理和研究現狀進行了系統的分析和總結,并針對當前的技術發展,分析了文本分類方法的不足和發展趨勢。
文本分類;深度學習;人工神經網絡;詞向量
文本分類是對文本集按照一定的分類體系或標準進行自動分類標注的技術,主要應用于信息檢索、垃圾文本過濾、輿情檢測、情感分析等領域,一直是自然語言處理領域的研究熱點[1-2]。文本分類方法經歷了基于詞匹配、基于知識工程、基于統計和機器學習的發展歷程。近年來,深度學習在文本分類等自然語言處理任務中的研究和應用得到了學術界的廣泛關注,并且取得了一些重大的進展。以非結構化的字符數據為內容的自然語言文本,在進行下游的分類任務之前,要將其轉化為數值化表示的可計算的數據。因此,作為詞的分布式表示方法,詞向量的提出和發展對于文本分類任務的研究具有重要的意義。
目前,在基于深度學習的文本分類方法方面,有兩種側重的研究方向:一種專注于詞向量模型的研究,致力于訓練高質量的詞向量;另一種側重于文本分類方法即深度神經網絡分類模型的研究,其中比較有代表性的神經網絡結構為卷積神經網絡(CNN,convolutional neural network)和循環神經網絡(RNN,recurrent neural network)。本文從基于深度學習的詞向量訓練模型和文本分類算法的研究和發展,這兩個基于深度學習的文本分類的研究重點來介紹現在主流的文本分類方法,并對現有研究的不足進行分析。
詞向量是一種詞語的稠密向量化表示方法,其早期概念distributed representation由Hinton等[3]在1986年提出。在詞向量的分布式表示概念出現之前,獨熱編碼(one-hot encoding)是在自然語言處理中被廣泛采用的形式,one-hot編碼將詞語表示為詞表大小維度的長向量,其中只有一個維度的值為1,代表當前詞,其他維度均為0。one-hot編碼采用稀疏方式表示詞向量,表示簡單、易于理解,但存在很多問題。首先,在這種編碼下,任意兩個詞是孤立的,它們之間的相關性無法體現;其次,由于詞表的數量級,one-hot編碼的詞向量維度非常大,在解決某些任務時,可能會造成維數災難[4]。詞向量以稠密向量的方式表示詞語,首先,使向量維度相對one-hot編碼有了顯著降低,在一定程度上緩解了維數災難的問題;其次,實踐證明,經過訓練得到的較為優秀的詞向量,可以通過計算向量之間歐幾里得距離的簡單方式來衡量詞語之間的相似性,這說明,通過訓練的以稠密向量方式表示的詞向量在一定程度上代表了詞語所具有的潛在含義。


圖1 NNLM網絡結構
Figure 1 NNLM network structure
現在主流的基于神經網絡的詞向量訓練方法以大量無標注文本數據進行無監督學習得到詞向量。以神經網絡訓練詞向量模型影響最為深遠的是Bengio等[4]提出的神經網絡語言模型(NNLM,neural network language model),其網絡結構如圖1所示。NNLM基于-gram語言模型,使用3層神經網絡,以前?1個詞作為輸入預測第個詞。其神經網絡為線性網絡,隱藏層采用tanh為激活函數,輸出層以softmax為激活函數。這種詞向量訓練方法奠定了詞向量訓練的技術方向,之后的研究人員在詞向量訓練方法上的研究多以此為啟發。Collobert等[5]提出將詞向量用于解決自然語言處理中詞性標注、命名實體識別等各項任務的思想,并對此做了多項系統工作,發表了其開源系統SENNA。同時,在詞向量訓練方面,以中心詞及其上下文作為輸入,輸出中心詞與上下文關聯程度的得分。Mnih等[6]提出了log雙線性語言模型(LBL,log-bilinear language model),后來在此基礎上又將層級的思想引入詞向量訓練,提出層級softmax函數,在保證效果的前提下大大提升了訓練速度[7-8],在2013年采用向量點積結構提出了基于向量的逆語言模型(ivLBL)[9]。Mikolov等[10-11]將循環神經網絡引入詞向量訓練,循環神經網絡由于其時序特點,可以充分利用上下文信息來預測下一個詞,但其主要思想依舊依托于-gram語言模型。針對詞向量的訓練,研究人員還進行了更多的探索。但是,其主要思想大同小異,大多從Bengio等提出的NNLM出發,以上下文預測為主要思想,在神經網絡模型的選擇和具體實現、語言模型的訓練速度等方面進行創新和改進。
自然語言處理領域最為常用的詞向量訓練方法是2013年Google Mikolov提出的Word2vec及其發布的相應工具包[10]。Word2vec有兩種可供選擇的語言模型(CBOW和Skip-gram),并且提供了兩種有效提高訓練速度的優化方法:層次softmax(hierarchical softmax)和負采樣(negative sampling)技術。Word2vec在之前研究者的基礎上,簡化模型,取其精華,得到現有模型,其在百萬數量級的詞表和語料中均能進行高效的訓練,且獲取的詞向量能夠較為精確地衡量詞與詞之間的相似性。CBOW的主要思想是以一個詞的上下文作為輸入,預測當前詞出現的概率;而Skip-gram相反,它以這個詞作為輸入,預測其上下文。兩種方法均可自定義上下文的窗口大小。層次softmax是以哈夫曼樹代替神經網絡從隱藏層到softmax層的映射,這樣可以有效提高模型訓練速度。負采樣技術在詞向量訓練中引入了負例,而其優化目標為最大化正樣本的似然,同時最小化負樣本的似然。另一個常用的詞嵌入工具是由斯坦福NLP團隊發布的Glove[12],它是一個基于全局詞頻統計的詞表征工具。Glove模型融合了傳統機器學習的全局詞-文本矩陣分解方法和以Word2vec為代表的局部文本框捕捉方法,在有效利用詞的全局統計信息的同時,有效捕捉其上下文信息。Facebook發布的工具——Fast Text中也有詞向量訓練的部分,其基本模型與Word2vec一致,不同之處在于,FastText的詞向量訓練在輸入層位置提供了字符級別的-gram,如單詞為where,=3時,其-gram為
前面所介紹的詞向量模型,包括被廣泛使用的Word2vec、Glove等,其生成的詞向量均存在一個問題:在利用這些詞向量對詞語進行編碼的時候,一個詞只對應一個詞向量,即無法解決詞的多義性問題。為解決這個問題,ELMo提供了一種解決方案[14],實驗結果表明,ELMo在分類任務、閱讀理解等6個NLP任務中性能有不同幅度的提升,最高的提升達到24.9%。ELMo是一種新型深度語境化詞表征,其主要思想是:事先訓練好一個完整的語言模型,然后在實際使用時根據特定上下文單詞的語義調整詞向量。因此ELMo模型對同一個詞在不同的上下文環境中能夠生成不同的詞向量。預訓練過程中,ELMo的語言模型任務是以詞的上下文預測這個詞,其網絡結構采用雙向LSTM,其中,正向LSTM編碼器輸入為正序的詞的上文,逆向LSTM編碼器輸入為逆序的詞的下文。在Fine-Tuning階段,一般先用下游任務的語料對預訓練的模型進行再訓練,對詞向量進行調整,再將其應用于分類任務。對于輸入句子中的每個單詞,均能得到疊加的3個向量,即第一層單詞的詞向量和雙向LSTM中單詞對應位置的向量,其中每一個詞向量都學到了不同的語義信息。在下游任務中,以一定的權重將3個詞向量累加求和得到對應單詞的詞向量,其中權重可通過學習得到,然后將此詞向量作為下游分類任務的網絡結構中對應單詞的詞向量輸入。OpenAI在2018年提出的GPT模型[15]是先進行語言模型預訓練,再在Fine-Tuning模式解決下游任務的兩階段模型。其與ELMo模型不同之處在于,首先,GPT模型的下游任務不再是自己設計的網絡結構,而要將其改造成和GPT一樣的網絡結構,即Fine-Tuning的思想;其次,在特征抽取器的選擇上,GPT采用了Google團隊2017年提出的Transformer模型[16],Transformer模型是采用疊加的自注意力(self-Attention)機制構成的深度網絡,擁有很強的特征提取能力。此外,不同于ELMo以上下文預測單詞的思想,GPT采用單向的語言模型,僅以詞的上文來進行預測。同年,Google發布的語言模型預訓練方法Bert[17]在11個各種類型的NLP任務中都達到了目前最好的效果。Bert模型采用和GPT相同的兩階段模型,主要不同之處在于Bert采用了雙向語言模型,并且語言模型的數據規模比GPT更大。另外,在訓練方法上,提出了兩個新的目標任務:遮擋語言模型(MLM,masked language model)和預測下一個句子(next sentence prediction)的任務。
在應對多義詞問題上,Facebook在其發布的開源詞向量及文本分類工具FastText中采用的詞級別的-gram方法值得關注[18]。由于其分類方法采用句子的詞向量均值作為輸入,以簡單線性分類器作為分類器,為了在輸入中保留句子的上下文序列信息,FastText利用了詞級別的-gram進行詞向量表征,這與前文提到的FastText詞向量訓練中字符級別的-gram有所不同。具體來說,若=2,詞序列為a,b,c,則其-gram為
在中文詞向量方面,比較常用的方式是先對文章進行分詞,然后進行詞向量訓練。除了上述的一些詞向量訓練方法,由于中文的特殊性,研究者在針對中文的詞向量訓練上也進行了一些研究。Cao等[19]以FastText的-gram的詞向量訓練為啟發,提出了基于筆畫信息的-gram,稱之為cw2vec模型。Li等[20]和Sun等[21]將中文字的部首信息融入詞向量的生成過程中。Chen等[22]將組成詞語的字抽取出來和詞語一起進行訓練,提升了詞向量生成的質量。Yu等[23]提出了漢字、字符和細粒度子字符的聯合嵌入方法。在中文的詞向量訓練上的探索很多是在字符或更細粒度的漢字形態學上的語義特征提取,如部首、筆畫等及其結合。在詞向量和文本表示中結合語言學的一些特征,可以有效提升訓練效率和訓練效果,如Rei等[24]結合句子、詞等不同粒度的監督目標,進行更好的語言表達訓練。
詞向量作為一種詞的數值化表示方法,對于文本的數值化表示具有重要意義。一方面,一些文本表示方法,如詞袋模型等,需要依賴于詞向量訓練結果;另一方面,一些文本表示方法,如doc2vec等,其基本思想來源于基本的詞向量訓練原理。現有對于文本表示方法的研究,主要集中于基于大型訓練數據集的復雜網絡、基于語言學模型和規律等方面,并取得了很多有意義的研究進展。語言的復雜語義表示依然是具有挑戰性的研究方向,現有研究還具有很多不足之處。例如,Bert等大型復雜網絡依賴于大量的訓練數據和強有力的硬件和訓練時長要求;Word2vec等常用的詞向量訓練模型在多義詞的語義表示上有所欠缺;FastText等訓練模型僅集中于文本分類任務,可擴展性不強。

Kim等[27]將CNN引入文本分類任務中,一般稱之為TextCNN,其網絡結構如圖2所示。文獻[27]中所用模型包括詞向量層、卷積層、最大池化層、全連接層和softmax層共5層。模型輸入為詞向量組成的二維矩陣,一行代表一個詞的詞向量,卷積層采用寬度與詞向量維度一致的卷積核,以詞為最小粒度提取特征,高度可自定義,這在一定程度上考慮了詞序和上下文信息。池化層采用Max-over-time池化來提取最大特征,最后接全連接層和softmax層進行分類操作。在卷積神經網絡中有許多超參數要選擇,其中包括:文本輸入,如Word2vec、Glove、one-hot等;卷積核的數量、大小和類型,卷積移動的步長;池化策略,如-max池化、Average池化等;激活函數的選擇,如ReLu、tanh等。因此,Zhang等[28]針對文獻[27]基于CNN的文本分類模型在不同的超參數設置下進行了各種對比實驗,并給出了調參的建議和一些超參數的設置經驗。

圖2 TextCNN結構
Figure 2 TextCNN structure


除了在網絡模型和深度等方面的研究和改進,還有針對文本輸入的表現形式和訓練狀態的研究。在文本表現形式上,主要有不同方式的詞向量表示,如one-hot或稠密詞向量表示;不同的詞向量訓練方式得到的詞向量,如隨機初始化、第2節介紹的詞向量訓練方法得到的詞向量等。在訓練狀態上,最常用的兩種方法是固定不變的詞向量表示和在訓練同時對詞向量矩陣進行優化的fine-tuning方式。Kim等[27]以不同的詞向量輸入以及訓練過程中不同的詞向量處理來進行對比實驗;Zhang等[32]將字符級的文本當作原始輸入來進行網絡訓練[33];Johnson等[34]不以詞向量作為網絡輸入,而是直接以one-hot表示輸入網絡進行卷積操作,還提出了一種空間高效的用于輸入數據的單詞表示法;Johnson等[35]以無監督的詞向量訓練過程為啟發,提出了一種半監督的文本分類框架,具體來說,先用CNN從未標記數據中學習小文本區域的向量表示(tv-embedding),然后將其集成到后續的有監督訓練網絡中。另外,對于訓練數據集中的噪聲數據,Jindal等[36]引入了噪聲模型和CNN一起訓練以防止模型對噪聲數據過擬合。
另外,由于文本表示形式的不同,一些研究將圖卷積網絡(GCN,graph convolutional network)[37]引入文本分類任務(Text GCN,text graph convolutional network)。圖卷積網絡是一種多層神經網絡,直接在圖上運行,根據節點的領域屬性來訓練節點的向量表示。Text GCN在圖結構數據上運行,研究工作主要在于圖構造方法的不同(如節點定義、邊權重定義等)以及上層卷積網絡的不同。Kipf等[37]、Henaff等[38]、Defferrard等[39]、Peng等[40]、Yao等[41]均在基于圖卷積網絡的文本分類算法上有所研究和探索。
卷積神經網絡通過卷積核提取文本的-gram特征,通過池化層進行特征選擇,通過加深網絡深度捕捉文本的長距離依賴關系。圖3總結了上文所列舉的一些在文本分類任務中的CNN結構設計和常用的超參數調節手段。在卷積神經網絡的網絡參數選擇和調整,其網絡結構的優化,以及網絡訓練和運行速度的優化上,研究人員進行了許多探索和研究,其中,很多研究成果對文本分類的工程實踐和學術研究具有很大的借鑒和啟發意義。


圖3 文本分類中CNN超參數總結
Figure 3 The summary of CNN super parameter in text classification

圖4 RNN結構
Figure 4 RNN structure
當輸入序列比較長時,簡單的循環神經網絡存在梯度爆炸和梯度消失問題,雖然簡單循環神經網絡理論上可以建立長時間的文本依賴關系,但是由于梯度爆炸和梯度消失,實際上只能學習到短期的依賴關系,因此這個問題也被稱為長期依賴問題[43-45]。對于梯度爆炸問題,深度學習中一般采用權重衰減或梯度截斷來避免。而對于梯度消失問題,優化模型是更有效的方式。其中,基于門控機制的循環神經網絡是一種非常好的解決方案,其主要思想是有選擇地遺忘以前的信息,有選擇地加入新的信息。長短期記憶(LSTM,long short-term memory)網絡[44,46]和門控循環單元(GRU,gated recurrent unit)網絡[42,47]是兩個經典的基于門控機制的循環神經網絡。其中,標準的LSTM以遺忘門、輸入門和輸出門3個門來控制信息的遺忘和保存;GRU簡化了LSTM的網絡結構,將LSTM的輸入門與遺忘門合并成一個單一的更新門,GRU和LSTM在許多任務上性能相似,但GRU結構上簡化許多。
在一些任務中,為了同時獲取文本的反向依賴關系,可以使用雙向循環神經網絡(Bi-RNN,bidirectional recurrent neural network)。Bi-RNN由兩層循環神經網絡組成,其中一層按時間順序傳遞,另一層按時間逆序傳遞,它可以同時獲取文本的上下文依賴。LSTM和GRU均有其對應的雙向循環神經網絡結構。文本循環神經網絡(text RNN)模型的結構就是利用雙向LSTM建模,使用最后一個單元輸出向量作為文本特征連接softmax層分類。
RNN在網絡結構上產生了許多變體,如為解決梯度消失問題而提出的LSTM、GRU等基于門控機制的循環神經網絡結構,為能夠同時獲取文本序列上下文依賴而提出的Bi-RNN。在文本分類任務上,RNN主要進行文本的特征提取而獲得固定長度的文本表示,一般有以下幾種策略:直接使用RNN最后一個單元輸出向量作為文本特征;使用Bi-RNN兩個方向的輸出向量的連接或者均值作為文本特征。這兩種策略受限于最后單元輸出向量的文本表示,即使使用了門控機制的循環神經網絡,在長文本序列下,梯度消失問題依舊存在。一種解決方案是將所有RNN單元的輸出向量的均值池化或者最大池化作為文本特征;另一種有效的解決方案是注意力機制(attention mechanism)。


圖5 HAN結構
Figure 5 HAN structure
在不同的文本表示形式下,相對于圖結構,遞歸神經網絡(RecNN,recursive neural network)[52]是RNN在有向無循環圖上的擴展,一般為樹狀的層次結構。Socher等[53]將遞歸神經網絡用于文本分類任務。Tai等[54]將樹結構下的LSTM用于文本分類。
基于循環神經網絡的文本分類方法,一般通過RNN進行文本特征提取和文本向量化表示,再用softmax層進行分類。RNN以其結構上建立的對上一時刻的網絡狀態的依賴來獲取文本上下文間的依賴關系,因此非常適用于具有時序性的語料。為了解決長時依賴問題,LSTM和GRU等基于門控機制的循環神經網絡以及適用于RNN的Attention機制被提出,其中,加上Attention機制的RNN模型能夠取得更好的效果,而transformer模型中只采用了精心設計的Attention機制,而沒有了RNN的結構。雙向循環神經網絡解決了單向RNN只能獲取單向文本依賴的問題。在RNN結構中,seq2seq的網絡結構和Attention模型的提出具有里程碑式的意義,極大地促進了深度學習在自然語言處理領域的發展。但是,相對于CNN,RNN結構的數學理論依據較為薄弱,其更傾向于在語言學上的理解,這也在一定程度上限制了對其更為深入的研究。
卷積神經網絡和循環神經網絡是在文本分類中最常用的兩種網絡結構。在基于卷積神經網絡的文本分類方面,一般采用寬度與詞向量維度一致的卷積核進行特征提取,以池化層進行特征選擇,通過加深網絡深度捕捉文本的長距離依賴,并通過softmax層進行分類。在基于循環神經網絡的文本分類方面,一般基于seq2seq中的編碼器結構進行文本特征提取,將其表示為固定長度的文本特征向量,再輸入softmax層進行分類。為了進行更好的文本特征提取以利于分類,基于門控機制的RNN、雙向RNN和Attention機制是有效的解決方案。卷積神經網絡和循環神經網絡各有其優缺點,一些工作將CNN和RNN相結合用于文本分類。Lai等提出的RCNN(recurrent convolutional neural networks)模型[55]利用雙向RNN獲取單詞的上文特征表示和下文特征表示,將其與這個詞本身的詞向量連接經過一個線性層來代替CNN中的卷積核特征提取部分,并將其輸入最大池化層和softmax層進行分類。Zhou等[56]提出的C-LSTM網絡先使用卷積層進行特征提取,將同一位置不同卷積核的特征提取結果合在一起,作為這個詞的特征向量表示,將其輸入LSTM網絡進行分類。Tang等[57]提出了一種具有層次結構的文本分類結構,先用LSTM或者CNN對生成句子表示,用一種基于門控的RNN網絡進行特征提取生成文檔向量,再輸入softmax進行分類。Xu等[58]提出了一種多通道RNN模型(MC-RNN),進行動態捕獲動態語義結構信息。
通過RNN或CNN進行文本分類,可以達到比較好的效果,但是也存在訓練時間長、超參數調整麻煩等問題。針對這些問題,一些基于簡單模型的文本分類方法被提出。DAN[59]以文本中每個詞的詞向量的求和平均作為神經網絡輸入,疊加幾個線性的隱藏層,再輸入softmax層分類。DAN還提出了一種word dropout策略,即在求詞向量的平均值之前,隨機使文本中某些詞失效。Facebook發布的FastText快速文本分類工具[18]也采用以文本的詞向量均值作softmax進行分類的策略,但FastText以所有的詞及其詞級別的-gram向量共同的疊加平均作為文檔向量。并且,在分類類別較多時,可采用層次softmax提高訓練速度。FastText在大型訓練集下的分類效果與基于CNN和RNN的分類模型相差無幾,但大大縮短了訓練時間。Adhikari等[60]提出簡單的Bi-Lstm模型通過正則等參數設置也能達到良好的文本分類效果。
詞向量作為文本在詞粒度上的數值化表示形式,其研究和發展對文本分類算法的發展具有重要意義。詞向量的發展經歷了從獨熱編碼到稠密化分布式向量表示的發展歷程,分布式詞向量一般是語言模型訓練過程中的產物,可以通過歐幾里得距離衡量詞語之間的相似性,大大緩解了維度災難的問題。目前常用于詞向量訓練的語言模型為CBOW和Skip-gram,其基本思想均基于上下文預測,但是這種方法獲得的詞向量無法表示多義詞語義。為解決單一詞向量無法表示多義詞的問題,ELMo、GPT、Bert等更為復雜的模型被提出,但其訓練時間長、硬件要求高且對后續的自然語言處理任務進行有一定的流程要求,易用性不高,不能像CBOW和Skip-gram模型得到的詞向量一樣隨取隨用。在中文詞向量上,研究者在漢字形態學上的語義提取有所研究。現有對于詞向量的研究大多基于上下文預測,結合語言學的相關知識,在特征工程、模型結構、訓練方式等方面進行研究。現有研究的不足在于:第一,對于詞向量質量尚未有較為完善的統一的衡量標準;第二,對詞的多語義數值化表示的研究仍處于起步階段,現有研究成果對于訓練成本和訓練質量難以兩全,或者比較專注于一項自然語言處理任務或某一領域,缺少可擴展性;第三,所獲的語言數值化表示對于后續自然語言處理任務的易用性。文本和語言的數值化表示是一切自然語言處理任務的基礎,而詞向量的豐富語義表示主要依賴于兩點:多義詞語言信息的數值化表示和訓練方法;高質量的大型訓練數據集。基于這兩點,在詞向量訓練模型中,詞向量抽取方式、詞向量的連續性學習等方面是重要的研究方向。
現有的基于深度學習的文本分類算法,其基本過程是利用RNN或CNN等網絡進行文本特征提取和文本的向量化表示,然后輸入softmax層進行文本分類。卷積神經網絡和循環神經網絡是兩個常用于文本分類算法的網絡結構。卷積神經網絡以點積相似性為數學基礎,提取與卷積核相似度較高的文本特征,多卷積核保證了特征提取的多樣性,以池化層進行特征選擇和降維、防止過擬合,研究發現加深CNN深度可以提取到文本的長距離關聯。對于基于卷積神經網絡的文本分類算法,研究者在詞向量表示,卷積核數量、大小、步長,池化策略,激活函數選擇,網絡深度等方面有很多有意義的探索和研究成果。循環神經網絡以編碼器結構為基本的文本特征提取結構,非常適用于序列化的文本數據。為解決簡單循環神經網絡的長時依賴問題,LSTM和GRU等基于門控機制的循環神經網絡被提出;針對同時獲取詞的上下文依賴,Bi-RNN是不錯的解決方案,LSTM和GRU都有其對應的雙向結構;Attention機制是另一有效解決長時依賴問題的方案,基于Attention機制的RNN已成為主流。很多研究者將RNN與CNN相結合用于文本分類,也取得了不錯的結果。基于CNN和RNN的文本分類算法,在大型文本數據訓練集下有很長的訓練時間,有些還需要依賴于強大的計算機硬件。DAN和FastText等簡單網絡分類算法被提出,且在一些大型的數據集上取得了不錯的效果,大大縮短了訓練時間。對于深度學習文本分類算法的研究,主要集中在特征工程、網絡模型設計、結合語言學特征的訓練方法等方面。總體上呈現出兩種方向的思想:通過加深網絡和設計更復雜的網絡結構來實現豐富的語義表達和獲取長距離語義間的關聯信息;通過簡單的網絡結構和大量的數據集訓練減少訓練成本,但依舊能保持不錯的訓練效果。
文本分類算法一直是自然語言處理的一個重要研究方向,時至今日,研究者已經提出了許多影響深遠的文本分類方法,這些方法有些已經投入工業應用中,有些對后續的研究有很大的啟發意義。未來,仍有很多問題需要進一步的研究和探索,以在算法的準確率、訓練和運行效率等方面取得更好的效果。在基于深度學習的文本分類算法方面的研究和探索主要體現在以下幾個方面。
1) 對詞向量來說,有效和統一的詞向量質量衡量標準,以及高質量的中文詞向量公開數據集,對于后續文本分類等自然語言處理任務的進行起到了很大的作用;使用詞向量公開數據集也更便于對文本分類算法等神經網絡模型的有效性進行更客觀的模型對比和評價。
2) 在詞向量訓練方面,更為高效地考慮多義詞情景下的詞向量訓練和表示方法,以及相對Bert等需要將分類網絡整合進預訓練網絡結構進行后續任務來說,自由度更大的詞向量取用方式,也是一個有意義的研究方向。另外,因為詞語義的多樣性,詞向量的可持續學習也是一個重要的研究方向。
3) 在基于深度神經網絡的文本分類算法方面,對不同文本分類網絡結構的探索和研究仍是研究熱點。一方面,研究者將已提出的神經網絡模型和機制,如RNN、CNN、Attention機制、不同的RNN和CNN變體等進行基于一定理論基礎的有機結合,組成新的網絡結構進行實驗和研究。例如,由于Attention機制取得的巨大成功,且CNN在文本分類上也取得了不錯的效果,將Attention機制與CNN相結合,是目前的一個不錯的研究方向。另一方面,一些研究者專注于網絡結構本身,通過創新、理論研究和公式推算,提出新的網絡結構,如CNN、LSTM、GRU、Attention機制等的初次提出,這些新的思想和探索對于深度學習的發展具有很大的啟發意義,如新的Attention權重計算方法、新的特征提取網絡結構等都是現在的研究熱點。目前,對于很多神經網絡結構的理論基礎依舊較為薄弱,這也是具有創新性的網絡模型結構難以提出及發展緩慢的重要原因。
4) 對于深度神經網絡的訓練成本消耗問題,以及神經網絡訓練過程中梯度消失等問題的解決方案也是一個重要的研究方向。由于深度學習技術立足于大數據,在一些研究和訓練任務中,需要大量的CPU和GPU資源,耗費很長的訓練時間,此時,有效的優化手段可以節省大量的訓練成本消耗,加快訓練速度。在一些網絡深度較大或計算比較復雜的神經網絡結構中,可能會出現梯度消失、梯度爆炸等問題。對這些問題,需要研究者深入分析原因,找到其弊端所在,提出新的解決方案。
本文主要從詞向量的發展和研究現狀、基于深度學習的文本分類方法的發展和研究現狀兩方面介紹了在深度學習算法高度發展的背景下,人們將其應用于文本分類領域的思考和研究。近年來,在文本的表示方法和文本分類方法領域,有許多具有重要意義的研究成果,如Attention機制、FastText、Bert等網絡模型的提出。但是,深度學習在自然語言處理領域的研究才剛剛起步,其長足發展還需依賴于研究者對語言學、神經網絡等方面深入的研究和結合。
[1] 于游, 付鈺, 吳曉平. 中文文本分類方法綜述[J]. 網絡與信息安全學報, 2019, 5(5): 1-8.
YU Y, FU Y, WU X P. Summary of text classification methods[J]. Chinese Journal of Network and Information Security, 2019, 5(5): 1-8.
[2] 明拓思宇, 陳鴻昶. 文本摘要研究進展與趨勢[J]. 網絡與信息安全學報, 2018, 4(6): 1-10.
MING T S Y, CHEN H C. Research progress and trend of text summarization[J]. Chinese Journal of Network and Information Security, 2018, 4(6): 1-10.
[3] HINTON G E. Learning distributed representations of concepts[C]//Proceedings of the Eighth Annual Conference of the Cognitive Science Society. 1986: 12.
[4] BENGIO Y, DUCHARME R, VINCENT P, et al. A neural probabilistic language model[J]. Journal of Machine Learning Research, 2003, 3(2): 1137-1155.
[5] COLLOBERT R, WESTON J, BOTTOU L, et al. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12(8): 2493-2537.
[6] MNIH A, HINTON G. Three new graphical models for statistical language modelling[C]//Proceedings of the 24th International Conference on Machine Learning. 2007: 641-648.
[7] MNIH A, HINTON G E. A scalable hierarchical distributed language model[C]//Advances in Neural Information Processing Systems. 2009: 1081-1088.
[8] TOMá? M. Statistical language models based on neural networks[D]. Brno: Brno University of Technology, 2012.
[9] MIKOLOV T, CHEN K, CORRADO G, et al. Estimation of word representations in vector space[C]//International Conference on Learning Representations. 2013.
[10] MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[C]//Advances in Neural Information Processing Systems. 2013: 3111-3119.
[11] MNIH A, KAVUKCUOGLU K. Learning word embeddings efficiently with noise-contrastive estimation[C]//Advances in Neural Information Processing Systems. 2013: 2265-2273.
[12] PENNINGTON J, SOCHER R, MANNING C. Glove: global vectors for word representation[C]//Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2014: 1532-1543.
[13] BOJANOWSKI P, GRAVE E, JOULIN A, et al. Enriching word vectors with subword information[J]. Transactions of the Association for Computational Linguistics, 2017, 5: 135-146.
[14] PETERS M E, NEUMANN M, IYYER M, et al. Deep contextualized word representations[J]. arXiv preprint arXiv:1802.05365, 2018.
[15] RADFORD A, NARASIMHAN K, SALIMANS T, et al. Improving language understanding by generative pre-training[R]. 2018.
[16] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[C]//Advances in Neural Information Processing Systems. 2017: 5998-6008.
[17] DEVLIN J, CHANG M W, LEE K, et al. Bert: pre-training of deep bidirectional transformers for language understanding[J]. arXiv preprint arXiv:1810.04805, 2018.
[18] JOULIN A, GRAVE E, BOJANOWSKI P, et al. Bag of tricks for efficient text classification[J]. arXiv preprint arXiv:1607.01759, 2016.
[19] CAO S, LU W, ZHOU J, et al. cw2vec: learning chinese word embeddings with stroke n-gram information[C]//Thirty-Second AAAI Conference on Artificial Intelligence. 2018.
[20] LI Y, LI W, SUN F, et al. Component-enhanced Chinese character embeddings[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. 2015: 829-834.
[21] SUN Y, LIN L, YANG N, et al. Radical-enhanced chinese character embedding[C]//International Conference on Neural Information Processing. Springer, Cham, 2014: 279-286.
[22] CHEN X, XU L, LIU Z, et al. Joint learning of character and word embeddings[C]//Twenty-Fourth International Joint Conference on Artificial Intelligence. 2015.
[23] YU J, JIAN X, XIN H, et al. Joint embeddings of chinese words, characters, and fine-grained subcharacter components[C]//Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing. 2017: 286-291.
[24] REI M, S?GAARD A. Jointly learning to label sentences and tokens[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2019, 33: 6916-6923.
[25] LECUN Y, BOSER B, DENKER J S, et al. Backpropagation applied to handwritten zip code recognition[J]. Neural Computation, 1989, 1(4): 541-551.
[26] HU B, LU Z, LI H, et al. Convolutional neural network architectures for matching natural language sentences[C]//Advances in Neural Information Processing Systems. 2014: 2042-2050.
[27] KIM Y. Convolutional neural networks for sentence classification[C]//Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2014: 1746-1751.
[28] ZHANG Y, WALLACE B. A sensitivity analysis of (and practitioners' guide to) convolutional neural networks for sentence classification[J]. arXiv preprint arXiv:1510.03820, 2015.
[29] WANG P, XU J, XU B, et al. Semantic clustering and convolutional neural network for short text categorization[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. 2015: 352-357.
[30] KALCHBRENNER N, GREFENSTETTE E, BLUNSOM P. A convolutional neural network for modelling sentences[J]. arXiv preprint arXiv:1404.2188, 2014.
[31] CONNEAU A, SCHWENK H, BARRAULT L, et al. Very deep convolutional networks for text classification[J]. arXiv preprint arXiv:1606.01781, 2016.
[32] JOHNSON R, ZHANG T. Deep pyramid convolutional neural networks for text categorization[C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2017: 562-570.
[33] ZHANG X, ZHAO J, LECUN Y. Character-level convolutional networks for text classification[C]//Advances in Neural Information Processing Systems. 2015: 649-657.
[34] JOHNSON R, ZHANG T. Effective use of word order for text categorization with convolutional neural networks[J]. arXiv preprint arXiv:1412.1058, 2014.
[35] JOHNSON R, ZHANG T. Semi-supervised convolutional neural networks for text categorization via region embedding[C]//Advances in Neural Information Processing Systems. 2015: 919-927.
[36] JINDAL I, PRESSEL D, LESTER B, et al. An effective label noise model for dnn text classification[J]. arXiv preprint arXiv:1903. 07507, 2019.
[37] KIPF T N, WELLING M. Semi-supervised classification with graph convolutional networks[J]. arXiv preprint arXiv:1609.02907, 2016.
[38] HENAFF M, BRUNA J, LE CUN Y. Deep convolutional networks on graph-structured data[J]. arXiv preprint arXiv:1506.05163, 2015.
[39] DEFFERRARD M, BRESSON X, VANDERGHEYNST P. Convolutional neural networks on graphs with fast localized spectral filtering[C]//Advances in Neural Information Processing Systems. 2016: 3844-3852.
[40] PENG H, LI J, HE Y, et al. Large-scale hierarchical text classification with recursively regularized deep graph-CNN[C]//Proceedings of the 2018 World Wide Web Conference. 2018: 1063-1072.
[41] YAO L, MAO C, LUO Y. Graph convolutional networks for text classification[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2019, 33: 7370-7377.
[42] CHO K , VAN MERRIENBOER B , GULCEHRE C , et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. Computer Science, 2014.
[43] BENGIO Y, SIMARD P, FRASCONI P. Learning long-term dependencies with gradient descent is difficult[J]. IEEE Transactions on Neural Networks, 1994, 5(2):157-166.
[44] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780.
[45] HOCHREITER S, BENGIO Y, FRASCONI P, et al. Gradient flow in recurrent nets: the difficulty of learning long-term dependencies[M]//A Field Guide to Dynamical Recurrent Networks, 2001: 237-243.
[46] GERS F A, SCHMIDHUBER J, CUMMINS F. Learning to forget: continual prediction with LSTM[C]//International Conference on Artificial Neural Networks. 2002.
[47] CHUNG J, GULCEHRE C, CHO K, et al. Empirical evaluation of gated recurrent neural networks on sequence modeling[J]. arXiv preprint arXiv:1412.3555, 2014.
[48] MNIH V, HEESS N , GRAVES A , et al. Recurrent models of visual Attention[C]//Advances in Neural Information Processing Systems. 2014.
[49] BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate[J]. arXiv preprint arXiv:1409.0473, 2014.
[50] LUONG M T, PHAM H, MANNING C D. Effective approaches to attention-based neural machine translation[J]. arXiv preprint arXiv:1508.04025, 2015.
[51] YANG Z, YANG D, DYER C, et al. Hierarchical attention networks for document classification[C]//Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2016: 1480-1489.
[52] POLLACK J B. Recursive distributed representations[J]. Artificial Intelligence, 1990, 46(1):77-105.
[53] SOCHER R, PERELYGIN A, WU J Y, et al. Recursive deep models for semantic compositionality over a sentiment Treebank[C]// Proc. EMNLP. 2013.
[54] TAI K S, SOCHER R, MANNING C D. Improved semantic representations from tree-structured long short-term memory networks[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. 2015: 1556-1566.
[55] LAI S, XU L, LIU K, et al. Recurrent convolutional neural networks for text classification[C]//Twenty-ninth AAAI Conference on Artificial Intelligence. 2015.
[56] ZHOU C, SUN C, LIU Z, et al. A C-LSTM neural network for text classification[J]. arXiv preprint arXiv:1511.08630, 2015.
[57] TANG D, QIN B, LIU T. Document modeling with gated recurrent neural network for sentiment classification[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. 2015: 1422-1432.
[58] XU C, HUANG W, WANG H, et al. Modeling local dependence in natural language with multi-channel recurrent neural networks[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2019, 33: 5525-5532.
[59] IYYER M, MANJUNATHA V, BOYD-GRABER J, et al. Deep unordered composition rivals syntactic methods for text classification[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. 2015, 1: 1681-1691.
[60] ADHIKARI A, RAM A, TANG R, et al. Rethinking complex neural network architectures for document classification[C]//Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2019: 4046-4051.
Survey of text classification methods based on deep learning
DU Sijia, YU Haining, ZHANG Hongli
School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China
Text classification is a research hot spot in the field of natural language processing, which is mainly used in public opinion detection, news classification and other fields. In recent years, artificial neural networks has good performance in many tasks of natural language processing, the application of neural network technology to text classification has also made many achievements. In the field of text classification based on deep learning, numerical representation of text and deep-learning-based text classification are two main research directions. The important technology of word embedding in text representation and the implementation principle and research status of deep learning method applied in text classification were systematically analyzed and summarized. And the shortcomings and the development trend of text classification methods in view of the current technology development were analyzed.
text classification, deep learning, artificial neural network, word embedding
The National Natural Science Foundation of China (61601146, 61732022)
TP393
A
10.11959/j.issn.2096?109x.2020010

杜思佳(1995? ),女,浙江嘉興人,哈爾濱工業大學碩士生,主要研究方向為網絡輿情分析、網絡安全。
于海寧(1983? ),男,黑龍江鶴崗人,博士,哈爾濱工業大學助理研究員,主要研究方向為物聯網安全搜索與隱私保護、云安全與隱私保護。

張宏莉(1973? ),女,吉林榆樹人,博士,哈爾濱工業大學教授、博士生導師,主要研究方向為網絡與信息安全、網絡測量與建模、網絡計算、并行處理。
論文引用格式:杜思佳, 于海寧, 張宏莉. 基于深度學習的文本分類研究進展[J]. 網絡與信息安全學報, 2020, 6(4): 1-13.
DU S J, YU H N, ZHANG H L. Survey of text classification methods based on deep learning[J]. Chinese Journal of Network and Information Security, 2020, 6(4): 1-13.
2019?11?25;
2020?01?25
于海寧,yuhaining@hit.edu.cn
國家自然科學基金(61601146,61732022)