PEGASUS

PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization

  • 针对文本摘要任务本身提出了新的监督式的预训练目标GSG
  • 在12个文本摘要数据集实现了SOTA(state-of-the-art)
  • 在低资源的情形下能取得不错的效果

GSG(Gap Sentence Generation)

PEGASUS

GSG做和Bert类似的处理,将mask信息的层级提高到句子(就是每次mask掉几个句子),为了更接近生成式摘要,对于masked的句子的选择应该选择对文档来说重要的句子

定义文档 D = { x i } n D=\{x_i\}_n D={xi}n,选择重要句子(Gap Sentence)的策略

  • 1、random:随机选择m个句子作为Gap Sentence

  • 2、lead:选择前m个句子作为Gap Sentence

  • 3、Principal:根据重要性选择重要性前m的句子作为Gap Sentence

重要性的判别,作者提出以下方法:

  • 1、独立判别(Ind):每个句子独立计算ROUGE1-F1分数作为重要性
    s i = r o u g e ( x i , D / { x i } ) s_i=rouge(x_i,D/\{x_i\}) si=rouge(xi,D/{xi})

  • 2、连续判断(Seq):通过贪婪最大化选定句子集与文档中剩余句子之间的ROUGE-F1分数,直到选出m个句子

    • PEGASUS

在计算Rouge-F1的时候,作者还把n-grams分成两种

  • 1、Uniq:n-grams的无重复集合
  • 2、Orig:和原文重复计算的n-grams集合
    • PEGASUS

ROUGE

ROUGE: A Package for Automatic Evaluation of Summaries

Rouge-N

R o u g e − N = ∑ S ∈ { R e f e r e m c e S u m m a r i e s } ∑ g r a m n ∈ S C o u n t m a t c h ( g r a m n ) ∑ S ∈ { R e f e r e m c e S u m m a r i e s } ∑ g r a m n ∈ S C o u n t ( g r a m n ) Rouge-N=\frac{\sum_{S\in \{ReferemceSummaries\}}\sum_{gram_n\in S}Count_{match}(gram_n)}{\sum_{S\in \{ReferemceSummaries\}}\sum_{gram_n\in S}Count(gram_n)} RougeN=S{ReferemceSummaries}gramnSCount(gramn)S{ReferemceSummaries}gramnSCountmatch(gramn)

  • 分母是n-gram的个数

  • 分子式参考摘要和自动摘要(生成的摘要)共有的n-gram的个数

    • 对于精确率更关心的是召回率
  • 例:

    • 自动摘要:the cat was found under the bed

    • 参考摘要:the cat was under the bed

    • # 1-gram reference 1-gram 2-gram reference 2-gram
      1 the the the cat the cat
      2 cat cat cat was cat was
      3 was was was found was under
      4 found under found under under the
      5 under the under the the bed
      6 the bed the bed
      7 bed
      count 7 6 6 5
  • R o u g e − 1 = 6 6 = 1.0 Rouge-1 = \frac{6}{6}=1.0 Rouge1=66=1.0

  • R o u g e − 2 = 4 5 = 0.8 Rouge-2=\frac{4}{5}=0.8 Rouge2=54=0.8

Rouge-L

R l c s = L C S ( X , Y ) m P l c s = L C S ( X , Y ) n F l c s = ( 1 + β 2 ) R l c s P l c s R l c s + β 2 P l c s R_{lcs}=\frac{LCS(X,Y)}{m}\\ P_{lcs}=\frac{LCS(X,Y)}{n}\\ F_{lcs}=\frac{(1+\beta^2)R_{lcs}P_{lcs}}{R_{lcs}+\beta^2 P_{lcs}} Rlcs=mLCS(X,Y)Plcs=nLCS(X,Y)Flcs=Rlcs+β2Plcs(1+β2)RlcsPlcs

  • m , n m,n m,n表示人工摘要和自动摘要的长度,LCS表示最长公共子序列的长度
    • LCS的优点就是不需要连续匹配,只反映了句子级词序的顺序匹配,自动包含了最长顺序用的n-gram,不需要预测n-gram;缺点:没考虑短序列的匹配
  • R l c s R_{lcs} Rlcs就是召回率, P l c s P_{lcs} Plcs就是准确率,然后 F l c s F_{lcs} Flcs就是加权的F1-score(这个就是 P l c s P_{lcs} Plcs R l c s R_{lcs} Rlcs的加权调和平均)

Rouge-W

  • 带权重的最长公共子序列匹配(WLCS)

PEGASUS

  • 上图Y1和Y2和X有相同的Rouge-L分数,但是明显Y1会比Y2好一点

我们使用二维的动态规划, O ( n 2 ) O(n^2) O(n2)来解决这个问题

PEGASUS

  • c ( i , j ) c(i,j) c(i,j)表示X匹配到第i个,Y匹配到第j个的WLCS分数
  • w ( i , j ) w(i,j) w(i,j)表示 c ( i , j ) c(i,j) c(i,j)对应的WLCS的长度
  • f ( i ) f(i) f(i)表示长度为i的LCS所表示的分数

R w l c s = f − 1 ( W L C S ( X , Y ) f ( m ) ) P w l c s = f − 1 ( W L C S ( X , Y ) f ( n ) ) F w l c s = ( 1 + β 2 ) R w l c s P w l c s R w l c s + β 2 P w l c s R_{wlcs}=f^{-1}(\frac{WLCS(X,Y)}{f(m)})\\ P_{wlcs}=f^{-1}(\frac{WLCS(X,Y)}{f(n)})\\ F_{wlcs}=\frac{(1+\beta^2)R_{wlcs}P_{wlcs}}{R_{wlcs}+\beta^2 P_{wlcs}} Rwlcs=f1(f(m)WLCS(X,Y))Pwlcs=f1(f(n)WLCS(X,Y))Fwlcs=Rwlcs+β2Pwlcs(1+β2)RwlcsPwlcs

Rouge-S

  • 使用了skip-grams
    • 在匹配的时候,不要求gram是连续的,可以跳过几个单词,比如skip-bigram:在产生grams时,最多跳过两个词

实验

  • 消融实验:包括了预训练语料库、预训练目标、词表大小的三方面

    • PEGASUS

    • 消融实验展示了,预训练任务以及数据越接近下游任务则下游任务的表现越好

  • 对比不同的GSG策略,发现Ind-Orig是最好的组合

  • PEGASUS