華帥 鐘世立 李鑫鑫 陳彩鳳
(東莞理工學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,廣東東莞 523808)
近年來,隨著網(wǎng)絡(luò)數(shù)據(jù)的快速爆發(fā),面對復(fù)雜的海量數(shù)據(jù),人力逐漸難以應(yīng)對,運(yùn)用計(jì)算機(jī)對文本進(jìn)行自動(dòng)分類的應(yīng)用越來越普遍。文本分類作為自然語言處理的一個(gè)子任務(wù),目前它的應(yīng)用主要包括但不限于三個(gè)方面:第一,新聞的主題分類(文章分類),將新聞數(shù)據(jù)自動(dòng)歸檔為如財(cái)經(jīng) 、體育、軍事、娛樂等欄目;第二,文本數(shù)據(jù)的情感分析,一般用于影視評論、商品評價(jià)及外賣評價(jià)等數(shù)據(jù)的分析;第三,輿情分析,與情感分析的區(qū)別在于輿情分析更側(cè)重于目標(biāo)群體的情感極性,多數(shù)情形下為二分類,一般用于政府或者金融機(jī)對社會(huì)的輿論導(dǎo)向分析。面對這些需求,文本分類算法也快速發(fā)展起來。本文基于當(dāng)前需求,在文本分類大環(huán)境下進(jìn)行新的分類算法 探索。
文本分類算法的相關(guān)研究,即從傳統(tǒng)的機(jī)器學(xué)習(xí)算法如樸素貝葉斯、邏輯回歸到k近鄰、支持向量機(jī)[3]等逐漸發(fā)展到以CNN[4-6]為代表的深度學(xué)習(xí)。其中,文本分類的應(yīng)用也發(fā)生了相應(yīng)的變化。以支持向量機(jī)(SVM)為代表的傳統(tǒng)機(jī)器學(xué)習(xí)模型和以XLNet[7]、BERT[9]和GPT[8]系列的參數(shù)學(xué)習(xí)模型在文本分類以及自然語言處理等任務(wù)方面取得了較好的分類效果,但像GTP-x系列、XLNet和BERT等預(yù)訓(xùn)練語言模型的參數(shù)高達(dá)億級級別,一般研究人員的研究硬件環(huán)境難以支持此類模型的訓(xùn)練。此外,傳統(tǒng)的機(jī)器學(xué)習(xí)模型往往基于數(shù)學(xué)上的統(tǒng)計(jì)理論和概率論,沒有很好地利用深度學(xué)習(xí)神經(jīng)元較強(qiáng)的非線性擬合能力。所以,在數(shù)據(jù)急劇增加時(shí),傳統(tǒng)的機(jī)器學(xué)習(xí)方法在大規(guī)模數(shù)據(jù)分類時(shí)效果不佳。而深度學(xué)習(xí)模型依賴于較多的數(shù)據(jù),在大規(guī)模的數(shù)據(jù)集上表現(xiàn)更好,但它對算力要求也更高。受此啟發(fā),筆者提出了一種簡化的預(yù)訓(xùn)練語言模型Simplified CNN,使其在應(yīng)對中等規(guī)模數(shù)據(jù)(文本數(shù)量百萬級內(nèi)的數(shù)據(jù))時(shí)能充分發(fā)揮傳統(tǒng)機(jī)器學(xué)習(xí)模型和深度學(xué)習(xí)模型的優(yōu)勢,在達(dá)到較好的分類效果的情況下,模型更加精簡。
筆者先梳理主流的語言預(yù)訓(xùn)練模型的發(fā)展歷程,分析當(dāng)前的預(yù)訓(xùn)練語言模型的優(yōu)點(diǎn)和局限性,并針對模型的局限性提出了思考,提出一種簡化的文本分類算法Simplified CNN,此算法在多個(gè)主流數(shù)據(jù)集上進(jìn)行分類效果測試,取得了較好的表現(xiàn),這可以為后續(xù)此方向的深入研究提供了參考。
語言中的詞表征、文檔表征與文本分類方法的改進(jìn)一直是自然語言理解(NLU)任務(wù)中的主要研究方向,詞的特征表示是自然語言處理中預(yù)處理環(huán)節(jié)的主要任務(wù)。傳統(tǒng)的詞表征方法如詞袋模型BoW、TF-IDF[10],是基于語料庫構(gòu)成的詞匯表來進(jìn)行詞統(tǒng)計(jì),表征的結(jié)果是維度較高、稀疏性較大,且忽略了詞之間的關(guān)系。為解決此問題,Mikolov等人提出的word2vec[1]詞嵌入方法是一種基于統(tǒng)計(jì)的方法,可以有效地學(xué)習(xí)文本語料庫中一個(gè)獨(dú)立的詞的嵌入信息,使不同的詞在具有相似的表達(dá)意義的情況下也具有相似的向量表示,同時(shí)減少了詞向量的維度與稀疏性,可以進(jìn)行簡單的線性代數(shù)運(yùn)算。在word2vec的基礎(chǔ)上,斯坦福大學(xué)Jeffrey Pennington等提出了GloVe[2]詞表征方法,綜合了LSA(Latent Semantic Analysis)[11]的利用全局文本統(tǒng)計(jì)數(shù)據(jù)進(jìn)行潛在的語義分析的特點(diǎn)及Word2Vec捕捉語義和類比學(xué)習(xí)方面的能力,同時(shí)又避免了LDA(Latent Dirichlet Allocation)[12]在大數(shù)據(jù)集下的高計(jì)算成本,在文本的表征方面逐漸成為主流方法。
主流預(yù)訓(xùn)練語言模型的發(fā)展大體分三個(gè)階段(如表1),第一階段以谷歌公司提出的Word2Vec[1]和斯坦福大學(xué)提出的GloVe[2]為代表;第二階段以谷歌公司的BERT[9]等為代表;第三階段模型是在前面模型的基礎(chǔ)上加以學(xué)習(xí)和改進(jìn),形成相對比較完備的語言預(yù)訓(xùn)練模型XLNet[7]和MPNet[14]。這些預(yù)訓(xùn)練語言模型大體分為AR(Autoregressive Language Modeling)和AE(Autoencoding Language Modeling)兩種模型。AR語言模型是根據(jù)前面或者后面出現(xiàn)的tokens(將一個(gè)句子劃分為多個(gè)詞,每個(gè)詞為一個(gè)token)來預(yù)測當(dāng)前時(shí)刻的token,這類模型代表有ELMo[13]、GTP[8],而AE語言模型則是通過上下文信息(也可理解為前面和后面的tokens)來預(yù)測被遮蔽(masked)的token,這類模型代表有BERT[9]、Word2Vec[1]。
表1 主流的預(yù)訓(xùn)練語言模型的發(fā)展
BERT[9]采用MLM模型(Masked Language Modeling)進(jìn)行預(yù)訓(xùn)練,在自然語言處理的多個(gè)子任務(wù)上取得了很好的結(jié)果,但是BERT忽略了預(yù)測詞和上下文詞之間的依賴關(guān)系,假設(shè)被Masked的詞之間相互獨(dú)立,而實(shí)際的語言中每個(gè)詞之間并不具備獨(dú)立性。為解決此問題,XLNet[7]引入PLM模型(Permutation Language Model),但XLNet仍然沒有充分利用句子的位置信息,在pre-training階段和fine-tuning階段詞表示的位置存在差異。為解決BERT和XLNet的不足,MPNet[14]通過利用預(yù)測標(biāo)記之間的依賴關(guān)系排列語言建模,并以輔助位置的信息作為輸入,使模型獲取到完整的句子,減少位置差異,取得更好的效果。但這些模型的訓(xùn)練參數(shù)較多,訓(xùn)練時(shí)間較長,所需硬件要求也更高。對高校中的研究者探索將經(jīng)典的簡易預(yù)訓(xùn)練模型與簡化的神經(jīng)網(wǎng)絡(luò)模型相結(jié)合,若分類效果能與之相近或存在差距較小則具有的研究價(jià)值較大。
Yoav Goldberg提到[15]非線性的神經(jīng)網(wǎng)絡(luò)語言模型相比較傳統(tǒng)語言模型有許多優(yōu)點(diǎn),如增加上下文語境數(shù)據(jù)的情況下只需要線性增加參數(shù)的數(shù)量,無需人工過多干預(yù),且具有很好的泛化能力。這種泛化能力有時(shí)在經(jīng)典的統(tǒng)計(jì)語言模型(statistical language models)中并不能很容易的實(shí)現(xiàn)。
多層感知機(jī)MLP(Multi-layer Perceptrons )[15]是由線性模型發(fā)展而來。由于線性分類模型(包括單層感知機(jī))不能解決XOR問題,通過引入多層神經(jīng)元,使神經(jīng)網(wǎng)絡(luò)可以逼近非常復(fù)雜的非線性函數(shù)。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)從2014年Yoon Kim的工作[22]開始運(yùn)用在自然語言處理任務(wù),Yoon Kim展示了CNN在文本處理任務(wù)上的出色表現(xiàn),說明CNN不僅適用于計(jì)算機(jī)視覺領(lǐng)域,同樣也可以運(yùn)用于自然語言處理。Ye Zhang等人[21]給出了用于句子情感分析的神經(jīng)網(wǎng)絡(luò)的基本構(gòu)造(如圖1),基本步驟包括文本特征的提取(卷積操作)、特征的映射(池化操作)及softmax函數(shù)將最終篩選的特征向量歸一化映射到n個(gè)類別上的概率分布。
Ye Zhang等人分析了用于句子分類的卷積神經(jīng)網(wǎng)絡(luò)參數(shù)選擇問題及一些其他建議,對一般的文本分類任務(wù),CNN的主要參數(shù)配置指導(dǎo)如下:
● 選擇詞嵌入模型(Word2Vec[1]、GloVe[2]等)的分類效果要顯著好于使用類似于獨(dú)熱編碼(one-hot encoding)的詞向量;
● 卷積核的大小對于不同的問題要進(jìn)行相應(yīng)的調(diào)整;
● CNN模型的Dropout操作對于模型的性能影響較小;
● max池化操作一般好于其他類型的池化操作。
分析前人研究工作[1-2,7,13,21,23]的基礎(chǔ)上發(fā)現(xiàn)對詞表征操作(預(yù)訓(xùn)練),完成了任務(wù):即通過學(xué)習(xí)已知數(shù)據(jù)的內(nèi)部關(guān)系,先初始化模型的內(nèi)部參數(shù),再利用帶標(biāo)簽數(shù)據(jù)不斷優(yōu)化輸入?yún)?shù)及整個(gè)模型的參數(shù),使模型在誤分類損失最小的情況下達(dá)到相對最佳,減少隨機(jī)初始化輸入?yún)?shù)帶來的不穩(wěn)定因素影響。這里初始化參數(shù)可理解為語言模型的共同特性,(基于共同特性參數(shù),對具體的數(shù)據(jù)任務(wù)學(xué)習(xí)新的特性,更新初始化的參數(shù),建立一個(gè)特定任務(wù)的語言模型。因此在構(gòu)建分類模型時(shí),考慮到對嵌入層進(jìn)行參數(shù)調(diào)整,再輸入CNN模型中,模型細(xì)節(jié)在下一節(jié)中描述。
由于CNN在計(jì)算機(jī)視覺(Computer Vision, CV)發(fā)展相對成熟,而預(yù)訓(xùn)練語言模型GloVe[2]和分類模型CNN[22]在自然語言處理方面的研究較少,故筆者設(shè)計(jì)一個(gè)簡化的卷積神經(jīng)網(wǎng)絡(luò)文本分類模型,探究在具體的文本分類任務(wù)中模型的分類效果。
圖1 用于句子分類的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
為簡化神經(jīng)網(wǎng)絡(luò)模型,此前需要理清神經(jīng)網(wǎng)絡(luò)的內(nèi)部訓(xùn)練流程,神經(jīng)網(wǎng)絡(luò)模型優(yōu)化的目標(biāo)為神經(jīng)網(wǎng)絡(luò)的真實(shí)輸出tr(true)與期望輸出yr之間的誤差(或者在達(dá)到設(shè)定的訓(xùn)練次數(shù)時(shí)所達(dá)到的誤差)最小。函數(shù)表達(dá)式為:
(1)
其中,m表示輸出層節(jié)點(diǎn)的個(gè)數(shù),T=(t1,t2,…,tr)T為網(wǎng)絡(luò)的實(shí)際輸出,Y=(y1,y2,…,yr)T是網(wǎng)絡(luò)的期望輸出。
對于圖2,假設(shè)輸入層有m個(gè)節(jié)點(diǎn),隱藏層有n個(gè)節(jié)點(diǎn),輸出層有r個(gè)節(jié)點(diǎn),輸入層到隱藏層的權(quán)重為wij,隱藏層到輸出層的權(quán)重為φjk,i,j,k分別表示輸入層第i個(gè)節(jié)點(diǎn)、隱藏層第j個(gè)節(jié)點(diǎn)和輸出層第k個(gè)節(jié)點(diǎn),神經(jīng)網(wǎng)絡(luò)的基本訓(xùn)練過程如下。
圖2 一個(gè)神經(jīng)網(wǎng)絡(luò)示例
1)神經(jīng)網(wǎng)絡(luò)信號傳輸。
隱藏層的輸出:
(2)
式中,fH表示隱藏層使用的激活函數(shù),xi是來自輸入層的數(shù)據(jù),假定輸入向量為X=(x1,x2,…,xm),輸出向量為Y=(y1,y2,…,yn),輸出層的輸出為:
(3)
其中,表示輸出層使用的激活函數(shù),是來自隱藏層的輸出。
2)誤差最小化過程。
需要指出的是,誤差最小化的過程是通過不斷修正每層的權(quán)重wij和φjk,使神經(jīng)網(wǎng)絡(luò)的實(shí)際輸出不斷逼近期望輸出,根據(jù)式(3)和式(1)有輸出層的權(quán)值修正值:
(4)
(5)
將當(dāng)前網(wǎng)絡(luò)的權(quán)值用求得的修正值更新:
wij=wij+Δwij,
(6)
φjk=φjk+Δφjk,
(7)
回到式(2)、式(3),計(jì)算式(4)和式(5),直至誤差滿足要求或者訓(xùn)練次數(shù)用盡。
基于以上的認(rèn)識和前人相關(guān)工作[2,15-16,21-22],筆者嘗試對文本分類模型進(jìn)行簡化以適應(yīng)更多的文本分類的應(yīng)用場景。
預(yù)訓(xùn)練好的詞嵌入語言模型(GloVe[2])在Wikipedia等大型語料庫(樣本數(shù)量在數(shù)億級別以上)訓(xùn)練得來,因此該詞嵌入的權(quán)重是相對于整個(gè)語料庫而言,對于本文的數(shù)據(jù)集任務(wù),詞的重要性和GloVe上的詞重要性并不一樣甚至存在較大差別,因此在使用詞嵌入層(Word Embedding Layer)作為神經(jīng)網(wǎng)絡(luò)輸入時(shí),根據(jù)具體任務(wù)訓(xùn)練詞嵌入層的權(quán)重。在此,使用文獻(xiàn)[1]中的skip-gram模型,word2vec模型中的skip-gram語言建模是用一個(gè)中心詞(center word)去預(yù)測上下文的詞(context word),即:
P(context│center) ,
(8)
根據(jù)存在于語料庫中所有的[center word, context word]詞對,找出概率最大的一組,即:
(9)
根據(jù)式(1)~式(7)的分析,由于人工神經(jīng)網(wǎng)絡(luò)的信號傳遞本質(zhì)上是一個(gè)損失函數(shù)最小化的過程,因此將詞嵌入模型的神經(jīng)網(wǎng)絡(luò)損失函數(shù)轉(zhuǎn)換為求最小值:
(10)
通過使用一個(gè)三層(input layer, hidden layer, output layer)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的模型來訓(xùn)練該詞嵌入層,使式(10)最小時(shí),根據(jù)式(6)和式(7)分別得到隱藏層和輸出層的權(quán)值矩陣:,取作為最后的詞嵌入層的權(quán)重。
使用單層卷積操作,不采用多通道和多種卷積核,在卷積操作中選用線性修正單元(Rectified linear unit, ReLU)和tanh作為激活函數(shù),表達(dá)式分別為:
函數(shù)和導(dǎo)數(shù)的圖像如圖3所示,ReLU函數(shù)的作用是將負(fù)值變?yōu)?,正值原樣輸出,這說明在同一時(shí)刻某些神經(jīng)元并不會(huì)被激活,這使神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元具有稀疏激活性,減少了過擬合的影響。對于tanh函數(shù)來說,抑制了過大的值對模型的影響。二者的選擇根據(jù)具體實(shí)驗(yàn)效果而確定。
使用一個(gè)池化層且使用1-max作為池化標(biāo)準(zhǔn),層與層之間不進(jìn)行Dropout操作。如圖4示,在CNN網(wǎng)絡(luò)中,神經(jīng)元信號在池化層的向前傳播過程為:
y1=max(xi)i={1,2,5,6} ,
y2=max(xi)i={3,4,7,8} ,
y3=max(xi)i={9,10,13,14} ,
y4=max(xi)i={11,12,15,16} ,
在誤差最小化的過程中(見式(1)),池化層沒有可以優(yōu)化的參數(shù),因此無權(quán)值調(diào)整操作,主要將求得的權(quán)值向上一層傳遞。如,對于式(9),假設(shè)x5為最大值,則分別對x1,x2,x5,x6求偏導(dǎo):
圖3 ReLU激活函數(shù)及其導(dǎo)數(shù)(左),tanh激活函數(shù)及其導(dǎo)數(shù)(右)
圖4 One-max池化操作
最后將卷積層和該池化層的權(quán)重向前一層傳遞記為ωy,則傳遞的值為1*ωy=ωy。由此得到的模型示意圖如圖5,可以看出卷積層之前為根據(jù)文本預(yù)訓(xùn)練的語言模型,卷積層之后為CNN的4個(gè)基本核心層,即卷積層、池化層、全連接層和softmax輸出層。
綜上,給出算法流程如圖6,可以看出該算法包含了所有關(guān)鍵計(jì)算要素,在具體的執(zhí)行上采用基本的神經(jīng)網(wǎng)絡(luò)思想,無復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)。下一節(jié)將在文本處理常用的數(shù)據(jù)集上,將該模型與主流的算法及當(dāng)前最好的算法進(jìn)行比較,以檢測模型的實(shí)際效果。
圖5 Simplified CNN結(jié)構(gòu)示意圖
算法1:Simplified CNNInput: 詞向量:X=(x1,x2,…,xn)Output:輸入數(shù)據(jù)的類別:Y=(c1,c2,…,ck), k表示類別1Do: 計(jì)算各層的輸入輸出2 計(jì)算輸出層的誤差3 修正網(wǎng)絡(luò)的權(quán)值4Unitl: 滿足精度要求或者達(dá)到訓(xùn)練次數(shù)
所有實(shí)驗(yàn)均是在同一臺(tái)計(jì)算機(jī)上完成,計(jì)算機(jī)操作系統(tǒng)為Windows 10,64位,處理器參數(shù)為:Intel(R) Core(TM) i5-7300HQ,CPU的主頻為2.5GHz,使用內(nèi)存為24GB。實(shí)驗(yàn)全部由CPU完成計(jì)算。
實(shí)驗(yàn)選擇8個(gè)基準(zhǔn)數(shù)據(jù)集(5種),分別為MR、SST、IMDB、Yelp、Amazon。基本信息如表2,其中,‘Name’表示數(shù)據(jù)集的名稱,‘Class’表示數(shù)據(jù)集包含有多少個(gè)類別,‘Length’表示經(jīng)過處理后平均每條評論數(shù)據(jù)的單詞個(gè)數(shù),‘Train’表示訓(xùn)練集的樣本個(gè)數(shù),‘Test’表示測試集樣本的個(gè)數(shù),‘Dev’表示開發(fā)集的樣本個(gè)數(shù)。
表2 情感分析(SA)常用數(shù)據(jù)集
實(shí)驗(yàn)中開發(fā)集被合并到訓(xùn)練集中,同時(shí)訓(xùn)練集和測試集的劃分采用shuffle操作(隨機(jī)打亂),避免指定劃分測試集和訓(xùn)練集可能的缺陷。其他指標(biāo)與數(shù)據(jù)的出處論文保持一致,需要注意的是,在處理上述數(shù)據(jù)集的過程中,實(shí)際的樣本數(shù)據(jù)可能與給定的數(shù)據(jù)集的‘Size’存在細(xì)微差異,部分?jǐn)?shù)據(jù)集存在一些數(shù)據(jù)錯(cuò)誤,實(shí)驗(yàn)前進(jìn)行了相應(yīng)的預(yù)處理。
MR數(shù)據(jù)集:Movie Review(MR)數(shù)據(jù)集[18]是收集自IMDB網(wǎng)站的一個(gè)電影評論子集,被開發(fā)用于檢測特定評論的情緒及判斷該情緒的積極性或消極性任務(wù),共包含10 662條評論,其中消極評論(negative)和積極評論(positive)各5 331條。
SST數(shù)據(jù)集:Stanford Sentiment Treebank(SST)數(shù)據(jù)集[19]是MR數(shù)據(jù)集的擴(kuò)展,具有兩個(gè)版本,分別為SST-5和SST-2,前者為5分類任務(wù),后者為2分類任務(wù),5分類任務(wù)分別為強(qiáng)消極、消極、中性、積極、強(qiáng)積極。該數(shù)據(jù)集被劃分為訓(xùn)練集(train set)、測試集(test set)、開發(fā)集(development set)。需要指出的是,SST-1和SST-2是同一個(gè)數(shù)據(jù)集,SST-2是在SST-1數(shù)據(jù)集的基礎(chǔ)上去除情感為中性的(neutral)詞所得,該信息在很多使用此數(shù)據(jù)集的論文中未被提及,易造成誤解。
IMDB數(shù)據(jù)集:Internet Movie Database(IMDB)[24]被開發(fā)用于對二極性情感的電影影評的分析,共有50 000條數(shù)據(jù),正負(fù)各25 000條,測試集和訓(xùn)練集的比例劃分為1∶1。
Yelp數(shù)據(jù)集[23]:與SST數(shù)據(jù)集類似,Yelp數(shù)據(jù)集包含兩類數(shù)據(jù),其中一種是二分類評論數(shù)據(jù),稱之為Yelp-2,另一種是5分類數(shù)據(jù)集,稱之為Yelp-5。Yelp-5含有700 000條評論數(shù)據(jù),其中訓(xùn)練集650 000條,測試集50 000條,Yelp-2包含598 000條評論數(shù)據(jù),其中訓(xùn)練集560 000條,測試集38 000條。
Amazon數(shù)據(jù)集:該數(shù)據(jù)集收集亞馬遜商城產(chǎn)品評論的數(shù)據(jù)[25],包含了從1995年6月至2013年3月份在2 441 053個(gè)產(chǎn)品上6 643 669位用戶共34 686 770條評論,該數(shù)據(jù)集同SST數(shù)據(jù)集一樣,是大規(guī)模數(shù)據(jù)集,但一般取其子集并把其劃分為5分類(Amazon-5)和2分類(Amazon-2)兩個(gè)版本,由于數(shù)據(jù)集較大,包含的評論種類較多,最新的數(shù)據(jù)源鏈接(1)https://nijianmo.github.io/amazon/index.html#subsets。
選取與本文使用的共同的數(shù)據(jù)集盡可能多的模型進(jìn)行對比實(shí)驗(yàn),陳列了目前最好的分類結(jié)果SOTA及參考文獻(xiàn)。
將Simplified CNN分類模型在多個(gè)數(shù)據(jù)集上進(jìn)行測試,以分類的準(zhǔn)確率為指標(biāo):
其中,TP表示對于P類(positive)分正確的個(gè)數(shù),TN表示N類(negative)分正確的個(gè)數(shù),對多分類情況與之類似,Accuracy是由分類正確的類別樣本數(shù)除以總樣本數(shù)。結(jié)果如表2,‘*’表示模型在該數(shù)據(jù)集上內(nèi)存溢出,為使實(shí)驗(yàn)順利進(jìn)行,舍棄了出現(xiàn)次數(shù)較少的特征并將測試集與訓(xùn)練集按1∶1劃分(通過增大測試集數(shù)量,減少訓(xùn)練集數(shù)量進(jìn)行分?jǐn)們?nèi)存消耗),以滿足內(nèi)存要求,‘#’表示該數(shù)據(jù)集對于該模型過大,無法使用‘*’的方式解決內(nèi)存溢出問題。
根據(jù)表3,取出部分?jǐn)?shù)據(jù)集和部分模型進(jìn)行比較,如圖7所示,分析圖7(a)可以發(fā)現(xiàn),在實(shí)驗(yàn)所取的8個(gè)數(shù)據(jù)集上,前6個(gè)數(shù)據(jù)集雖然和SOTA相差一定的距離,但和LSTM相近甚至優(yōu)于LSTM。隨著數(shù)據(jù)集增大,簡化模型分類效果逐漸逼近SOTA;分析圖7(b),簡化CNN分類器在中等規(guī)模數(shù)據(jù)集上的分類效果并不弱于深度學(xué)習(xí)復(fù)雜網(wǎng)絡(luò)(CharCNN、BERT、LSTM和SOTA),分析圖7(c)和7(d)可以發(fā)現(xiàn),簡化的模型在所有比較的模型中處于中等靠前位置,說明其簡化操作并未削減分類性能。
表3 主流數(shù)據(jù)集上的分類效果比較
圖7 不同數(shù)據(jù)集上模型之間的比較
在此基礎(chǔ)上,進(jìn)一步比較模型運(yùn)行時(shí)間,如圖8(分別在6個(gè)數(shù)據(jù)集和8個(gè)數(shù)據(jù)集上比較是因?yàn)镾VM、LR、NB在Amazon數(shù)據(jù)集上內(nèi)存溢出)可以發(fā)現(xiàn),簡化模型與傳統(tǒng)機(jī)器學(xué)習(xí)模型相比較,運(yùn)行時(shí)間較長,但與LSTM深度學(xué)習(xí)模型相比,運(yùn)行時(shí)間大幅減少。
將圖7、圖8結(jié)合,分析分類效果和模型運(yùn)行時(shí)間的關(guān)系(如圖9),可以看出,在MR、IMDB、Yelp-2、Yelp-5數(shù)據(jù)集上簡化模型效果優(yōu)于其他模型,同時(shí)在運(yùn)行時(shí)間上與傳統(tǒng)機(jī)器學(xué)習(xí)模型相比并未表現(xiàn)出較大差距。
加入數(shù)據(jù)集的平均句子長度和數(shù)據(jù)集的大小兩個(gè)指標(biāo)進(jìn)一步進(jìn)行對比分析,觀察到模型的分類效果與數(shù)據(jù)集自身特點(diǎn)的關(guān)系,如圖10。對比圖10左右兩張圖,簡化后的模型在中等規(guī)模數(shù)據(jù)集上(幾十萬至幾百萬)分類效果并未下降,在Yelp-5和Amazon-5數(shù)據(jù)集上甚至分別優(yōu)于LSTM和CharCNN,可能是因?yàn)镃harCNN將輸入的文本以單個(gè)字母作為卷積對象,在處理較大數(shù)據(jù)集5分類任務(wù)上會(huì)出現(xiàn)語義提取不足的情況,另外,由Yelp-5到Amazon-5的數(shù)據(jù)集句子長度減少,數(shù)據(jù)量增大,LSTM和簡化模型均提高了分類準(zhǔn)確率,而CharCNN分類效果卻下降了,說明CharCNN不能很好地處理較大數(shù)據(jù)集下多類別的分類任務(wù),反映了簡化模型更能適應(yīng)多種分類場景。
圖8 模型運(yùn)行時(shí)間比較(單位:h)
圖9 部分?jǐn)?shù)據(jù)集上模型的運(yùn)行時(shí)間和分類效果比較
圖10 部分?jǐn)?shù)據(jù)集上的模型分類準(zhǔn)確率(左)與數(shù)據(jù)集的大小和句子長度(右)
將簡化的卷積神經(jīng)網(wǎng)絡(luò)與詞嵌入預(yù)訓(xùn)練語言模型相結(jié)合的方法達(dá)到了一定的效果,但從實(shí)驗(yàn)結(jié)果來看,仍有待改進(jìn)的地方,尤其是針對不同場景下的數(shù)據(jù)集要進(jìn)行相應(yīng)的模型參數(shù)調(diào)整,并不能用相同的參數(shù)去測試所有的數(shù)據(jù)集。同時(shí)可以看到,分類效果與SOTA存在一定的差距,仍需要探索后續(xù)的改進(jìn)模型。