Abstractive Text Summarization using Seq2Seq RNNs and Beyond

2021-03-02 PaperWeekly

再堅持一下,就會等到黎明破曉,重見光明。

今天繼續分享一篇sentence level abstractive summarization相關的paper,出自於IBM Watson,Abstractive Text Summarization using Sequence-to-sequence RNNs and Beyond. (點「閱讀原文」獲取本文)


Abstract

本文將自動文摘問題當作一個Seq2Seq的問題,並且應用Attentional Encoder-Decoder Recurrent Neural Networks框架來解決這個問題,並且在兩個不同的數據集上取得了超越ABS(Rush,2015)模型的結果。同時,本文還提出多種模型來研究自動文摘中的重要問題,比如對關鍵詞進行建模,並且得出詞對於文檔研究起關鍵作用的結論。研究結果表明本文的解決方案在性能上有很大的提升,另外,還貢獻了一個包括多句子文摘的數據集和基準。

本文的貢獻點有三個:(1)在兩個新的數據集上應用seq2seq+attention模型,並且取得了state-of-the-art的結果;(2)研究了關鍵詞對於自動文摘所起到的關鍵作用,並且提出了一種新的模型;(3)提出了一個新的數據集,供研究者使用。

Introduction

本文研究的文本摘要問題是根據一篇長文來生成一篇短摘要或者標題,可以等同於將輸入文本序列映射為一個目標文本序列,也就是seq2seq的問題。目前,解決seq2seq的問題,都是借鑑machine translation的方法。

但文本摘要問題和機器翻譯問題有著很大的不同。

(1)文本摘要的問題輸出長度一般都很短,並且不依賴於輸入的長度。

(2)文本摘要的問題一般都會損失大量的信息,只保留少量的核心概念作為輸出,而機器翻譯則要保證信息損失最低,在單詞級別上保證對齊。

那麼機器翻譯的相關技術是否會在文本摘要問題上表現同樣突出呢?本文將會回答這個問題。受文本摘要與機器翻譯問題的不同特點所啟發,本文將超越一般的架構而提出新的模型來解決摘要問題。

本文與之前seq2seq類的paper有著一個很明顯的區別,就是將摘要問題和機器翻譯問題嚴格區別開,而不是簡單地套用MT的技術來解決摘要問題,根據摘要問題的特點提出了更加合適的模型,相比於之前的研究更進了一步。

Related work

之前大量的研究都是集中於extractive摘要方法,在DUC2003和2004比賽中取得了不俗的成績。但人類在做摘要工作時,都是採用abstractive方法,理解一篇文檔然後用自己的語言轉述出來。隨著深度學習技術在NLP任務中的廣泛使用,研究者們開始更多地研究abstractive方法,比如Rush組的工作,比如哈工大Hu的工作。

本文的貢獻:

(1)在兩種不同數據集上應用seq2seq+attention的模型,得到了state-of-the-art結果。

(2)根據摘要問題的特點提出了針對性的模型,結果更優。

(3)提出了一個包括多句子摘要的數據集和基準。

絕大多數的extractive方法都是unsupervised learning方法,不需要數據集來做訓練,更適合搭建實用的文本摘要系統;而abstractive方法一般都是supervised learning方法,雖然在評測任務中表現更佳,但需要大量的領域數據做訓練,橫向擴展性並不好,數據集的內容、質量和規模都直接影響著模型的效果,目前比較難應用在實際系統中。所以,在data-driven的模型中,往往都需要配合大規模、高質量、領域相關的數據集。相比之下deep learning的方法更加簡單粗暴一下,並不需要什麼領域知識和特徵工程,只要給定輸入輸出,就能擬合出一個巨大的神經網絡,並且取得優於傳統解決方案的結果,但太過依賴於數據,因此喪失了一般性。

ModelsEncoder-Decoder with Attention

這個模型本文的基準模型,Encoder是一個雙向GRU-RNN,Decoder是一個單向GRU-RNN,兩個RNN的隱藏層大小相同,注意力模型應用在Encoder的hidden state上,一個softmax分類器應用在Decoder的生成器上。

基準模型是套用Bahdanau,2014在機器翻譯中的方法,解決方案的思路都與之前的paper類似,並無新穎之處。

Large Vocabulary Trick

這個模型引入了large vocabulary trick(LVT)技術到文本摘要問題上。本文方法中,每個mini batch中decoder的詞彙表受制於encoder的詞彙表,decoder詞彙表中的詞由一定數量的高頻詞構成。這個模型的思路重點解決的是由於decoder詞彙表過大而造成softmax層的計算瓶頸。本模型非常適合解決文本摘要問題,因為摘要中的很多詞都是來自於原文之中。

