999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于自注意力與指針網絡的自動摘要模型

2021-03-23 09:38:40姜志祥
計算機工程與設計 2021年3期
關鍵詞:機制模型

姜志祥,葉 青,傅 晗,張 帆

(中國航天科工集團第二研究院 七〇六所,北京 100854)

0 引 言

文本自動摘要方法通常可分為抽取式摘要和生成式摘要兩種。抽取式方法在理解源文本語義的基礎上,利用詞庫中的單詞,將源文本中重要的句子和段落組合成較短的文本,生成摘要。由于抽取式摘要主要考慮單詞的詞頻等特性,并不包含語義信息,所以無法完整表達文本的語義信息。生成式摘要方法利用自然語言處理算法進行轉述、同義替換、句子縮寫等操作來獲得文檔的摘要。生成式摘要的質量更高,但難度較大、復雜性較高。

本文針對生成式摘要方法中基于序列到序列(sequence-to-sequence,seq2seq)模型存在準確率不高、詞語重復、訓練時間長等問題,提出了一個改進的模型。在原序列到序列結構的基礎上加入指針生成網絡以及自注意力機制,提升了模型摘要準確率,同時引入復制機制,以解決未登錄詞(out of vocabulary,OOV)問題,利用輸入供給(input-feeding)方法來避免摘要中出現重復短語問題,使用自注意力(self-attention)來代替傳統的循環神經網絡(RNN),提升了模型訓練的并行性,消除了卷積計算,減少了訓練時間。

1 相關工作

抽取式摘要方法分為無監督抽取式方法和有監督抽取式方法。

抽取式摘要源于詞頻-逆文檔詞頻(TF-IDF)算法,它根據文章中的詞語的權重來獲得摘要。Google的Mihalcea等在網頁排序算法的基礎上提出了基于圖的TextRank算法,該算法通過構建節點連接圖,將句子的相似度作為圖中邊的權重值,計算得到排名高的句子組成摘要,提升了抽取式方法的準確率。

隨著機器學習技術的發展,抽取式摘要的研究逐漸從無監督方法向有監督方法發展。Cheng J等[1]利用卷積神經網絡(CNN)與循環神經網絡(RNN)來提取句子特征,改善了人工提取特征不穩定的缺陷。Nallapati等[2]使用分層神經網絡提取句子的特征,獲取單詞以及句子和文檔之間的分層關系,同時還加入了位置信息變量。

隨著近幾年深度神經網絡的發展,不少生成式摘要模型的在測試集上的性能已經超越了最好的抽取式模型。由于生成式摘要具有更好的表征和生成文本能力,已經稱為主流的自動摘要方法。

生成式模型的基本結構是由編碼器和解碼器組成的序列到序列模型。Nallapati等[3]將注意力機制與基于RNN的序列到序列模型相結合,其中注意力機制使得每個時刻的輸出向量都有不同的權重值。Hu等[4]利用微博數據,得到大規模中文短文本摘要(large scale Chinese short text summarization,LCSTS)數據集,并提出了以RNN為基礎的自動摘要系統。Chopra等[5]將卷積神經網絡作為編碼器,將長短期記憶神經網絡作為解碼器。吳仁守等[6]通過對文檔進行字、句和全文檔等多層次編碼。

Vinyals等[7]提出了指針網絡,指針網絡是seq2seq模型的一種變體。該網絡不執行序列轉換,而是生成一系列指向輸入序列元素的指針。指針網絡用于文本摘要,主要解決單詞稀疏和詞匯不足的問題。Gu等[8]提出了復制機制,即當包含指針網絡的模型生成摘要時,通常會生成兩個概率,即現有詞匯中的生成概率和在指針處復制的概率。必要時模型會直接在原文中復制單詞作為摘要輸出,此方法的提出能夠緩解未登錄詞問題。Li等[9]提出了配備深度遞歸生成解碼器的摘要框架,基于遞歸潛在隨機模型學習目標摘要中隱含的潛在結構信息,根據生成的潛在變量和判別式確定性狀態生成高質量摘要。

