1. 簡介
隨著互聯(lián)網(wǎng)產(chǎn)生的文本數(shù)據(jù)越來越多,文本信息過載問題日益嚴(yán)重,對各類文本進(jìn)行一個“降 維”處理顯得非常必要,文本摘要便是其中一個重要的手段。文本摘要旨在將文本或文本集合轉(zhuǎn)換為包含關(guān)鍵信息的簡短摘要。文本摘要按照輸入類型可分為單文檔摘要和多文檔摘要。單文檔摘要從給定的一個文檔中生成摘要,多文檔摘要從給定的一組主題相關(guān)的文檔中生成摘要。按照輸出類型可分為抽取式摘要和生成式摘要。抽取式摘要從源文檔中抽取關(guān)鍵句和關(guān)鍵詞組成摘要,摘要全部來源于原文。生成式摘要根據(jù)原文,允許生成新的詞語、短語來組成摘要。按照有無監(jiān)督數(shù)據(jù)可以分為有監(jiān)督摘要和無監(jiān)督摘要。本文主要關(guān)注單文檔、有監(jiān)督、抽取式、生成式摘要。
2. 抽取式摘要
抽取式方法從原文中選取關(guān)鍵詞、關(guān)鍵句組成摘要。這種方法天然的在語法、句法上錯誤率低,保證了一定的效果。傳統(tǒng)的抽取式摘要方法使用圖方法、聚類等方式完成無監(jiān)督摘要。目前流行的基于神經(jīng)網(wǎng)絡(luò)的抽取式摘要往往將問題建模為序列標(biāo)注和句子排序兩類任務(wù)。下面首先介紹傳統(tǒng)的抽取式摘要方法,接著簡述基于神經(jīng)網(wǎng)絡(luò)的抽取式摘要方法。
2.1 傳統(tǒng)方法
2.1.1 Lead-3
一般來說,作者常常會在標(biāo)題和文章開始就表明主題,因此最簡單的方法就是抽取文章中的前幾句作為摘要。常用的方法為 Lead-3,即抽取文章的前三句作為文章的摘要。Lead-3 方法雖然簡單直接,但卻是非常有效的方法。
2.1.2 TextRank
TextRank 算法仿照 PageRank,將句子作為節(jié)點,使用句子間相似度,構(gòu)造無向有權(quán)邊。使用邊上的權(quán)值迭代更新節(jié)點值,最后選取 N 個得分最高的節(jié)點,作為摘要。
2.1.3 聚類
將文章中的句子視為一個點,按照聚類的方式完成摘要。例如 Padmakumar and Saran [11] 將文章中的句子使用 Skip thought vectors 和 Paragram embeddings 兩種方式進(jìn)行編碼,得到句子級別的向量表示,再使用 K 均值聚類和 Mean-Shift 聚類進(jìn)行句子聚類,得到 N 個類別。最后從每個類別中,選擇距離質(zhì)心最近的句子,得到 N 個句子,作為最終摘要。
2.2 序列標(biāo)注方式
抽取式摘要可以建模為序列標(biāo)注任務(wù)進(jìn)行處理,其核心想法是:為原文中的每一個句子打一個二分類標(biāo)簽(0 或 1),0 代表該句不屬于摘要,1 代表該句屬于摘要。最終摘要由所有標(biāo)簽為 1 的句子構(gòu)成。
2.2.1 序列標(biāo)注摘要基本框架
將文本摘要建模為序列標(biāo)注任務(wù)的關(guān)鍵在于獲得句子的表示,即將句子編碼為一個向量,根據(jù)該向量進(jìn)行二分類任務(wù),例如 AAAI17 中,Nallapati 等人[10]的工作,使用雙向 GRU 分別建模詞語級別和句子級別的表示。其模型 SummaRuNNer 如圖 1所示。藍(lán)色部分為詞語級別表示,紅色部分為句子級別表示,對于每一個句子表示,有一個 0、1 標(biāo)簽輸出,指示其是否是摘要。
圖1 SummaRuNNer 模型
該模型的訓(xùn)練需要監(jiān)督數(shù)據(jù),現(xiàn)有數(shù)據(jù)集往往沒有對應(yīng)的句子級別的標(biāo)簽,因此需要通過啟發(fā)式規(guī)則進(jìn)行獲取。具體方法為:首先選取原文中與標(biāo)準(zhǔn)摘要計算 ROUGE 得分最高的一句話加入候選集合,接著繼續(xù)從原文中進(jìn)行選擇,保證選出的摘要集合 ROUGE 得分增加,直至無法滿足該條件。得到的候選摘要集合對應(yīng)的句子設(shè)為 1 標(biāo)簽,其余為 0 標(biāo)簽。
2.2.2 序列標(biāo)注結(jié)合Seq2Seq
抽取式摘要還可以在序列標(biāo)注的基礎(chǔ)上結(jié)合 Seq2Seq 和強(qiáng)化學(xué)習(xí)完成。ACL18 中,Zhang等人[14]在序列標(biāo)注的基礎(chǔ)上,使用 Seq2Seq 學(xué)習(xí)一個句子壓縮模型,使用該模型來衡量選擇句子的好壞,并結(jié)合強(qiáng)化學(xué)習(xí)完成模型訓(xùn)練。其模型 Latent 如圖 2所示。
該方法的核心關(guān)注點是:摘要數(shù)據(jù)集往往沒有對應(yīng)的句子級別的標(biāo)簽,需要通過啟發(fā)式規(guī)則獲取,然而僅僅利用這些標(biāo)簽訓(xùn)練模型會丟失很多標(biāo)準(zhǔn)摘要中重要的信息。因此 Latent 模型不采用序列標(biāo)注方法計算標(biāo)簽級別的損失來訓(xùn)練模型,而是將序列標(biāo)注作為中間的步驟。在得到序列標(biāo)注的概率分布之后,從中采樣候選摘要集合,與標(biāo)準(zhǔn)摘要對比計算損失,可以更好地利用標(biāo)準(zhǔn)摘要中的信息。
圖2Latent 模型
2.3 Seq2Seq方式
之前的抽取式摘要往往建模句子級別的表示,忽略了關(guān)鍵詞的作用。ACL18 中,Jadhav and Rajan等人[5]直接使用 Seq2Seq 模型來交替生成詞語和句子的索引序列來完成抽取式摘要任務(wù)。其模型 SWAP-NET 在解碼的每一步,計算一個 Switch 概率指示生成詞語或者句子。最后解碼出的是詞語和句子的混合序列。最終摘要由產(chǎn)生的句子集合選出。除了考慮生成句子本身的概率之外,還需要考慮該句是否包含了生成的詞語,如果包含,則得分高,最終選擇 top k 句作為摘要。
2.4 句子排序方式
抽取式摘要還可以建模為句子排序任務(wù)完成,與序列標(biāo)注任務(wù)的不同點在于,序列標(biāo)注對于每一個句子表示打一個 0、1 標(biāo)簽,而句子排序任務(wù)則是針對每個句子輸出其是否是摘要句的概率,最終依據(jù)概率,選取 top k 個句子作為最終摘要。雖然任務(wù)建模方式(最終選取摘要方式)不同,但是其核心關(guān)注點都是對于句子表示的建模。
2.4.1 句子排序結(jié)合新的打分方式
之前的模型都是在得到句子的表示以后對于句子進(jìn)行打分,這就造成了打分與選擇是分離的,先打分,后根據(jù)得分進(jìn)行選擇。沒有利用到句子之間的關(guān)系。在 ACL18 中,Zhou 等人[15]提出了一種新的打分方式,使用句子受益作為打分方式,考慮到了句子之間的相互關(guān)系。其模型 NeuSUM 如圖 3所示。
句子編碼部分與之前基本相同。打分和抽取部分使用單向 GRU 和雙層 MLP 完成。單向 GRU 用于記錄過去抽取句子的情況,雙層 MLP 用于打分。打分如下公式所示。
其中 r 代表 ROUGE 評價指標(biāo),
圖3 NeuSUM 模型
因此在打分和選擇部分,逐步選擇使得 g 最高的句子,直到無法滿足該條件或者達(dá)到停止條件為止。集合 S 為最終摘要。
3. 生成式摘要
抽取式摘要在語法、句法上有一定的保證,但是也面臨了一定的問題,例如:內(nèi)容選擇錯誤、連貫性差、靈活性差等問題。生成式摘要允許摘要中包含新的詞語或短語,靈活性高,隨著近幾年神經(jīng)網(wǎng)絡(luò)模型的發(fā)展,序列到序列(Seq2Seq)模型被廣泛的用于生成式摘要任務(wù),并取得一定的成果。
僅使用 Seq2Seq 來完成生成式摘要存在如下問題:(1)未登錄詞問題(OOV),(2)生成重復(fù)。現(xiàn)在被廣泛應(yīng)用于生成式摘要的框架由 See 等人[13]在 ACL17 中提出,在基于注意力機(jī)制的 Seq2Seq 基礎(chǔ)上增加了 Copy 和 Coverage 機(jī)制,有效的緩解了上述問題。其模型 pointer-generator 網(wǎng)絡(luò)如圖 4所示。
圖4 Pointer-Generator 模型
其模型基本部分為基于注意力機(jī)制的 Seq2Seq 模型,使用每一步解碼的隱層狀態(tài)與編碼器的隱層狀態(tài)計算權(quán)重,最終得到 context 向量,利用 context 向量和解碼器隱層狀態(tài)計算輸出概率。
利用 Copy 機(jī)制,需要在解碼的每一步計算拷貝或生成的概率,因為詞表是固定的,該機(jī)制可以選擇從原文中拷貝詞語到摘要中,有效的緩解了未登錄詞(OOV)的問題。
利用 Coverage 機(jī)制,需要在解碼的每一步考慮之前步的 attention 權(quán)重,結(jié)合 coverage 損失, 避免繼續(xù)考慮已經(jīng)獲得高權(quán)重的部分。該機(jī)制可以有效緩解生成重復(fù)的問題。
基于該框架可以做出一些改進(jìn),在 ICLR18 中,Paulus 等人[12],在該框架的基礎(chǔ)上又使用解碼器注意力機(jī)制結(jié)合強(qiáng)化學(xué)習(xí)來完成生成式摘要。
基于上述 Coverage 機(jī)制,在 EMNLP18 中,Li 等人[8]基于句子級別的注意力機(jī)制,使用句子級別的 Coverage 來使得不同的摘要句可以關(guān)注不同的原文,緩解了生成信息重復(fù)的問題。
3.1 利用外部信息
除上述問題以外,基于 Seq2Seq 的模型往往對長文本生成不友好,對于摘要來說,更像是一種句子壓縮,而不是一種摘要。因此在 ACL18 中,Cao 等人[1],使用真實摘要來指導(dǎo)文本摘要的生成。其核心想法在于:相似句子的摘要也具有一定相似度,將這些摘要作為軟模板,作為外部知識進(jìn)行輔助。其模型Sum 一共包含 Retrieve、Rerank、Rewrite 三個部分。
Retrieve 部分主要檢索相似句子,獲得候選摘要。Rerank 部分用于排序候選模板,在訓(xùn)練集中,計算候選與真實摘要的 ROUGE 得分作為排序依據(jù),在開發(fā)集與測試集中,使用神經(jīng)網(wǎng)絡(luò)計算得分作為排序依據(jù)。訓(xùn)練過程中,使得預(yù)測得分盡可能與真實得分一致。Rewrite 部分,結(jié)合候選模板與原文生成摘要。
3.2 多任務(wù)學(xué)習(xí)
除了將本身數(shù)據(jù)集的信息作為一種外部知識以外,在 ACL18 中,Guo 等人[3]將摘要生成作為主任務(wù),問題生成、蘊(yùn)含生成作為輔助任務(wù)進(jìn)行多任務(wù)學(xué)習(xí)。問題生成任務(wù)需要根據(jù)給定的文本和答案生成問題,要求模型具有選擇重要信息的能力,蘊(yùn)含生成任務(wù)要求根據(jù)給定文本,有邏輯地推出輸出文本,要求模型具有邏輯推理能力。在文本摘要中,定位原文中的關(guān)鍵信息是核心問題,根據(jù)原文生成摘要又要求模型具有一定的邏輯推理能力,使得生成的摘要與原文不違背,無矛盾。
3.3 生成對抗方式
在 AAAI18 中,Liu 等人[9]利用 SeqGAN[14] 的思想,利用生成模型 G 來生成摘要,利用判別模型 D 來區(qū)分真實摘要與生成摘要。使用強(qiáng)化學(xué)習(xí)的方法,更新參數(shù)。
4. 抽取生成式摘要
抽取式、生成式摘要各有優(yōu)點,為了結(jié)合兩者的優(yōu)點,一些方法也同時使用抽取結(jié)合生成的方法來完成摘要任務(wù)。
在生成式摘要中,生成過程往往缺少關(guān)鍵信息的控制和指導(dǎo),例如 pointer-generator 網(wǎng)絡(luò)在 copy 的過程中,無法很好地定位關(guān)鍵詞語,因此一些方法首先提取關(guān)鍵內(nèi)容,再進(jìn)行摘要生成。
從直覺上來講,摘要任務(wù)可以大致分為兩步,首先選擇重要內(nèi)容,其次進(jìn)行內(nèi)容改寫。在 EMNLP18 中,Gehrmann 等人[2]基于這種想法,提出了“Bottom Up”方式的摘要, 首先使用“content selector”選擇關(guān)鍵信息,其次使用 pointer-generator 網(wǎng)絡(luò)生成摘要。
內(nèi)容選擇部分建模為詞語級別序列標(biāo)注任務(wù),該部分的訓(xùn)練數(shù)據(jù)通過將摘要對齊到文檔,得到詞語級別的標(biāo)簽。摘要生成部分使用 pointer-generator 網(wǎng)絡(luò),使用內(nèi)容選擇部分計算的概率修改原本 attention 概率,使得解碼器僅關(guān)注選擇的內(nèi)容。
除了上述以序列標(biāo)注方式來選擇關(guān)鍵詞的方法以外,在 NAACL18 中,Li 等人[6]使用 TextRank 算法獲得關(guān)鍵詞,之后使用神經(jīng)網(wǎng)絡(luò)獲得關(guān)鍵詞語的表示,并將該表示結(jié)合 pointergenerator 網(wǎng)絡(luò)生成摘要。
上述方法從原文中選擇重要的部分用來指導(dǎo)摘要的生成,顯式地利用了文本級別的信息,在 EMNLP18 中,Li 等人[7],使用門控機(jī)制,從編碼得到的向量表示中選擇有用的信息用于之后的摘要生成,屬于一種 Soft 方式。在使用層次化 encoder 得到句子級別的向量表示之后,使用門控機(jī)制,得到新的句子級別向量,表示從中選擇有用信息。其模型 InfoSelection 如圖 5所示。
圖 5 InfoSelection 模型
在 ACL18 中,Hsu 等人[4]將抽取式模型的輸出概率作為句子級別的 attention 權(quán)重, 用該權(quán)重來調(diào)整生成式模型中的詞語級別的 attention 權(quán)重,如圖 6所示,其核心想法為:當(dāng)詞語級別的 attention 權(quán)重高時,句子級別的 attention 權(quán)重也高?;诖讼敕ㄌ岢隽?Inconsistency 損失函數(shù),使得模型輸出的句子級別的權(quán)重和詞語級別的權(quán)重盡量一致。在最終訓(xùn)練時,首先分別預(yù)訓(xùn)練抽取式和生成式模型,之后有兩種方式來結(jié)合兩個模型,Hard 方式:將抽取式模型抽出的關(guān)鍵句直接作為生成式模型的輸入;Soft 方式:將抽取式模型的的輸出概率用來調(diào)整詞語級別的權(quán)重。
圖6 權(quán)重調(diào)整過程
5. 數(shù)據(jù)集
常用的文本摘要數(shù)據(jù)集有 DUC 數(shù)據(jù)集、New York Times 數(shù)據(jù)集、CNN/Daily Mail 數(shù)據(jù)集、 Gigaword 數(shù)據(jù)集、LCSTS 數(shù)據(jù)集。
由于 DUC 數(shù)據(jù)集規(guī)模較小,因此神經(jīng)網(wǎng)絡(luò)模型往往在其他數(shù)據(jù)集上進(jìn)行訓(xùn)練,再在 DUC 數(shù)據(jù)集上進(jìn)行測試。
NYT 數(shù)據(jù)集包含了發(fā)表于 1996 至 2007 年期間的文章,摘要由專家編寫而成。該數(shù)據(jù)集的摘要有時候不是完整的句子,并且長度較短,大約平均 40 個詞語。
目前廣泛使用的是 CNN/Daily Mail 數(shù)據(jù)集,屬于多句摘要數(shù)據(jù)集,常用于訓(xùn)練“生成式”摘要系統(tǒng)。該數(shù)據(jù)集一共有兩個版本,匿名(Anonymized)版本和未匿名(Non-anonymized)版本,未匿名版本包括了真實的實體名(Entity names),匿名版本將實體使用特定的索引進(jìn)行替換。
Gigaword 數(shù)據(jù)集摘要由文章第一句話和題目結(jié)合啟發(fā)式規(guī)則構(gòu)成。
LCSTS 為中文短文本摘要數(shù)據(jù)集,由新浪微博構(gòu)建得到。
6. 總結(jié)
文本摘要作為傳統(tǒng)的自然語言處理任務(wù),至今依舊有新的發(fā)展和創(chuàng)新,這一方面得益于模型、方法、語料的支撐,另一方面也是由于摘要任務(wù)自身的重要性。摘要生成作為文本生成的一種,除了有著重復(fù)、冗余、不連貫、生成較短等問題,還有著摘要任務(wù)特定的問題,其中最核心的為:如何確定關(guān)鍵信息。當(dāng)下的文本摘要更關(guān)注“什么是真正的摘要”,而不僅僅是簡單地句子壓縮。利用外部知識,利用關(guān)鍵詞信息等方式來更好的輔助摘要的生成。各個摘要模型各有優(yōu)點,在實驗結(jié)果上各有優(yōu)勢。因此在考慮評價指標(biāo)的同時,更應(yīng)該關(guān)注問題本身,才能使得方法更具有普適性,更好的滿足真實需要。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4772瀏覽量
100809 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1208瀏覽量
24713 -
強(qiáng)化學(xué)習(xí)
+關(guān)注
關(guān)注
4文章
266瀏覽量
11262
原文標(biāo)題:工大SCIR | 文本摘要簡述
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論