PEGASUS
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)} Rouge−N=∑S∈{ReferemceSummaries}∑gramn∈SCount(gramn)∑S∈{ReferemceSummaries}∑gramn∈SCountmatch(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 Rouge−1=66=1.0
-
R o u g e − 2 = 4 5 = 0.8 Rouge-2=\frac{4}{5}=0.8 Rouge−2=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=f−1(f(m)WLCS(X,Y))Pwlcs=f−1(f(n)WLCS(X,Y))Fwlcs=Rwlcs+β2Pwlcs(1+β2)RwlcsPwlcs
Rouge-S
- 使用了skip-grams
- 在匹配的时候,不要求gram是连续的,可以跳过几个单词,比如skip-bigram:在产生grams时,最多跳过两个词
实验
-
消融实验:包括了预训练语料库、预训练目标、词表大小的三方面
-
-
消融实验展示了,预训练任务以及数据越接近下游任务则下游任务的表现越好
-
-
对比不同的GSG策略,发现Ind-Orig是最好的组合
-