孫寶山,譚 浩
1.天津工業大學 計算機科學與技術學院,天津 300387
2.天津市自主智能技術與系統重點實驗室,天津 300387
隨著我國新一代5G通信技術的快速發展,用戶的信息數據已經呈指數級的增長,如何從海量的日常生活信息中快速有效地提取出用戶需要的有用信息,已成為當下亟待解決的問題。文本自動摘要技術是指在保證保留原文關鍵信息的情況下,快速地精簡源文本,并根據其主要內容來生成短文本摘要,有效地為人們快速獲取信息提供了很大的便利。
文本摘要技術按照摘要的實現方式可分為抽取型摘要和生成型摘要。抽取式摘要方法主要通過對原文中的詞句進行排序組合,抽取出能夠代表原文主要信息的短語、句子以形成摘要。生成式摘要方法主要通過使用編碼器獲得原文上下文的特征信息,綜合分析原文的信息后通過算法自動生成一個新句子作為一篇文本摘要。隨著語言模型BERT的推出,基于神經網絡的文本自動摘要技術得到了廣泛關注并取得了顯著效果。文章的創新點及貢獻如下:
(1)文章將詞向量模型ALBERT與統一預訓練模型UniLM相結合,提出一種處理文本生成任務的自動摘要模型ALBERT-UniLM。該模型采用ALBERT模型替代傳統BERT基準模型,大幅降低模型預訓練參數的同時保證有效地進行特征提取獲得詞向量;將融合指針網絡的UniLM模型對下游文本生成任務微調,結合覆蓋機制降低重復文本生成,獲得文本摘要。使得ALBERTUniLM摘要模型適用摘要生成任務。
(2)文章選取NLPCC-2018單文檔中文新聞摘要評測公開數據集。實驗結果表明,ALBERT-UniLM模型與傳統文本摘要相比,所得實驗結果在3個Rouge評測指數均有明顯提高,證明了該模型的有效性與優越性。
文本自動摘要研究作為自然語言處理領域的重要研究任務,科研工作者已對其進行了長期的研究。隨著機器學習以及自然語言處理的快速發展,眾多準確高效的文本摘要算法被提出。2015年,Rush等[1]受到了采用先進的深度學習技術來直接實現機器翻譯的技術啟發,使用序列-序列模型生成文本摘要,有效地解決了由一個單句的摘要產生標題的問題。Nallapati等[2]在2016年提出了一種基于循環神經網絡的序列-序列模型的方法來研究和解決生成摘要的問題。2017年,See等[3]首次提出指針及覆蓋網絡機制。在摘要片段生成的過程中,通過指針控制從原文中選擇生詞或者是從字表中選取生詞進行生成,解決了摘要片段生成中可能出現的未注冊登錄的生詞問題,并且引入了一種覆蓋機制來有效地解決摘要中的片段重復問題。Tan等[4]提出了一種基于視圖的注意力機制的神經模型。2018年,Lin等[5]首次提出了一種基于序列-序列模型的卷積神經網絡,用來在文章層次上獲得語義表示,以減少摘要生成時的語義無關。利用VSM對自動文本摘要進行詞匯相似度測試,并對自動文本摘要實現的效果進行比較。Ren等[6]使用了層級注意力計算句子相似度,提出基于篇章關系的抽取式摘要模型。利用預習語言模型的思想,Yu等[7]提出了一種基于預測下一句子的文本摘要任務預習語言模型。基于預訓練語言的模型BERT[8],Liu等[9]對抽取式摘要方法進行了微調,并通過簡單的模型結構得到了較好的實效。Lan等[10]提出ALBERT模型,該模型是基于BERT模型的一種輕量級預訓練語言模型,采用雙向Transformer模型[11]獲取文本的特征表示。
上述可見,盡管抽取式摘要方法已被驗證有很好的效果[12-15],然而基于Seq2Seq框架的生成式文本摘要模型更適合于短文的生成,而不適合長文本。雖然自編碼雙向語言模型BERT在自然語言理解方面取得了較好的效果,但是它在文本生成方面的性能變現欠佳,且存在模型預訓練參量較大等問題。
本文提出的ALBERT-UniLM模型適用于中文長文本,顯著降低參數量的同時并對BERT模型在生成文本任務中的欠缺表現加以改進,有效提高了模型生成文本摘要質量。
本文所提出的ALBERT-UniLM模型將ALBERT預訓練語言模型[16]與UniLM模型[17]相結合,其主要分成兩個階段實現,即基于ALBERT預訓練模型的詞向量參數獲取階段以及融合指針網絡的UniLM模型的摘要生成階段。ALBERT-UniLM模型第一階段利用預訓練語言模型ALlBERT獲取源文本的詞向量,得到輸入序列;第二階段將得到的輸入序列輸入到融合指針網絡的UniLM模型Seq2Seq LM進行微調,并使用覆蓋機制減少生成重復文字,得到文本摘要。
將文本輸入到模型中進行處理,需要先使用編碼器對文本進行特征提取。ALBERT模型是基于BERT模型的一種輕量級預訓練語言模型,采用雙向Transformer編碼器(Trm)獲取文本的特征表示,其模型結構如圖1所示。其中,E1,E2,…,E N表示文本序列中的字符,通過多層雙向Transformer編碼器的訓練后,得到文本序列的特征向量表示T1,T2,…,T N。