LVT是一個針對文本摘要問題的有效方法,考慮到了摘要中的大部分詞都是來源於原文之中,所以將decoder的詞彙表做了約束,降低了decoder詞彙表規模,加速了訓練過程。

Vocabulary expansion

LVT技術很好地解決了decoder在生成詞時的計算瓶頸問題,但卻不能夠生成新穎的有意義的詞。為了解決這個問題,本文提出了一種擴展LVT詞彙表的技術,將原文中所有單詞的一度最鄰近單詞擴充到詞彙表中,最鄰近的單詞在詞向量空間中cosine相似度來計算得出。

詞彙表的擴展是一項非常重要的技術,word embedding在這裡起到了關鍵作用。用原文中單詞的最鄰近單詞來豐富詞彙表,不僅僅利用LVT加速的優勢,也彌補了LVT帶來的問題。

Feature-rich Encoder

文本摘要面臨一個很大的挑戰在於確定摘要中應該包括哪些關鍵概念和關鍵實體。因此,本文使用了一些額外的features,比如:詞性,命名實體標籤,單詞的TF和IDF。將features融入到了word embedding上,對於原文中的每個單詞構建一個融合多features的word embedding,而decoder部分,仍採用原來的word embedding。

本文的一個創新點在於融入了word feature,構建了一組新的word embedding,分別考慮了單詞的詞性、TF、IDF和是否為命名實體,讓單詞具有多個維度的意義,而這些維度上的意義對於生成摘要至關重要。本文結果的優秀表現再一次印證了簡單粗暴的純data driven方法比不上同時考慮feature的方法。後面的研究可以根據本文的思路進行進一步地改進,相信會取得更大的突破。

Switching Generator/Pointer

文本摘要中經常預見這樣的問題,一些關鍵詞出現很少但卻很重要,由於模型基於word embedding,對低頻詞的處理並不友好,所以本文提出了一種decoder/pointer機制來解決這個問題。模型中decoder帶有一個開關,如果開關狀態是打開generator,則生成一個單詞;如果是關閉,decoder則生成一個原文單詞位置的指針,然後拷貝到摘要中。pointer機制在解決低頻詞時魯棒性比較強,因為使用了encoder中低頻詞的隱藏層表示作為輸入,是一個上下文相關的表示,而僅僅是一個詞向量。

Pointer機制與某篇paper中的Copy機制有異曲同工之妙,都是用來解決OOV問題的,本文的最關鍵的是如何計算開關狀態是generator的概率,這一層的計算關係到當前time step是採用generator模式還是pointer模式。

Hierarchical Encoder with Hieratchical Attention

數據集中的原文一般都會很長,原文中的關鍵詞和關鍵句子對於形成摘要都很重要,這個模型使用兩個雙向RNN來捕捉這兩個層次的重要性,一個是word-level,一個是sentence-level,為了區別與Li的工作,本文在兩個層次上都使用注意力模型。注意力權重如下:

本文模型示意圖如下:

注意力機制的本質是一組decoder與encoder之間相關聯的權重,本文在兩個層次上重新定義了attention weight,既考慮了某個encoder中每個word對於decoder的重要性,也考慮了該word所在sentence對於decoder的重要性。

Experiments and ResultsGigaword Corpus

為了作對比,本文採用了Rush文章中的Gigaword數據集和他的開原始碼來處理數據,形成了380萬訓練樣本和約40萬驗證樣本和測試樣本,本文隨機選取2000組樣本作為驗證和測試集來測試本文模型的性能,為了更加公平地對比,本文使用了Rush採用的測試集來對比。

初始詞向量的生成是用Word2Vec,但在訓練的過程中會更新詞向量。訓練的參數設置也都採用一般的訓練設置。

在Decoder階段,採用大小為5的beam search來生成摘要,並且約束摘要長度不大於30個單詞。

評價指標方面,採用full-length Rouge召回率,然而該指標更加青睞於長摘要,所以在比較兩個生成不同長度摘要的系統時並不公平,用full-length F1來評價更加合理。

對比實驗共有以下幾組:

(1)words-1sent:baseline模型,對應之前的Encoder-Decoder with Attention模型。1sent表示模型的輸入是原文的第一句話。

(2)words-lvt2k-1sent:對應之前的Large Vocabulary Trick模型。lvt2k表示decoder的詞彙表上限是2000。

(3)words-lvt2k-(2|5)sent:與第二組實驗採用相同的模型,只是輸入採用了原文的前兩句話和前五句話。