Abigail等[10]利用詞頻等特征,復制原文本的詞來處理低頻詞,解決了未登錄詞問題。并加以改進,融合注意力機制形成混合式指針生成網絡,緩解了細節偏差和低頻詞問題。谷歌的Ashis等提出了變換器(transformer)模型[11],利用自注意力機制實現快速并行,并且可以增加深度,提升了訓練速度和準確度,在多項自然語言處理任務中表現良好。Zhang等[12]將根據自注意力機制訓練的預訓練模型轉換器的雙向編碼表示(bidirectional encoder representation from transformers,BERT)應用到自動摘要任務中。

李晨斌等[13]提出了基于改進編碼器-解碼器(encoder-decoder)模型的方法,提升了摘要的連貫性與準確性。Guo等[14]提出將多頭注意力Multi-Head與指針網絡結合,抽象化了摘要文本的結構,增強了文本的語義表示。Wang等[15]提出概念指針網絡,利用基于知識的上下文感知概念來擴展候選概念集,能夠生成具有更高層次語義概念的摘要。Li等[16]提出雙注意指針網絡,自注意力機制從編碼器收集關鍵信息,軟注意力和指針網絡生成更一致的核心內容,兩者的組合會生成準確且一致的摘要。

由于RNN、LSTM和CNN等網絡模型在序列到序列模型中取得了較好的效果,循環結構的模型和編碼器-解碼器結構得到了很好的發展。但是循環神經網絡固有的順序屬性制約了訓練的并行化,增加了訓練時間;CNN網絡在計算兩個位置之間的關系時,訓練次數會隨著距離的增加而增加,不利于模型的訓練。

本文提出了一個基于組合指針式網絡和自注意力機制的模型,但由于自注意力機制對句子整體進行處理,并不包含序列的位置信息,因此在嵌入層引入了位置嵌入編碼來表示序列中元素的相對關系,保證模型按照正確的序列順序來進行處理。模型完全消除了重復和卷積,避免了遞歸,具有更高的并行性,提升了訓練速度,降低了長時間訓練導致的性能下降。與原來的混合指針式網絡相比,提出的模型能夠快速降低損失函數值,減少訓練時間,并提升摘要的準確度。

2 序列到序列模型改進

2.1 模型框架

自注意力機制的基礎是序列到序列模型,它屬于編碼器-解碼器結構,本文使用的原始指針網絡模型如圖1所示。

圖1 指針網絡模型

在原始指針網絡模型中,源文本中的信息被輸出到由單層雙向長短時記憶網絡(LSTM)組成的編碼器中,從而產生一系列隱藏狀態,通過隱藏狀態計算得到文本的注意力分布,然后注意力分布用于生成編碼器隱藏狀態的加權總和上下文向量,上下文向量通過與兩個線性變化層的解碼器狀態拼接在一起組成詞匯分布,從上下文向量以及解碼器狀態計算得到生成概率Pgens,根據生成概率選擇是從原文復制還是在詞匯分布中生成得到最終分布。

原始的指針生成網絡模型雖然取得了一定的成果,但是仍存在一些問題。首先是無法聚焦核心內容,無法概括重要內容;其次是可能錯誤組合原文片段,導致出現錯誤結果;最后存在語句不夠通順和連貫的問題,降低了摘要效果[7]。

本文提出的改進模型結構如圖2所示。編碼器部分由6層編碼器疊加在一起構成,解碼器部分也是6層解碼器疊加在一起。每個編碼器在結構上是相同的,但不會共享它們之間的參數,每個編碼器可以分解為自注意力層和前饋神經網絡層。解碼器中結構類似,但在中間加了一個編碼-解碼注意力層(多頭自注意力層),用來關注輸入句子的相關部分。模型最后利用解碼器向量輸出與注意力分布來計算概率分布Pgens,結合指針生成網絡對詞匯分布以及注意力分布進行加權計算,以確定是最終通過固定詞匯表生成詞還是通過指針復制單詞。