圖1 ALBERT模型結構Fig.1 ALBERT model structure
基于自注意力機制Seq2Seq框架的Transformer模型,其結構為編碼器-解碼器,模型結構如圖2所示。ALBERT采用其編碼器部分,編碼器由N個相同的網絡層堆疊而成,每個網絡層有兩個子網絡層:第一層為多頭自注意力層;第二層為前饋網絡層,用于融入詞語的位置信息。自注意力機制的輸入部分通過Query向量和Key向量相乘來表示輸入部分字向量之間的相似度。另外,每個子層網絡中都有Add&Norm層,將本層的輸入與輸出信息相加進行歸一化處理,并在兩層網絡子層中使用殘差進行網絡連接,進而得到句子中所有詞向量的權重求和表示。這樣得到的詞向量結合了上下文信息,表示更準確。計算方法如下:

圖2 Transformer模型結構Fig.2 Transformer model structure

其中,W o是附加權重矩陣,能使拼接后的矩陣維度壓縮成序列長度大小;Q、K、V分別表示輸入文本序列中的Query、Key和Value向量。Q、K、V的權重矩陣分別為W Qi、W Ki、W Vi;每個詞的Query和Key向量的維度用d k來表示;歸一化激活函數為Softmax(·),z則用來表示N維的行向量。
UniLM模型是一款統一預訓練模型,其能夠同時完成三種預訓練目標,即通過單向、雙向、序列到序列三種訓練方式進行預訓練。UniLM模型架構基于BERT基準模型結構實現,通過不同的Mask方式實現不同的訓練任務。因此該模型不僅可用于語言理解任務,還可以用于自然語言生成任務。表1為常用預訓練模型[18-24]的機制對比。

表1 常用預訓練語言模型對比Table 1 Comparison between language model(LM)pre-training objectives
相較于單向語言模型ELMO、GPT以及雙向語言模型BERT,UniLM模型的優勢在于模型中三種不同訓練目標的Transformer模型網絡參數進行共享,避免了訓練過程中模型過擬合于某一語言模型,使得學習得到的文本表征更具普適性。另外,由于UniLM模型引入了序列到序列語言模型,使得該模型在完成語言理解任務的同時,也能出色地完成語言生成任務。
Transformer是UniLM模型中的核心框架,針對自然語言生成任務,UniLM模型首先對解碼器中的詞隨機進行掩碼,然后再進行預測。即將給定的文本輸入序列輸入至UniLM模型,模型根據上下文信息獲得每個遮蔽的向量表征。為能夠從輸入的文本中獲取更多的重要信息,文章在UniLM模型中引入指針網絡及覆蓋機制。模型生成關鍵詞與指針生成網絡從輸入文本中復制詞的功能相結合,有效提高了生成新聞標題的豐富度。
2.2.1 輸入表征
針對文本生成任務,經過文本數據清洗及預處理后文本數據集,選取輸入文本序列X,在序列的文本起始處插入起點標記([SOS]),并在每段文本序列的末尾插入結束標記([EOS])。標記[EOS]可讓神經模型學習到在文本生成任務解碼過程的時間。模型表征輸入時將文本通過WordPiece進行子詞標記。針對每個輸入遮蔽,憑借與之對應的遮蔽嵌入、位置嵌入以及文本段嵌入進行求和運算得到相應的矢量表示。
2.2.2 指針生成網絡
解碼器解碼時,每一個時刻t通過復制指針pgen控制預測詞是從詞表中生成還是從文本中復制。指針pgen計算方式如式(5)所示:

其中,K t、V t是解碼器t時刻提取的文本特征向量,Qt是解碼器t時刻提取的文本摘要特征向量,WTQ、WTK、WTV、bptr是學習參數,σ是Sigmoid激活函數。
融合指針網絡模型的解碼器,可以通過指針pgen選擇從文本中直接復制關鍵信息詞。計算詞表的分布概率前,先將文本中的未登錄詞提取出來擴充到詞表中構建新的詞表,然后再計算t時刻預測詞w的分布概率。計算方式如式(6)所示:

可知,若預測詞w是未登錄詞,pvocab(w)則為零。使得預測詞w可以僅從文本中生成。當中,αt是文本序列對解碼器t時刻預測詞的注意力分布權重,通過解碼器提取摘要獲取的Q特征矩陣與編碼器提取文本中得到的K、V特征矩陣計算而得。計算方式如式(7)、(8)所示:

因文本中可能存在多個w i都為預測詞w的情況,因此計算詞表概率時需要將所有預測詞w的注意力權重進行累加,如公式(6)所示。
為了解決生成詞語重復的問題,本文引入覆蓋機制。通過覆蓋機制對指針生成網絡模型進行改進,能夠有效減少生成摘要中的重復。向量c t公式如下:

c t表示目前為止單詞從注意力機制中獲得的覆蓋程度。使用覆蓋向量c t影響注意力分布,重新得到注意力分布a t。其中,解碼器當前時間步對所有時間步的關注程度為e ti,計算公式如下:

2.2.3 模型微調
模型微調部分采用UniLM模型中Seq2Seq框架結構處理文本摘要自動生成任務。微調下游任務與預訓練任務中使用自注意機制掩碼相似。設定文本中源序列S1及目標序列為S2。使其與特殊遮蔽相整合,得到輸入序列「[SOS]S1[EOS]S2[EOS]」。
本文模型的微調結構如圖3所示。微調任務通過對目標序列中設置比例的遮蔽進行隨機覆蓋,使模型學習還原被遮蔽的詞進行任務微調。基于前后文本被遮蔽的最大似然度得到文本摘要。

圖3 ALBERT-UniLM模型微調結構Fig.3 ALBERT-UniLM model fine-tuning structure
本文的實驗部分使用2018年CCF國際自然語言處理與中文計算會議提供的NLPCC2018中文單文檔新聞摘要評測數據集,其樣本來自于今日頭條的新聞數據,是廣泛使用的中文開放評測數據集。該數據集信息統計如表2所示。

表2 NLPCC2018數據集信息統計Table 2 NLPCC2018 data set information statistics
該文使用由Lin等[25]發表的ROUGE自動摘要評價算法,該算法是評估自動文摘的重要評價參數。該評測方法基于文本摘要中共現N元詞(N-gram)的摘要信息進行評測,表示為ROUGE-N(N值可為1、2、3、4等)、ROUGE-L、ROUGE-S、ROUGE-W等。該方法基本思想為先構建標準摘要集,將模型所得文本摘要與標準摘要相對比,采用統計兩篇摘要之間重疊的基本單元(N元語法、詞序列和詞對)數目等信息,用以評價模型生產摘要的優劣,本文使用的ROUGE-1、ROUGE-2、ROUGE-L作為評價指標。ROUGE-N計算公式如式(11)所示:

N表示字符N元詞N-gram的長度,Countmatch(gramn)表示同時在模型生成摘要與標準摘要的N-gram字符數量,Count(gramn)表示在標準摘要中N元詞N-gram的數量。
ALBERT-UniLM模型參數主要包含ALBERT及UniLM模型的參數。ALBERT模型采用對文本詞嵌入參數進行因式分解的方法,通過劃分子陣將矩陣詞嵌入參數從O(V×H)降至O(V×E+E×H)。兩個矩陣的參數進行模型學習,在不降低模型學習效果的要求下,通過共享參數的方法,可明顯降低模型的參數向量。表3為相同規模下兩種模型的參數對比。

表3 BERT模型與ALBERT模型參數對比Table 3 Comparison of main BERT and ALBERT models parameters
本文模型中的ALBERT模型采用Google發布的中文預訓練模型ALBERT-Base,設置最大序列長度為128,Train_batch_size為16,Learning_rate為5E-5。模型參數如表4所示。

表4 ALBERT預訓練模型參數Table 4 ALBERT pre-training model parameters
UniLM模型設置隱向量維度為768,微調學習率Learning_rate設為5E-5,預熱步驟參數Num_warmup_steps設為500,微調的訓練步數Num_training_steps設為10 000,Epochs設為55。批處理大小Batch_size設為16,Beam_search解碼時的Beam_size為5。本文實驗環境及配置如表5所示。

