








摘要:針對傳統長短時記憶網絡(long short-term memory,LSTM)在文本分類中無法自動選取最重要潛在語義因素的問題,提出一種改進的 LSTM 模型。首先,將傳統 LSTM 的運算關系拓展為雙向模式,使網絡充分記憶輸入特征詞的前后關聯關系;然后在輸出層前面增加池化層,以便更好選擇找到最重要的潛在語義因素。互聯網電影資料庫評論數據實驗結果表明,該模型優于傳統長短時記憶神經網絡以及其他同類模型,揭示了改進方案對提高文本分類準確率是有效的。
關鍵詞:自然語言處理;文本分類;循環神經網絡;長短時記憶神經網絡
中圖分類號:TP391文獻標志碼:A文章編號:1000-582X(2023)05-111-08
Text classification method based on improved long-short term memory network
LI Jianping, CHEN Haiou
(School of Computer and Information Technology, Northeast Petroleum University, Daqing 163318, Heilongjiang, P. R .China)
Abstract: Traditional long-short term memory network (LSTM) cannot automaticallyselect the most important latentsemanticfactorsintextcategorization . Tosolvetheproblem ,thispaperproposesanimprovedLSTM model. First,thetraditionalLSTMoperationrelationshipisextendedtothebidirectionalmode,sothatthe network fully remembers the context of the input feature words . Then, the pooling layer is added in front of the outputlayer to betterselect the mostimportantlatentsemanticfactors . TheexperimentontheInternet Movie Database review data show that the model is superior to the traditional long-short term memory neural network and other similar models, revealing that the improved scheme proposed in this paper can improve the accuracy of text classification .
Keywords: naturallanguageprocessing; textclassification; recurrentneuralnetwork; long-shorttermmemory neural network
隨著互聯網行業蓬勃發展,大數據進入人們生活。在大數據時代,數據有著多樣的表達方式,如最傳統的文本格式,能直觀獲取信息的圖片格式,深受喜愛的短視頻形式,節約時間成本的語音格式等。其中,文本作為信息的一種重要承載方式,相對于其他信息載體,具有容量小,方便存儲和管理的特點。但是,文本無法像圖像、視頻或語音等直觀表示其內在含義,更多依靠人工閱讀理解才能得到含義,然而在如今海量的文本信息中,人工實現對文本內容定義十分困難。因此,在海量文本信息中,快速提取人們所需尤為重要[1]。文本分類成為許多人研究的內容。特別是短文本分類隨著社交媒體的發展 ,應用深度學習進行情感分析[2?3]越來越重要。
文本分類中一個重要問題是特征表示[4],人們通常使用詞袋模型(Bag-of-Words),其中一元模型、二元模型、n 元模型或一些精心設計的模式作為選擇特征,也有基于文本的特質分類模式[]5,或給予被噎死的深度特征加權,多標簽文本分類[6]。此外,一些特征選擇方法,如頻率、MI、PLSA[7]、LDA[8]、FSDBN[9],使用這些方法進行特征選取,提高選取特征的分類效率。以往的特征選取方法通常會忽略文本中上下文或是文本中詞序關聯,并沒有分類中使用的文本詞匯的語義選取效果更佳。后來,使用預訓練嵌入:詞向量[10],特別是近年來,深度神經網絡的高速發展,帶給自然語言處理工作新的發展方向。首先是單詞嵌入,這種將詞嵌入到一整層,從而解決數據分散問題的方法,受到研究者喜愛,結合預訓練嵌入與單詞嵌入,獲得提升分類效果的句法效率規則。在此基礎上,有人提出一些基于構圖的文本語義表示方法。近年來,計算力大幅度提升,特別是超級計算機,量子計算機的開發與應用,許多人開始認真對待深度學習。將深度學習與自然語言處理相結合。使用卷積網絡進行文本分類[11]。在構建語言模型方面,開始采用循環神經網絡(recurrent neural network, RNN)進行句法解析,將 RNN 建立起深層結構,成為典型深度神經網絡學習模型[12]。但是循環神經網絡在進行實驗的過程中會出現梯度爆炸和梯度消失的問題[13],研究者將 Jürgen Schmidhuber提出的長短時記憶網絡[14],將長短時記憶網絡與本文分類相結合。長短時記憶網絡在長文本的分類中起到了十分重要的作用。雖然長短時記憶網絡對文本分類的成功率有一定提升,但利用 LSTM 對句子進行建模存在一個問題:無法編碼從后到前的信息。
針對以上傳統 LSTM 分類模型的不足,筆者提出一種帶池化層的雙向 LSTM 模型(Bi-LSTM -pooling)。首先將傳統 LSTM 擴展為雙向 LSTM(即BiLSTM)。與傳統 LSTM 相比,他可以更加準確地捕捉文本序列中上下文之間的關聯關系,以便在學習單詞表示時盡可能準確地捕獲上下文信息。其次,在BiLSTM的輸出層之前引入池化層。實驗采用最大池化層對文本提取的特征進行判斷,分辨特征的分類效果,從而提出文本中對分類更關鍵成分。該模型可融合循環神經網絡和卷積神經網絡的優點。互聯網電影資料庫(IMDB)評論數據實驗結果表明,該模型的分類性能優于傳統長短時記憶網絡,從而驗證了改進措施的有效性。
1 傳統 LSTM 模型
1.1 循環網絡
針對特定任務文本分類的遞歸神經網絡,神經模型的主要作用是將變長文本表示為固定長度的向量。循環神經網絡(RNN)處理任意長度的序列一般使用遞歸方法,使用轉換函數與輸入序列的內部隱藏狀態向量ht相結合,起到處理作用,循環神經網絡的結構如圖1所示。
xt是一個 n 維向量,每一個xt代表一個詞向量,st是時間 t處的記憶
ht代表 t時刻的隱藏狀態,一般使用非線性的函數作為轉換函數,如 tanh 等函數,W 為隱藏層到隱藏層的權重
其中:ot代表 t時刻的輸出;g 一般為softmax函數;V 為隱藏層到輸出層的權重
利用xt和ht -1的變換,將狀態轉換函數f 作為元素非線性的組成,建模序列使用 RNN 將輸入序列映射到固定大小的向量,將該向量饋送到一個分類的softmax層。然而具有這種形式的轉換函數的 RNN 有一個問題,在訓練過程中,梯度向量的分量可以在長序列上呈指數增長或衰減。這一爆炸或消失的問題 RNN 模型很難在序列中學習長距離相關。
1.2 長短時記憶網絡
Hochreiter和Schmidhuber提出了長期短期記憶網絡[12]來解決長期依賴關系的問題,LSTM 在其內部保留了一個獨立的記憶單元,僅在認為必要時才顯示其內容。在每個時間步驟 t 將 LSTM 單位定義為?d中的向量集合:遺忘門、輸入門、細胞狀態 C( t )、輸出門和隱藏狀態 h( t )。d 是 LSTM 裝置的數量。LSTM 轉換過程如下
1)更新遺忘門輸出
f ( t )=σ( Wf h( t -1)+ Ufxt ( t )+ bf ),(4)
遺忘門是控制是否遺忘,以一定的概率控制是否遺忘上一層的隱藏細胞狀態。
2)更新輸入門輸出
i( t )=σ( Wi h( t -1)+ Ui xt ( t )+ bi ),(5)
a( t )= tanh ( Wa h( t -1)+ Uaxt ( t )+ ba ), (6)
輸入門是在遺忘門進行遺忘后,進行補充的部分,主要負責處理當前序列位置的輸入,由2部分組成:用 sigmoid 激活函數,輸出為 it;用 tanh 激活函數,輸出為 at,結果進行相乘來更新細胞狀態。
3)更新細胞狀態
C( t )= C( t )⊙f ( t )+ i( t )⊙ a( t ),(7)
細胞狀態存儲信息,遺忘門、輸入門的結果作用于細胞狀態,⊙表示元素乘法。
4)更新輸出門輸出
o( t )=σ( Wo h( t -1)+ Uoxt ( t )+ bo ),(8)
h( t )= o( t )⊙ tanh ( C( t )),(9)
輸出門控制哪些信息需要作為輸出。
5)更新當前序列索引預測輸出
y ( t )=σ( Vh( t )+ c ), (10)
但利用 LSTM 對句子進行建模還存在無法編碼從后到前的信息。
2 改進的 LSTM 模型
2.1 雙向 LSTM 模型
為解決無法編碼從后到前的信息問題,使用 Bi-LSTM 模型進行改進,此模型可以更好捕捉雙向的語義依賴。
在改進中,改進模型的輸入是文檔,是單詞 w 1 ,w2 ,...,wn的序列,輸出是分類結果。使用 p ( k|D , θ)來表示文檔為 k 類的概率,θ是模型中的參數。結合一個詞和它的上下文來表示一個詞。上下文有助于獲得更精確的詞義,在模型中,使用雙向長短時記憶網絡來對文本的整體進行信息的提取。將 cl ( wi )定義為單詞 w i的左上下文,將cr ( wi )定義為單詞 w i的右上下文。cl ( wi )和 w i都是有|c |實值向量。單詞 w i的左側上下文 cl ( wi )使用式(11)計算,其中:e ( wi -1)是單詞 w i -1的嵌入詞,它是一個實值向量;cl ( wi -1)是 w i -1的左側上下文。文中 w 1的左側上下文使用相同的共享參數 cl ( wi )。W( l )是將隱藏層轉換為下一個隱藏層的矩陣。W( sl )是一個矩陣,用于結合 w i和 w i +1的左上下文。f是一個激活函數。cr ( wi )的方式計算,如式(12)所示。文本最后一個單詞的右上下文共享參數cr ( wn )。
cl ( wi )=f ( W( l )cl ( wi -1)+ W( sl )e ( wi -1)),(11)
cr ( wi )=f ( W( r )cr ( wi +1)+ W( sr )e ( wi +1))。(12)
通過 cl ( wi )和cr ( wi )來提取文本中的信息,定義了 w 的表示。在式(13)中,它是左側上下文向量 cl ( wi )、單詞嵌入 e ( wi )和右側上下文向量cr ( wi )的串聯。通過以上方式,可以減少 w i所帶來的歧義。
xi =[ cl ( wi ); e ( wi ); cr ( wi )]。(13)
循環結構可以在文本的前向掃描中獲得所有 cl,在文本的后向掃描中獲得cr。時間復雜度為 O( n )。在獲得單詞 w i的表示 xi 之后,將線性變換與 tan h 激活函數一起應用到 xi,并將結果發送到下一層。
i 2)= tanh ( W(2) xi + b(2)),(14)
y 2)是一個潛在的語義向量,在這個向量中,每一個語義因子都會被分析,以確定最有用的表示文本的因素。
2.2 雙向 LSTM 加池化層模型
模型中的卷積神經網絡是從卷積神經網絡的角度來表示文本,前面提到的循環結構是卷積層。當計算出所有單詞的表示形式時,將應用最大化池層。
其中,max 函數是一個按元素排序的函數。y(3)的 k元素是 y 2)的 k元素中最大的元素。
通過池層將不同長度的文本轉換為固定長度的向量。當然,在深度學習中也有其他類型的池層,例如平均池層等,但其對于獲取文本中對分類有效成分的作用并沒有很突出。因此,筆者使用最大池層的原因是其能夠在文本中選取對于文本分類更有效果的詞。池層利用雙向長短時記憶網絡的輸出作為自己的輸入。池層的時間復雜性是 O( n )。總體模型是循環結構和最大池層,最后模型的時間復雜性仍然是 O( n )。
模型的最后一部分是輸出層。類似于傳統的神經網絡。它被定義為
y(4) = W(4) y(3)+ b(4),
最后,將 SoftMax 函數應用于 y(4),將輸出數字轉換為概率
綜上所述,提出的改進 LSTM 模型如圖2所示。
2.3 文本分類實施方案
在實施分類之前,首先要將數據集中的文本對照詞匯表進行數據預處理,并且訓練詞向量。并帶入模型進行訓練。訓練網絡參數將所有要訓練的參數定義為θ
具體來說,參數為嵌入詞 E ∈?|e|×|V |,偏倚向量 b(2)∈?H,b(4)∈?O,初始上下文 cl ( w 1) ,cr ( wn )∈?|c |,變換矩陣 W(2)∈?H ×(|e|+2|c |),W(4)∈?O × H,W( l ) ,W( r )∈?|c |×|c |,W( sl ) ,W( sr )∈?|e|×|c |,其中:|V|是詞匯表中的單詞數;H 是隱藏層大小;O 是文檔類型數。
采用隨機梯度下降法對訓練目標進行優化。在每個步驟中,隨機選擇一個例子(D,classD )并進行梯度步驟
其中,α是學習率。訓練采用訓練隨機梯度下降的神經網絡的方法。
在這部分,使用 skip-gram 模型預先訓練嵌入的單詞。最后通過最大化平均對數概率訓練單詞w 1 ,w2 ,...,wT的嵌入
其中:|V|是未標記文本的詞匯。e'( wi )是wi的一個嵌入。
Pooling 層是特征提取層,將不同長度的文本轉換為固定長度矢量,通過 pooling 層獲取文本分類所需信息,研究使用最大池層,在文本中找到對分類準確率提升最有效果的詞,池層利用循環結構的輸出作為輸入,最后利用softmax層進行分類。
3 實驗結果及分析
本次實驗使用 Windows10編譯 Python 程序,并在 GPU 上進行實驗。選擇的分類數據集為英文的 IMDB 電影評論的情感分析數據集,本數據集總共有3個部分組成,使用為帶標簽的訓練集,共有數據25000條,同時數據集中還包括50000條不帶標簽的訓練集以及25000條數據的測試集。數據集中的 id 代表電影評論的 id,review 代表電影評論的內容,sentiment 代表情感分類的標簽(只在帶標簽的數據集中存在)。
3.1 數據預處理
數據集為英文格式,不需要進行文本分詞,只需要去掉停用詞即可。停用詞即出現頻率比較高,但沒有統計意義的詞。通常將限定詞視為停用詞如:“the”、“a”、“that”、和“those”,這些詞在文本中僅僅起到描述名詞和表達概念的作用,對文本本身的內容并沒有作用。介詞如:“on”,“over”,“beneath”等表示相對位置,在文檔處理中需要很大的空間,并且這些詞的存在很普遍,只是豐富了文本,對文本分類的準確率沒有較大提升。將停用詞用列表的形式生成,方便之后查找停用詞。
3.2 生成 word2vec 詞向量
使用計算機進行文本分類,首先需要對使用的文字建模,適用于計算機處理。自然語言的建模方法從一般使用基于規則的方法到后期使用基于統計的方法,隨著發展深度學習,建模方法也變得多種多樣,特別是基于統計的方法受到廣泛發展,如:n-gram 、神經網絡以及log_linear模型等建模方法。通常來說,建模的問題主要出現在建模維度過大、詞的相似性難以區分、模型的針對性強等方面。為解決這些問題,模型的優化也在自然語言處理占了舉足輕重的位置。對統計語言模型進行研究的背景下,Google 推出 Word2vec 訓練詞向量,能夠通過給定的語料庫,快速準確地將詞轉成向量的形式,對自然語言處理的發展打下了堅實基礎。word2vec 依托于淺層神經網絡,依賴 skip-grams 或 CBOW 建立神經詞嵌入。詞袋模型(Bag-of-words model)是在自然語言處理和信息檢索(IR)下被簡化的表達模型。在文本處理中的作用主要是將文字整理成不考慮文法和順序的詞向量形式。CBoW模型能將輸入詞的上下文變成輸出這個特定詞的詞向量格式。由于詞袋模型對于文本處理的優勢,在很多分類問題中都體現出較好性能,詞出現的頻率可以用來當作訓練分類器的特征。 Skip-gram 模型是一個簡單實用的模型。通常在解決自然語言處理的相關問題時,語料選取特別重要。首先,要解決語料不足的情況,特別是需要反應詞語關系的句子,其次需要解決語料準確性問題,輸入與輸出的對應關系對于文本問題的處理十分重要。CBoW使用在小型數據庫,Skip-Gram 使用在大型語料中。
這部分需要生成詞向量和詞匯-索引映射字典,去掉停用詞,進行詞頻的統計,將統計出來的低頻詞刪除,最后構建適于文本的專屬詞典,將處理后的數據與詞典帶入 Word2vec 模型,構建詞向量。
3.3 基于改進 LSTM 模型的文本分類
利用預訓練的詞向量初始化詞嵌入矩陣,利用詞嵌入矩陣將輸入數據中的詞轉換成詞向量,復制一份詞嵌入層輸入,嵌入層可以對詞向量處理,使得維度降低,減少運算量。將處理后的數據輸入 Bi-LSTM 結構,將前向,后向的輸出和最早的詞向量拼接在一起得到最終詞表征,做 max-pooling 的操作,將時間步的維度消失,最后全連接層輸出分類結果。
模型與循環神經網絡模型,長短時記憶網絡模型,帶注意力的長短時記憶網絡模型進行對比實驗。為充分展示改進模型的分類優勢,實驗中各模型均采用表1給出的3組參數。參數的設置由經驗選擇了以下4個參數進行實驗。
對于每組參數設置,各模型分別獨立運行50次,對測試集的平均識別率,隨迭代步數動態變化的曲線如圖3~5所示,然后將分類正確率的平均值作為對比指標,對比結果如表2所示。
3.4 實驗結果分析
圖3的結果顯示在迭代次數0~350代時,改進的長短時記憶網絡在準確率上并沒有很好的結果,但隨著迭代次數加大,準確率比其他模型優秀,體現改進 LSTM 需要更長期的迭代才能體現優勢,特別在圖4中發現,在1000次迭代后改進的 LSTM 優勢變小,說明隨著代數增加到一定程度,循環神經網絡的限制顯示出來,而在加大了學習率的設置中,循環神經網絡很快到達準確率較高的區域,也很快趨于平緩,相對來說,改進的 LSTM 在學習率變化時準確率的變化較穩定。通過表2的結果對比可以發現,在相同的參數影響下,改進長短時記憶網絡對文本分類的準確率均高于傳統的長短時記憶網絡,證明對傳統單向網絡的雙向改造是成功的,雙向長短時記憶網絡不僅可以學習它的正向規律,還可以學習它的反向規律,通過將正反向結合進行分類,發現分類效果更佳優秀,對于文本分類問題來說,充分理解整句話,對于分類的準確度具有十分重要作用,對整句話進行處理后,最大池化層可以幫助選取對分類更重要部分,找到最重要潛在語義因素,從而提高分類的準確性。
接下來,將會考慮在引入對抗學習進行文本分類[15]和引用弱監督和深度表示的文本分類[16]方面進行改進。考慮到所用訓練數據為25000條標記的數據,下一步擬通過將部分未標記的數據加入到訓練集中,進而采用半監督學習的方式來進一步提升文本分類的準確率;同時,擬采用遷移學習研究該模型面向中文的文本分類。
4 結論
研究通過2次改進,提高文本分類的效果。一方面將傳統的長短時記憶網絡拓展為可雙向捕捉文本重點的雙向長短時記憶網絡,根據文本的整體含義來進行分類,增強對數據的利用效果;另一方面在分類前增加了最大池化層,使得對文本分類更重要的詞能夠發揮其對分類的影響。綜合以上,研究提出的模型成功提高了分類的成功率。
參考文獻
[1]石鋒.面向中文新聞文本的實體關系抽取研究[D].哈爾濱:哈爾濱工業大學 , 2017.
Shi F. Research on entity relationship extraction for Chinese news text[D]. Harbin: Harbin Institute of Technology, 2017.(in Chinese)
[2] Abdi A ,ShamsuddinSM ,HasanS ,etal. Deeplearning-basedsentimentclassificationof evaluativetext basedonMulti-feature fusion[J]. Information Processing amp; Management, 2019, 56(4):1245-1259.
[3] 崔瑩.深度學習在文本表示及分類中的應用研究[J].電腦知識與技術 , 2019, 15(16):174-177.
Cui Y. Application of deep learning in text representation and classification with deep learning[J]. Computer Knowledge and Technology, 2019, 15(16):174-177.(in Chinese)
[4] Liu Q , Yuan J Z , Weng C H . Survey of short text classification based on deep learning[J]. Computer Sciences, 2017, 44(A),11-15
[5] Bi H , Sun J, Xu Z . A Graph-Based semisupervised deep learning model for polSAR image classification[J]. IEEE Transactionson Geoscience and Remote Sensing, 2019, PP(99):1-17.
[6] 陳文實 , 劉心惠 , 魯明羽.面向多標簽文本分類的深度主題特征提取[J].模式識別與人工智能 , 2019, 32(9):785-792.
Chen W S , Liu X H , Lu M Y. Feature extraction of deep topic model for multi-label text classification[J]. Pattern Recognition and Artificial Intelligence, 2019, 32(9):785-792.(in Chinese)
[7] LeeJ, YuI,ParkJ,etal. Memeticfeatureselectionformultilabeltextcategorizationusinglabelfrequencydifference[J].Information Sciences, 2019, 485:263-280.
[8] 牛碩碩 , 柴小麗 , 李德啟 , 等.一種基于神經網絡與 LDA 的文本分類算法[J].計算機工程 , 2019, 45(10):208-214.
Niu S S , Chai X L , Li D Q , et al. A text classification algorithm based on neural network and LDA [J]. Computer Engineering, 2019, 45(10):208-214.(in Chinese)
[9] 向進勇 , 楊文忠 , 吾守爾·斯拉木.基于特征選擇和深度信念網絡的文本情感分類算法[J].計算機應用 , 2019, 39(7):1942-1947.
Xiang J Y,Yang W Z,Silamu W. Text sentiment classification algorithm based on feature selection and deep belief network[J]. Journal of Computer Applications, 2019, 39(7):1942-1947.(in Chinese)
[10]馬力 , 李沙沙.基于詞向量的文本分類研究[J].計算機與數字工程 , 2019, 47(2):281-284, 303.
Ma L , Li S S . Research on text classification based on word embedding[J]. Computer amp; Digital Engineering, 2019, 47(2):281-284, 303.(in Chinese)
[11]陳巧紅 , 王磊 , 孫麒 , 等.卷積神經網絡的短文本分類方法[J].計算機系統應用 , 2019, 28(5):137-142.
ChenQH , Wang L ,SunQ , et al. Short text classification basedonconvolutional neural network[J]. ComputerSystems amp; Applications, 2019, 28(5):137-142.(in Chinese)
[12]涂文博 , 袁貞明 , 俞凱.針對文本分類的神經網絡模型[J].計算機系統應用 , 2019, 28(7):145-150.
Tu W B , Yuan Z M , Yu K . Neural network models for text classification[J]. Computer Systems amp; Applications, 2019, 28(7):145-150.(in Chinese)
[13] DengHL , ZhangL ,Shu X . Feature memory-baseddeep recurrent neural networkforlanguage modeling[J]. AppliedSoftComputing, 2018, 68:432-446.
[14] HochreiterS ,Schmidhuber J . Long short-term memory[J]. Neural Computation, 1997, 9(8):1735-1780.
[15] PoonHK , YapWS ,Tee YK ,etal. Hierarchicalgatedrecurrentneuralnetworkwithadversarialandvirtualadversarialtraining on text classification[J]. Neural Networks, 2019, 119:299-312.
[16] Wang Y S , SohnS , LiuS J, et al. A clinical text classification paradigm using weak supervision and deep representation[J].BMC Medical Informatics and Decision Making, 2019, 19(1):1.
(編輯侯湘)