(4)words-lvt2k-2sent-exp:對應之前的Vocabulary expansion模型。

(5)words-lvt2k-2sent-hieratt:對應之前的Hierarchical Encoder with Hieratchical Attention模型。

(6)big-words-lvt2k-(1|2)sent:模型與第二組實驗相同,但將embedding size和hidden state size增大到了200和400。

(7)big-feats-lvt2k-2sent:對應之前的Feature-rich Encoder模型。

(8)feats-lvt2k-2sent-ptr:對應之前的Switching Generator/Pointer模型。

實驗結果如下:

從表中清晰地看到switching generator/pointer模型在各個指標上都是最好的模型,本文的模型在Rush測試集中的結果都優於Rush的ABS+模型。

Gigaword由於其數據量大的特點,常被用於文本摘要任務中作為訓練數據。本文的訓練、生成參數都沿用了傳統的方法,評價指標選擇了更合適的F1,共設計了8大組實驗,從方方面面對比了各個模型之間的優劣,從多個角度說明了本文模型比前人的模型更加優秀。

數據集對於deep learning是至關重要的,構建一個合適的數據集是一個非常有意義的工作。哈工大之前有一個工作就是構建了微博摘要的數據集,方便了研究中文文本摘要的研究者。

DUC Corpus

DUC2003作為模型的驗證集,DUC2004作為對比測試的數據集,模型的訓練都是通過Gigaword來做,這裡主要是為了對比本文模型和Rush的ABS和ABS+模型,結果如下:

在DUC2003中big-words-lvt2k-1sent表現更加突出,所以用該模型來與其他系統進行對比,結果明顯優於其他系統。

本文模型相比於其他系統的優勢在DUC數據集中並不如Gigaword數據集上更加明顯。因為大家的模型都是採用Gigaword來做的,模型都非常好地擬合了Gigaword數據集。從這個結論中也可以看出,deep learning技術對於數據集規模、質量和類型的依賴,並不能很好地泛化到其他數據內容中。

CNN/DailyMail Corpus

現有的abstractive摘要系統都是單句摘要,本節實驗將要證明本文的模型同樣在多句摘要任務中會有更好的表現。

實驗結果如下:

從表中結果可以看出,switching generator/pointer模型更加優秀。

本文的一大貢獻在於構建了CNN/DailyMail文本摘要數據集,用來評測多句摘要的任務,為今後大量的相關工作提供了數據保障。

Qualitative Analysis

本文的模型在一些數據的處理會理解錯原文的意思,生成一些「錯誤」的摘要。另外,Switching Generator/Pointer模型不僅僅在處理命名實體上有優勢,而且在處理詞組上表現也非常好。未來的工作中,將會對該模型進行更多的實驗。效果見下圖:

本文模型相對於Rush的模型有了更進一步的效果,但對於文本摘要問題來說,並沒有本質上的提升,也會經常出現這樣或者那樣的錯誤。指標上的領先是一種進步,但與評價指標太過死板也有關係,現有的評價指標很難從語義這個層次上來評價結果。所以,文本摘要問題的解決需要解決方方面面的問題,比如數據集,比如評價指標,比如模型,任何一個方面的突破都會帶來文本摘要問題的突破。

Conclusions

本文提出的模型相比於前人的模型有更好的效果,並且構建了一個新的摘要數據集,可以滿足多句摘要的任務。

Review

本文是一篇非常優秀的paper,在seq2seq+attention的基礎上融合了很多的features、trick進來,提出了多組對比的模型,並且在多種不同類型的數據集上做了評測,都證明了本文模型更加出色。從本文中得到了很多的啟發。

(1)單純地data-driven模型並不能很好地解決文本摘要的問題,針對文本摘要問題的特點,融合一些feature到模型之中,對模型的效果有很大的幫助。

(2)他山之石可以攻玉。其他領域的研究成果,小的trick都可以嘗試借鑑於文本摘要問題之中,比如seq2seq+attention的技術從機器翻譯中借鑑過來應用於此,比如LVT技術等等。

(3)文本摘要問題的解決需要解決好方方面面的問題,不僅僅是模型方面,還有數據集,還有評價指標,每個方面的進步都會是一大進步。

(4)deep learning技術訓練出的模型泛化能力和擴展能力還有很長的路要走,對訓練數據的嚴重依賴,導致了泛化能力和擴展能力的不足。針對特定的問題,構建特定的訓練數據集,這對corpus的建設提出了更高的要求。

Link

