齊佳琪,遲呈英,戰(zhàn)學(xué)剛
(遼寧科技大學(xué) 計(jì)算機(jī)與軟件工程學(xué)院,遼寧 鞍山 114051)
文本分類(Text classification),作為自然語言處理(Natural language processing,NLP)和機(jī)器學(xué)習(xí)(Machine learning)領(lǐng)域最受關(guān)注的應(yīng)用之一,是處理海量信息的有力手段[1]。它是指用電腦對文本集或?qū)嶓w按照一定的分類體系或標(biāo)準(zhǔn)進(jìn)行自動(dòng)分類標(biāo)記[2]。文本分類是一個(gè)監(jiān)督式學(xué)習(xí)過程,需要一個(gè)給定的分類體系和一組帶標(biāo)簽的文本,在此基礎(chǔ)上建立文本特征和文本類別之間的關(guān)系模型,利用資源構(gòu)造分類器,將待分類文本在不同的、事先定義的類別中進(jìn)行類別判斷。
根據(jù)文本不同,分類系統(tǒng)可以分為中文文本和英文文本。英文文本可以根據(jù)空格進(jìn)行切分,不需要另外的分詞處理。中文文本是一連串的漢字連接構(gòu)成句子,基本語素是詞而不是字,需要對其進(jìn)行分詞處理。分詞處理采用詞向量技術(shù)實(shí)現(xiàn)。然而,由于中文本身的特點(diǎn)在分詞過程中容易出現(xiàn)錯(cuò)誤傳播,并且隨著傳播的進(jìn)行錯(cuò)誤會(huì)逐漸加劇,影響文本分類效果。
文本作為非結(jié)構(gòu)化字符數(shù)據(jù),要實(shí)現(xiàn)計(jì)算機(jī)識別,就需要把文本轉(zhuǎn)換成為計(jì)算機(jī)可以識別的數(shù)字。1989年,Hinton[3]提出了分布式表示(Distributed representation)概念,Mikolov[4]等提出了詞向量算法,然后逐步采用Word2vec系列的分布式表示方法。2018年Devlin等提出了預(yù)訓(xùn)練模型(Bidirectional encoder representations from transformers,BERT)[5],在多個(gè)典型的自然語言處理任務(wù)中取得了出色的成就,使模型的效果大大提升,推動(dòng)了自然語言處理的發(fā)展。2019年Sun等提出了知識增強(qiáng)的語義表示模型(Enhanced representation from knowledge integration,ERNIE)[6],通過對詞、實(shí)體等語義信息遮蓋,使模型獲取完整的語義特征,ERNIE語義模型采用了詞的處理,使得中文文本語義更加完整。
近年來,隨著深度學(xué)習(xí)在工程技術(shù)中的大量應(yīng)用和所展現(xiàn)出來的優(yōu)勢,越來越多的研究人員采用深度學(xué)習(xí)的方法進(jìn)行文本信息分類的研究。經(jīng)典的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)有卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent neural network,RNN)。韓眾和等[7]將CNN與極速學(xué)習(xí)機(jī)(Extreme learning machine,ELM)結(jié)合在一起,提出了CNN-ELM混合模型,在多數(shù)數(shù)據(jù)集上取得了很高的分類精度。楊東等[8]提出了一種新奇的混合模型,將CNN融入到加入注意力機(jī)制的門控單元卷積網(wǎng)絡(luò)(Gated re-current unit,GRU)中,突出關(guān)鍵詞,并將特征提取進(jìn)行優(yōu)化也取得了不錯(cuò)的效果。鄭誠等[9]使用CNN與密集連接循環(huán)門控單元卷積網(wǎng)絡(luò)(Densely connected Bi-directional gated recurrent unit,DC_BiGRU)相融合,在執(zhí)行文本分類任務(wù)比單一的CNN模型效果要好。楊銳等[10]利用Doc2Vec提取主題信息并融合CNN網(wǎng)絡(luò)模型,與其他分類模型作對比F1值均有提升。閆琰[11]在以關(guān)鍵字表示詞向量的基礎(chǔ)上,融入了深度信念網(wǎng)絡(luò)(Deep belief network,DBN)和深度玻爾茲曼機(jī)網(wǎng)絡(luò)(Deep boltzmann machine,DBM),提出了一種全新的HDBN(Hybrid deep belief network)模型。姜大鵬[12]引用分布式表達(dá)詞向量方法對文本進(jìn)行分類處理,并且證明了該方法的有效性。借鑒劉凱洋[13]結(jié)合Bert詞向量與CNN相融合的方法,本文提出將ERNIE與CNN相結(jié)合的ERNIE-CNN文本分類模型,對中文實(shí)體進(jìn)行詞向量表示,提高中文文本分類的性能,為其他文本分類模型的研究提供參考價(jià)值。
ERNIE最初應(yīng)用到機(jī)器翻譯領(lǐng)域,以注意力機(jī)制為基礎(chǔ),利用Transformer的多層self-attention雙向建模能力進(jìn)行文本向量化表示。ERNIE與普通詞向量模型不同,ERNIE在結(jié)構(gòu)上主要是采用Transformer的編碼器Encoder,生成詞向量表示,從而存取輸入文本的上下文信息。同時(shí)通過隨機(jī)屏蔽(MASK)15%的字或者詞進(jìn)行知識整合保存到文本表示中。MASK機(jī)制使用中文實(shí)體進(jìn)行掩碼,對訓(xùn)練數(shù)據(jù)中結(jié)構(gòu)和信息的統(tǒng)一建模,大大地增強(qiáng)了語義表示能力。ERNIE模型的結(jié)構(gòu)如圖1所示。
第一個(gè)輸入是特殊的分類任務(wù)CLS。ERINE將一序列的words輸入到編碼器中。每層都使用self-attention和feed-word network,然后把結(jié)果傳入到下一個(gè)Encoder。假設(shè)輸入詞序列為wi-(n-1),…,wi-1,那么ERNIE的作用就是將詞序列wi-(n-1),…,wi-1中的每個(gè)詞向量按順序進(jìn)行拼接,x為ERNIE作為輸入層最后得到的結(jié)果,本文中n=768。
圖1 ERNIE結(jié)構(gòu)圖Fig.1 ERNIEframework map
Encoder結(jié)構(gòu)如圖2所示。Encoder由6個(gè)相同的層(sub-layer)組成,每個(gè)sub-layer都由multihead、self-attention mechanism和fully connected feed-forward network組成,并且都加入了residual connection和normalisation。sub-layer的輸出表示為
式中:Q表示查詢矩陣;K表示鍵矩陣;V表示值矩陣。WiQ代表Q進(jìn)行線性變換的矩陣;WiK代表K進(jìn)行線性變換的矩陣;WiV代表V進(jìn)行線性變換的矩陣;h表示頭的數(shù)量,每個(gè)頭能抓捕到一個(gè)文本序列中的子空間信息。
圖2 Encoder結(jié)構(gòu)圖Fig.2 Encoder framework map
multi-head attention通過h個(gè)不同的線性變換對矩陣Q,K,V進(jìn)行投影,Q,K,V三者數(shù)值相同,最后將不同的attention結(jié)果拼接起來得到融合詞向量矩陣。將執(zhí)行h次self-attention之后的結(jié)果進(jìn)行拼接處理,通過W0得出最后的self-attention結(jié)果。
CNN在自然語言處理領(lǐng)域是一種效果極好且容易實(shí)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)。文本分類的關(guān)鍵是準(zhǔn)確提煉文本或文檔的主旨,就是抽取文本或文檔的關(guān)鍵詞作為特征,然后基于這些特征去訓(xùn)練分類器從而達(dá)到分類的效果。CNN通過設(shè)置不同大小的卷積核,提取不同的局部特征,使得提取到的特征向量具有多樣性且具有代表性。CNN模型架構(gòu)如圖3所示。
圖3 CNN模型架構(gòu)Fig.3 CNNframework map
設(shè)輸入的句子矩陣為n×160,其中n為句子中字詞的個(gè)數(shù),160是本文設(shè)定的一個(gè)向量維度,將其輸入給卷積的filter層,實(shí)驗(yàn)過程中卷積的窗口設(shè)定分別為2×160、3×160、4×160三種卷積核,經(jīng)過filter層后的句子矩陣滿足以下關(guān)系
式中:N代表卷積后特征矩陣的大小;W代表卷積前句子矩陣的大小;F代表卷積核的大小;P代表填充值的大??;S代表卷積過程中的步長大小。
本文選取卷積的步長為1,卷積式式中:K為被卷積矩陣;I為卷積核;S為卷積出來的結(jié)果;(m,n)為卷積運(yùn)算的輸入坐標(biāo);(i,j)為得到的特征映射坐標(biāo)。
通過卷積獲得特征之后,使用池化函數(shù)對卷積操作得到的特征映射結(jié)果進(jìn)行處理。池化函數(shù)會(huì)將平面內(nèi)某一位置及其相鄰位置的特征值featuremap進(jìn)行采樣分析統(tǒng)計(jì)匯總,并將匯總結(jié)果作為這一位置在該平面內(nèi)的值。本文采用最大池化函數(shù)計(jì)算該位置及其相鄰矩形區(qū)域內(nèi)的最大值并作為該位置的值,分別通過Dropout函數(shù)操作和Softmax層進(jìn)行分類處理,得到輸入樣例所屬類別的概率分布情況。
ERNIE-CNN模型的結(jié)構(gòu)如圖4所示。模型主要分為七層。第一層是輸入層,向模型中輸入訓(xùn)練數(shù)據(jù)。這里輸入數(shù)據(jù)是THUCNews開源數(shù)據(jù)集。第二層是ERNIE層,將輸入的訓(xùn)練數(shù)據(jù)進(jìn)行文本表示,將每一個(gè)文本轉(zhuǎn)化為對應(yīng)的詞向量。文本表示是文本分類中的重要工作,直接影響整個(gè)文本分類任務(wù)的性能。第三層是CNN層,對文本特征進(jìn)行有力提取。第四層是池化層,選用KMaxPooling,從CNN提取的特征中選出K個(gè)最大的特征值,即K個(gè)對分類來說最重要的信息。第五層是全連接層,防止從CNN層抽取的文本特征升維,防止因維度大使模型復(fù)雜度太高,進(jìn)而導(dǎo)致模型泛化性能差。第六層是分類器層,運(yùn)用softmax分類器把文本分到所屬類別。第七層是輸出層,把分類結(jié)果輸出。
圖4 ERNIE-CNN模型架構(gòu)Fig.4 ERNIE-CNN framework map
模型超參數(shù)是在參數(shù)空間中搜索最佳值。超參數(shù)的選擇和設(shè)定可以直接影響分類模型的精度。參考文獻(xiàn)中使用的超參數(shù)值,本文經(jīng)過反復(fù)試驗(yàn)最終確定超參數(shù)的最佳值,如表1所示。
表1 模型參數(shù)Tab.1 Parameters of model
本文選用THUCNews開源數(shù)據(jù)集做對比實(shí)驗(yàn),其中18萬條作為訓(xùn)練集,1萬條作為測試集,1萬條作為驗(yàn)證集。每個(gè)數(shù)據(jù)集下含有10種分類,分別為財(cái)經(jīng)、房產(chǎn)、家居、教育、科技、時(shí)尚、時(shí)政、體育、游戲和軍事。THUCNews開源數(shù)據(jù)集樣例如表2所示。
表2 清華大學(xué)THUCNews數(shù)據(jù)集樣例Tab.2 Samples of THUCNews treebank datasets
所有實(shí)驗(yàn)均采用同一個(gè)系統(tǒng)環(huán)境,系統(tǒng)參數(shù)如表3所示。
表3 實(shí)驗(yàn)環(huán)境Tab.3 Experimental environment
本文中實(shí)驗(yàn)的評價(jià)指標(biāo)是準(zhǔn)確率Accuracy、精確率Precision、召回率Recall和F1值。
準(zhǔn)確率的定義式
精確率的定義式
召回率的定義式
F1的定義式
式中:correct是樣本分類的正確率;total是分類樣本的總數(shù);A為判別屬于該文檔且真正屬于該文檔的樣本數(shù)量;B為判別屬于該文檔但真正不屬于該文檔的樣本數(shù)量;C為判別不屬于該文檔但真正屬于該文檔的樣本數(shù)量;D為既判別不屬于該文檔也真正不屬于該文檔的樣本數(shù)量。
將ERNIE-CNN模型與模型Word2Vec-CNN、BERT-CNN模型對比分析。三種模型實(shí)驗(yàn)得出的準(zhǔn)確率結(jié)果分別為90.55%、90.88%、93.95%。
ERNIE-CNN模型的準(zhǔn)確率最高。主要是因?yàn)镋RNIE可以對訓(xùn)練數(shù)據(jù)中的結(jié)構(gòu)和信息進(jìn)行建模,大大地提高了一般語義表征能力。
Word2Vec-CNN、BERT-CNN、ERNIE-CNN模型在THUCNews開源數(shù)據(jù)集不同類別上精確率、召回率和F1值如表4所示??傮w來說,使用ERNIE-CNN模型訓(xùn)練的數(shù)據(jù)集在精確率、召回率、F1都高出Word2Vec-CNN和BERT-CNN模型。如在財(cái)經(jīng)方面,ERNIE-CNN比Word2Vec-CNN在準(zhǔn)確率上高出1.11%,在召回率上高出3.5%,在F1值上高出2.32%;比BERT-CNN在準(zhǔn)確率上高出4.94%,在召回率上高出3.6%,在F1值上高出4.27%。在所有類別中,ERNIE-CNN模型在體育方面的精確率、召回率和F1值最高,在科技方面精確率、召回率和F1值最低。這表明ERNIE-CNN模型對體育方面實(shí)體的敏感度更高。
表4 不同類別數(shù)據(jù)集的結(jié)果,%Tab.4 Resultsof different dataset categories,%
本文提出將ERNIE與CNN相結(jié)合的ERNIECNN模型應(yīng)用于文本分類任務(wù)中,在THUCNews數(shù)據(jù)集上,準(zhǔn)確率達(dá)到了93.95%,比Word2Vec-CNN高出3.4%,比BERT-CNN高出3.07%,并且在10個(gè)類別中精確率、召回率、F1值指標(biāo)都很高。實(shí)驗(yàn)表明,在文本分類任務(wù)中,ERNIE詞向量技術(shù)可以學(xué)到更多的先驗(yàn)知識,緩解在中文分詞過程中存在的錯(cuò)誤傳播問題。實(shí)驗(yàn)結(jié)果證明了ERNIECNN模型的有效性和優(yōu)越性。