劉 娟
(1.重慶化工職業(yè)學院,重慶 401228;2.四川學術成果分析與應用研究中心,四川 成都 610039)
近年來,數(shù)字化技術得到快速發(fā)展。在圖書情報領域,數(shù)字圖書館是數(shù)字化的典型代表之一,它利用信息技術能夠更好完成文本信息的組織和傳遞。其中,圖書分類是數(shù)字圖書館建設中的重要一步,研究圖書自動分類方法具有重要意義。
圖書分類其實質就是對圖書文本信息的分類。文本分類在自然語言處理的許多領域中具有重要地位,其已應用于推薦系統(tǒng)[1]、垃圾郵件過濾系統(tǒng)[2]和其他需要了解用戶情緒的領域。當前,用于文本分類的方法主要有3 種類型:①基于統(tǒng)計的分類方法,如貝葉斯分類器;②連接網(wǎng)絡學習分類方法,如神經(jīng)網(wǎng)絡;③規(guī)則制定方法,如決策樹分類法。這些方法僅依靠目標句子或目標單詞解決文本分類問題,忽略了單詞之間的關系。通常,文本方式的表達和上下文的聯(lián)系對信息的表達至關重要,這使得文本分類很難通過單獨每個句子或單詞進行識別。
近年來,深度學習[3]在許多領域都取得了顯著成果。對于文本分類,使用深度學習方法開展的研究可分為兩部分:①通過神經(jīng)語言模型學習詞向量表達[4-5];②對學習的詞向量進行合成以完成分類[6]。卷積神經(jīng)網(wǎng)絡[5,7]和遞歸神經(jīng)網(wǎng)絡[8-9]是文本分類中使用最廣泛的深度學習模型。卷積神經(jīng)網(wǎng)絡能夠從時間或空間數(shù)據(jù)中學習局部特征,但缺乏學習時序相關性的能力。與卷積神經(jīng)網(wǎng)絡相比,遞歸神經(jīng)網(wǎng)絡被指定用于時序建模,在文本分類中更常使用遞歸神經(jīng)網(wǎng)絡。LSTM 解決了傳統(tǒng)遞歸神經(jīng)網(wǎng)絡存在的梯度爆炸和消失等問題[10]。BiLSTM 網(wǎng)絡[11]是LSTM 進一步改進的模型,LSTM 和BiLSTM 已應用于文本分類并取得了一些成果[12-16]。BiLSTM 結合了前向隱藏層和后向隱藏層,可以聯(lián)系前向和后向的上下文。因此,BiLSTM 可以比LSTM 更好地解決時序建模任務。
盡管BiLSTM 可以獲取文本的上下文信息,但無法重點獲取上下文信息中的重要信息。注意力機制[16]可以通過設置不同的權重從而突出顯示上下文信息中的重要信息,BiLSTM 和注意力機制的結合可以進一步提高文本分類準確性。為了解決圖書文本數(shù)據(jù)高維度、語義復雜的問題,本文提出了一種新穎的用于圖書文本分類的方法。本文主要使用注意力機制對BiLSTM 進行增強,BiLSTM 用于提取上下文信息,注意力機制對從BiLSTM 中的前向隱藏層和后向隱藏層提取的信息給予不同的關注度,注意力機制加強了對重要序列的權重分配。從注意力機制層提取的特征將由Softmax 分類器進行分類。
LSTM 目前已成為RNN 的主流結構。LSTM 單元由3個門計算組成,如圖1 所示。
Fig.1 Schematic diagram of LSTM unit圖1 LSTM 單元示意圖
LSTM 通過存儲塊解決梯度消失問題,存儲單元能夠使網(wǎng)絡知道何時學習新信息以及何時忘記舊信息。輸入門控制添加到單元的新存儲內容的大小,遺忘門確定需要忘記的存儲量,輸出門調制輸出存儲器內容的數(shù)量。LSTM的數(shù)學形式計算如下:
其中,f(t)表示在時刻t遺忘門的值,輸入門的值由i(t)和a(t)組成,c(t)表示在時刻t的單元狀態(tài),h(t)表示在時刻t輸出門的值,它通過o(t)計算得到。W、U表示隱藏層的權重,而b表示偏差矢量。δ(·)和tanh(·)分別為S 型和雙曲正切函數(shù)。所有門的值和隱藏層的輸出都在[0,1]范圍內。運算符⊙表示逐元素乘法。標準LSTM 網(wǎng)絡結構如圖2(a)所示,標準LSTM 網(wǎng)絡只能利用上文數(shù)據(jù),缺乏下文數(shù)據(jù)環(huán)境可能導致對文本含義的不完全理解。如圖2(b)所示,BiLSTM通過組合前向隱藏層和后向隱藏層建立前面和后面的上下文聯(lián)系,BiLSTM 對文本的理解能力比LSTM 更強。BiLSTM 所建立的網(wǎng)絡進行正向和反向傳遞的方式與常規(guī)網(wǎng)絡正向和反向傳遞的方式類似。
Fig.2 Schematic diagram of network structure圖2 網(wǎng)絡結構
目前,注意力機制已經(jīng)成為一種選擇重要信息以獲得優(yōu)化結果的有效方法。關于注意力機制的體系結構已有較多研究,特別是序列問題,注意力機制已成功應用于各種任務。Yang[17]針對文檔分類問題,提出分層注意力網(wǎng)絡,它在構建文檔表達形式時能夠分別注意重要內容;Wang[18]將微博對話作為數(shù)據(jù)序列,并利用BiLSTM 模型將先前的推文納入上下文感知的情感分類。他們提出的方法不僅可以緩解特征空間中的稀疏性問題,而且可以捕獲微博對話中的遠距離情感依賴性。可以看出,BiLSTM、注意力機制處理文本問題能力較強,但較少涉及圖書分類應用。鑒于此,本文結合BiLSTM、注意力機制的優(yōu)勢,建立基于注意力機制的BiLSTM(A-BiLSTM)的中文圖書分類模型。
LSTM 擅長處理可變長度序列,但LSTM 缺乏提取下文信息的能力。此外,并非文檔的所有部分都具有同等的相關性,LSTM 無法識別文檔各部分之間的不同相關性,這些問題影響LSTM 的文本分類準確性。為了提高LSTM 在文本分類中的性能,本文提出了一種新的文本分類模型,該模型通過集成BiLSTM、注意力機制解決上述缺點,所提出的模型被稱為基于注意力機制的BiLSTM(A-BiLSTM)。在A-BiLSTM 中,從圖書信息文本中提取詞向量以進行句子建模;然后BiLSTM 通過組合前向隱藏層和后向隱藏層建立前向和后向的上下文聯(lián)系;再利用注意力機制對BiLSTM隱藏層的信息給予不同的關注度,以幫助理解句子的語義。A-BiLSTM 中的兩個注意力機制層分別處理前后的上下文特征。最后,由注意力機制處理的關鍵特征被串聯(lián)在一起,然后輸入到Softmax 分類器中,實現(xiàn)圖書分類。
本文使用Mikolve[19]提出的Word2vec 方法進行詞嵌入。Skip-Gram 模型通過目標詞預測其上下文,并捕獲語義詞之間的關系。假設一個文本有M 個詞,wrm表示文本中第m個詞的向量,m∈[1,M]。給定一個帶有單詞wrm的文本,通過嵌入矩陣We將單詞wrm嵌入到向量xm中,可由式(7)得到。
BiLSTM 被用于從詞向量的特征序列中提取上下文信息,其作用是建立更低維度的文本特征。因為所有詞對上下文的圖書類別信息都有不同的貢獻,詞向量分配不同的權重是解決問題的一種常用方法,注意力機制可以為詞向量賦予不同的權重,以增強對詞向量的理解。
BiLSTM 通過從詞向量的前向和后向匯總信息獲得文本特征,其特征包含了上下文信息。BiLSTM 包含正向LSTMf和后向LSTMb,正向LSTMf讀取從Lc1到Lc100的特征序列,后向LSTMb從Lc100讀取到Lc1。BiLSTM 計算式如下:
通過向前隱藏狀態(tài)hf,向后隱藏狀態(tài)hb獲得給定特征序列Lcn的文本特征。
注意力機制著眼于關鍵字的特征,以減少非關鍵字對圖書類別的影響。A-BiLSTM 中注意力機制的工作過程如下:hf輸入一層感知器運算獲得uf,作為hf向前隱藏狀態(tài)的表示,uf如式(10)。
式中,w和b表示神經(jīng)元的權重和偏差,tanh(·)是雙曲正切函數(shù)。再用Softmax 函數(shù)獲得歸一化權重af,af如式(11)。
式中,vf表示上下文向量,M是文本中的單詞數(shù),exp(·)是指數(shù)函數(shù)?;跈嘀豠f計算前向傳播詞向量的加權,F(xiàn)c代表前向上下文,表示為:
與前向傳播類似,可以使用后向隱藏狀態(tài)hb計算ab。Hc表示后向上下文,表示為:
A-BiLSTM 通過組合前向上下文表示Fc和后向上下文表示Hc來獲得給定序列Lcn的文本特征。最后,獲得綜合上下文表示S=[Fc,Hc]。此外,在A-BiLSTM 中,Dropout 層用于避免過度擬合,Softmax 層用于生成條件概率以實現(xiàn)分類。
交叉熵是評估模型分類性能的常用損失函數(shù)。本文選擇Adam 優(yōu)化器[20]優(yōu)化網(wǎng)絡損耗函數(shù),損失函數(shù)如式(14)。
式中,num表示樣本數(shù)量,Sp表示訓練樣本,y是標簽,y_是A-BiLSTM 的輸出。
最終,可構建圖書分類模型,其結構如圖3 所示。
Fig.3 Book classification model圖3 圖書分類模型
該模型的關鍵點詳細描述如下:首先,使用式(7)預訓練詞向量構造詞嵌入表,獲得特征序列Lc;使用BiLSTM 從特征序列中獲取上下文特征特征hf和hb;利用式(12)和(13),從兩個關注層的前向和后向上下文特征獲得上下文表示式Fc和Hc;將上下文表示式相結合以獲得綜合上下文表示式S=[Fc,Hc];再將綜合上下文表示式輸入到Softmax分類器中以實現(xiàn)分類;最后使用Adam 優(yōu)化器,根據(jù)損失函數(shù)式(14)更新模型參數(shù)。
在介紹數(shù)據(jù)集和實驗設置后,對結果進行討論,以評估本文所提方法的性能。
實驗數(shù)據(jù)為重慶第二師范學院圖書館的館藏圖書信息。該校圖書館書目檢索系統(tǒng)具有基本一致的體系和格式,便于數(shù)據(jù)獲取和整理。使用網(wǎng)絡爬蟲,從該校圖書館書目檢索系統(tǒng)爬取圖書信息,主要抓取字段包含書名、主題詞、摘要、圖書類別??紤]到圖書數(shù)量問題,實驗中選擇了法學、工學、經(jīng)濟學、文學、歷史學,5 個類別的圖書具有一定代表性。在本次實驗中,每類圖書5 000 冊,訓練集與測試集的比例為9∶1。
在訓練A-BiLSTM 以提取文本中的特征時,將輸入序列xm表示為第m個單詞嵌入。BiLSTM 被用于從詞向量的特征序列中提取上下文信息,建立更低維度的文本特征。在本次實驗中,每個詞向量的維數(shù)是200,所有數(shù)據(jù)集的訓練批處理大小設置為50。訓練時使用反向傳播和Adam 算法,dropout:0.5,學習率:0.001。在訓練完成后,使用測試數(shù)據(jù)集進行測試,并將測試集獲得的準確度作為圖書分類模型的評估指標。
3.3.1 不同模型間比較
比較不同模型的性能以驗證本文所提模型的優(yōu)勢,將準確度作為評估指標以衡量分類模型的性能。對比模型包括支持向量機(SVM)、一維卷積神經(jīng)網(wǎng)絡(1d-CNN)、具有堆疊的多個遞歸層的深度遞歸神經(jīng)網(wǎng)絡(DRNN)、多項式樸素貝葉斯(MNB)、長短期記憶(LSTM)[21]、雙向長短期記憶(BiLSTM)、結合了CNN和RNN優(yōu)勢的模型(CLSTM)。各模型在圖書測試集上的比較結果如表1 所示。由表1 中可以看出,在上述8 種方法中,本文所提出的方法A-BiLSTM 在圖書測試集上均比其他方法獲得了更好的結果,在所有數(shù)據(jù)集上均優(yōu)于其他方法。其A-BiLSTM 在圖書測試集上的平均準確度為92.04%。與SVM、DRNN、MNB、1d-CNN、LSTM、BiLSTM、C-LSTM 相比,A-BiLSTM準確度提高了14.36%、5.63%、5.76%、4.23%、2.89%、1.94%和2.26%。與SVM、MNB 模型相比,A-BiLSTM 更優(yōu),其主要原因是深度學習方法可以有效地從輸入數(shù)據(jù)中學習基本特征,SVM 與MNB 等傳統(tǒng)方法在很大程度上取決于手動提取特征,與手動特征提取和繁瑣的特征選擇相比,深度學習方法自動特征學習能力更強。與基于CNN 的方法1d-CNN 相比,A-BiLSTM 比CNN 更加擅長處理序列問題,對上下文的序列特征更加敏感,特征提取能力更強,因此在圖書分類結果上表現(xiàn)更好。與3 種基于LSTM 的方法(CLSTM、LSTM 和BiLSTM)相比,A-BiLSTM 在圖書測試集上均具有較好的性能,說明本文所提出的改進方法具有可行性,為進一步說明本文方法的有效性,將增加對比驗證,對改進方法加以說明。
Table 1 Average accuracy of book classification of different models表1 不同模型的圖書分類平均準確度
3.3.2 BiLSTM 與注意機制層對比結果
A-BiLSTM 包含兩個改進部分,即BiLSTM、注意機制層。本文將通過一組實驗研究兩個改進部分對A-BiLSTM性能的影響。比較用LSTM 代替BiLSTM 的A-BiLSTM(用A-LSTM 表示)、只有單層注意力機制的A-BiLSTM(用A1-BiLSTM 表示),沒有注意機制層的A-BiLSTM(用BiLSTM表示)和A-BiLSTM,其結果如表2 所示。
Table 2 Average accuracy of book classification of different models表2 不同模型的圖書分類平均準確度
從表2 中可以看出,注意力機制層和BiLSTM 對A-BiLSTM 的性能有很大影響,在上述4 種模型中,A-BiLSTM 可獲得最佳結果。與A-LSTM 相比,A-BiLSTM 的識別率提高了1.21%。在A-BiLSTM 中,BiLSTM 可以獲取圖書文本之前和之后的信息,比單一從前向傳播中獲取圖書文本的方式更加有效,BiLSTM 有效提高了A-BiLSTM 的分類精度。與BiLSTM 相比,A-BiLSTM 的識別率提高了1.94%。注意力機制層可以對BiLSTM 隱藏層中的信息實現(xiàn)不同的關注度,并對重要信息進行篩選,提高不同信息對模型識別的貢獻度,從而優(yōu)化模型。從表3 中可以觀察到,當除去注意力機制層和BiLSTM 時,A-BiLSTM 的性能有所降低,證明A-BiLSTM 中的所有成分都是有用的。
此外,為驗證前向和后向兩層注意力機制層的作用,比較單層注意力機制層的A1-BiLSTM 和A-BiLSTM。A1-BiLSTM 中的注意力機制層的輸入是BiLSTM 前向和后向結果的串聯(lián)。A-BiLSTM 的識別率比A1-BiLSTM 高0.91%,驗證了雙層注意力機制層能夠使分類模型對圖書分類更加準確。使用兩個注意機制層分別處理正向和反向信息要比使用單個注意機制層處理正向和反向信息更好。
本文提出了一種新的解決圖書分類問題模型A-BiLSTM。從圖書信息文本中提取詞向量以進行句子建模;BiLSTM 通過組合前向隱藏層和后向隱藏層建立前向和后向的上下文聯(lián)系,而無需任何費時的手工特征提取過程;利用注意力機制對BiLSTM 隱藏層的信息給予不同的關注度。
比較所提方法與其他方法的分類效果,結果表明本文所提出的BiLSTM 和注意力機制增強了語義理解并提高了分類準確性。雙層注意力機制層分別處理前向和后向信息的效果比單層注意力機制層更好,表明多注意力層可以更好地給予重要文本信息關注度,解決了淺層CNN 和LSTM 存在提取特征不全的問題。單一神經(jīng)網(wǎng)絡結構存在缺點,后期研究考慮搭建CNN 和BiLSTM 混合網(wǎng)絡模型,并將注意力機制融入CNN 中建立特征提取通道之間的聯(lián)系,最終實現(xiàn)文本信息的準確分類。