[1] Abstractive Text Summarization using Sequence-to-sequence RNNs and Beyond(http://cn.arxiv.org/pdf/1602.06023)

工具推薦

RSarXiv 一個好用的arxiv cs paper推薦系統 網站地址(http://rsarxiv.science/web)

ios App下載:App Store 搜索rsarxiv即可獲得

相關焦點

  • seq2seq 的 keras 實現
    seq2seq 的 keras 實現什麼是 seq2seq?seq2seq 是一個 Encoder–Decoder 結構的網絡,它的輸入是一個序列,輸出也是一個序列, Encoder 中將一個可變長度的信號序列變為固定長度的向量表達,Decoder 將這個固定長度的向量變成可變長度的目標的信號序列。
  • Seq2seq框架下的文本生成
    Seq2seq框架2014年NLP界有兩份重要的成果,Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation和Sequence to Sequence Learning with Neural Networks。
  • V4.9.1---Transformers的Text2TextGeneration管道(Pipeline)測試
    generation)、翻譯(translation)、轉述(paraphrasing)、總結(summarization)等。它使用seq2seq模型進行文本到文本生成(text to text generation)。從pipeline()中加載Text2TextGenerationPipeline管道,任務標識為"text2text-generation"。
  • 十分鐘掌握Keras實現RNN的seq2seq學習
    作者 | Francois Chollet編譯 | 雁驚寒seq2seq是一種把序列從一個域(例如英語中的句子
  • 【乾貨】seq2seq模型實例:用Keras實現機器翻譯
    作者通過一個seq2seq編碼器-解碼器網絡實現英語到法語的自動翻譯。作者在博文中詳細介紹了自己的模型架構和訓練數據,並使用代碼片段分步驟對訓練過程進行講解。總之,這是一篇比較詳盡的機器翻譯應用示例教程,如果你有從事機器翻譯或seq2seq模型相關的研究,可以詳細閱讀一下,相信一定對您的工程和理論都有所幫助。專知內容組編輯整理。
  • 經典Seq2Seq與注意力Seq2Seq模型結構詳解
    本文內容:什麼是Seq2Seq模型?經典的Seq2Seq模型是如何工作的?注意力機制什麼是Seq2Seq模型?在Seq2seq模型中,神經機器翻譯以單詞序列的形式接收輸入,並生成一個單詞序列作為輸出。例如,義大利語的「Cosa vorresti ordinare?」
  • Seq2seq強化,Pointer Network簡介
    源/ATYUN訂閱號Pointer Network(為方便起見以下稱為指針網絡)是seq2seq模型的一個變種。
  • IBM、哈佛聯合提出Seq2Seq-Vis:機器翻譯模型的可視化調試工具
    例如,之前由於 seq2seq 翻譯系統將「早上好」錯誤的翻譯為了「攻擊他們」,導致錯誤的逮捕事故。深度學習模型的不可解釋性更是普遍存在的問題。>圖 1:(左圖)Seq2Seq-Vis 中翻譯視圖(Translation View)示例:輸入語句為「our tool helps to find errors in seq2seq models using visual analysis methods」,目標是將其翻譯為德語。
  • tensorflow源碼解析之seq2seq.py文件(上)
    現在正式開始研究tensorflow源碼,由於要參加之後的京東對話系統挑戰賽,因此就從nlp部分的seq2seq開始。這裡使用的tensorflow版本為1.2.1。這裡放一張分析圖:三、開始搞seq2seq.py文件1、介紹seq2seq.py文件在tensorflow/contrib/legacy_seq2seq/python/ops路徑下。
  • 谷歌開源神經機器翻譯技術,推出tf-seq2seq框架
    陳樺 編譯自 Google官方博客量子位 報導 | 公眾號 QbitAI谷歌研究軟體工程師、谷歌大腦團隊成員Anna Goldie和Denny Britz今天撰文,宣布在「谷歌神經機器翻譯」的基礎上推出開源框架tf-seq2seq,給外部研究人員提供幫助。
  • 一篇文章學會ChIP-seq分析(上)
    雖然作者在人的細胞系(MCF7)上面做ChIP-seq,但是在老鼠細胞系(MDA-MB-231)做了mRNA晶片數據分析,BAF155這個蛋白的第1064位胺基酸(R) 突變細胞系和野生型細胞系,用的是Affymetrix HG U133 Plus 2.0這個常用平臺。
  • R包ggseqlogo 繪製seq logo圖
    #加載包library(ggplot2)library(ggseqlogo)#加載數據data(ggseqlogo_sample)ggseqlogo_sample數據集是一個列表,裡面包含了三個數據集:seqs_dna:12種轉錄因子的結合位點序列pfms_dna:四種轉錄因子的位置頻率矩陣seqs_aa:一組激動酶底物磷酸化位點序列
  • RNA-seq測序基本知識
    上次已經描述了RNA-seq的測序平臺(最全RNA-seq測序平臺簡介,不好意思遺漏國之重器BGI-seq測序平臺,在此更正),並且已經提出了一些典型的應用
  • 【綜述專欄】系統了解Encoder-Decoder 和 Seq2Seq及其關鍵技術
    它的作用就是「將現實問題轉化為數學問題」Decoder 又稱作解碼器,他的作用是「求解數學問題,並轉化為現實世界的解決方案」Encoder-Decoder 這個框架很好的詮釋了機器學習的核心思路:將現實問題轉化為數學問題,通過求解數學問題,從而解決現實問題。其中需要注意的是:1.
  • ChIP-seq和ATAC-seq基礎知識(視頻)
    我們需要簡單了解以下4點:在這裡,我們主要講解4種相關的測序技術:ChIP-seq、DNase-seq、MNase-seq、ATAC-seq。當然除了這四種技術,也還有其他的,感興趣的可以自行了解。ChIP的實驗流程:DNA與蛋白質交聯→超聲裂解→免疫沉澱→PCR擴增→測序(如下圖所示)此圖來自Y叔的公眾號:biobabble(點擊可達原文)ChIP的分析流程:(1) 質控(2) 序列比對:將原始的fastq序列文件mapping 到參考基因組上,生成 sam 格式文件(個人理解比對就是知道每條reads在參考基因組的具體位置
  • 基於seq2seq模型的中文糾錯任務
    深度學習近來在自然語言處理領域獲得了 廣泛運用,seq2seq 模型在諸多自然語言處理任務,如詞性標註、語義依存分析、 機器翻譯等,均取得了顯著的成績。本文首先對中文糾錯任務進行詳細的梳理, 包括錯誤的來源、目前的處理方法、相關的公開競賽、數據源等;第二,由於缺 少大規模公開的數據集,本文涉及顯示人工構造大規模糾錯數據集的算法;第三, 本文將深度學子中的 seq2seq 模型引入,處理中文糾錯任務,在基本的模型基礎 上引入 attention 機制(包括諸多變種)以及多任務學習的理念,嘗試多種組合, 並最終在構造數據集上 GLEU 評分達到了 0.75
  • 求解微分方程,用seq2seq就夠了,性能遠超 Mathematica、Matlab
    這篇論文提出了一種新的基於seq2seq的方法來求解符號數學問題,例如函數積分、一階常微分方程、二階常微分方程等複雜問題。其結果表明,這種模型的性能要遠超現在常用的能進行符號運算的工具,例如Mathematica、Matlab、Maple等。
  • python用於NLP的seq2seq模型實例:用Keras實現神經機器翻譯
    我們將使用seq2seq通過Python的Keras庫創建我們的語言翻譯模型。假定您對循環神經網絡(尤其是LSTM)有很好的了解。本文中的代碼是使用Keras庫用Python編寫的。  數據預處理神經機器翻譯模型通常基於seq2seq架構。seq2seq體系結構是一種編碼-解碼體系結構,由兩個LSTM網絡組成:編碼LSTM和解碼LSTM。 在我們的數據集中,我們不需要處理輸入,但是,我們需要生成翻譯後的句子的兩個副本:一個帶有句子開始標記,另一個帶有句子結束標記。
  • 乾貨分享丨一文詳解常規RNA-seq與3'mRNAseq優勢與局限
    然而與RNA-seq相比,晶片技術的局限性就顯而易見了:1. 晶片技術須依賴已知的基因組信息,在探索性研究和非模式生物的研究中存在局限性;而RNA-seq在這方面優勢明顯,它不需要預先設計探針,因此得到的數據集是無偏倚的,實現了無假設的實驗設計[1,2],為未知轉錄本和變異發現研究提供了強有力的工具,這是晶片無法實現的。2.
  • 【The Plant Cell 】玉米轉錄因子的RNA-seq和CHIP-seq聯合分析
    本研究採用RNA-seq和CHIP-seq分別從整個轉錄水平和全基因組水平研究Opaque2突變型玉米的表達情況並搜索O2在全基因組水平的DNA位點情況,聯合兩者分析可以揭示差異基因是否為O2所調控。研究思路: 1)取材: Opaque2突變型(實驗組)和野生型(對照組)純合玉米授粉15天後的胚乳,每種3個生物學重複2)建庫測序:RNA-seq和CHIP-seq 平臺:Illumina HiSeq 2500