?

基于BART模型的風電技術文獻摘要生成算法

2024-01-31 07:36李珍輝賈任遠扈菲宇孫嘉琦
關鍵詞:解碼器觀察者風電

李珍輝,賈任遠,扈菲宇,孫嘉琦

(湖南工程學院1.計算機與通信學院,湘潭 411104;2.電氣與信息工程學院,湘潭 411104)

0 引言

近年來,國家提出“雙碳”政策,風電作為最具開發規模的新能源之一,在我國發展迅速[1-2].隨著社會的發展,風電技術不斷更新迭代,網絡上積累了大量有價值的風電資料和技術文獻.風電文獻具有專業性強、相對瀏覽速度慢、學習效率低的特點.如何利用自然語言處理技術在海量中文風電文獻中自動獲取有價值的信息生成文獻摘要[3-4],成為一個重要課題.

英文單詞和單詞之間有空格,易于處理.但中文需對文本進行分詞,語法復雜,處理難度較高.在統計機器學習領域,劉江鳴等[5]使用隱馬爾可夫模型來生成自動摘要.在圖模型領域,余珊珊等[6]提出將文本的多個統計特征引入圖模型的構造中,提升摘要抽取的準確性.HU 等[7]收集了大量微博文本,并通過人工規則進行篩選,制作了大規模中文短文本摘要數據集,并利用RNN 建立生成式摘要模型,給出了ROUGE 評價指標的基線,為深度學習在中文文本摘要生成上做出了貢獻.中文自動摘要生成技術起步晚、難度大、公開數據集少[8].且已發表的風電研究文獻在內容上具有涉及范圍廣、專業詞匯多、方法多元化等特點,這給摘要的自動生成造成了一定困難,導致摘要提取效果較差.大規模預訓練模型在自動摘要生成任務上的應用較少,在風電領域的中文文獻上的應用幾乎沒有.

目前,對于摘要的自動生成研究主要采用抽取式方法[9]和生成式方法[10].然而,抽取式方法存在摘要不夠精簡、語句不連貫[11]等問題.針對抽取式方法存在的問題,部分學者提出了基于深度學習的生成式摘要技術,例如,ZHANG 等[12]提出了一種新的基于預訓練的編碼器—解碼器框架,首次將BERT 模型應用于文本生成任務;LIU 等[13]通過對比學習來彌補學習目標與評價指標之間的差距,提出了生成式摘要框架SimCLS;LIU 等[14]利用策略梯度,使用生成對抗網絡模型生成摘要,在英文摘要數據集CNN/Daily Mail 上獲得明顯效果.但是基于生成對抗網絡模型的生成器和判別器模型存在訓練量大、難以收斂等問題[15].

為解決生成對抗網絡的問題,本文提出一種基于BART 模型與觀察者機制的中文風電文獻摘要生成算法.首先采用BART 模型并將少量的風電文獻數據集放入模型下游訓練進行詞向量權重的微調(fine-tune);其次,提出了一種觀察者機制,即使用成熟的語言模型作為觀察者模型,對生成摘要的通順程度打分,加速生成器的收斂;最后,由生成器和判別器組成的生成對抗網絡替換為由生成器和觀察者組成的觀察者機制模型.

1 算法設計方案

1.1 BART模型

BART[16]是一個BERT+GPT 的結構,但相對于BERT[17]中單一的noise 類型,BART 在encoder端嘗試了多種noise.BERT 的這種簡單替換導致encoder 端的輸入攜帶了有關序列結構的一些信息,這些信息在文本生成任務中一般是不會提供給模型的.而BART 采用更加多樣的noise 破壞掉這些有關序列結構的信息,防止模型“依賴”這類信息.

如圖1 所示,BART 編碼器的輸入不需要與解碼器的輸出對齊,允許任意噪聲變換.在這里,用掩碼符號替換文本的跨度,從而損壞了文檔.使用雙向模型對損壞的文檔(左)進行編碼,然后使用自回歸解碼器計算原始文檔(右)的可能性.

圖1 BART編碼-解碼結構圖

由于BART 具備自回歸解碼器,因此可以直接應用到序列生成任務(如生成式問答和文本摘要)進行微調.在這兩項任務中,從輸入復制經過處理的信息,與去噪預訓練目標緊密相關.encoder(編碼器)的輸入是輸入序列,decoder(解碼器)以自回歸的方式生成輸出.

