摘 ?要: 大數(shù)據(jù)時(shí)代海量的文本數(shù)據(jù)蘊(yùn)含著極大的科研價(jià)值,文本分類技術(shù)得到廣泛的關(guān)注。文本分類在信息檢索、自動(dòng)問(wèn)答等應(yīng)用領(lǐng)域占據(jù)重要地位,是自然語(yǔ)言處理研究的關(guān)鍵技術(shù)之一。本文針對(duì)神經(jīng)網(wǎng)絡(luò)分類方法訓(xùn)練時(shí)間長(zhǎng)性能仍可提高,提出一種嵌入式注意力機(jī)制模塊(Eam),用來(lái)增強(qiáng)已有的文本分類神經(jīng)網(wǎng)絡(luò)模型。該模塊將重點(diǎn)關(guān)注數(shù)據(jù)中什么是最有意義及哪里含有的信息量更為豐富,從而高效提取文本中有價(jià)值的信息區(qū)域加速模型收斂。本文以增強(qiáng)TextCNN、ImdbCNN為例,在公開(kāi)數(shù)據(jù)集IMDB上證明Eam的有效性,同等參數(shù)配置情況下能夠提升模型的準(zhǔn)確率、召回率及F1值,較原模型能夠更快收斂減少訓(xùn)練時(shí)間。
關(guān)鍵詞: 文本分類;神經(jīng)網(wǎng)絡(luò);注意力機(jī)制;TextCNN
中圖分類號(hào): TP391.1 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.06.036
本文著錄格式:熊寬. 一種基于嵌入式注意力機(jī)制的文本分類方法[J]. 軟件,2020,41(06):171176
【Abstract】: The huge amount of text data in the era of big data contains great scientific research value, and the text classification technology has received widespread attention. Text classification occupies an important position in the fields of information retrieval, automatic question answering and other applications, and is one of the key technologies in natural language processing research. Aiming at the long training time performance of neural network classification method, this paper proposes an embedded attention mechanism module (Eam) to enhance the existing neural network model of text classification. This module will focus on what is most meaningful in the data and where the amount of information is more abundant, so as to efficiently extract valuable information areas in the text and accelerate model convergence. This paper takes Enhanced TextCNN and ImdbCNN as examples, and proves the validity of Eam on the public dataset IMDB. It can improve the accuracy, recall and F1 value of the model under the same parameter configuration, which can converge faster and reduce the training time than the original model.
【Key words】: Text classification; Neural Networks; Attention mechanism; TextCNN
0 ?引言
文本分類(Text Categorization)是指依據(jù)文本的內(nèi)容,由計(jì)算機(jī)根據(jù)某種自動(dòng)分類算法,把文本判分為預(yù)先定義好的類別[1]。文本分類是自然語(yǔ)言處理(NLP)領(lǐng)域中一項(xiàng)具有挑戰(zhàn)性的任務(wù),它在情感分類、自動(dòng)問(wèn)答、輿情分析等領(lǐng)域具有廣泛的應(yīng)用[2]。
傳統(tǒng)的文本分類方法主要根據(jù)文本與類別標(biāo)簽的相關(guān)性來(lái)對(duì)文本進(jìn)行標(biāo)簽,該標(biāo)簽根據(jù)統(tǒng)計(jì)指標(biāo)估算。例如,詞袋模型[3]計(jì)算共現(xiàn)詞的出現(xiàn)頻率,n元語(yǔ)法模型[4]計(jì)算單詞對(duì)的頻率,而TF-IDF模型[5]計(jì)算不同文檔中每個(gè)單詞的權(quán)重得分。
上述基于統(tǒng)計(jì)的方法不僅丟失了詞序信息,而且存在數(shù)據(jù)稀疏和維數(shù)災(zāi)難問(wèn)題。隨著分布假說(shuō)理論和文本的分布表示方法的提出,這一問(wèn)題得到有效解決[6,7]。其主要有基于矩陣的分布表示方法,該方法通過(guò)構(gòu)建“詞-上下文”矩陣獲取文本表示;基于聚類的分布表示運(yùn)用聚類構(gòu)建詞與上下文的表示;基于神經(jīng)網(wǎng)絡(luò)的分布表示方法通過(guò)詞向量(Word Embdding)構(gòu)建目標(biāo)詞與上下文的關(guān)系。與傳統(tǒng)的文本分類算法相比,基于分布表示的分類算法在保留詞序信息的前提下,有效解決數(shù)據(jù)稀疏和維數(shù)災(zāi)難問(wèn)題,準(zhǔn)確度及性能方面有了提升。但仍存在模型參數(shù)多、時(shí)間復(fù)雜度高等問(wèn)題,導(dǎo)致模型的訓(xùn)練時(shí)間長(zhǎng)、所需計(jì)算資源大。
為解決上述問(wèn)題,本文提出一種適用于文本分類的嵌入式注意力機(jī)制,該嵌入式注意力機(jī)制能夠有效挖掘文本中最有意義的信息和信息含義最豐富的區(qū)域。本文以增強(qiáng)TextCNN、ImdbCNN為例,在IMDB數(shù)據(jù)集上進(jìn)行驗(yàn)證,實(shí)驗(yàn)表明該種嵌入式注意力機(jī)制能夠有效提升原模型的正確率、召回率及F1值,同時(shí)降低loss損失。
1 ?相關(guān)工作
文本分類相關(guān)任務(wù)的核心在于如何獲取文本表示。通常將文本表示方法分類兩類,一類是傳統(tǒng)的離散表示,另一類是基于分布假說(shuō)理論的分布表示方法。
1.1 ?離散表示
離散形式的表示方法有詞袋模型(Bag-of- Words)和n元短語(yǔ)模型(N-grams)模型,該類模型將文本中的每個(gè)單詞或者單詞對(duì)視為一個(gè)離散的實(shí)體,采用獨(dú)熱編碼(One-hot Encoding)的形式來(lái)表示其在文檔中出現(xiàn)的頻率。詞袋模型忽略文檔中單詞的順序、語(yǔ)法句法等重要因素,僅僅將文檔看作是若干單詞的集合,而n元短語(yǔ)模型雖然解決前N–1個(gè)單詞語(yǔ)義信息丟失的問(wèn)題,但當(dāng)N過(guò)大時(shí),模型參數(shù)空間也會(huì)隨著增大,導(dǎo)致數(shù)據(jù)稀疏維數(shù)過(guò)高。將獨(dú)熱編碼轉(zhuǎn)化為word2vec的表示形式能更好地反映單詞間語(yǔ)義的聯(lián)系[4],為突出單詞對(duì)文檔的重要性,TF-IDF(詞頻逆文檔頻率)方法用于提高文檔分類的性能[5]。離散表示形式丟失了詞序信息,而且存在數(shù)據(jù)稀疏和維數(shù)災(zāi)難問(wèn)題。
1.2 ?分布表示
基于分布假說(shuō)理論的分類表示方法利用分布表示,能有效保留詞序信息降低數(shù)據(jù)稀疏性[6,7],分布表示方法分三類?;诰仃嚨姆植急硎就ㄟ^(guò)構(gòu)建“詞-上下文”矩陣,此類模型矩陣中的每個(gè)元素為詞和上下文共現(xiàn)次數(shù),利用TF-IDF、取對(duì)數(shù)等技巧進(jìn)行加權(quán)和平滑,使用SVD、NMF等手段對(duì)矩陣進(jìn)行分解降維[8,9]?;诰垲惖姆植急硎居直环Q之為分布聚類[10],此類方法通過(guò)聚類來(lái)構(gòu)建詞與其上下文之間的關(guān)系,代表方法有布朗聚類[11]?;谏窠?jīng)網(wǎng)絡(luò)的分類表示通過(guò)詞向量技術(shù)對(duì)上下文及目標(biāo)詞間的關(guān)系進(jìn)行建模。
2003年神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(Neural Network Language Model,NNLM)被Bengio等提出并應(yīng)用,且證實(shí)NNLM可以對(duì)更長(zhǎng)的依賴關(guān)系進(jìn)行建模[8]。此后一系列基于此的模型被提出,但都無(wú)法擺脫高復(fù)雜度的束縛[12,13,14,15]。2013年Mikolov提出CBOW(Continuous Bag of-Words)和Skip-gram模型,該模型在之前模型的基礎(chǔ)上進(jìn)行簡(jiǎn)化保留核心部分,使得神經(jīng)網(wǎng)絡(luò)模型在自然語(yǔ)言處理中獲取詞向量變得更加高效[16]。
Kim直接將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)體系結(jié)構(gòu)用于文本分類[17]。在字符級(jí)別使用CNN體系結(jié)構(gòu)來(lái)表示文本[4],將多任務(wù)學(xué)習(xí)框架與遞歸神經(jīng)網(wǎng)絡(luò)(RNN)結(jié)構(gòu)結(jié)合起來(lái)共同跨多個(gè)相關(guān)任務(wù)學(xué)習(xí)[18],采用遞歸結(jié)構(gòu)掌握上下文信息,并通過(guò)使用最大池化層來(lái)識(shí)別文本中的關(guān)鍵組成部分[19]。分布表示方法雖然能從大規(guī)模數(shù)據(jù)集中自動(dòng)學(xué)習(xí)特征,但存在可解釋性差、訓(xùn)練時(shí)間長(zhǎng)、訓(xùn)練參數(shù)多等不足。
1.3 ?注意力機(jī)制
注意力在人類感知中起著重要的作用,人類視覺(jué)系統(tǒng)的一個(gè)重要特性是不會(huì)立即處理整個(gè)場(chǎng)景[20]。取而代之的是,人類利用一連串的部分瞥見(jiàn),并有選擇地專注于突出部分,以便更好地捕獲視覺(jué)結(jié)構(gòu)。
注意力機(jī)制由Bahdanau等人[21]在機(jī)器翻譯領(lǐng)域提出,為結(jié)合注意力來(lái)提高大規(guī)模分類任務(wù)中CNN的性能,一種使用編碼器-解碼器風(fēng)格的注意力模塊的殘余注意力網(wǎng)絡(luò)被提出[22]。通過(guò)細(xì)化特征圖,該網(wǎng)絡(luò)不僅性能良好,而且對(duì)嘈雜的輸入也具有較強(qiáng)的魯棒性。
注意力機(jī)制的好處是它們?cè)试S處理可變大小的輸入,著眼于輸入中最相關(guān)的部分以做出決策。當(dāng)注意力機(jī)制用于計(jì)算單個(gè)序列的表示時(shí),通常稱為自我注意力或內(nèi)部注意力。自注意力機(jī)制通常與遞歸神經(jīng)網(wǎng)絡(luò)(RNN)或卷積神經(jīng)網(wǎng)絡(luò)(CNN)一起使用,事實(shí)證明,自注意力對(duì)機(jī)器閱讀和學(xué)習(xí)句子表示等任務(wù)很有用。自注意力不僅可以改進(jìn)基于RNN或卷積的方法,而且可用于構(gòu)建強(qiáng)大的模型來(lái)提高機(jī)器翻譯任務(wù)的性能[23]。本文所提出的嵌入式注意力機(jī)制是自注意力的一種。
2 ?Eam模型
如圖1所示在模塊Eam中,輸入的數(shù)據(jù)將先經(jīng)過(guò)Eam-channel處理,處理完成后輸入Eam-spatial,最后產(chǎn)生最終輸出。在文本數(shù)據(jù)中,對(duì)于任意給定的中間態(tài)特征圖 作為嵌入的注意力模塊(Embeddable attention module)模型的輸入數(shù)據(jù)。根據(jù)卷積神經(jīng)網(wǎng)絡(luò)的特性,本文將該卷積塊設(shè)置為通道維度(Eam-channel)和空間維度(Eam-spatial)的組合模型。而通道維度的產(chǎn)物通常是一維的 ,空間維度的產(chǎn)物通常是二維的 。
3 ?實(shí)驗(yàn)
3.1 ?數(shù)據(jù)集及訓(xùn)練環(huán)境
IMDB:IMDB數(shù)據(jù)集為2分類數(shù)據(jù)集,共89527個(gè)單詞5萬(wàn)條來(lái)自網(wǎng)絡(luò)電影數(shù)據(jù)庫(kù)的評(píng)論。其中訓(xùn)練集與測(cè)試集分別為2.5萬(wàn)條,每部分正負(fù)評(píng)論各占50%,數(shù)據(jù)集由Keras官網(wǎng)提供。
實(shí)驗(yàn)采用Keras+Tensorflow相結(jié)合的形式,Keras作為上層語(yǔ)言,tensorflow作為keras的后端支持。Pyhon版本為3.6.10,keras版本為2.2.4,tensorflow版本為tensorflow-gpu1.8.0。
3.2 ?評(píng)價(jià)指標(biāo)
本文采用正確率(Accuracy)、精準(zhǔn)率(Precision)、召回率(Recall)、F1值來(lái)評(píng)價(jià)模型性能。表1評(píng)價(jià)的混淆矩陣覆蓋每次的預(yù)測(cè)情況,TP是被正確地劃分為正例的個(gè)數(shù),F(xiàn)P是被錯(cuò)誤地劃分為正例的個(gè)數(shù),F(xiàn)N是被錯(cuò)誤地劃分為負(fù)例的個(gè)數(shù),TN是被正確地劃分為負(fù)例的個(gè)數(shù)。P表示實(shí)際正例個(gè)數(shù),N表示實(shí)際負(fù)例個(gè)數(shù),表示方式如式(5)~(6)所示。
在進(jìn)行性能評(píng)價(jià)時(shí),查準(zhǔn)率用作評(píng)價(jià)分類器的正確率,召回率用作評(píng)價(jià)分類器的覆蓋率,F(xiàn)1值是查準(zhǔn)率與召回率的調(diào)和平均值,以其評(píng)價(jià)分類器的綜合性能。它們的表示方式如式(7)~(10)所示。
3.3 ?超參數(shù)設(shè)置
模型預(yù)訓(xùn)練的詞向量維度為400并進(jìn)行隨機(jī)初始化,權(quán)重隨機(jī)初始化為標(biāo)準(zhǔn)差為0.1的正態(tài)分布隨機(jī)數(shù),同時(shí)所有詞向量在訓(xùn)練時(shí)進(jìn)行微調(diào)。丟棄率(dropout)設(shè)為0.5,卷積核大?。╧ernel-size)設(shè)為3,濾波器個(gè)數(shù)設(shè)為250,隱藏層的維度設(shè)為250,L2正則化權(quán)重為0.0001,學(xué)習(xí)率為0.01,學(xué)習(xí)率的下降率為0.05,每個(gè)batch中32個(gè)樣本,訓(xùn)練輪次(epoch)為5,并在每個(gè)epoch過(guò)程中采用EarlyStopping防止過(guò)擬合,使用Adam加快模型訓(xùn)練速度。
3.4 ?結(jié)果分析
本文選取TextCNN及ImdbCNN作為基礎(chǔ)模型,在二者中分別嵌入Eam模塊,使用IMDB數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)論證。
如表2所示,經(jīng)測(cè)試集驗(yàn)證,模型準(zhǔn)確率(accuracy)提高,loss損失下降。查準(zhǔn)率(precision)低于原模型,召回率在經(jīng)Eam模塊加強(qiáng)后有5%的提升效果,遠(yuǎn)高于原模型。由于查準(zhǔn)率低于原模型但召回率高于原模型,無(wú)法直觀衡量其增強(qiáng)效果,為進(jìn)一步證明Eam模塊的有效性,本文引入二者的調(diào)和平均數(shù)F1值來(lái)評(píng)價(jià)增強(qiáng)模型的性能,數(shù)據(jù)表明在引入Eam模塊后F1值穩(wěn)定提升。
由于采用EarlyStopping防范過(guò)擬合策略,模型TextCNN-eam和模型ImdbCNN-eam分別在訓(xùn)練輪次(epoch)為3和2時(shí)停止訓(xùn)練。表3表明Eam增強(qiáng)模型整體用時(shí)普遍小于原模型,但單次訓(xùn)練時(shí)長(zhǎng)要大于原模型。結(jié)合表4可知,總訓(xùn)練的超參數(shù)個(gè)數(shù)對(duì)訓(xùn)練時(shí)長(zhǎng)有較大的影響,雖然嵌入式注意力機(jī)制模塊可提升原有模型性能,但由于疊加多層網(wǎng)絡(luò)結(jié)構(gòu)導(dǎo)致超參數(shù)過(guò)多單次訓(xùn)練時(shí)長(zhǎng)較長(zhǎng),在超大規(guī)模的文本分類任務(wù)中性能與訓(xùn)練時(shí)長(zhǎng)可能無(wú)法 ?平衡。
本文在確定超參數(shù)卷積核大小、丟棄率時(shí),分別設(shè)置不同對(duì)比組以確定最佳的參數(shù)設(shè)定值。在數(shù)據(jù)集IMDB上進(jìn)行驗(yàn)證時(shí),不同的參數(shù)對(duì)于模型正確率的影響是不一致的。從圖5可以看到卷積核對(duì)單個(gè)模型自身的影響是有限的,對(duì)準(zhǔn)確度的影響稍小。圖6表明當(dāng)丟棄率大于0.7時(shí),即每次訓(xùn)練隨機(jī)丟棄的連接層大于70%時(shí),模型性能急速下降處于欠擬合狀態(tài);當(dāng)丟棄率設(shè)置為0.5時(shí),模型正確率達(dá)到最高;當(dāng)丟棄率小于0.5時(shí),除ImdbCNN外正確率都在下降,訓(xùn)練集的正確率仍在上升,這表明模型出現(xiàn)過(guò)擬合。綜合考慮模型正確率及訓(xùn)練時(shí)長(zhǎng),最終確定卷積核大小為3丟棄率為0.5作為最佳參數(shù)配置。
4 ?結(jié)論與展望
為提升文本分類的正確率加快模型訓(xùn)練速度,本文提出一種嵌入式的自注意力機(jī)制模塊Eam,并將Eam分別嵌入TextCNN、ImdbCNN模型進(jìn)行對(duì)比論證。由于自注意力機(jī)制能夠有效獲取文本中的關(guān)鍵信息,最終實(shí)驗(yàn)結(jié)果表明經(jīng)Eam增強(qiáng)的后模型較原有模型性能、準(zhǔn)確度、召回率、F1值都有所提升。目前Eam模塊仍存在一些不足,如單次訓(xùn)練時(shí)間長(zhǎng)、訓(xùn)練參數(shù)多,在大規(guī)模語(yǔ)料庫(kù)上性能可能存在問(wèn)題,長(zhǎng)文本分類結(jié)果不理想。后續(xù)工作將圍繞兩方面展開(kāi):選擇不同規(guī)模的語(yǔ)料庫(kù)及多種模型驗(yàn)證Eam模塊的有效性;在Eam中使用Top-k池化替代最大池化,獲取到更為豐富的語(yǔ)義信息從而進(jìn)一步增強(qiáng)其特征表示能力。
參考文獻(xiàn)
[1] 陶永才, 楊朝陽(yáng), 石磊, 衛(wèi)琳. 池化和注意力相結(jié)合的新聞文本分類方法[J]. 小型微型計(jì)算機(jī)系統(tǒng), 2019, 40(11): 2393-2397.
[2] 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.
[3] Joachims T. Text categorization with support vector machines: Learning with many relevant features[C]//European conference on machine learning. Springer, Berlin, Heidelberg, 1998: 137-142.
[4] Zhang X, Zhao J, LeCun Y. Character-level convolutional networks for text classification[C]//Advances in neural information processing systems. 2015: 649-657.
[5] Robertson S. Understanding inverse document frequency: on theoretical arguments for IDF[J]. Journal of documentation, 2004.
[6] Harris Z S. Distributional structure[J]. Word, 1954, 10(2-3): 146-162.
[7] Firth J R. A synopsis of linguistic theory, 1930-1955[J]. Studies in linguistic analysis, 1957.
[8] Pennington J, Socher R, Manning C D. Glove: Global vectors for word representation[C]//Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP). 2014: 1532-1543.
[9] Lebret R, Collobert R. Word emdeddings through hellinger PCA[J]. arXiv preprint arXiv: 1312. 5542, 2013.
[10] Pereira F, Tishby N, Lee L. Distributional clustering of English words[C]//Proceedings of the 31st annual meeting on Association for Computational Linguistics. Association for Computational Linguistics, 1993: 183-190.
[11] Brown P F, Desouza P V, Mercer R L, et al. Class-based n-gram models of natural language[J]. Computational linguistics, 1992, 18(4): 467-479.
[12] Mnih A, Hinton G. Three new graphical models for statistical language modelling[C]//Proceedings of the 24th international conference on Machine learning. ACM, 2007: 641-648.
[13] Mnih A, Hinton G E. A scalable hierarchical distributed language model[C]//Advances in neural information processing systems. 2009: 1081-1088.
[14] Mnih A, Kavukcuoglu K. Learning word embeddings efficiently with noise-contrastive estimation[C]//Advances in neural information processing systems. 2013: 2265-2273.
[15] Mikolov T, Karafiát M, Burget L, et al. Recurrent neural network based language model[C]//Eleventh annual conference of the international speech communication association. 2010.
[16] 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.
[17] Kim Y. Convolutional neural networks for sentence classification[J]. arXiv preprint arXiv: 1408. 5882, 2014.
[18] Liu P, Qiu X, Huang X. Recurrent neural network for text classification with multi-task learning[J]. arXiv preprint arXiv: 1605. 05101, 2016.
[19] Lai S, Xu L, Liu K, et al. Recurrent convolutional neural networks for text classification[C]//Twenty-ninth AAAI conference on artificial intelligence. 2015.
[20] Itti L, Koch C, Niebur E. A model of saliency-based visual attention for rapid scene analysis[J]. IEEE Transactions on pattern analysis and machine intelligence, 1998, 20(11): 1254-1259.
[21] Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate[J]. arXiv preprint arXiv: 1409. 0473, 2014.
[22] Wang F, Jiang M, Qian C, et al. Residual attention network for image classification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 3156-3164.
[23] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008.
[24] 陳海紅. 多核SVM 文本分類研究[J]. 軟件, 2015, 36(5): 7-10.
[25] 劉騰飛, 于雙元, 張洪濤, 等. 基于循環(huán)和卷積神經(jīng)網(wǎng)絡(luò)的文本分類研究[J]. 軟件, 2018, 39(01): 64-69.
[26] 張曉明, 尹鴻峰. 基于卷積神經(jīng)網(wǎng)絡(luò)和語(yǔ)義信息的場(chǎng)景分類[J]. 軟件, 2018, 39(01): 29-34.
[27] 吳亞熙, 岑峰. 基于卷積神經(jīng)網(wǎng)絡(luò)的多層級(jí)目標(biāo)檢測(cè)方法[J]. 軟件, 2018, 39(4): 164-169.
[28] 陳海紅. 多核SVM 文本分類研究[J]. 軟件, 2015, 36(5): 7-10.