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