蔣杰
摘要:隨著人工智能的迅速發(fā)展,傳統(tǒng)的文本摘要技術(shù)也從抽取式摘要向生成式摘要發(fā)展。當源文檔中存在著多個主題的內(nèi)容時,現(xiàn)有的大多數(shù)生成式文本摘要方法會盡全面地對多主題內(nèi)容進行概括和總結(jié),而對其中包含某個主題的內(nèi)容可能無法進行細致描述。針對這一問題,本文提出了一個面向主題信息的無監(jiān)督文本摘要生成方法。在給定目標主題信息的情況下,在解碼器中利用注意力機制將目標主題信息與文本本身的主題信息進行信息融合,從而使得包含了目標主題的文本得到較大的注意力權(quán)重,以此生成與目標主題相關(guān)的文本摘要。在大規(guī)模英文文本數(shù)據(jù)集Yelp上的實驗結(jié)果驗證了所提方法的有效性和先進性。
關(guān)鍵詞:自然語言處理;序列到序列模型;無監(jiān)督學習;生成式摘要;主題信息;注意力機制
中圖分類號:TP18? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)28-0127-04
開放科學(資源服務(wù))標識碼(OSID):
Topic-oriented Unsupervised Text Summarization Generation Method
JIANG Jie
(Guangdong University of Technology, Guangzhou 510006, China)
Abstract: With the rapid development of artificial intelligence, traditional text summarization techniques have also evolved from extractive summaries to generative summaries. When there are multiple topics in the source document, most of the existing generative text summaries will summarize and summarize the content of multiple topics in a comprehensive manner, and the content of a certain topic may not be able to be described in detail. In response to this problem, this paper proposes a topic-oriented unsupervised text summary generation method. Given the target topic information, in the decoder, the attention machanism is used to fuse the target topic information with the topic information of the text itself, so that the text which contains the target topic information gets a larger attention weight, so as to generate a text summary related to the target topic. The experimental results on the large-scale English text data set Yelp verify the effectiveness and advancement of the proposed method.
Key words: natural language processing( NLP );sequence-to-sequence( seq2seq ) model;unsupervised learning;abstractive summarization;topic information;attention mechanism
1 引言
隨著互聯(lián)網(wǎng)產(chǎn)生的文本數(shù)據(jù)越來越多,文本信息過載問題日益嚴重,對各類文本進行一個“降 維”處理顯得非常必要,文本摘要便是其中一個重要的手段。文本摘要技術(shù)是指通過各種技術(shù),對文本或者是文本集合,抽取、總結(jié)或是精煉其中的要點信息,用以概括和展示原始文本(集合)的主要內(nèi)容或者大意。
當前,文本摘要按照輸入類型可分為單文檔摘要和多文檔摘要。單文檔摘要是指從給定的一個文檔中生成摘要,多文檔摘要則是從給定的一組文檔中生成摘要。按照輸出類型可分為抽取式摘要和生成式摘要。抽取式摘要是指從源文檔中抽取關(guān)鍵句和關(guān)鍵詞組成摘要,摘要全部來源于原文,如使用Lead技術(shù)[1]來產(chǎn)生摘要。而生成式摘要則是根據(jù)原文的內(nèi)容,允許生成新的詞語、短語來組成摘要。生成式文本摘要主要依靠深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)實現(xiàn),來自GoogleBrain團隊就較早地提出的序列到序列[2](Sequence-to-Sequence,seq2eq)模型,開啟了自然語言處理(Natural Language Processing,NLP)中端到端網(wǎng)絡(luò)的火熱研究。
近幾年來,一些基于深度學習的主題文本生成方法也取得了一定的成果。Feng等人[3]通過給定主題詞集合,利用長短期記憶(Long Short-Term Memory)[4]網(wǎng)絡(luò)進行訓練,從而產(chǎn)生一段包含這些主題詞的文本,與常規(guī)的自然語言生成方法[5-6]相比,在主題相關(guān)性和主題完整性上得到了一定的提高。來自Adobe的Krishna等人[7]則是構(gòu)造一個包含多個主題的文本數(shù)據(jù)集,針對同一文本,輸入不同的主題信息,從而生成相應(yīng)主題的文本摘要。也有學者通過對數(shù)據(jù)文本進行一些預處理,如使用TextRank技術(shù)[8],選出若干與當前文本相關(guān)的主題詞,將主題詞與文本作為輸入,利用注意力機制將主題詞與輸入文本進行信息融合,從而產(chǎn)生一段與這些主題詞內(nèi)容相關(guān)的文本。
雖然以上這些模型的主題信息的表示形式各有不同,且主題信息的使用方法也有所差異,但主題信息使用的意義就是為了使模型能夠生成與主題信息相關(guān)的文本摘要。鑒于此,本文提出一個面向主題的無監(jiān)督文本摘要生成方法。先給定目標主題,然后在解碼器中利用注意力機制將目標主題信息與文本主題信息進行融合,因此不同主題的文本得到不同的注意力權(quán)重,擁有目標主題的文本則得到較大的注意力權(quán)重,從而生成與目標主題相關(guān)的文本摘要。
2? 面向主題的文本摘要生成模型
在自然語言處理中,大多數(shù)的生成式文本摘要模型都是基于seq2seq模型的,seq2seq本質(zhì)上是一個編碼器-解碼器模型。在seq2seq模型中,普遍使用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[9]作為模型的編碼器和解碼器。編碼器RNN通過將長度為m的序列x={x1 , x2 ,··· , xm}編碼,得到中間序列H={h1 , h2 , ··· , hm},解碼器RNN將中間序列h進行解碼,得到生成結(jié)果y={y1 , y2 , ··· , yn}。
為了規(guī)避標準RNN無法長距離記憶的問題,一般會使用RNN的兩種改進的網(wǎng)絡(luò)結(jié)構(gòu),LSTM網(wǎng)絡(luò)和GRU[10],本研究提出的模型在編碼和解碼的階段都采用了LSTM網(wǎng)絡(luò)。本研究提出的模型如圖1所示,主要包含了兩個部分,第一個部分是一個Auto Encoder[11]模塊,Auto Encoder也叫做自編碼器,Auto Encoder包含兩個過程:encode和decode。給定k條評論文本作為輸入x={x1 , x2 , ··· , xk},在編碼過程中,通過編碼器g將輸入樣本映射到特征空間z,z= g(x)。z=[h,c],h和c分別是編碼器中的LSTM在對輸入文本x中的每個token處理后輸出的hidden state和cell state的最后一層。在解碼過程中,通過解碼器f將特征空間z映射回原始空間得到重構(gòu)樣本x'={x1', x2',··· , xk'},p(x'|z)= f(z)。優(yōu)化目標則是通過最小化重構(gòu)誤差來同時優(yōu)化encoder和decoder,從而學習得到針對文本輸入x的抽象特征表示z。在本模型中,使用的是標準的交叉熵誤差作為重構(gòu)誤差。
[?rec({x1,x2...,xk},g,f)? =j=1k?cross_entropy(xj,f(g(xj)))]? ? ? (1)
第二部分則是引入注意力機制的摘要模塊。在摘要模塊中,將特征空間z引入到注意力機制中,結(jié)合當前系統(tǒng)主題與源文檔主題得到的主題相似度,得到最終注意力權(quán)重α。再將z與α結(jié)合,由此得到新的上下文信息C,最終將C輸入到解碼器f中,得到摘要y。將產(chǎn)生的摘要y輸入到編碼器g中,得到z',z'= g(y),z'=[h',c']。在本模塊中,優(yōu)化目標是最小化z和z'中h的誤差,計算z和z'中h的誤差則是使用余弦距離來進行計算。
[C=j=1khjαj]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)
[y~fC]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)
[?sim({x1,x2,…,xk},g,f)=j=1kαjdcos (hj,h')]? ? ? ? ? ? ? (4)
本文模型的整體架構(gòu)如圖1所示。其中AutoEncoder模塊和摘要模塊中的編碼器encoder是參數(shù)共享的,解碼器decoder也是參數(shù)共享的。在本模型中,總的損失函數(shù)[?model =?rec+?sim]。
3 面向主題的文本摘要生成模型的構(gòu)建
3.1 主題標記及向量表示
在數(shù)據(jù)預處理過程中,人工對實驗數(shù)據(jù)集中的文本信息進行主題標記,按照服務(wù)、環(huán)境、價格三個主題給文本進行標記,并以一個三維向量進行表示v={v1,v2,v3},若文本中包含了某個主題,則對應(yīng)位置的值為1,否則為0。此外模型會隨機生成目標主題V={V1,V2,V3},以一個one-hot[12]形式表示,分別對應(yīng)服務(wù)、環(huán)境、價格這三個主題,其中的有效位代表模型需要生成與有效位所對應(yīng)的主題相關(guān)的摘要。
3.2 編碼器
編碼器encoder采用的是單層單向的LSTM網(wǎng)絡(luò)來對輸入文本進行編碼,從而將輸入文本映射到特征空間。LSTM的定義如下:
[it=σ(Wi[ht-1,xt])]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (5)
[ut=σ(Wu[ht-1,xt])]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (6)
[c~t=tanh(Wc[ht-1,xt])]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (7)
[ot=σ(Wo[ht-1,xt])]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(8)
其中Wi、Wu、Wc、Wo是權(quán)重矩陣。
[ct=ut*ct-1+it*c~t]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(9)
[ht=ot*tanh(ct)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(10)
其中h為短記憶,c為長記憶。
在編碼器中,LSTM網(wǎng)絡(luò)首先將初始狀態(tài)h0,c0設(shè)置為零向量。然后將輸入文本的詞嵌入向量從左至右的讀入,最終得到一個特征向量z,z=[h,c]。
3.3 解碼器
本文使用由注意力機制所計算出的注意力并結(jié)合LSTM網(wǎng)絡(luò)共同解碼并生成摘要。解碼過程可分為兩個部分,第一個部分是利用注意力機制對z中的h進行注意力觀察,并結(jié)合模型主題與輸入文本之間的主題相似度,從而有針對性地生成一組對應(yīng)的注意力權(quán)重α,將生成的注意力權(quán)重α與h結(jié)合,從而產(chǎn)生一個新的上下文信息C。第二個部分則是在每個解碼時間步t時刻,LSTM網(wǎng)絡(luò)結(jié)合前一個詞向量wt-1、上一個時間步的解碼狀態(tài)[hdt-1]以及[cdt-1]計算新的解碼狀態(tài)hd t和cd t,并產(chǎn)生yt。具體實現(xiàn)過程如下:
[βi=1,Vi?vi-1, Vi?vi]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (11)
其中V為系統(tǒng)隨機產(chǎn)生的one-hot向量,為目標主題。v = {v1,v2,...,vk},為輸入文本所體現(xiàn)的主題向量。β = {β1,β1,...,βk}為模型主題與輸入文本之間的主題相似度。
構(gòu)成上下文信息C的注意力權(quán)重α的計算結(jié)果如下:
[αi=exp(η(hi,wd)βi)i=1kexp(η(hi,wd)βi)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(12)
[C=i=1kαihi]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (13)
[hdt=C? ? ? ? ? ? ? ? ?(t=0)]? ? ? ? ? ? ? ? ? ? ? ? ? ?(14)
[cdt=i=1kαici? ? ? ? ?(t=0)]? ? ? ? ? ? ? ? ? ? ? ? ? ? (15)
得到新的上下文信息Ct后,結(jié)合前一個詞yt-1,以及上一個時間步的解碼狀態(tài)hd t-1以及cd t-1,從而獲得當前輸出狀態(tài)st,以及當前解碼狀態(tài)hd t和cd t。
[odt,hdt,cdt=LSTM(yt-1,hdt-1,cdt-1)]? ? ? ? ? ? ? ? ? ? ? ?(16)
[st=maxot,jj=1,2,...,T]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (17)
[p(yty1,y2,...,yt-1)=softmax(Wsst)]? ? ? ? ? ? ? ? ? ? ?(18)
4 實驗結(jié)果與分析
4.1 實驗數(shù)據(jù)集
本文實驗所使用的數(shù)據(jù)集為YELP數(shù)據(jù)集[13],該數(shù)據(jù)集包含兩個部分。
1) 第一個部分是Businesses。它包含了YELP數(shù)據(jù)集中的商戶信息。
2) 第二個部分是Reviews。它包含了YELP數(shù)據(jù)集中顧客對Businesses中商戶的評論信息,主要包含了文本評論和情感打分(1~5分)。
3) 本文實驗先對Businesses中商戶類型進行了篩選,要求商戶類別中必須包含Restaurants標簽,再對通過篩選后的商戶所對應(yīng)的Reviews中的評論信息進行篩選,首先將評論信息中商戶出現(xiàn)頻次超過90%的商戶排除在外,這樣做的目的是為了避免數(shù)據(jù)集中出現(xiàn)某個商戶的評論信息過多,從而導致數(shù)據(jù)不均衡。并要求每個商戶所對應(yīng)的評論信息的條數(shù)大于等于50條,且每條評論信息中的文本評論長度小于等于150個單詞。
最終訓練集、驗證集、測試集分別對應(yīng)有27560、3327、3321條文本評論信息,其中與“服務(wù)”主題有關(guān)的文本評論有15002條,與“環(huán)境”主題有關(guān)的文本評論有9234條,與“價格”主題有關(guān)的文本評論有7785條。
4.2 評價標準
由于本文實驗所使用的數(shù)據(jù)集為YELP數(shù)據(jù)集,且該數(shù)據(jù)集無Ground truth,所以采用以下三個指標作為評價標準。
1) Word Overlap Score
在文本摘要領(lǐng)域中,對于摘要常用的評價工具為ROUGE[13],其通過計算標準摘要和實驗結(jié)果所生成的摘要計算重疊的詞匯來衡量摘要生成的質(zhì)量。由于本數(shù)據(jù)集無標準摘要,所以使用輸入文本x中每條文本與摘要計算一次ROUGE score,并將ROUGE score加權(quán)求和來表示摘要與輸入文本的詞重疊比例。在本實驗中,計算ROUGE score使用ROUGE-1。
[WO=1Ni=1N[j=1kα(i)jROUGE(y(i),x(i)j)]]? ? ? ? ? ? ? ? ? ? ? ?(19)
其中N為一次訓練中的數(shù)據(jù)塊的個數(shù),x(i)j為第i個數(shù)據(jù)塊中第j條輸入文本,y(i)為第i個數(shù)據(jù)塊所生成的文本摘要,α(i)j為解碼器在第i個數(shù)據(jù)塊中注意力機制所計算出的第j個注意力權(quán)重。
2) Sentiment accuracy
一條有用的摘要不僅要在內(nèi)容上體現(xiàn)主題相關(guān)性,還要在情感上保持著一致性。由于一條評論信息中可能包含多個主題,所以當出現(xiàn)多主題這種情況時,可以認為評論信息的評分是顧客折中后給出的評分,即可以使用該評分來代表評論信息中關(guān)于某個主題的情感分數(shù)。
[1N[i=1N(CLF(y(i))=round(j=1kα(i)jr(x(i)j)))]]? ? ? ? ? ? ? ? (20)
其中CLF為評分器,[r(x(i)j)]為第i個數(shù)據(jù)塊中第j條輸入文本的評分。
3) Negative Log-Likelihood(NLL)
為了評價實驗所生成的文本摘要是否流暢通順,所以根據(jù)本實驗模型預訓練了一個語言模型,由訓練好的語言模型來計算文本摘要的負對數(shù)似然的值來對文本進行評判。
4.3 實驗設(shè)置
在本實驗的數(shù)據(jù)預處理過程中,使用了一個開源的單詞分詞器[14]對文本進行分詞,再使用subword[15]模型,最終生成一個包含了32000個單詞的詞典。在實驗中使用subword模型不僅可以減小詞表的大小,而且還可以解決seq2seq模型中經(jīng)常出現(xiàn)的稀有詞問題(UNK問題)。
本實驗使用的語言是Pytorch,在本實驗中語言模型,編碼器,解碼器均使用了512維的LSTM,256維度的詞向量。本實驗采用了Adam[16]模型優(yōu)化器,β1=0.9,β2=0.99。對于語言模型,學習率設(shè)定為0.001,對于面向主題的文本摘要生成模型,學習率設(shè)定為0.0005,對于評分器,學習率設(shè)定為0.0001。在對語言模型和面向主題的文本摘要生成模型的訓練中,擬定每次輸入模型的文本數(shù)k=30,在對評分器的訓練中,擬定每次輸入模型的文本數(shù)為1。
語言模型的創(chuàng)建是為了評判摘要是否流暢通順,其本質(zhì)是一個LSTM網(wǎng)絡(luò)。擬定模型的輸入項為30條文本評論以及它們的結(jié)束定界符的組合,初始狀態(tài)h0和c0都為零向量。評分器是類似于RUSH[17]等人提到的多通道文本卷積神經(jīng)網(wǎng)絡(luò),它具有3、4、5三個不同寬度的過濾器,每個過濾器具有128個特征圖以及0.5的淘汰率。
4.4 對比方法
本文選取了三個基準模型和本文提出的模型進行比較。
Opinosis[18]是一個基于圖結(jié)構(gòu)的摘要算法,旨在利用高度冗余的文本信息生成簡短的文本摘要,雖然該算法是生成式摘要算法,但是它只能通過從輸入文本中選取單詞,從而組成摘要。
VAE[19]是一個變分自編碼器,通過平均從輸入文本采樣到的隱變量Z,從而生成一條文本摘要。
MeanSum[20]是一個基于序列到序列的無監(jiān)督的文本摘要模型。該模型通過將特征向量z平均后送入到解碼器中,從而產(chǎn)生一條文本摘要。
4.5 實驗結(jié)果分析
由表1結(jié)果可見:
1)Opinosis在詞重疊和情感準確度這兩方面較其他三個方法還是略有不足,說明在生成式文本摘要這一任務(wù)中,采用深度學習的方法更加有效。
2)本文方法相較MeanSum而言,不僅引入了主題向量表示的概念及使用,而且還在解碼端使用了注意力機制,不僅彌補了MeanSum在多文檔摘要生成任務(wù)中的情感準確度較低的問題,而且在內(nèi)容上,也更能體現(xiàn)主題相關(guān)性。
3)本文方法及其對照方法實際生成的文本摘要實例如表2所示。Opinosis通過抽取文本中的單詞來生成文本摘要,VAE則更偏向于利用文本中大量的冗余信息來生成文本摘要,MeanSum通過平均輸入文本信息生成文本摘要,但以上三種方法都不能合理利用文本信息中的主題信息,本文方法通過注意力機制使得擁有目標主題的文本擁有更大的注意力權(quán)重,以此引導解碼器生成與目標主題內(nèi)容相關(guān)的文本摘要。
5 結(jié)論
本文提出了一個面向主題的文本摘要生成算法,該算法不僅引入了主題信息的向量表示及其應(yīng)用,還將對輸出向量的注意力與主題向量進行了信息融合。在YELP數(shù)據(jù)集上實驗所得到的實驗結(jié)果證實表明,該算法生成的文本摘要在內(nèi)容上可以更好地體現(xiàn)主題,且更能準確地反映輸入文本中關(guān)于主題的情感。而且在未來還有很多等待發(fā)掘的工作,例如將本算法應(yīng)用在中文的文本摘要生成上,或者是嘗試挖掘更深層次的主題信息的運用方法。
參考文獻:
[1] Rossiello G,Basile P,Semeraro G.Centroid-based text summarization through compositionality of word embeddings[C]//Proceedings of the MultiLing 2017 Workshop on Summarization and Summary Evaluation Across Source Types and Genres.Valencia,Spain.Stroudsburg,PA,USA:Association for Computational Linguistics,2017:12-21.
[2] 馮讀娟,楊璐,嚴建峰.基于雙編碼器結(jié)構(gòu)的文本自動摘要研究[J].計算機工程,2020,46(6):60-64.
[3] Feng X, Liu M, Liu J, et al. Topic-to-Essay Generation with Neural Networks[C]//IJCAI. 2018: 4078-4084.
[4] Hochreiter S,Schmidhuber J.Long short-term memory[J].Neural Computation,1997,9(8):1735-1780.
[5] Guu K,Hashimoto T B,Oren Y,et al.Generating sentences by editing prototypes[J].Transactions of the Association for Computational Linguistics,2018,6:437-450.
[6] Liu L Q,Lu Y,Yang M,et al.Generative adversarial network for abstractive text summarization[EB/OL].2017
[7] Krishna K,Srinivasan B V.Generating topic-oriented summaries using neural attention[C]//Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics:Human Language Technologies,Volume 1 (Long Papers).New Orleans,Louisiana.Stroudsburg,PA,USA:Association for Computational Linguistics,2018:1697-1705.
[8] Mihalcea R , Tarau P . TextRank: Bringing Order into Texts[C]//Proc Conference on Empirical Methods in Natural Language Processing,2004.
[9] Graves A.Generating sequences with recurrent neural networks[EB/OL].2013
[10] Fu R,Zhang Z,Li L.Using LSTM and GRU neural network methods for traffic flow prediction[C]//2016 31st Youth Academic Annual Conference of Chinese Association of Automation (YAC).November 11-13,2016,Wuhan,China.IEEE,2016:324-328.
[11] Hinton G E,Krizhevsky A,Wang S D.Transforming auto-encoders[M]//Lecture Notes in Computer Science.Berlin,Heidelberg:Springer Berlin Heidelberg,2011:44-51.
(下轉(zhuǎn)第148頁)
(上接第130頁)
[12] Lin C Y,Hovy E.Automatic evaluation of summaries using N-gram co-occurrence statistics[C]//Proceedings of the 2003 Conference of the North American Chapter of the Association for Computational Linguistics on Human Language Technology - NAACL '03.May 27-June 1,2003.Edmonton,Canada.Morristown,NJ,USA:Association for Computational Linguistics,2003:150-157.
[13] Asghar N. Yelp dataset challenge: Review rating prediction[J]. arXiv preprint arXiv:1605.05362, 2016.
[14] Wu Y H,Schuster M,Chen Z F.et al.Google's neural machine translation system:bridging the gap between human and machine translation[EB/OL].2016
[15] Radev D R,Jing H Y,Sty? M,et al.Centroid-based summarization of multiple documents[J].Information Processing & Management,2004,40(6):919-938.
[16] Han Z D.Dyna:a method of momentum for stochastic optimization[EB/OL].2018:arXiv:1805.04933[cs.LG].https://arxiv.org/abs/1805.04933.
[17] Rush A M,Chopra S,Weston J.A neural attention model for abstractive sentence summarization[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing.Lisbon,Portugal.Stroudsburg,PA,USA:Association for Computational Linguistics,2015.
[18] Ganesan K, Zhai C X, Han J. Opinosis: A graph based approach to abstractive summarization of highly redundant opinions[J]. 2010.
[19] Bowman S R,Vilnis L,Vinyals O,et al.Generating sentences from a continuous space[C]//Proceedings of The 20th SIGNLL Conference on Computational Natural Language Learning.Berlin,Germany.Stroudsburg,PA,USA:Association for Computational Linguistics,2016.
[20] Chu E,Liu P J.MeanSum:a neural model for unsupervised multi-document abstractive summarization[EB/OL].2018:arXiv:1810.05739[cs.CL].https://arxiv.org/abs/1810.05739.
【通聯(lián)編輯:唐一東】