邵黨國,孔憲媛,相 艷,安 青,黃 琨,郭軍軍
(1. 昆明理工大學(xué) 信息工程與自動化學(xué)院,云南 昆明 650500;2. 昆明理工大學(xué) 云南省人工智能重點實驗室,云南 昆明 650500)
文本分類是自然語言處理的基礎(chǔ)任務(wù)。隨著Web 2.0時代的到來,互聯(lián)網(wǎng)文本數(shù)量爆發(fā)式增長。對文本準確的分類有著巨大的經(jīng)濟價值和社會意義, 如對商品評論正確分類可應(yīng)用于商品推薦和商品改進等方面,而對文本質(zhì)量的分類則可用于篩選低俗文本,有助于健康互聯(lián)網(wǎng)環(huán)境的構(gòu)建。
文本分類按照模型發(fā)展時間先后可以分為兩個階段,分別為基于詞典統(tǒng)計的方法,基于機器學(xué)習(xí)的方法[1]。①基于詞典統(tǒng)計方法的模型初步工作為手動構(gòu)建情感詞典。情感詞典包含情感詞、否定詞、程度詞等。該種方法首先需要對情感詞設(shè)置合適的權(quán)重,并通過對文本包含情感詞的權(quán)重進行計算來獲得文本的最終得分。但該類方法存在靈活性低、分類效果差[2]的問題。②基于機器學(xué)習(xí)的方法隨模型規(guī)模增大和特征提取能力增強而逐漸演化出深度學(xué)習(xí)。傳統(tǒng)的機器學(xué)習(xí)方法包括決策樹、k-means、SVM等。該類方法在訓(xùn)練時學(xué)習(xí)數(shù)據(jù)特征,構(gòu)建分類模型。但該類方法存在特征稀疏、特征提取困難、維度爆炸等缺點。
目前文本分類的主流方法是基于深度學(xué)習(xí)的方法。而基于Transformer[3]的預(yù)訓(xùn)練模型因其效果好和僅需少量下游任務(wù)語料的特點而備受學(xué)界和業(yè)界關(guān)注。
隨著深度學(xué)習(xí)的發(fā)展,詞嵌入被正式引入自然語言處理任務(wù)中。2003年Bengio提出NMLM[4]模型,隨后一系列詞嵌入方法(如Word2Vec[5]、Glove、FastTest等)被提出。上述方法雖然可為文本提供數(shù)值化的表示方法,但無法解決詞的唯一數(shù)值表示與一詞多義之間的矛盾。為解決該問題Elmo[6]被提出,它采用雙向長短時記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)預(yù)訓(xùn)練,使得詞向量可結(jié)合上下文來獲取嵌入表示。2018年以后,基于注意力機制[3]的Transformer的預(yù)訓(xùn)練模型層出不窮,并且不斷刷新自然語言處理各項任務(wù)的基線。
GPT[7]打開了無監(jiān)督預(yù)訓(xùn)練任務(wù)與有監(jiān)督微調(diào)任務(wù)結(jié)合的序幕,使得預(yù)訓(xùn)練好的模型能在下游任務(wù)上直接微調(diào)。BERT[8]首次將雙向Transformer用于語言模型,使得該模型在語義提取上較GPT更加強大。Electra[9]因為其采用的Generator-discriminator預(yù)訓(xùn)練任務(wù)單詞利用率為100%,使其在文本分類任務(wù)中相對于BERT能以更小的模型達到同樣甚至更優(yōu)的分類效果。
現(xiàn)有Transformer預(yù)訓(xùn)練模型均是基于注意力機制,而傳統(tǒng)的注意力機制僅將Query-Key做運算而疏忽了Query-Value之間的相互作用。Wu[10]等人提出了一種引入Query-Value交互的注意力機制QV-Attention。且通過實驗表明,QV-Attention在文本分類和命名體識別效果優(yōu)于傳統(tǒng)注意力機制。
本文的主要貢獻如下:
(1) 將QV-Attention引入開源的預(yù)訓(xùn)練模型得到本文模型QV-Electra;
(2) 在3個中文數(shù)據(jù)集上實驗,表明本文模型僅通過添加0.1%參數(shù),分類效果優(yōu)于多項分類任務(wù)基線模型。
預(yù)訓(xùn)練模型是基于特定的預(yù)訓(xùn)練任務(wù),在大規(guī)模語料上訓(xùn)練深層Transformer網(wǎng)絡(luò)結(jié)構(gòu)從而得到一組模型參數(shù)。將預(yù)訓(xùn)練好的模型參數(shù)應(yīng)用于后續(xù)具體的自然語言處理任務(wù)上微調(diào)模型參數(shù),這些特定任務(wù)通常被稱做“下游任務(wù)”。
掩碼語言模型(Masked Language Model,MLM)是一種常見的預(yù)訓(xùn)練任務(wù)。多個預(yù)訓(xùn)練模型(如BERT、ALBert、ROBERT、ENRIE)均采用了該預(yù)訓(xùn)練任務(wù)。MLM預(yù)訓(xùn)練任務(wù)類似于完形填空,即在預(yù)訓(xùn)練階段隨機掩蓋輸入文本的部分詞語,在輸出層獲得被掩蓋位置詞語的概率分布,進而通過最大化似然概率來優(yōu)化模型參數(shù)。
如BERT預(yù)訓(xùn)練模型,隨機選擇輸入文本序列中的15%的詞以供后續(xù)替換,但并非將這些詞全都替換為[MASK]。其中,10%的詞被替換為隨機詞,10%的詞不做改變,另外80%的詞被替換為[MASK][8]。上述引入隨機詞的操作可以理解為通過引入隨機噪聲來提升模型的魯棒性。
Electra預(yù)訓(xùn)練模型提出一種新的預(yù)訓(xùn)練任務(wù)和框架,將生成式的MLM預(yù)訓(xùn)練任務(wù)改成判別式的替換詞語檢測(Replaced Token Detection,RTD)預(yù)訓(xùn)練任務(wù),判斷當前Token是否被語言模型替換過。
Electra按照模型可分為生成器和判別器。生成器的作用與MLM相同,預(yù)測被替換為[MASK]的詞生成完整的文本,通常使用小型MLM預(yù)訓(xùn)練模型如BERT-small等,而判別器則是預(yù)測經(jīng)過生成器補全的文本中哪些Token是被生成器生成的。這有點類似對抗學(xué)習(xí),但與對抗學(xué)習(xí)不同的是,判別器的輸出結(jié)果沒有參與生成器的梯度更新。(具體訓(xùn)練任務(wù)見圖1)。
圖1 Electra預(yù)訓(xùn)練任務(wù)圖
由于Electra預(yù)訓(xùn)練Token均參與預(yù)訓(xùn)練任務(wù),而如BERT僅15%不到的Token被替換為[Mask]。如文獻[9]所述Electra-small的參數(shù)量僅為BERT-base的1/10,但分類效果優(yōu)于BERT-base,故選擇Electra預(yù)訓(xùn)練模型來完成分類任務(wù)是可取的,特別是二分類任務(wù)。
本文模型為研究QV-Electra的中文文本分類任務(wù),故使用哈爾濱工業(yè)大學(xué)于2020年10月開源的Electra-180 GB-base[11]的中文預(yù)訓(xùn)練模型,該模型在180G中文語料上預(yù)訓(xùn)練。Electra-180G-base模型生成器參數(shù)量大約為1 000萬,而判別器參數(shù)量大約為1億。
注意力機制在各種Transformer預(yù)訓(xùn)練模型中扮演至關(guān)重要的作用。Attention可以表述為一個三元函數(shù),通過計算Query和Key之間的注意力權(quán)重加權(quán)到Value中將Key,Query,Value映射到輸出。Attention機制如式(1)所示。
(1)
與Query,Key 交互類似,Query和Value之間也存在內(nèi)在的相關(guān)性,結(jié)合Query和Value交互可以通過根據(jù)Query和Value的特征學(xué)習(xí)定制來增強輸出。但是現(xiàn)有的注意力機制忽略了Query-Value的交互作用,可能不是最優(yōu)的。如文獻[10]中,注意力網(wǎng)絡(luò)用來學(xué)習(xí)新聞文本的表示,用于新聞推薦,Query是用戶嵌入表示,Value是該用戶點擊新聞中單詞的表示。在這種情況下,可以使用Query和Value之間的交互來根據(jù)用戶特征調(diào)整單詞的表示,以學(xué)習(xí)更好的個性化新聞表示。
Wu等[10]提出一種新型的注意力機制QV-Attention。通過引入Query和Value之間的交互來增強傳統(tǒng)Attention機制的語義表征能力,并根據(jù)原文實驗可知QV-Attention相對于原始Attention在命名實體識別和文本分類任務(wù)上性能均有提升。
QV-Attention相對于傳統(tǒng)Attention機制在英文AG數(shù)據(jù)集和Amazon文本分類任務(wù)上準確率提升了0.3%和0.8%。為進一步適應(yīng)分類任務(wù)且減少參數(shù)量,將原文QV-Attention計算公式稍作改動得到本文QV-Attention計算公式,如式(2)~式(6)所示。
如前所述,Electra模型可分為生成器和判別器兩部分。而下游分類任務(wù)僅需使用判別器,故本文僅對哈爾濱工業(yè)大學(xué)開源官方預(yù)訓(xùn)練模型Electra-108G-base/discriminator[11]做修改,而忽略Electra-180G-base的Generator模型。
基于Transformer的各種預(yù)訓(xùn)練模型可以視為深度Attention層堆疊的網(wǎng)絡(luò)模型。具體可見圖2,圖中將Electra-180G-base/discriminaton中Attention層修改為QV-Attention層。
圖2 QV-Electra文本分類模型圖
觀察圖2可知,原始預(yù)訓(xùn)練模型Electra-base網(wǎng)絡(luò)主要結(jié)構(gòu)為堆疊的12層Transformer塊,而每個Transformer的語義提取能力來源于Attention層,所以Attention機制在預(yù)訓(xùn)練模型中起著至關(guān)重要的作用。因此注意力機制的改善將有利于提高預(yù)訓(xùn)練模型的性能,而QV-Attention機制在語義表征上理論上強于Attention機制。
注意觀察式(3)和式(5),β由式(5)計算得來,調(diào)節(jié)著Query-Value交互計算得到的值與原始Value輸入值的聚合比率。當β=0時,QV-Attention層中g(shù)(Q,V)完全使用Query-Value交互計算得到的值。而當β=1時,g(Q,V)則完全使用原始輸入值Value,那么此時QV-Attention退化為傳統(tǒng)的Attention機制。β值由網(wǎng)絡(luò)模型學(xué)習(xí)得到,由萬能逼近定理可知當某分類任務(wù)無須使用Query-Value交互的注意力機制,則網(wǎng)絡(luò)將會把β調(diào)整至0。而此時QV-Attention機制將會退化為傳統(tǒng)Attention機制,而QV-Electra模型也會退化為原始Electra模型。從理論上來說,本文模型QV-Electra的性能下界為原始的Electra,這是本文的理論基礎(chǔ)。而從下文實驗分析可知,QV-Electra的分類效果優(yōu)于多項中文文本分類的基線模型,這進一步表明了本文模型的可行性。
上述理論保證在同樣大小預(yù)訓(xùn)練語料上將Electra所有Attention層改為QV-Attention層所得的預(yù)訓(xùn)練模型,理論上其特征提取能力強于原始Electra預(yù)訓(xùn)練模型。
但重新預(yù)訓(xùn)練一個模型成本高昂,QV-Attention機制相對于傳統(tǒng)Attention機制僅增加少許參數(shù)。故本文提出一種新的基于QV-Attention的QV-Electra預(yù)訓(xùn)練文本分類模型,該模型與Electra/discriminator模型保持一致的模型結(jié)構(gòu),只是將每個Transformer塊中的Attention層替換為QV-Attention層。并讀取Electra/discriminator預(yù)訓(xùn)練參數(shù),將每層QV-Attention新加入?yún)?shù)采用高斯初始化并在下游任務(wù)中以較大的學(xué)習(xí)率來學(xué)習(xí)。
本文實驗環(huán)境及其機器配置如表1所示。
表1 配置表
為驗證本模型的可行性,本文采用攜程酒店評論數(shù)據(jù)集ChnSentiCrop,微博評論數(shù)據(jù)集NLPCC2014,搜狗新聞數(shù)據(jù)集SogouNews。由于數(shù)據(jù)集沒有明確劃分訓(xùn)練集和測試集,本文對上述數(shù)據(jù)集均采用10折交叉驗證。其中攜程酒店評論數(shù)據(jù)集、新浪微博評論數(shù)據(jù)集分類任務(wù)為二分類: 正向和負向。而搜狗新聞數(shù)據(jù)集任務(wù)為四分類任務(wù): 文化、財經(jīng)、軍事、運動。具體數(shù)據(jù)信息如表2所示。
表2 數(shù)據(jù)集介紹
本文采用四個評價指標: 準確率(Accuracy)、精確率(Precision)、召回率(Recall),具體計算如式(7)~式(10)所示。
TP為預(yù)測為正向?qū)嶋H上預(yù)測正確的樣本數(shù)目,TN為預(yù)測為負向?qū)嶋H上預(yù)測正確的樣本數(shù)目,FP為預(yù)測為正向?qū)嶋H上預(yù)測錯誤的樣本數(shù)目,FN為預(yù)測為負向?qū)嶋H上預(yù)測錯誤的樣本數(shù)目。
本文模型參數(shù)可以分為兩部分: ①原始Electra讀取參數(shù); ②QV-Attention新加入?yún)?shù)。本文實驗將上述兩部分參數(shù)設(shè)置不同的學(xué)習(xí)率:①0.000 01; ②0.000 05。而其他對比預(yù)訓(xùn)練模型學(xué)習(xí)率均設(shè)置為0.000 01。迭代次數(shù)(Epoch)設(shè)置為20,批次數(shù)(batchSize)設(shè)置為16。
為檢驗?zāi)P偷男Ч?本文將與多個深度學(xué)習(xí)方法進行對比,基準模型分別包括: 卷積神經(jīng)網(wǎng)絡(luò)(CNN)[12-13],循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[14],雙向長短時記憶網(wǎng)絡(luò)(BiLSTM)[15],預(yù)訓(xùn)練模型BERT-base[16],預(yù)訓(xùn)練模型Electra-180G/discriminator[11]。表3列出6種模型在上述三個數(shù)據(jù)集上的實驗結(jié)果。
表 3 模型結(jié)果對比 (單位: %)
通過對比實驗發(fā)現(xiàn),本文模型在上述三個數(shù)據(jù)集上4個評價指標均相對于上述5種基線方法有所提升。ChnSentiCorcuracp數(shù)據(jù)集上Accuracy相對于CNN,RNN,BiLSTM,BERT-base,Electra分別提高了8.35%,8.05%,5.95%,2.06%,0.58%。而在NLPCC2014微博數(shù)據(jù)集上Accuracy相對于上述5個基線模型分別提高了5.99%,6.62%,4.86%,3.25%,1.99%。而在文本長度較長的SogouNews新聞數(shù)據(jù)集上Accuracy相對于上述5個基線模型分別提高了9.99%,9.69%,7.39%,1.61%,0.81% 。
比較CNN、RNN、BiLSTM和BERT、Electra效果發(fā)現(xiàn),基于Transformer的預(yù)訓(xùn)練模型效果優(yōu)于使用word_embedding后接初始化參數(shù)模型(RNN、RNN、BiLSTM)的效果,這是因為Transformer預(yù)訓(xùn)練模型強大的深層Attention網(wǎng)絡(luò)結(jié)構(gòu)和在大規(guī)模語料上預(yù)訓(xùn)練而獲取的語義表征能力。
而對比QV-Electra和BERT,Electra模型的實驗效果顯示QV-Electra的分類效果較BERT和Electra有略微提升,這表明引入QV-Attention的預(yù)訓(xùn)練Transformer模型語義表征能力強于基于Attention的Transformer的預(yù)訓(xùn)練模型,即便QV-Electra并非重新預(yù)訓(xùn)練而來。
為驗證本文模型性能提升不是因為在QV-Electra新加入?yún)?shù)以較大學(xué)習(xí)率導(dǎo)致,本文在搜狗新聞數(shù)據(jù)集上對本文模型QV-Electra所有參數(shù)學(xué)習(xí)率均設(shè)置為0.000 01,得到四項指標分別為: 94.31%,94.42%,94.34%,94.28%。與實驗結(jié)果表3對比,發(fā)現(xiàn)在相同的學(xué)習(xí)率情況下,QV-Electra分類效果均優(yōu)于上述多項基線模型,這表明本文模型QV-Electra本身的性能優(yōu)于上述基線模型。而對QV-Electra新添加參數(shù)適當增大學(xué)習(xí)率可以進一步提升模型效果,這表明對新加入?yún)?shù)以較大學(xué)習(xí)率微調(diào)是正確的。
上述對比實驗表明,本文模型QV-Electra在3個數(shù)據(jù)集上(囊括兩個短文本數(shù)據(jù)集和一個長文本數(shù)據(jù)集)均優(yōu)于非Transforemer結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型和現(xiàn)有同等參數(shù)規(guī)模的預(yù)訓(xùn)練模型,且在長短文本上提升效果幅度類似。這表明本文模型應(yīng)用于中文文本分類任務(wù)是可行的。
本文在官方開源模型Electra的基礎(chǔ)上,將Attention機制修改為QV-Attention機制,在0.1%參數(shù)提升(新加入?yún)?shù)規(guī)模約為10萬,官方模型參數(shù)規(guī)模為1億)的基礎(chǔ)上獲得性能提升。
該改進幾乎沒有額外的算力及時間消耗,僅需與原始訓(xùn)練模型Electra一樣在下游任務(wù)中微調(diào)網(wǎng)絡(luò)參數(shù)。這在預(yù)訓(xùn)練模型規(guī)模爆發(fā)式增長(如GPT 1,2,3三代參數(shù)分別為1億,15億,1500億)的如今為算力所限的個人或機構(gòu)提供一種新的思路。
本文模型在短文本評論數(shù)據(jù)集和長文本新聞數(shù)據(jù)集上實驗,結(jié)果表明,本文模型相較于多項分類基線模型效果更優(yōu)。這說明本文模型在中文分類任務(wù)上是有效且有意義的。后續(xù)工作中,我們考慮將本文模型應(yīng)用于其他語言的文本分類任務(wù)以及其他自然語言處理任務(wù)中去。