孫 巖, 李 晶
(佳木斯大學(xué)信息電子技術(shù)學(xué)院,黑龍江 佳木斯 154007)
近年來,隨著深度學(xué)習(xí)模型的發(fā)展以及在自然語言處理領(lǐng)域中的廣泛應(yīng)用,自動(dòng)文本摘要技術(shù)受到了廣泛的關(guān)注[1]。文本摘要技術(shù)主要分為兩種類型:抽取式和生成式[2],抽取式摘要是通過給文檔中的句子按照重要性打分,然后從文檔中選取得分高的句子組成摘要,生成式摘要是通過對(duì)文檔內(nèi)容進(jìn)行理解來概括出主要內(nèi)容[3]。由于生成式摘要與人類撰寫的摘要更為相似,越來愈多的學(xué)者正把注意力從抽取式摘要轉(zhuǎn)移到生成式摘要上。
在摘要生成任務(wù)中,其中序列到序列模型是被應(yīng)用最廣泛的模型,并取得了較好的成果。該模型首次是被Bahdanau等[4]提出并應(yīng)用于機(jī)器翻譯。Nallapati等[5]將序列到序列模型應(yīng)用于文本摘要任務(wù)中,在解碼器階段采用分層注意力機(jī)制和詞表限制解決了在訓(xùn)練過程中出現(xiàn)罕見或不可見的單詞的問題。See等[6]在Nallapati工作的基礎(chǔ)上引入了指針網(wǎng)絡(luò),可以選擇是從原文復(fù)制單詞或者從詞匯表中生成單詞,解決了OOV(Out-Of-Vocabulary)詞匯問題。
指針生成網(wǎng)絡(luò)雖然提高了摘要的準(zhǔn)確性和OOV單詞的處理能力[7]。但是它不能完全利用好原文的信息,會(huì)受到許多無用信息的影響,導(dǎo)致復(fù)制概率不夠準(zhǔn)確,最終生成的摘要不夠連貫且不能包含原文全部信息。本文提出一種信息過濾-指針生成網(wǎng)絡(luò)(Information Filtering-Pointer Generation Network,IF-PGN)模型,以對(duì)輸入文本信息進(jìn)行篩選來避免冗余信息干擾問題,同時(shí)讓指針網(wǎng)絡(luò)的復(fù)制概率更加準(zhǔn)確。
本文在序列到序列模型的基礎(chǔ)上提出了一種包含信息過濾網(wǎng)絡(luò)的指針生成模型,該模型包括一個(gè)編碼器一個(gè)信息過濾網(wǎng)絡(luò),一個(gè)帶有注意力的解碼器和一個(gè)指針生成網(wǎng)絡(luò),編碼器使用雙向門控單元來對(duì)文本進(jìn)行編碼,然后編碼生成的向量由信息過濾單元進(jìn)行過濾,同時(shí)使用注意力機(jī)制更好的獲取文本的向量表示;解碼器使用單向的GRU(Gated Recurrent Unit)逐詞的生成摘要,同時(shí)在其上加入指針生成網(wǎng)絡(luò)來提高摘要生成的質(zhì)量,減少重復(fù)。詳細(xì)架構(gòu)如圖1所示。
對(duì)于輸入長度為n的文本,X=(x1,x2,…,xi,…,xn)作為編碼器的輸入,將源文本輸入雙向GRU中得到詞的隱藏向量表示hi。
(1)
圖1 IF-PGN模型圖
文本摘要是一項(xiàng)特殊的自然語言生成任務(wù),需要進(jìn)行信息壓縮。同時(shí)輸入序列的許多詞對(duì)生成摘要沒有幫助,它需要去除源文本中不必要的信息,為了解決這個(gè)問題,本文在編碼器解碼器模型的基礎(chǔ)上進(jìn)行了擴(kuò)展,在編碼器之上添加一個(gè)信息過濾層,在摘要解碼器生成摘要之前對(duì)源文本過濾。使用輸入序列某個(gè)詞的表示hi和句子表示s來計(jì)算出詞的新向量表示hi′,如式(2)(3):
gi=σ(Wg[hi,s]+b)
(2)
hi=gi⊙hi′
(3)
其中Wg是權(quán)重矩陣,b表示偏移向量,gi是過濾網(wǎng)絡(luò)閾值,gi的值越大表示詞越關(guān)鍵,通過gi可以控制流向解碼器的信息量。
在文本編碼層和信息過濾層上使用單向GRU作為解碼器用來逐詞的生成摘要。GRU通過上下文向量ct,前一步的解碼器隱藏狀態(tài)st-1,前一步生成的詞向量表示yt-1來生成當(dāng)前步t的隱藏狀態(tài)。
st=GRU(st-1,yt-1,ct)
(4)
上下文向量是通過注意力機(jī)制進(jìn)行計(jì)算,將當(dāng)前解碼器狀態(tài)st與每個(gè)編碼器隱藏狀態(tài)hi′進(jìn)行匹配,得到一個(gè)重要性評(píng)分。然后將重要性分?jǐn)?shù)標(biāo)準(zhǔn)化,通過加權(quán)和計(jì)算出當(dāng)前上下文向量ct。
et,i=vTtanh(Whhi′+Wsst)
(5)
(6)
(7)
然后根據(jù)當(dāng)前上下文向量ct和解碼器狀態(tài)st,在詞匯表上使用softmax層預(yù)測下一個(gè)單詞yt的概率。如式(8):
pvocab(yt)=softmax(Wv(Wc[st,ct]+bc)+bv)
(8)
其中Wv,Wc,bv,bc是可學(xué)習(xí)的參數(shù)。
為了解決摘要生成中OOV詞的問題,本模型在解碼端加入了指針生成網(wǎng)絡(luò),指針網(wǎng)絡(luò)的生成概率pgen如式(9):
(9)
pcopy(yt)=∑i:xi=wαt,i
(10)
p(yt)=pgenpvocab(yt)+(1-pgen)pcopy(yt)
(11)
本文使用在自動(dòng)文本摘要任務(wù)中廣泛使用的CNN/Ddily Mail[8]作為評(píng)測數(shù)據(jù)集。實(shí)驗(yàn)使用NVIDIA GeForce GTX1080Ti GPU進(jìn)行,深度學(xué)習(xí)框架使用PyTorch[9]。
本文使用的詞匯表大小為50000詞,單詞嵌入向量的維數(shù)是128,編碼器和解碼器的GRU隱藏單元維度256,解碼器使用集束搜索beam search算法,束大小為5,batch_size(批尺寸)大小為64,編碼器和解碼器的GRU層數(shù)都為兩層。
本文提出的模型生成的摘要如表1所示,所生成的摘要基本能包含原文重要信息且沒有重復(fù)。同時(shí)本文選擇以下模型與本文提出IF-PGN模型進(jìn)行對(duì)比,評(píng)價(jià)標(biāo)準(zhǔn)使用ROUGE的F1值作為評(píng)價(jià)指標(biāo)。
表1 生成摘要示例
words-1vt2k-temp-att[5]:用基本的seq2seq編解碼器體系結(jié)構(gòu)和注意機(jī)制來構(gòu)建這個(gè)模型,這是其他許多工作的先驅(qū)。
PGNet[6]:在編碼器解碼器模型上進(jìn)行了擴(kuò)展,在解碼端加入了指針網(wǎng)絡(luò)。
ConvS2S[10]:創(chuàng)造性地利用卷積神經(jīng)網(wǎng)絡(luò)建立編碼器解碼器模型,實(shí)現(xiàn)了許多任務(wù)的高性能,包括抽象摘要。
RL+ML[11]:一種具有內(nèi)注意力的神經(jīng)網(wǎng)絡(luò)模型,是一種新的抽象摘要訓(xùn)練方法。
表2 對(duì)比實(shí)驗(yàn)結(jié)果
Bottom-Up[12]:一個(gè)由自底向上內(nèi)容選擇器擴(kuò)展得來的序列到序列模型。
實(shí)驗(yàn)結(jié)果如表2所示,在CNN/Ddily Mail數(shù)據(jù)集上本文提出的IF-PGN模型較表現(xiàn)最好的Bottom-Up模型,RG-1,RG-2,RG-L指標(biāo)分別提升0.71,0.47和0.31。
本文討論了文本摘要過程中進(jìn)行信息過濾的重要性,對(duì)信息過濾網(wǎng)絡(luò)進(jìn)行建模并且引入指針生成網(wǎng)絡(luò),對(duì)指針網(wǎng)絡(luò)使用的注意分布進(jìn)行優(yōu)化,使指針網(wǎng)絡(luò)能夠更加準(zhǔn)確捕獲源文的重要信息。實(shí)驗(yàn)結(jié)果表明,本文提出的方法能夠有效的生成信息豐富,且更加簡潔的摘要。
佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版)2021年1期