表5 實驗環境及配置Table 5 Lab environment and configuration
為驗證ALBERT-UniLM模型處理自動文本摘要任務的優越性,本文實驗部分選取7種基準模型進行生成指標對比。所選基準模型包含3種抽取式摘要模型及4種生成式摘要模型。所選模型介紹如下:
(1)MMR:該模型又稱為最大邊界相關模型,該模型設計之初用于處理Query文本與被搜索文檔的相似度,然后對文本排序的模型。
(2)Lead-3:該模型思想為選取文檔首段的前3句作為文本摘要。因文章起始處常含有關鍵信息,因此該方法為常見且有效的抽取式摘要算法。
(3)TextRank:該模型受到圖算法模型的啟發,通過計算文本句子間的重要程度,然后將句子進行排序重組生成摘要。
(4)Seq2Seq+Attention:該模型將序列到序列框架與注意力機制結合,是目前研究摘要生成任務的標準結構模型。
(5)Pointer-Generator:該模型在Seq2Seq模型的基礎上,通過指針網絡選擇摘要詞,并添加覆蓋機制解決輸出信息錯誤及未登錄詞的問題。
(6)BERT+LSTM:該模型采用Seq2Seq基礎架構,將Encoder替換為雙向Transformer編碼,Decoder采用LSTM。使用BERT模型對編碼端參數進行初始化處理,解碼端從初始狀態訓練。
(7)BERT+UniLM:該模型采用Seq2Seq基礎架構,將Encoder替換為雙向Transformer編碼模塊,Decoder采用UniLM。使用BERT模型對編碼端參數進行初始化處理,解碼端從初始狀態訓練。
選取7種對比模型與該文模型在NLPCC-2018新聞摘要中文單文檔公開數據集上進行效果驗證。實驗評測結果如表6及圖4。

表6 模型評測對照表Table 6 Comparison of model evaluation

圖4 各模型ROUGE-1、ROUGE-2、ROUGE-L得分對比Fig.4 Comparison of ROUGE-1,ROUGE-2,ROUGE-L scores of each models
由圖4、表6可以得出:
(1)生成式文本摘要算法評測得分整體優于抽取式文本摘要算法。可見,通過對原始文本進行文本數據分析處理,通過文本生成技術獲得文本摘要的生成式摘要算法相較于抽取文本中重要的詞語組合成摘要的抽取式摘要算法更適合于中文長文本摘要任務。
(2)與基于Seq2Seq+Attention的生成式文本摘要模型相比,Pointer-Generator模型對生成的摘要質量有了進一步的提高。模型中的指針網絡及覆蓋機制有效緩解了摘要生成過程中的未登錄詞以及重復生成詞問題,證明指針網絡可以明顯提高生成摘要的質量。
(3)預訓練語言模型BERT的引入,使得生成式摘要算法評測得分進一步提升。BERT模型由于其在海量語料上的訓練而使得模型具有優秀的向量表征能力,然而其龐大的訓練參數量使得在少量數據訓練時容易產生過擬合問題。
(4)與BERT-UniLM模型及其他模型對比,本文提出的ALBERT-UniLM模型在三項ROUGE評測指標上均取得最好成績。表明模型通過兩階段進行文本摘要生成的算法能夠有效的將ALBERT模型與UniLM模型的優勢相結合,引入指針網絡及覆蓋機制,在降低摘要中未登錄詞的同時,有效減少重復內容的生成。
表7為該文模型生成摘要示例,由表7可以得出:通過與原文及標準摘要做直觀對比,可看出ALBERTUniLM模型生成的摘要內容更豐富、更全面、更貼近標準摘要,說明該模型對原文的理解更加充分,對文中的句詞進行更準確的表達。

表7 模型生成摘要示例Table 7 Generate summarization example
針對文本摘要自動生成任務,文章提出一種基于深度學習的生成式摘要模型ALBERT-UniLM,該模型結合遷移學習的思想,將預訓練模型ALBERT與UniLM相結合。ALBERT模型顯著降低了預訓練模型的參數量并有效獲取到詞向量。利用指針生成網絡及覆蓋機制對UniLM模型中的序列到序列生成機制加以改進,使得ALBERT-UniLM的預訓練模型適用于自然語言處理中的生成任務。實驗表明,與傳統的基準模型相比,ALBERT-UniLM模型在文本摘要生成任務中生成的摘要結果更接近標準摘要,具有更好的準確性和可讀性。