汪 輝, 于 瓅
(安徽理工大學(xué)計算機科學(xué)與工程學(xué)院,安徽 淮南 232001)
近年來,以BERT(Bidirectional Encoder Representations from Transformers)為首的預(yù)訓(xùn)練語言模型在語言理解上表現(xiàn)得出類拔萃[1]。預(yù)訓(xùn)練語言模型通過復(fù)雜的預(yù)訓(xùn)練任務(wù)和大規(guī)模的模型參數(shù)從海量無標(biāo)注的語料獲取上下文的語言信息。盡管預(yù)訓(xùn)練模型在預(yù)訓(xùn)練階段學(xué)習(xí)了詞語之間,字之間的聯(lián)系,但是由于預(yù)訓(xùn)練模型的預(yù)訓(xùn)練階段任務(wù)和下游任務(wù)之間相差甚遠(yuǎn),導(dǎo)致了掩蓋語言模型的性能無法完全表現(xiàn)。針對這樣的問題目前主要有兩種解決方法:第一種是微調(diào)(Fine Tune)[2],主要將目標(biāo)任務(wù)的損失函數(shù)和預(yù)訓(xùn)練模型結(jié)合繼續(xù)訓(xùn)練,在很多任務(wù)上有著不錯的效果[3]。但在微調(diào)過程中會損失預(yù)訓(xùn)練已經(jīng)學(xué)到的知識。第二種是提示學(xué)習(xí)(Prompt Tune)[4],通過加入語言模板,對于不同的文本任務(wù)進行語句重構(gòu)。例如在文本分類句子“中國隊獲得冠軍”重構(gòu)成“中國隊獲得冠軍,這是體育新聞”。以此適配預(yù)訓(xùn)練模型的任務(wù)。這樣的訓(xùn)練過程不僅非常耗時,而且重構(gòu)文本的要求損害了原數(shù)據(jù)的結(jié)構(gòu)性。因此,將提示學(xué)習(xí)和自注意力機制的思想結(jié)合,使用自注意力和掩蓋機制構(gòu)建出新的預(yù)訓(xùn)練任務(wù)在BERT模型基礎(chǔ)上進行促進訓(xùn)練的模型(PSAmBERT)。研究發(fā)現(xiàn),通過PASmBERT模型可以有效提高預(yù)訓(xùn)練模型知識的應(yīng)用效率。
已有研究表明,BERT在廣泛自然語言處理任務(wù)上具有出色效果[1]。BERT的設(shè)計的理念是通過所有Transformer層雙向訓(xùn)練得到上下文信息。其中最重要的環(huán)節(jié)是BERT的預(yù)訓(xùn)練任務(wù),主要包括掩蓋語言模型和預(yù)測下一個句子。掩蓋語言模型是預(yù)測被令牌隨機替換的詞;預(yù)測下一個句子是通過上句預(yù)測下句。由于英文和中文的詞性結(jié)構(gòu)不同,這種單詞掩蓋模式在中文語料的應(yīng)用中效果表現(xiàn)一般,后來研究者提出了全詞掩蓋模式[5],是把相關(guān)的字全部掩蓋,而不是單個隨機掩蓋。相關(guān)研究表明[6],在文本分類、閱讀理解等文本理解任務(wù)上,全詞掩蓋模式的效果更實用于中文語料的訓(xùn)練,研究也應(yīng)用了這種掩蓋策略。
Zhuang等人[7]提出了RoBERTa (Robustly Optimized BERT Pretraining Approach),并比較了BERT的各個組成部分,包括掩蓋策略、輸入形式、訓(xùn)練步驟等,在原始的BERT架構(gòu)做出一些修改,使得其效果更好。優(yōu)化主要包括:1)移除預(yù)測下一個句子的任務(wù)。在實驗過程中發(fā)現(xiàn),此任務(wù)對模型效果提升不明顯,并且耗時。2)使用動態(tài)的掩蓋;3)更多數(shù)據(jù)以及更大批次的訓(xùn)練。應(yīng)用了全詞掩蓋模型的RoBERTa在命名體識別[8]、情感分析[9]等任務(wù)上表現(xiàn)出色。在研究過程中,使用RoBERTa-wwm進行實驗對比。
基于提示學(xué)習(xí)的模板思想,將原文本嵌入文本分類任務(wù)的語言模板。通過自注意力機制計算得到文本詞與模板中關(guān)鍵標(biāo)簽詞的權(quán)重,其目的是將掩蓋權(quán)重詞替換隨機掩蓋詞,進而進行有效訓(xùn)練,增加預(yù)訓(xùn)練模型的預(yù)訓(xùn)練階段任務(wù)和下游任務(wù)之間關(guān)聯(lián)性。圖1是模型框架。
圖1 PSAmBERT模型架構(gòu)
研究表明,提示學(xué)習(xí)在文本分類任務(wù)效果明顯提高[4]。我們將提示學(xué)習(xí)的模板嵌入到原始句子中,通過語言技術(shù)平臺(Language Technology Platform, LTP)[10]的分詞工具實現(xiàn)全詞掩蓋。表1是文本分類句子處理的例子,其中深色背景表示提示學(xué)習(xí)添加的模板,空格表示分詞結(jié)果。
表1 文本處理
原數(shù)據(jù)分詞之后,需要通過自注意力機制獲取和體育相關(guān)的權(quán)重詞。通過公式(1)進行計算,其中K為輸入的向量線性變化如公式(2)所示,V和K相等,Q為權(quán)重,dk表示詞向量維度。
(1)
K=Wkh+b
(2)
計算過后的分詞權(quán)重對于分類標(biāo)簽“體育”各不相同,如圖2所示,顏色的深淺和線的粗細(xì)表示權(quán)重的高低。將權(quán)重前百分之四十的詞進行掩蓋,并去掉前面提示學(xué)習(xí)所加入的模板短句即“這是體育新聞”。最后獲得“去年 今天 [mask] 同樣 [mask] [mask] 金牌”的文本輸入。
圖2 自注意力機制的權(quán)重關(guān)系
輸入文本序列S={x1,x2,x3,…,xn。經(jīng)過詞嵌入后得到詞向量e,通過Self-Attention Mask替換原BERT的掩蓋機制。研究表明[11],被掩蓋的詞之間的聯(lián)系也不能忽略,將被掩蓋詞組成向量e1和被掩蓋后的輸入文本向量e2拼接,得到輸入向量H0作為BERT的輸入向量,其中包括詞向量、位置向量和類型向量。H0向量經(jīng)過連續(xù)的L層Transformer得到最后的輸出向量Hl。
E=AttentionMask(S)
(3)
H0=Embedding(E)
(4)
Hi=Transformer(Hi-1),i∈{1,…,L}
(5)
使用權(quán)重Wlab∈lab·d表示權(quán)重到標(biāo)簽的映射,其中的lab表示標(biāo)簽數(shù)量,最后使用SoftMax函數(shù)取最大概率為預(yù)測值輸出。
pi=HlWlab+b
(6)
p(y|S)=softmax(pi)
(7)
output=argmaxp(y|S)
(8)
在訓(xùn)練的整個過程中,使用標(biāo)準(zhǔn)交叉熵函數(shù)優(yōu)化訓(xùn)練任務(wù)。
(9)
采用了THUCNews[12], TNEWS[13]兩種數(shù)據(jù)集。雖然這兩種數(shù)據(jù)集都是新聞類別,但是前者的文章長度較長,后者是短文本。所以在序列長度上前者設(shè)置為512,后者為128。詳細(xì)數(shù)據(jù)如表2所示。
表2 數(shù)據(jù)集參數(shù)
為了實現(xiàn)全詞掩蓋,借助LTP工具進行文本分詞。對特征提取不明顯且有負(fù)面作用的高頻率文本和特殊符號都會進行停用,例如“是”、“@#~”等。最后基于THUCNews和TNEWS分別構(gòu)建相應(yīng)的詞庫。
為了更好的從已經(jīng)存在的預(yù)訓(xùn)練模型中獲取知識,實驗中使用繼承官方的中文BERT基準(zhǔn)模型(12層Transformer,768的詞向量維度)。不同大小、批次使用不同優(yōu)化器可以提升訓(xùn)練速度。在訓(xùn)練THUCNews這類較大的批次時使用LAMB[14]優(yōu)化器;在訓(xùn)練TNEWS這類較小的批次使用ADAM[15]優(yōu)化器。詳細(xì)模型參數(shù)見表3。
表3 模型參數(shù)設(shè)置
實驗環(huán)境在Linux系統(tǒng)和NVIDIA A30 GPU上進行,實驗所得數(shù)據(jù)使用結(jié)合精確率(Precision)和召回率(Recall)的F1值作為評判標(biāo)準(zhǔn)。具體公式如式(10):
(10)
實驗中對比目前主流的預(yù)訓(xùn)練模型BERT,以及其變體RoBERTa。其中BERT,BERT-w和RoBERTa-w都是基準(zhǔn)BERT模型,即12層的Transformer,詞向量維度為768?!?w”表示全詞掩蓋。詳細(xì)實驗數(shù)據(jù)如表4。
圖3 各模型在數(shù)據(jù)集THUCNews的Loss趨勢圖
圖4 各模型在數(shù)據(jù)集TNEWS的Loss趨勢圖
表4 不同模型在THUCNews和TNEWS 數(shù)據(jù)集結(jié)果對比
實驗結(jié)果表明,無論是驗證集還是測試集,PSAmBERT在THUCNews和TNEWS兩種數(shù)據(jù)集上表現(xiàn)性能均優(yōu)于現(xiàn)在流行的其他模型。圖4和圖5是不同模型在兩種數(shù)據(jù)集上訓(xùn)練批次的Loss值變化細(xì)節(jié)。
從圖3的loss趨勢圖中可以看出,各模型在在較大批次數(shù)據(jù)集THUCNews上的loss值在20批次左右已經(jīng)開始趨近收斂,PSAmBERT相較其他模型在20批次之前的收斂速度更快,并且在20批次之后的整體loss值更低。從圖4的loss趨勢圖中可以看出,在較小批次數(shù)據(jù)集TNEWS上,PSAmBERT相較其他模型的loss值更趨向穩(wěn)定,并且平均loss值更低。實驗結(jié)果可以看出,PSAmBERT在收斂的速度和模型的穩(wěn)定性相比其他模型更優(yōu)。
由于預(yù)訓(xùn)練任務(wù)和下游任務(wù)毫不相干,又舍棄不掉的問題。很難將預(yù)訓(xùn)練的大量知識應(yīng)用到下游任務(wù)。研究者們提出的代表性解決方案有提示學(xué)習(xí)和微調(diào),前者需要在原數(shù)據(jù)中加入標(biāo)簽化的模板,損害了原數(shù)據(jù)的結(jié)構(gòu)和詞數(shù);后者微調(diào)的過程中易遺漏預(yù)訓(xùn)練模型在預(yù)訓(xùn)練階段已學(xué)習(xí)到的大量知識。提出的模型基于提示學(xué)習(xí)需要添加模板的思想,在不改變原文本輸入的情況下,利用自注意力機制進行掩蓋高權(quán)重詞,之后進行促進訓(xùn)練。研究中發(fā)現(xiàn)在數(shù)據(jù)集THUCNews和TNEWS上通過這樣的模型訓(xùn)練,相較其他模型提升效果明顯,準(zhǔn)確度較高。在下一步工作中,希望將結(jié)合提示學(xué)習(xí)和自注意力的機制應(yīng)用到更多任務(wù),而不僅僅在文本分類上。