PEGASUS

    科技2022-08-03  111

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

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

    GSG(Gap Sentence Generation)

    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个句子

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

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

    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-gramreference 1-gram2-gramreference 2-gram1thethethe catthe cat2catcatcat wascat was3waswaswas foundwas under4foundunderfound underunder the5undertheunder thethe bed6thebedthe bed7bedcount7665

    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)

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

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

    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时,最多跳过两个词

    实验

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

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

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

    Processed: 0.012, SQL: 8