圖2 本文提出模型

本文提出的改進模型基于序列到序列模型,組合指針生成式網絡模型和自注意力模型,增加了處理OOV單詞的能力和準確性。模型保留了生成新單詞的能力,運用自注意力模型加快了訓練速度,能夠快速并行計算,增加深度,較快降低損失函數值。

編碼組件由6層編碼器組成,編碼器由自注意力層和全連接前饋神經網絡層兩個子層構成,子層之間的連接采用殘差連接(residual connection)[18],然后進行層歸一化(layer normalization)[19]。每個子層的輸出都為LayerNorm(x+Sublayer(x)),其中Sublayer(x)是由子層本身實現的功能,為了使殘差連接更加方便計算,所有子層以及嵌入層輸出的維度大小dmodel都為512。

解碼組件由6層相同的解碼器組成,子層之間也是采用殘差連接并進行歸一化,與編碼器不同的是,解碼器加入第3個子層,該層用來對編碼器輸出結果進行多頭注意力關注,同時自我注意力層,加入掩碼(mask)機制[11],用來關注輸入隊列,確保對位置i的預測只能依賴i之前的已知輸出。

輸入句子通過詞嵌入轉為向量矩陣,進入編碼器后經過自注意力層,計算得到自注意力向量,輸出會傳遞到前饋神經網絡中,每個位置對應的前饋神經網絡都是一致的,然后經過多頭注意力層向量拼接后,得到多頭部注意力Z,編碼器輸出中包含有鍵向量和值向量的注意力向量集,這些向量會傳輸到解碼器中編碼器-解碼器注意力層。編碼階段結束后進入解碼階段,每個解碼的步驟都會輸出一個輸出序列的元素,直到出現終止符號。解碼器最后會輸出一個向量,經過線性變化層把向量投射到一個對數幾率(logits)的向量中,向量中的每個單元格都會產生一個分數,經過softmax后會將這些變為一個概率,其中概率最高的單元格會被選中,然后對應單詞會作為這一時刻的輸出。利用解碼器當前時刻以及前一時刻的輸出以及注意力分布拼接得到指針生成網絡的生成概率Pgens,該概率控制是復制源文本中內容生成摘要還是根據注意力生成摘要,若詞匯表分布中不存在解碼的詞,則直接利用多頭部注意力分布復制得到,若詞匯表分布中存在分布,則使用詞匯表分布。

2.2 模型原理

在改進的模型中,輸入信息通過嵌入層轉化為嵌入向量。因為模型是對句子中所有詞同時處理的,不包含遞歸和卷積,所以在嵌入層并不包含句子中相對位置信息,必須加入有關序列的位置信息,因此我們在編碼器和解碼器的底部輸入嵌入中為其加入位置編碼。在這里選擇使用不同頻率的正弦和余弦函數

PE(pos,2i)=sin(pos/100002i/dmodel)PE(pos,2i+1)=cos(pos/100002i/dmodel)

式中:pos表示在句子中的位置,i是維度,dmodel為512。

注意力計算方式如圖3所示,首先根據嵌入向量和加權矩陣計算得到3個向量,分別是查詢向量Q、鍵向量K和值向量V。這3個向量的生成方式是詞嵌入與3個權重矩陣 (WQ,WK,WV) 相乘

圖3 兩種注意力計算

接下來計算縮放點積注意力[11],計算公式如下所示,計算完成后,通過softmax傳遞結果,得到注意力向量就可以傳遞給前饋神經網絡。除以dk是為了防止經過softmax后的結果變得更加集中,使得梯度更穩定

計算出自注意力頭部矩陣后,需要將8個矩陣拼接起來,然后與矩陣WO相乘,得到多頭部自注意力向量,WO是經過聯合訓練的矩陣

多注意力網絡相當于多個不同自注意力的集成,將數據X分為8個頭,分別輸入到8個自注意力層中,乘以各個加權矩陣,得到8個加權后的特征矩陣Z,將8個矩陣Z按列拼成一個大的特征矩陣,乘以權重矩陣WO得到輸出Z。

