徐一鳴,易 黎
(1.武漢郵電科學(xué)研究院,湖北武漢 430074;2.南京烽火天地通信有限公司,江蘇南京 210019)
文本摘要任務(wù)的目標(biāo)是獲得一段文字的簡(jiǎn)要壓縮版本,這個(gè)任務(wù)一般被分成抽取式文本摘要和生成式文本摘要。在該文中主要關(guān)注抽取式摘要。
現(xiàn)在,已經(jīng)有很多神經(jīng)網(wǎng)絡(luò)模型應(yīng)用在文本摘要任務(wù)上[1-6]。其中,BERT 預(yù)訓(xùn)練模型的使用,進(jìn)一步提升了抽取式摘要的效果。但是BERT 并不是具體針對(duì)某項(xiàng)下游任務(wù),并且其中預(yù)訓(xùn)練任務(wù)設(shè)計(jì)仍待商榷。于是人們根據(jù)不同任務(wù)對(duì)BERT 提出改進(jìn),針對(duì)中文數(shù)據(jù)集提出了ENRIE[7];MASS[8]提出了同時(shí)利用編碼器和解碼器進(jìn)行長(zhǎng)序列遮蓋,提高了模型理解語(yǔ)義的能力;UNILM[9]改變了self-attention的應(yīng)用,將單向和雙向attention 相結(jié)合;SpanBERT[10]利用長(zhǎng)序列遮蓋進(jìn)行預(yù)測(cè)遮蓋內(nèi)容;RoBERT[11]取消了NSP 任務(wù),并且采取隨機(jī)遮蓋策略。
該文針對(duì)BERT 預(yù)訓(xùn)練模型進(jìn)行改進(jìn),使其可以更適應(yīng)中文文本摘要任務(wù),提高了摘要效果。
BERT(Bidirectional Encoder Representation from Transformers)[12]是由谷歌研發(fā)團(tuán)隊(duì)提出的,它以Transformer 模型為基礎(chǔ)框架,不再使用傳統(tǒng)深度學(xué)習(xí)任務(wù)中常用的RNN 和CNN,整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)完全由注意力機(jī)制組成。
如果利用BERT 預(yù)訓(xùn)練模型進(jìn)行生成抽取式摘要[13-14],需要它輸出每一個(gè)句子的token。BERT預(yù)訓(xùn)練模型是作為masked-language model來(lái)訓(xùn)練的,輸出的向量是句子的token。同時(shí),BERT 對(duì)于每一個(gè)獨(dú)立的句子有專門的segmentation embeddings,不過(guò)它只有兩種標(biāo)簽來(lái)表示抽取式摘要中的句子。調(diào)整輸入和BERT的embedding進(jìn)行抽取摘要,對(duì)于連續(xù)的句子用EA和EB進(jìn)行區(qū)分。為每一個(gè)句子編碼時(shí),在一個(gè)句子的開頭位置放置一個(gè)[CLS]token,在句子結(jié)尾位置放置一個(gè)[SEP]token,讓模型可以利用這兩個(gè)token 來(lái)判斷句子的獨(dú)立性,BERT中的三種Embedding如圖1所示。
在下游任務(wù)中,不再選擇簡(jiǎn)單的sigmod 分類器,而是采用多層的Transformer 層來(lái)代替,從BERT 預(yù)訓(xùn)練模型的輸出中提取側(cè)重于文本摘要任務(wù)的文檔級(jí)特征:
式中,h0=PosEmb(T),T是BERT 輸出的句子向量,PosEmb 是將Positional Embedding 加入T的函數(shù);LN是Layer Normalization 處理[15];MHAtt是multi-head attention 處理;上標(biāo)l表示堆疊層數(shù)。最終的輸出層仍可以看作是一個(gè)sigmod 分類器:
式中,是句子i從l層Transformer 中輸出 的向量。在實(shí)驗(yàn)中,分別設(shè)置Transformer 層數(shù)l=1,2,3,最后發(fā)現(xiàn)2 層Transformer 表現(xiàn)最佳。
在對(duì)原始文本進(jìn)行預(yù)處理的過(guò)程中,利用中文分詞語(yǔ)料庫(kù)對(duì)原始的文本進(jìn)行分詞分句處理。將切分出的中文詞語(yǔ)作為一個(gè)token 輸入或者進(jìn)行Mask,分詞與輸入對(duì)比如表1 所示。
表1 分詞與輸入對(duì)比
Mask Language Model(MLM)是BERT 的預(yù)訓(xùn)練任務(wù)之一,可以理解完形填空任務(wù)。在原始BERT中,隨機(jī)Mask 其中15%的詞(在一個(gè)滑動(dòng)窗口里取一個(gè)詞,10%~15%的比例都可以)如圖2 所示,用其上下文來(lái)做預(yù)測(cè)。
改進(jìn)的BERT 中,不再對(duì)15%的token 采取隨機(jī)Mask,而是選擇遮蓋連續(xù)的token 以達(dá)到遮蓋序列的效果。如圖3 所示,遮蓋序列的長(zhǎng)度k則是變化的,k的范圍在切分出一句話的10%~50%。其中,當(dāng)k=10%時(shí)可以把模型看作原始BERT 中的MLM,而文本摘要任務(wù)需要模型同時(shí)考慮語(yǔ)義與前后詞句之間的關(guān)系,所以遮蓋長(zhǎng)度不能超過(guò)50%。同時(shí),不同長(zhǎng)度的k在整個(gè)訓(xùn)練過(guò)程中是同時(shí)存在的,它們占整個(gè)訓(xùn)練次數(shù)的比例不同。
在每次迭代時(shí),都選擇一次k的長(zhǎng)度,其中,k的長(zhǎng)度更傾向于選擇短距離,整個(gè)訓(xùn)練k的分布近乎幾何分布,k的比例與分布如圖4 所示。
在訓(xùn)練過(guò)程中,這部分被Mask 的詞,80%的時(shí)間采用[mask]進(jìn)行表示,10%的時(shí)間采用另一個(gè)隨機(jī)的詞代替,10%的時(shí)間保持原詞不變。但是,這種遮蓋不再是單個(gè)token 的,而是整個(gè)序列級(jí)別的,被遮蓋序列中每一個(gè)token 都用[mask]代替。
實(shí)驗(yàn)選擇使用python3.6,pytorch1.8,CUDA11.1,bert_base_chinese 版本的BERT。在訓(xùn)練過(guò)程中,前10 000 步設(shè)置學(xué)習(xí)率如式(4)所示,對(duì)模型進(jìn)行預(yù)熱以加快擬合速度[16]。
整個(gè)模型在一塊RTX3070 顯卡上訓(xùn)練,每次訓(xùn)練100 000 步,每隔1 000 步在驗(yàn)證集上設(shè)置一個(gè)模型檢查點(diǎn)進(jìn)行保存和評(píng)估。根據(jù)驗(yàn)證集上的評(píng)估損失選擇前三個(gè)檢查點(diǎn),并反饋測(cè)試集上的平均結(jié)果。
該文選取的數(shù)據(jù)集是LCSTS。數(shù)據(jù)集主要分為三部分,如表2 所示。
表2 數(shù)據(jù)集分布
第一部分是數(shù)據(jù)集的主要部分,用來(lái)訓(xùn)練生成摘要的模型;第二部分是從第一部分?jǐn)?shù)據(jù)中隨機(jī)采樣出來(lái)的,用來(lái)分析第一部分?jǐn)?shù)據(jù)的分布情況;第三部分作為測(cè)試集。
實(shí)驗(yàn)中,不同模型生成的摘要如表3 所示。
表3 生成的文本摘要
通過(guò)表3 可以看出,該文改進(jìn)的BERT 生成的摘要信息相比BERTsum 更加簡(jiǎn)潔,反映的原文信息更加精準(zhǔn),更貼合人工摘要的效果。
當(dāng)然,人工評(píng)價(jià)具有一定的差異性,該文采用針對(duì)文本摘要任務(wù)專用的評(píng)價(jià)指標(biāo)Rouge,其中,Rouge_R 代表召回率,Rouge_P 代表準(zhǔn)確率,在文本摘要任務(wù)中往往希望召回率和準(zhǔn)確率都較高,但是實(shí)際情況是兩者一般呈反比例,所以主要利用F 值即Rouge_F 進(jìn)行比較。實(shí)驗(yàn)結(jié)果如表4-6 所示。
表4 四種模型的Rouge_R
表5 四種模型的Rouge_P
表6 四種模型的Rouge_F
實(shí)驗(yàn)中,除了對(duì)比原始BERT,還選擇采用長(zhǎng)序列遮蓋策略的MASS 模型和針對(duì)中文數(shù)據(jù)集的ERNIE 模型進(jìn)行對(duì)比。由表中所示,改進(jìn)的BERT模型對(duì)比其他三種模型,在召回率、準(zhǔn)確率和F 值上都領(lǐng)先,其中對(duì)比原始BERT,F(xiàn) 值高出了10%~17%。
為了在中文數(shù)據(jù)集上生成文本摘要,對(duì)原始BERTsum 進(jìn)行改進(jìn):1)在對(duì)數(shù)據(jù)預(yù)處理時(shí),對(duì)中文文本進(jìn)行分詞處理,是一個(gè)詞語(yǔ)生成一個(gè)token,再進(jìn)行輸入或mask;2)在BERT 預(yù)訓(xùn)練過(guò)程中,改變mask 策略,遮蓋長(zhǎng)度動(dòng)態(tài)的長(zhǎng)序列。實(shí)驗(yàn)結(jié)果表明,相較于BERTsum,改進(jìn)的BERT 在文本摘要任務(wù)上評(píng)價(jià)指標(biāo)Rouge-1_F 提高了17.18%,Rouge-2_F提高了10.01%,Rouge-L_F 提高了14.8%。對(duì)于BERT 模型,選擇遮蓋長(zhǎng)序列能夠獲得比隨機(jī)遮蓋單一token 更好的預(yù)訓(xùn)練結(jié)果。