畢云杉,錢亞冠,張超華,潘 俊,徐慶華
(浙江科技學(xué)院 理學(xué)院,杭州 310023)
近年來,隨著移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展,文本數(shù)據(jù)呈爆炸式增長,而文本分類作為自然語言處理(natural language processing,NLP)中的關(guān)鍵技術(shù)之一,受到了越來越廣泛的關(guān)注。文本分類是一種將文本進(jìn)行轉(zhuǎn)換并自動(dòng)分類到指定的某個(gè)或某幾個(gè)類別之中的技術(shù),NLP領(lǐng)域中的多種應(yīng)用均可劃分為文本分類,如意圖識(shí)別、領(lǐng)域識(shí)別、情感分析等。文本分類的方法包括基于規(guī)則的方法[1]、基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法[2-3]及基于深度學(xué)習(xí)的方法[4-5],其中,由于深度學(xué)習(xí)強(qiáng)大的表示學(xué)習(xí)的能力,被廣泛應(yīng)用于文本分類任務(wù)中。而隨著深度學(xué)習(xí)預(yù)訓(xùn)練語言模型的發(fā)展,文本分類任務(wù)的性能取得了更進(jìn)一步的提升。
早期的預(yù)訓(xùn)練語言模型有文本向量化(word to vector,word2vec)[6]、全局詞向量(global vectors for word representation,GloVe)[7]等,但這些模型不能解決一詞多義問題;之后,從語言模型中獲取詞向量(embedding from language model,ELMo)[8]等聯(lián)系上下文的詞向量預(yù)訓(xùn)練方法被提出,解決了一詞多義問題,但ELMo采用的是長短時(shí)記憶網(wǎng)絡(luò)(long-short-term memory network,LSTM)對(duì)特征進(jìn)行提取,而LSTM提取特征的能力相對(duì)較弱,不能很好地融合上下文的特征。近幾年,生成性預(yù)訓(xùn)練(generative pre-training,GPT)模型[9]、雙向編碼器表征量(bidirectional encoder representation from transformers,BERT)模型[10]等被相繼提出。GPT是第一個(gè)引入了轉(zhuǎn)換器[11]的預(yù)訓(xùn)練語言模型,轉(zhuǎn)換器特征提取能力強(qiáng)于LSTM,且轉(zhuǎn)換器并行計(jì)算能力強(qiáng),但GPT本質(zhì)上還是一個(gè)單向語言模型,無法獲得上下文相關(guān)的特征表示,無法捕捉更多的信息。BERT模型是一種基于雙向轉(zhuǎn)換器構(gòu)建的語言模型,由谷歌公司提出后被廣泛應(yīng)用到自然語言處理任務(wù)中[12-13]。諶志群等[14]將BERT模型與雙向(bi-directional)LSTM相結(jié)合,構(gòu)建了BERT-BiLSTM模型,用其對(duì)微博評(píng)論的傾向性進(jìn)行分析,與傳統(tǒng)方法相比提高了分類的準(zhǔn)確性。馬強(qiáng)等[15]提出基于BERT與卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的文本分類方法,引入CNN對(duì)BERT模型提取到的句子特征進(jìn)一步提取,獲得了更好的分類效果。由于LSTM并行處理的能力弱,CNN雖擁有較強(qiáng)的并行處理能力,但無法獲取長距離的文本依賴關(guān)系;而深度卷積神經(jīng)網(wǎng)絡(luò)(deep pyramid convolutional neural networks,DPCNN)通過不斷加深網(wǎng)絡(luò),可以提取出深層次的文本特征。如李穎[16]提出基于BERT模型與DPCNN的垃圾彈幕識(shí)別方法,與LSTM、CNN方法相比提高了分類的準(zhǔn)確性。但是,BERT預(yù)訓(xùn)練模型只關(guān)注了自身的文本信息,不能全面地獲取潛在的文本特征。
針對(duì)上述問題,本研究利用知識(shí)增強(qiáng)語義表示(enhanced representation through knowledge integration,ERNIE)模型,它在BERT模型基礎(chǔ)上進(jìn)一步優(yōu)化,加入了大量語料中的詞法、句法等先驗(yàn)語義信息,能更全面地捕捉訓(xùn)練語料中的潛在信息,并引入深度卷積神經(jīng)網(wǎng)絡(luò)獲取長距離的文本依賴關(guān)系,對(duì)文本特征進(jìn)行深層次的提取,構(gòu)建ERNIE-DPCNN模型進(jìn)行中文文本分類,通過提升文本語義表征的能力來增強(qiáng)中文文本分類的效果。
ERNIE模型[17]可以同時(shí)充分利用詞法、句法和語義信息,相比BERT模型,ERNIE模型的改進(jìn)主要是在掩碼機(jī)制上。BERT模型與ERNIE模型不同的掩碼策略如圖1所示,BERT模型建模對(duì)象主要聚焦在原始語言信號(hào)上,沒有充分利用訓(xùn)練數(shù)據(jù)當(dāng)中的詞法結(jié)構(gòu)、句法結(jié)構(gòu)及語義信息去學(xué)習(xí)建模,在訓(xùn)練中文文本時(shí),BERT模型隨機(jī)掩蓋掉15%的詞進(jìn)行預(yù)測,通過這種強(qiáng)行掩蓋的方式,把“杭”和“州”字與字之間的關(guān)系給拆散了,模糊了“杭州”和“西湖”詞與詞之間的聯(lián)系;而ERNIE模型采用的掩碼語言模型是一種帶有先驗(yàn)知識(shí)的掩碼機(jī)制,通過對(duì)詞、短語等語義信息進(jìn)行建模,得出“杭州”與“西湖”的關(guān)系,學(xué)到“杭州”是“西湖”的“所在地”及“杭州”被稱為“人間天堂”,從而推斷出此時(shí)掩蓋掉的詞是“杭州”,使得模型學(xué)習(xí)到完整概念的語義表示。
圖1 BERT模型與ERNIE模型不同的掩碼策略
深度卷積神經(jīng)網(wǎng)絡(luò)[18]是由騰訊人工智能實(shí)驗(yàn)室提出的,其通過不斷加深網(wǎng)絡(luò),可以獲得長距離的文本依賴關(guān)系。在DPCNN網(wǎng)絡(luò)中卷積使用等長卷積,即輸出序列的長度等于輸入序列的長度;在進(jìn)行池化操作之前要固定特征圖的數(shù)量,如果增加特征圖的數(shù)量會(huì)大幅地增加計(jì)算時(shí)間,而精度并沒有提高。在固定了特征圖的數(shù)量后,每當(dāng)使用一個(gè)卷積核大小為3、步長為2的池化層進(jìn)行最大池化,每個(gè)卷積層的序列長度就被縮短為原始長度的一半,感知到的文本片段比之前長了一倍,計(jì)算時(shí)間減半,從而形成一個(gè)金字塔結(jié)構(gòu),進(jìn)一步提取了有效特征。
我們提出的ERNIE-DPCNN模型主要分為輸入層、ERNIE層、DPCNN層和文本分類輸出層,模型結(jié)構(gòu)如圖2所示。
圖2 ERNIE-DPCNN模型結(jié)構(gòu)
將原始的句子轉(zhuǎn)化為大小為(batch_size,padding_size)的詞嵌入表示{t1,t2,t3,…,tn},其中,batch_size為每批次訓(xùn)練樣本大小,padding_size為句子最大序列長度。
ERNIE層利用多層轉(zhuǎn)換器的自注意力雙向建模性能,主要采用了轉(zhuǎn)換器的編碼器部分。轉(zhuǎn)換器通過矩陣間的計(jì)算來獲得人們所關(guān)注的信息,抑制其他無用的信息,獲得每個(gè)詞新的表征,從而實(shí)現(xiàn)自注意力機(jī)制。轉(zhuǎn)換器編碼單元如圖3所示,首先將輸入向量矩陣T通過位置編碼后得到矩陣X,與各自權(quán)重矩陣Wq、Wk、Wv相乘,用于獲得詞語之間的相互關(guān)聯(lián)程度,得到查詢矩陣Q、鍵矩陣K和值矩陣V:
圖3 轉(zhuǎn)換器編碼單元
Q=XWq;
(1)
K=XWk;
(2)
V=XWv。
(3)
(4)
將ERNIE層最后一層的輸出作為DPCNN層的特征輸入,DPCNN層底層是文本區(qū)域嵌入層,對(duì)一個(gè)文本區(qū)域或者片段進(jìn)行一組卷積操作后嵌入模型中;采用2個(gè)等長卷積生成特征,在每層卷積層中加入線性修正單元(rectified linear unit,ReLU)[19]作為激活函數(shù),增強(qiáng)神經(jīng)網(wǎng)絡(luò)模型的非線性,減少參數(shù)的相互依存關(guān)系,同時(shí)加快網(wǎng)絡(luò)訓(xùn)練速度,防止梯度消失,緩解模型過擬合的問題;卷積層與池化層之間采用殘差連接[20],在每2層中增加一個(gè)捷徑,構(gòu)成1個(gè)殘差塊,增加了多尺度信息,極大地緩解了梯度彌散的問題。2層等長卷積和1個(gè)池化下采樣組成1個(gè)模塊,DPCNN層重復(fù)使用這種模塊就能夠抽取文本的長距離依賴關(guān)系,進(jìn)一步提取文本特征。最后的池化層將整個(gè)文本表示為1個(gè)向量V。
將最終提取的特征向量輸入全連接層采用softmax分類器進(jìn)行分類,從而得到模型最終預(yù)測的文本分類結(jié)果
N=softmax(w0V+b0)。
(5)
式(5)中:w0為權(quán)重系數(shù)矩陣;b0為偏置項(xiàng);N為最終輸出的文本分類標(biāo)簽。
選取3個(gè)中文數(shù)據(jù)集作為試驗(yàn)語料,數(shù)據(jù)集詳情見表1。
表1 數(shù)據(jù)集詳情
新聞文本數(shù)據(jù)集[21]共有金融、房產(chǎn)、股票、教育等10個(gè)分類,包含160 000條訓(xùn)練數(shù)據(jù),20 000條驗(yàn)證數(shù)據(jù),20 000條測試數(shù)據(jù)。
網(wǎng)上購物數(shù)據(jù)集[22]共有書籍、平板、手機(jī)等10類評(píng)論數(shù)據(jù),包含50 216條訓(xùn)練數(shù)據(jù),6 277條驗(yàn)證數(shù)據(jù),6 277條測試數(shù)據(jù)。
第四屆全國應(yīng)用統(tǒng)計(jì)專業(yè)學(xué)位研究生案例大賽的旅游評(píng)論數(shù)據(jù)集[23]中,涉及正面、中性及負(fù)面評(píng)論,包含3 600條訓(xùn)練數(shù)據(jù),400條驗(yàn)證數(shù)據(jù),由于數(shù)據(jù)集較小,測試數(shù)據(jù)等同于驗(yàn)證數(shù)據(jù)。
ERNIE-DPCNN模型最大序列長度設(shè)置為128,每批次處理的數(shù)據(jù)量大小設(shè)置為64,迭代次數(shù)設(shè)置為3,學(xué)習(xí)率設(shè)置為0.000 02,使用自適應(yīng)矩估計(jì)優(yōu)化器(adaptive moment estimation,Adam)更新網(wǎng)絡(luò)參數(shù)。預(yù)訓(xùn)練模型使用了百度發(fā)布的預(yù)訓(xùn)練好的“ERNIE 1.0 Base中文”模型,以中文維基百科、百度百科、百度新聞、百度貼吧等數(shù)據(jù)集為訓(xùn)練語料,本模型采用了12層的轉(zhuǎn)換器,隱藏層層數(shù)為768,多頭注意力機(jī)制參數(shù)設(shè)置為12,模型總參數(shù)大小為110 MB。
為了評(píng)估ERNIE-DPCNN模型在中文文本分類問題上的可行性,本研究采用準(zhǔn)確率(A)、損失值(L)、精度(P)、召回率(R)及F1值作為評(píng)價(jià)指標(biāo)。準(zhǔn)確率用以衡量分類器預(yù)測結(jié)果與真實(shí)結(jié)果之間的差異;損失值為分類器預(yù)測錯(cuò)誤的概率;精度指在被所有預(yù)測為正的樣本中實(shí)際為正樣本的概率;召回率指在實(shí)際為正的樣本中被預(yù)測為正樣本的概率。F1值定義如下:
(6)
如式(6)所示,F1值是精度與召回率的調(diào)和平均,在給定閾值下,F1值越接近1,模型的性能越好。對(duì)于多分類的文本分類問題,在計(jì)算各項(xiàng)評(píng)價(jià)指標(biāo)時(shí),若選定其中一類為正類,則其余的類別作為負(fù)類,從而將多分類問題轉(zhuǎn)換為二分類問題進(jìn)行處理。
為了驗(yàn)證ERNIE-DPCNN模型在文本分類任務(wù)中的有效性,將我們提出的分類模型與下列性能較高的分類模型進(jìn)行對(duì)比試驗(yàn),對(duì)比模型如下。
1)BERT模型:經(jīng)中文預(yù)訓(xùn)練BERT模型得到文本特征后,通過全連接層輸入到分類器中實(shí)現(xiàn)文本分類。
2)BERT-CNN模型:在模型1)的基礎(chǔ)上,將預(yù)訓(xùn)練得到的文本特征表示輸入到卷積神經(jīng)網(wǎng)絡(luò)中,做進(jìn)一步的特征提取[15],通過全連接層輸入分類器中實(shí)現(xiàn)文本分類。
3)BERT-BiLSTM模型:經(jīng)模型1)中的預(yù)訓(xùn)練模型得到文本表示后,利用BiLSTM模型提取句子中各個(gè)詞的上下文信息[14],通過全連接層輸入分類器中實(shí)現(xiàn)文本分類。
4)BERT-DPCNN模型:經(jīng)模型1)中的預(yù)訓(xùn)練模型得到文本表示后,利用深度卷積神經(jīng)網(wǎng)絡(luò)提取文本特征[16],并在神經(jīng)網(wǎng)絡(luò)中引入非線性ReLU激活函數(shù),通過全連接層輸入分類器中實(shí)現(xiàn)文本分類。
5)ERNIE模型:預(yù)訓(xùn)練采用“ERNIE 1.0 Base中文”模型,直接連接全連接層實(shí)現(xiàn)文本分類。
在模型參數(shù)設(shè)置過程中,盡量保持設(shè)置上的一致性;由于模型結(jié)構(gòu)的差異而無法達(dá)到一致時(shí),采取最優(yōu)的參數(shù)設(shè)置。試驗(yàn)對(duì)比模型參數(shù)設(shè)置見表2。
表2 試驗(yàn)對(duì)比模型參數(shù)設(shè)置
3.4.1 試驗(yàn)結(jié)果
基于ERNIE的文本分類模型與基準(zhǔn)模型各項(xiàng)評(píng)價(jià)指標(biāo)的試驗(yàn)結(jié)果見表3~5。由表3~5可知,在3個(gè)數(shù)據(jù)集上的各項(xiàng)評(píng)價(jià)指標(biāo)的值均有不同程度的提升,ERNIE-DPCNN模型在新聞文本、網(wǎng)上購物及旅游評(píng)論數(shù)據(jù)集上分類結(jié)果的F1值分別達(dá)到了94.75%、87.56%、63.61%,表明采用ERNIE-DPCNN模型進(jìn)行文本分類的可行性和有效性。
表3 新聞文本分類數(shù)據(jù)集的試驗(yàn)結(jié)果
BERT-CNN、BERT-DPCNN模型均屬于CNN類別模型,BERT-BiLSTM模型屬于RNN類別模型,CNN類別模型在中文文本分類任務(wù)上的各項(xiàng)評(píng)價(jià)指標(biāo)的值都要高于RNN類別模型,說明了在中文文本分類中更注重詞的提取,而RNN類別模型更注重于聯(lián)系上下文的信息,并沒有展現(xiàn)出更好的性能。同時(shí),BERT-DPCNN模型在新聞文本、網(wǎng)上購物及旅游評(píng)論數(shù)據(jù)集上分類結(jié)果的準(zhǔn)確率分別為88.74%、85.02%、82.63%,而ERNIE-DPCNN模型分類結(jié)果的準(zhǔn)確率分別達(dá)到了94.75%、89.79%、85.12%,說明ERNIE模型比BERT模型特征提取能力更強(qiáng)。
此外,在新聞文本數(shù)據(jù)集上各模型分類結(jié)果的各項(xiàng)指標(biāo)的值最高,文本分類性能最好,在旅游評(píng)論數(shù)據(jù)集上各模型分類結(jié)果的各項(xiàng)評(píng)價(jià)指標(biāo)的值較低,可能是由于數(shù)據(jù)集數(shù)據(jù)量小、分類數(shù)據(jù)不均衡。
表4 網(wǎng)上購物數(shù)據(jù)集的試驗(yàn)結(jié)果
表5 旅游評(píng)論數(shù)據(jù)集的試驗(yàn)結(jié)果
3.4.2 多頭注意力機(jī)制的參數(shù)對(duì)文本分類的影響
為了探究改變多頭注意力機(jī)制的頭數(shù)對(duì)ERNIE-DPCNN模型進(jìn)行中文文本分類的影響,選擇最具有代表性的新聞文本數(shù)據(jù)集進(jìn)行試驗(yàn),結(jié)果見表6。
表6 多頭注意力機(jī)制頭數(shù)對(duì)分類結(jié)果的影響
從表6中可以發(fā)現(xiàn),隨著混合模型多頭注意力機(jī)制頭數(shù)的增加,文本分類的效果總體上呈逐漸提升的趨勢。當(dāng)多頭注意力機(jī)制頭數(shù)為12時(shí),ERNIE-DPCNN模型分類效果最好,此時(shí)損失最低,損失率為17%,F1值為94.75%;當(dāng)多頭注意力機(jī)制頭數(shù)達(dá)到16時(shí),文本分類效果減弱,準(zhǔn)確率、F1值降低,損失升高。試驗(yàn)結(jié)果表明,適當(dāng)增加多頭注意力機(jī)制的頭數(shù),使得模型捕獲到更多層面的語義特征,能提高ERNIE-DPCNN模型進(jìn)行文本分類的性能。
3.4.3 激活函數(shù)對(duì)文本分類的影響
為了探究改變激活函數(shù)對(duì)ERNIE-DPCNN模型進(jìn)行中文文本分類的影響,選取隨機(jī)線性修正單元(randomized leaky rectified linear unit,RReLU)[19]和參數(shù)化線性修正單元(parametric rectified linear unit,PReLU)[19]作為激活函數(shù),與ReLU激活函數(shù)進(jìn)行了試驗(yàn)對(duì)比,選擇最具有代表性的新聞文本數(shù)據(jù)集進(jìn)行試驗(yàn),結(jié)果見表7。
表7 激活函數(shù)對(duì)分類結(jié)果的影響
從表7可以看出,ERNIE-DPCNN模型采用這3個(gè)激活函數(shù)進(jìn)行文本分類造成的損失值相同,均為17%,其中,采用ReLU激活函數(shù)進(jìn)行文本分類的結(jié)果各項(xiàng)評(píng)價(jià)指標(biāo)的值最高,分類試驗(yàn)效果最好,證明了ReLU激活函數(shù)對(duì)解決深度卷積網(wǎng)絡(luò)中梯度彌散問題的有效性,在一定程度上提升了ERNIE-DPCNN模型進(jìn)行文本分類的性能。
3.4.4 學(xué)習(xí)率對(duì)文本分類的影響
為了探究學(xué)習(xí)率對(duì)ERNIE-DPCNN模型進(jìn)行中文文本分類的影響,選擇最具有代表性的新聞文本數(shù)據(jù)集進(jìn)行試驗(yàn),結(jié)果見表8。
從表8可以看出,在一定范圍內(nèi),設(shè)置小的學(xué)習(xí)率,文本分類結(jié)果的準(zhǔn)確率、F1值會(huì)適當(dāng)?shù)靥岣?當(dāng)學(xué)習(xí)率設(shè)為0.000 05時(shí),ERNIE-DPCNN模型進(jìn)行文本分類的效果最好,此時(shí)損失率最低,超過了這個(gè)范圍,降低學(xué)習(xí)率會(huì)使文本分類結(jié)果的準(zhǔn)確率、F1值下降,損失率提高。
本研究將ERNIE和深度卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,建立中文文本分類模型。為了證明模型的有效性,我們將提出的模型與其他主流中文文本分類方法進(jìn)行試驗(yàn)對(duì)比,準(zhǔn)確率和F1值平均分別提升了6.34%、4.82%,結(jié)果表明ERNIE-DPCNN模型能有效提高中文文本分類的性能。但是,本研究還存在一些不足之處,模型對(duì)分類數(shù)據(jù)不平衡的數(shù)據(jù)集,是否能通過加入條件隨機(jī)場模型等方法來提高這類數(shù)據(jù)集分類的精度;另外,模型在詞向量表示和特征提取等方面還有一定的提升空間,這都是下一階段工作的研究方向。