BART 模型的學習準則為交叉熵損失函數(Cross Entropy Loss Function),優化算法為梯度下降算法,訓練方式為反向傳播算法.交叉熵損失函數的計算公式如下:

其中:

M——類別的數量;

yic——符號函數(0 或1),如果樣本i的真實類別等于c則取1,否則取0;

pic——觀測樣本i屬于類別c的預測概率.

但BART 模型中針對中文語料訓練的預訓練模型并不常見,尤其是風電領域,沒有公開的數據集,所以單純使用BART 模型來做風電領域中文文獻摘要生成任務時會由于缺少數據集而影響效果.

1.2 DNN語言模型

DNN 語言模型是基于Word2Vec[18]技術構建的詞向量表示模型,中文DNN 語言模型用于輸出切詞結果并給出每個詞在句子中的概率值,判斷一句話是否符合語言表達習慣.

2 模型方法

針對國內尚無完備的中文風電文獻訓練集,以及深度學習的生成式模型訓練困難的問題,本文將中文風電文獻摘要生成模型分為預處理、評估、訓練三個模塊.預處理模塊是將風電文獻特征詞匯加入BART 模型的詞表中,對模型進行微調,生成新詞匯的詞向量表示,得到損失函數Loss和摘要序列L.評估模塊選用百度DNN 模型作為觀察者模型,得到摘要序列的打分值S,并將量綱化的S與Loss 相乘,得到適應度F.訓練模塊將F作為目標函數進行反向傳播,實現對生成器模型的訓練,當F低于某個值或不再下降時,停止訓練,得到風電文獻摘要生成模型.如圖2 所示.

圖2 SG-BART-DNN模型圖

2.1 預處理

使用Jieba 分詞[19]對風電文獻進行分詞,將得到的風電文獻特有詞匯加入預訓練模型的詞表(Vocab)中.具體操作步驟如下:

(1)導入中文分詞庫Jieba.

(2)將數據集的風電文獻使用Jieba 分詞進行分詞.

(3)統計出Vocab 中沒有的詞匯.

(4)把風電文獻的特殊詞匯添加進詞表中.

(5)對模型進行微調,生成新詞匯的詞向量表示(word express).

2.2 微調

將BART 的自回歸解碼器作為文本生成任務的生成模型,用于文本摘要生成.在這個任務中,信息都是從輸入中復制出來的,但經過了處理,這與降噪預訓練目標密切相關.在此,編碼器輸入是輸入序列,而解碼器自動生成輸出.

在本文中,BART 作為中文風電文獻摘要的生成器,輸入為較長的風電文獻源文本Yin,輸出為較短的文本摘要Yout.那么只需把Yin作為BART 編碼器的輸入,把編碼器的隱狀態和文本摘要Yout共同作為解碼器的輸入,文本摘要Yout作為模型的輸出進行自回歸訓練,即可實現BART 模型在中文文本摘要任務上的微調,如圖3 所示.

圖3 CPT微調過程

2.3 觀察者模型

觀察者模型的打分是一個在生成者訓練過程之外的數值,如何把觀察者打分值與生成者訓練過程有機結合,成為本算法的關鍵問題.

百度DNN 的打分ppl 為大于0 的實數,經過測試,其范圍在[0,+∞),如果將這個值與BART 訓練過程中的損失函數直接相乘或者相加會導致梯度爆炸.使用sigmoid 函數壓縮ppl 的取值范圍可以有效避免這個問題.

sigmoid 函數由以下公式定義:

其對x的導數可以表示為:

sigmoid 函數的圖形如圖4.

圖4 sigmoid函數圖像

本文設計算法的學習準則如下:

將公式(4)作為新的學習準則對模型進行訓練.實現觀察者模型對生成者模型的影響.

3 實驗測試

3.1 實驗環境及設置

使用PyTorch 深度學習框架搭建深度學習模型,調用CUDA 對模型進行并行加速.實驗環境配置如表1 所示.

表1 硬件配置信息表

3.2 評價指標

微軟提出的ROUGE[20]評價指標,目前在自動文本摘要領域被廣泛應用.ROUGE 通過計算生成摘要與人工摘要之間的重合程度來評價摘要的質量.

ROUGE 指標由一系列的評價方法組成,其中最常用的是ROUGE-N 和ROUGE-L.ROUGE-N基于摘要中N-gram 的共現信息來評價摘要,是一種面向N-gram 召回率的評價方法.ROUGE-N 定義如式(5).