編碼器和解碼器每一層還包括一個全連接的前饋神經網絡,由兩個線性變化組成,在它們中間包含一個ReLu激活函數,使用Relu函數能提升計算速度以及收斂速度。內層維度為dff=2048,輸入輸出維度dmodel為512

FFN(x)=max(0,xW1+b1)W2+b2

在解碼器中,注意力模塊(transformer block)比編碼器中多了個編碼器-解碼器注意力(encoder-decoder attention)。在編碼器-解碼器注意力中,Q來自于解碼器的上一個輸出,K和V則來自于與編碼器的輸出。掩碼自注意力(mask-self-attention)是計算當前摘要的內容和摘要的前文之間的關系,而編碼器-解碼器注意力是計算當前摘要內容和編碼的特征向量之間的關系。最后再經過一個全連接層,輸出解碼器的結果。加入掩碼機制原因是,因為在預測摘要內容時,為防止信息泄露,當前時刻應該無法獲取到未來時刻的信息。輸入供給(input-feeding)[10]方法通過對上一時刻的注意力進行跟蹤,將此時刻詞嵌入向量與將前一時刻的注意力向量進行拼接,得到新的注意力向量,作為輸入到解碼器中。該方法能夠考慮前一時刻的注意力信息,從而幫助模型注意力更準確地決策,提高了摘要準確率。

設解碼器輸出為di,注意力分布為ai,t-1時刻的注意力向量為ai-1,詞嵌入向量為embXi,l2為輸出端最大長度,詞匯注意力分布為Pv ocab。 將t-1時刻注意力與t時刻嵌入向量進行拼接得到新向量embYi

embYi=concat[embXi,ai-1]

那么在t時刻解碼器的輸出即為

Si為解碼器輸出經過全連接層后的輸出

Si=FFN(di)

根據t時刻和t-1時刻解碼器已經得到的摘要字符的向量,以及最新的注意力分布,利用輸入供給可以計算出生成概率Pgens

Pgens=sigmod[Si-1,Si,ai]Pv ocab=softmax([Si,ai])

最終單詞的概率分布為

Pgens可以看作是一個開關,控制是從輸入隊列復制詞還是生成新詞,如果是OOV單詞,Pv ocab=0,只能通過復制得到,并保留右側部分;如果沒有出現在輸入文本中時,單詞只能通過模型生成,并保留左側部分。復制網絡的引用能夠在很大程度上減輕OOV問題[8],防止摘要對原文的描述出現細節偏差問題。

在時刻t,目標單詞在此時刻被解碼,那t時刻的損失函數就是該單詞對應的概率分布的對數值的負數,在損失函數前面添加一個以e為底的對數

在訓練過程中對語料進行自動摘要訓練時,并不是只需要對每一時刻計算損失函數值,還需要計算整體損失函數值的反向傳播,以更新模型。設當前解碼總時長為T,則對應輸入序列的總體損失函數值為

3 實驗結果與分析

3.1 實驗結果

實驗使用的訓練數據集為LCSTS,其特性見表1。LCSTS分為訓練集、測試集、驗證集3部分,訓練集包含2 400 591組數據(包含短文本和摘要),驗證集10 666組數據,是人為標記的,包含有不同的分數,從1到5。得分越高表示摘要與原文越相關,摘要更簡潔,包含信息較多;得分較低的摘要中,許多單詞比較抽象,有的單詞沒有在原文中出現。測試集包含1106組數據,不具有很高的抽象性,比較適合作為生成任務的測試集。不同的分數代表任務的困難程度。

圖4是從測試集中隨機選取的不同分數測試用例,用來觀測模型在不同困難程度的摘要效果。

實驗時,設置字典大小為10 396,通過預處理將每篇正文和原摘要放在同一行中,利用jieba對數據集進行分詞處理,對照詞典,生成句子的有向無環圖(DAG),找到最短路徑后,直接對原句進行截取,如果某個字在字典中出現的概率為零,則使用UNK標記代替。對OOV詞,使用隱馬爾可夫模型進行新詞發現,得到分詞后,再使用gensim進行字向量訓練,訓練得到的結果再作為編碼器端的輸入。

