趙懷鵬,車萬翔,劉 挺
(哈爾濱工業(yè)大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,哈爾濱150001)
隨著互聯(lián)網(wǎng)的迅猛發(fā)展,信息量正以指數(shù)級別在積累和增長。而摘要則能以精煉的文字幫助人們在海量數(shù)據(jù)中快速獲取自己需要的信息。但鑒于目前信息量潮涌般的生成態(tài)勢,故而亟需研發(fā)一套自動摘要系統(tǒng)來為文本自動總結(jié)重要信息,從而快速獲取想要的信息。
摘要算法大致可以分為2個類別:抽取式摘要和生成式摘要。近年來隨著深度學(xué)習(xí)的日趨成熟,尤其是隨著 sequence to sequence[1]的提出,生成式摘要方面涌現(xiàn)出數(shù)目可觀的研究成果。而抽取式摘要卻因其簡單,低成本,能夠生成邏輯連貫的摘要等優(yōu)勢,仍然具有重要的研究價值。本課題的目的即旨在設(shè)計構(gòu)造一套抽取式摘要系統(tǒng)。
研究可知,傳統(tǒng)的方法大多是利用無監(jiān)督學(xué)習(xí)來得到文本的摘要。代表性的研究有:向量空間模型(the vector-space methods)[2-3]、基于圖的模型(the graph-based methods)[4-5]、組合優(yōu)化方法(the combinatorial optimization methods)[6-7]。 這些方法依賴大量手工設(shè)計的特征來建模句子或篇章,例如位置信息,TF-IDF等。
近些年,神經(jīng)網(wǎng)絡(luò)吸引了學(xué)界的高度關(guān)注,而Hinton等人[8]發(fā)表了優(yōu)化深層網(wǎng)絡(luò)的方法后,隨卻就陸續(xù)見到了許多基于神經(jīng)網(wǎng)絡(luò)的抽取式摘要工作。這些工作均是將抽取式摘要任務(wù)看作序列標(biāo)注任務(wù)。分類的類別有兩類:0代表不是摘要,1代表是摘要。具體來說,Cheng等人[9]提出了基于sequence to sequence框架來進(jìn)行句子分類。Singh等人[10]對篇章表示層進(jìn)行了優(yōu)化。同時,基于分類的方法也呈現(xiàn)出一定的弊端與缺陷。Nallapati等人[11]就提出了基于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks)的分類模型。首先,在訓(xùn)練過程中,將該任務(wù)當(dāng)成序列標(biāo)注來建模,但在測試的時候是根據(jù)分類概率大小來選擇最優(yōu)的幾個句子。這就導(dǎo)致了訓(xùn)練和測試存在不一致性的問題。其次,標(biāo)注為1的句子間也不能區(qū)分各自的重要程度。綜合前文分析可知,本文則有針對性地研發(fā)提出了基于神經(jīng)網(wǎng)絡(luò)的回歸模型來解決上述問題。
最近幾年展開了基于序列標(biāo)注的神經(jīng)網(wǎng)絡(luò)來建模抽取式摘要的研究。這種利用交叉熵來優(yōu)化與標(biāo)準(zhǔn)答案的最大似然方式并沒有在訓(xùn)練過程中考慮排序句子。摘要任務(wù)的本質(zhì)是對句子進(jìn)行排序,然后選擇排序靠前的幾個句子?;诜诸惖哪P驮谟?xùn)練目標(biāo)中卻忽略了這一點(diǎn)。而且,摘要的分類數(shù)據(jù)集常常是利用人工摘要通過一定規(guī)則得到句子的分類標(biāo)簽。這樣就會導(dǎo)致正例的個數(shù)過多,模型容易過擬合,而且僅是利用模型也無法區(qū)分相同標(biāo)簽的不同句子間的重要程度。
給定一篇文章D,其中包含句子序列{x1,x2,…,xn}。 抽取式摘要系統(tǒng)的目的就是要從D中選擇m個句子組成摘要S(其中m<n)。對于每個句子si∈D,研究對其預(yù)測一個分?jǐn)?shù)scorei。在訓(xùn)練時通過回歸損失函數(shù)來優(yōu)化網(wǎng)絡(luò)。在測試時,對于每個句子si都會預(yù)測一個分?jǐn)?shù),即:
此后,將選出scorei最大的m個句子作為摘要。
基于回歸的抽取式摘要模型的過程結(jié)構(gòu)設(shè)計如圖1所示?;诨貧w的抽取式摘要模型一般通過一定的規(guī)則來給每個句子打分。例如Ren等人[12]就利用當(dāng)前句子與人工摘要的ROUGE值以及句子間的ROUGE值來為每個句子打分。在訓(xùn)練的過程中,該模型通過計算當(dāng)前句子與篇章表示的相關(guān)程度和句子間的相關(guān)程度來為每個句子評判打分,通過網(wǎng)絡(luò)訓(xùn)練讓模型分?jǐn)?shù)接近正確的分?jǐn)?shù)。測試時,會給每個句子進(jìn)行評分,然后選擇分?jǐn)?shù)最大的作為最終求得的摘要。基于回歸模型的優(yōu)勢是分?jǐn)?shù)能夠更加精確刻畫句子的重要程度,并以此作為依據(jù)來進(jìn)行句子間的排序。另外,在構(gòu)造分?jǐn)?shù)的時候就考慮到了最終的評價指標(biāo)ROUGE[13],因此會更加合理。
圖1 回歸模型結(jié)構(gòu)圖Fig.1 The structure of regression model
本文中的句子和篇章的表示層利用了Yang等人[14]提出的 Hierarchical attention networks。 如圖2所示,該結(jié)構(gòu)分為3層:輸入層、句子表示層和篇章表示層。該模型的設(shè)計初衷是用于篇章分類(document classification),而本次研究則將其用于抽取式摘要系統(tǒng)的表示層。
圖2 層次化注意力網(wǎng)絡(luò)Fig.2 Hierarchical attention networks
本次研究的輸入層采用了100維的詞向量,而選擇了訓(xùn)練詞向量的工具是word2vec[15],過程中訓(xùn)練詞向量用到的訓(xùn)練數(shù)據(jù)是 CNN/DailyMail[16]數(shù)據(jù)集里面所有的文本。繼而,文中設(shè)置的最小詞頻閾值為8,這樣就可得到154 K的詞匯。Skip窗口大小設(shè)置為5,hierarchical softmax的層數(shù)也是1。
同時,對于句子表示層和篇章表示層,研究采用了Bi-LSTM。LSTM中包含3個門:輸入門(input gate)、輸出門(output gate)和遺忘門(forget gate),如圖3所示。
在得到LSTM的隱層輸出之后,研究利用Attention[17]機(jī)制得到每個詞或者句子的權(quán)重。設(shè)計時,計算Attention的向量是隨機(jī)初始化,并通過網(wǎng)絡(luò)學(xué)習(xí)進(jìn)行更新。以篇章表示層為例,假設(shè)ht為第t個句子的表示,Us是計算Attention的向量。那么兩者分?jǐn)?shù)計算方式可表述如下:
其中,d就是研究中最終的篇章表示,ht就是求得的句子表示。
圖3 LSTM Cell結(jié)構(gòu)圖Fig.3 The structure of LSTM Cell
在此基礎(chǔ)上,研究推得的最終回歸模型的打分函數(shù)將可寫作如下形式:
接下來,通過計算當(dāng)前句子si與人工摘要Sref的ROUGE-2F1值就可得到標(biāo)準(zhǔn)分?jǐn)?shù),其數(shù)學(xué)公式可表示為:
在得到了篇章表示后,就可以定義損失函數(shù)如式(7)所示:
詞向量維度為100維,句子表示層和篇章表示層Bi-LSTM的維度為200維。訓(xùn)練采用的優(yōu)化器為 Adam,初始學(xué)習(xí)率為 0.001。 Batch size為 20,隨機(jī)種子設(shè)為1,訓(xùn)練迭代了10輪。
研究對每篇文章進(jìn)行了預(yù)處理,去除了文章日期,作者信息等。同時對所有單詞做了小寫化處理。為了降低時間和計算資源開銷,同時還設(shè)置每篇文章最多100個句子,每個句子最多50個詞,如果超過就進(jìn)行截斷。而在研究句子級別表示層時,選取一個batch中所有篇章詞數(shù)最多的句子(超過50的按照50計算)作為padding的基準(zhǔn),詞數(shù)未達(dá)此標(biāo)準(zhǔn)的句子增補(bǔ)若干個100維的0向量。在篇章表示層中,選取一個batch中篇章句子數(shù)最多的篇章(超過100的按照100計算)作為padding基準(zhǔn),句子數(shù)不夠的予以補(bǔ)0向量處理。
實(shí)驗(yàn)用到的數(shù)據(jù)集是CNN/Daily Mail數(shù)據(jù)集。數(shù)據(jù)的內(nèi)容是CNN和Daily Mail發(fā)布的新聞數(shù)據(jù),每篇文章包含標(biāo)題名稱、正文和人工摘要三個部分,樣本示例見表1。該數(shù)據(jù)集最初是由Hermann用于完成閱讀理解任務(wù)。后來Cheng等人[9]將其作為抽取式摘要的數(shù)據(jù)集。由于數(shù)據(jù)集的規(guī)模較大,在近段時間內(nèi)已被廣泛應(yīng)用到文本摘要任務(wù)中。數(shù)據(jù)集的規(guī)模統(tǒng)計參見表2。
表1 數(shù)據(jù)集樣本示例Tab.1 Sample of the dataset
表2 數(shù)據(jù)集規(guī)模統(tǒng)計Tab.2 The statistics of dataset
實(shí)驗(yàn)中,重點(diǎn)選用了Daily Mail數(shù)據(jù)集,因?yàn)榻陙淼拇蟛糠止ぷ鞫荚贒aily Mail數(shù)據(jù)集上提交了結(jié)果,因而有利于后續(xù)的實(shí)驗(yàn)結(jié)果對比。Daily Mail數(shù)據(jù)集中每篇文章的平均句子數(shù)為25.6,人工摘要的平均長度在3~4句的范圍內(nèi)。
早期,傳統(tǒng)的摘要評價方式一般都包含人工的評分函數(shù),包括語法、可讀性、內(nèi)容、一致性等。這些簡單的人工評價規(guī)則能夠較好反映摘要的質(zhì)量,但是需要消耗大量的人力去進(jìn)行評估。Lin[13]提出ROUGE(Recall-Oriented Understudy for Gisting Evaluation)用來評價摘要的質(zhì)量,并和人工評價有著很強(qiáng)的一致性,目前即將其作為一種常用的摘要評價指標(biāo)。分析可知,常用的評價指標(biāo)有ROUGE-1、ROUGE-2和ROUGE-L。 前兩者分別計算了uni-gram和bi-gram的覆蓋度,表示了涵蓋的信息量,后者計算了最長公共子序列(longest common subsequence)的覆蓋度,描述了生成摘要的流暢程度。ROUGE-N和ROUGE-L可由如下公式計算得出:
本次研究中的baseline模型是Lead-3,且只取文章中前3句話作為摘要。另外,研究中還對比了文獻(xiàn)[9]和文獻(xiàn)[11]中的仿真結(jié)果。這里,即研究給出了不同長度限制下的實(shí)驗(yàn)結(jié)果詳見表3、表4。
表3 DailyMail測試集75 bytes下ROUGE RecallTab.3 75 bytes ROUGE Recall of DailyMail test set
表4 DailyMail測試集275 bytes下ROUGE RecallTab.4 275 bytes ROUGE Recall of DailyMail test set
由表3、表4的實(shí)驗(yàn)結(jié)果來看,本文的模型在生成短摘要時,效果上要明顯優(yōu)于其它的抽取式摘要模型。在生成長摘要時,效果也能和SOTA相當(dāng)。
本文分析了利用分類來做抽取式摘要的問題,并設(shè)計提出了一個基于神經(jīng)網(wǎng)絡(luò)的回歸模型。結(jié)果表明,本文研發(fā)的模型不依賴任何手工設(shè)計的特征。而且,在DailyMail數(shù)據(jù)集上,研究提出的模型在不同長度限制下都取得了不錯的效果。