其中,分母是參考摘要N-gram 的個數,分子是參考摘要和自動摘要共有的N-gram 的個數.常用的指標為ROUGE-1,ROUGE-2 和ROUGE-3.

ROUGE-L 通過最長公共子序列(Longest Common Subsequence,LCS)計算生成摘要與參考摘要的重疊度.ROUGE-L 計算式見式(6)~式(8).

其中,LCS(X,Y)是生成摘要X和參考摘要Y的最長公共子序列長度;M和N分別表示參考摘要和生成摘要的長度;RL和PL分別表示召回率和準確率;FL則表示召回率和準確率的調和均值.

文檔理解協會(Document Understanding Conference,DUC)在使用ROUGE-L 時將β設置為一個很大的數,此時FL近似等于RL,所以ROUGLE-L一般只考慮召回率.由于缺少公開數據集,采用ROUGE-L 指標進行評價.

3.3 實驗結果分析

實驗數據集共7 621 條數據,除521 條風電文獻摘要任務的數據外,還引入了同樣是科技學術文本摘要的公開數據集:CSL-json(3 600 條)和Wangfang-json(3 500 條).將三者拼接使用,彌補了下游任務數據樣本不足的問題,也提高了模型的泛化能力.

為了保證對風電文獻的敏感性,隨機抽取100條風電文獻文本摘要數據作為驗證集,其余作為訓練集,分別對單純BART 生成模型和SG-BARTDNN 生成模型進行訓練.

表2 展示了兩種模型生成摘要的實例情況.結果分析表明,SG-BART-DNN 模型對段落的理解更加充分、全面,且較為簡潔.

表2 數據集摘要樣本實例

在人工標注的100 條風電文獻摘要的測試集上,我們測試了SG-BART-DNN 摘要生成模型、BART 文本摘要生成模型、傳統抽取式模型Text Rank[21]和預訓練模型GPT 的ROUGE-L 指標.結果如表3 所示.

表3 摘要生成模型的ROUGE-L指標

基于實驗的結果,得到以下結論.

(1)從ROUGE-L 指標結果來看,本文所提算法SG-BART-DNN 在風電文獻摘要數據集上的得分明顯高于傳統的文本摘要模型如Text Rank 和GPT,也略高于BART 模型.

(2)與BART 生成的摘要相比,SG-BARTDNN 生成的摘要具備更多的多樣性,對文獻內容的理解也有一定程度的提升.

(3)觀察者模型使用百度DNN 語義模型,既沒有增加模型的復雜程度,又保證了訓練效果,并有效解決了語法錯誤、詞語重復、內容冗余的問題.

4 結論

研究自動文本摘要技術在中文風電文獻處理上的應用,基于中文風電文獻內容的特點,提出一種基于BART 模型與觀察者機制的中文風電文獻摘要生成算法,將其與單純的BART Fine-tune 模型、抽取式的Text Rank 模型及引入外部信息的GPT 模型進行對比,得到以下結論:

(1)引入BART 模型進行微調,既降低了對數據集體量的依賴,也降低了模型訓練的難度.通過實驗,驗證該方法能夠有效緩解OOV 問題[22]、罕見詞(Rare words)問題與詞義理解錯誤問題.

(2)選擇觀察者DNN 語言模型能夠有效解決語法錯誤、詞語重復、內容冗余的問題,且未增加模型的復雜程度.

(3)使用sigmoid 函數壓縮ppl 的取值范圍,能有效避免將觀察者打分值與BART 訓練過程中的損失函數直接相乘或者相加導致的梯度爆炸問題.

(4)在四種同類型模型的對比中,SG-BARTDNN 模型對原文的理解更充分,生成的語句更準確,在指標ROUGE-L 的得分上更高.

然而,由于數據集數量有限,模型生成的摘要水平還未達到人工摘要的平均水平,在接下來的工作中,將重點考慮增加數據集的數量和質量,進行更為全面的實驗研究.

猜你喜歡
解碼器觀察者風電
科學解碼器(一)
科學解碼器(二)
科學解碼器(三)
線圣AudioQuest 發布第三代Dragonfly Cobalt藍蜻蜓解碼器
冷靜而又理性的觀察者——德國華人作家劉瑛訪談
海上風電躍進隱憂
分散式風電破“局”
風電:棄風限電明顯改善 海上風電如火如荼
重齒風電
觀察者模式在Java 事件處理中的應用研究*
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合