表1 LCSTS數據集數據統計

圖4 不同分數的測試案例

模型的訓練環境Tensorflow,使用基于RTX 2080s的機器進行訓練測試。

訓練參數設置如下:編碼器和解碼器部分由6層相同的編碼器組成,它們之間并不共享參數,編碼器解碼器的內部隱藏層都包括512個節點單元,前饋神經網絡層節點單元數量是2048。一次訓練所使用的樣本數batch_size=32。學習率(learning rate)初始設置為0.0005,利用學習率動態衰減公式,初期學習率增加,步長較長,梯度下降較快;訓練預熱步數到達設定值后,逐步減小學習率,有利于快速收斂,容易得到接近最優的解,Warmup_steps為4000。學習率的變化為

最大輸入長度為150,超過后進行截斷,輸出序列最大長度為25。訓練輪數為32。搜索解碼時采用集束搜索,按順序生成摘要內容,每生成一個詞匯時,需要對結果進行排序,保留與集束寬度相同數量的詞匯,通過剪枝操作來提升解碼速度。解碼時設置寬度為beam_size=4。

3.2 實驗結果分析

由Lin等提出的Rouge(recall-oriented understudy for gisting evaluation)標準被廣泛應用于文本自動摘要的評價中。Rouge的基本思想為將系統生成的自動摘要與人工生成的摘要對比,通過統計兩者之間重疊的n元詞的數目,來評價生成摘要質量。評價時,一般采用Rouge-1、Rouge-2和Rouge-L作為標準,即計算一元詞和兩元詞以及最長公共子序列的重疊程度。

本文提出的模型在訓練集上得到Rouge評價結果見表2,表2還給出了其它模型的Rouge結果。

表2 模型Rouge結果

第1個模型是傳統的序列到序列模型,由Hu等[4]在LCSTS的基礎上提出,沒有引入注意力機制,編碼器使用循環神經網絡對文本進行建模,可以得知最后一個詞的狀態包含句子所有信息,將此狀態傳遞到解碼器中。

第2個模型在第一個模型的基礎上引入了上下文,將RNN編碼器的內部隱藏狀態組合起來以概括地表示單詞的上下文[4],其余同第一個模型。

第3個模型結構將復制機制[8]與序列到序列模型結合,復制機制可以很好地將解碼器中常規的單詞生成方式與新的復制機制集成在一起,該機制可以選擇輸入序列中的子序列,并將它們放置在輸出序列中的適當位置。

第4個模型將提出了一種新的摘要框架,該模型是配備深度遞歸生成解碼器的序列到序列模型[9],基于遞歸學習目標摘要中隱含的結構信息以提高摘要質量。

第5個模型為指針生成式網絡[10],采用了基于注意力機制的序列到序列模型[8],引入了指針網絡的復制機制指導生成過程,同時引入覆蓋率向量。

第6個模型提出了一種基于雙注意指針網絡(DAPT)的編解碼器模型[16],自注意力機制從編碼器收集關鍵信息,軟注意力和指針網絡生成更一致的核心內容。

第7個模型是本文提出的模型,采用基于自注意力的transformer機制,組合了指針生成網絡,引入了復制機制和輸入供給(input-feeding)方法。

從表2可以看出,本文提出的模型Rouge評價結果,相比其它模型有較大的提升,Rouge-1、Rouge-2、Rouge-L均高于其它模型。

本文提出的模型沒有采用傳統的循環神經網絡和生成式對抗網絡,而是使用了自注意力機制,可以并行訓練;經過較少步驟后,損失函數值能夠達到穩定狀態,減少了訓練所需時間,同時也提升了摘要的準確性。圖5為指針式生成網絡[10]的損失函數值變化曲線,可以看到,經過較多訓練步驟后,損失函數值才下降到較低的范圍,所需訓練時間較長。圖6本文提出模型的損失函數值曲線,可見其下降速度很快,到達穩定值后曲線十分平穩。

圖5 指針式生成網絡損失值變化曲線

圖6 本文模型的損失值變化曲線

4 結束語

本文在序列到序列模型的框架下,提出了一種將指針生成式網絡與自注意力機制相結合的模型,通過復制機制防止了UNK標記的出現,解決了OOV問題。與循環神經網絡或生成式對抗網絡相比,自注意力模型能夠并行訓練,消除了卷積,加速了訓練過程,損失函數值能夠較快下降并達到穩定。同時,采用輸入供給方法也能追蹤過去時刻的注意力信息,提升注意力機制作出決定的準確率。所提出的模型的Rouge評分相對原模型有一定的提升。但有時會概括一些不太重要的信息,并且沒有使用覆蓋率機制,摘要會出現重復詞語,下一步研究工作將考慮添加覆蓋率機制來提升在長文本摘要上的性能,減少重復短語的出現,以及將模型部署到實際應用中,實現從理論到實際應用的轉變。

猜你喜歡
機制模型
一半模型
構建“不敢腐、不能腐、不想腐”機制的思考
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
定向培養 還需完善安置機制
中國衛生(2016年9期)2016-11-12 13:28:08
3D打印中的模型分割與打包
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
主站蜘蛛池模板: 幺女国产一级毛片| av一区二区三区在线观看| 啪啪永久免费av| 午夜精品区| 亚洲午夜久久久精品电影院| 波多野结衣久久高清免费| 亚洲精选无码久久久| 五月婷婷激情四射| 国产成人无码Av在线播放无广告| 最新精品久久精品| 国模沟沟一区二区三区| 国产区精品高清在线观看| 凹凸精品免费精品视频| 亚洲天堂视频在线免费观看| 国产精品吹潮在线观看中文| 国产精品思思热在线| 精品久久蜜桃| 日韩在线第三页| 国产精品自在在线午夜区app| 国产视频大全| 一本无码在线观看| 国产免费福利网站| 午夜限制老子影院888| 久久永久免费人妻精品| 一级高清毛片免费a级高清毛片| 国产黑丝一区| 国产性爱网站| 欧美成人日韩| 国产一级毛片高清完整视频版| 亚洲人视频在线观看| 99re热精品视频中文字幕不卡| 欧美一级大片在线观看| 亚洲精品国产精品乱码不卞| 成人一级黄色毛片| 国产极品嫩模在线观看91| 国产玖玖玖精品视频| 波多野结衣在线se| 亚洲an第二区国产精品| 日本在线亚洲| 美女被操黄色视频网站| 亚洲国产成人自拍| 成人韩免费网站| 亚洲成人一区在线| 国产成人资源| 99热免费在线| 国产精品亚洲五月天高清| 国产精品久线在线观看| 3D动漫精品啪啪一区二区下载| 99久久精品国产自免费| 91无码人妻精品一区二区蜜桃| 亚洲婷婷丁香| 久久精品66| 最近最新中文字幕在线第一页| 91口爆吞精国产对白第三集| 日韩精品成人在线| 色妺妺在线视频喷水| h视频在线观看网站| 国产在线观看一区精品| 一级毛片高清| 伊人91在线| www.91在线播放| 久久青草免费91线频观看不卡| 国产视频自拍一区| 色综合久久久久8天国| 国产自视频| 蜜臀AV在线播放| 视频一区亚洲| 成人午夜精品一级毛片| 丝袜国产一区| 午夜国产在线观看| 国产内射在线观看| 亚洲首页国产精品丝袜| 国产无码高清视频不卡| 真实国产乱子伦高清| 亚洲天堂视频网站| a级毛片视频免费观看| 无码专区第一页| 免费看av在线网站网址| 成人午夜视频免费看欧美| 国产本道久久一区二区三区| 亚洲免费黄色网| 亚洲天堂精品视频|