当前位置: 首页 > 工具软件 > Rouge > 使用案例 >

ROUGE的理解

鲁斯伯
2023-12-01

ROUGE的理解

ROUGE表示Recall-Oriented Understudy for Gisting Evaluation,这是在文本摘要以及机器翻译中重要的评价指标。它通过将自动产生的摘要或翻译与一组参考摘要(通常是人工产生的)进行比较来工作。

目前在文本摘要任务中最常用的评价方法是ROUGERecall-Oriented Understudy for Gisting Evaluation,来源于2003的paper Automatic Evaluation of Summaries Using N-gram Co-Occurrence Statistics

ROUGE受到了机器翻译自动评价方法BLEU的启发,不同之处在于,采用召回率来作为指标。基本思想是将模型生成的摘要与参考摘要的n元组贡献统计量作为评判依据。

最常用的Rouge评价指标为ROUGE-1、ROUGE-2和ROUGE-L

ROUGE-N

这个指标计算生成的摘要与标注摘要的n-gram召回率,通常用ROUGE-1/2来评估

ROUGE-L
这个指标表达的是匹配两个文本单元之间的最长公共序列(LCS,Longest Common Sub sequence)。

ROUGE-W

这个指标计算加权的LCS。

ROUGE-S

计算跳二元组(skip-bigram)同现统计量。和ROUGE-2有什么区别?

ROUGE自动评测方法最大的优点是不依赖语言处理工具缺点是死板,不够灵活,没有考虑语义层次上的匹配。可以考虑用word embedding来做语义层次上的评判,而不仅仅是n-gram的匹配。

程序包的选择

1)pyrouge

https://github.com/andersjo/pyrouge

https://github.com/bheinzerling/pyrouge

安装过程繁琐,能计算rouge 1/2/3/4/5/L

2)rouge

https://github.com/pltrdy/rouge

安装过程简单,只能计算rouge1/2/L

#Precision和Recall

例如对于以下的例子而言:

系统摘要(机器预测的摘要):the cat was found under the bed

参考摘要:the cat was under the bed

如果仅考虑单个单词,则系统摘要和参考摘要之间的重叠单词数为6。为了获得更合理的评价,还可以使用 精准度(Precision)和召回率(Recall) 等。

Recall意味着“有多少参考摘要被系统摘要所捕获/覆盖”,计算公式为 被 覆 盖 的 单 词 数 量 参 考 摘 要 单 词 总 数 \frac{被覆盖的单词数量}{参考摘要单词总数}

在上述例子中, R e c a l l = 6 6 = 1 Recall=\frac{6}{6}=1 Recall=66=1,这意味着所有在参考摘要中的单词都被预测出来了。

但是只有Recall这么一个评价指标是不够的,因为参考摘要可以非常长,这样就会导致为了覆盖所有参考摘要的单词而使得系统摘要预测出很多没有用的单词,从而产生没有必要的冗余。

Precision意味着“系统摘要中到底有多是必要的”,计算公式为 被 覆 盖 的 单 词 数 量 系 统 摘 要 单 数 总 数 \frac{被覆盖的单词数量}{系统摘要单数总数}

在上述例子中, P r e c i s i o n = 6 7 = 0.86 Precision=\frac{6}{7}=0.86 Precision=76=0.86,这意味着在系统摘要中有6/7个单词是与事实相关的,或者说是必要的。

系统摘要2: the tiny little cat was found under the big funny bed

对于系统摘要2, P r e c i s i o n = 6 11 = 0.55 Precision=\frac{6}{11}=0.55 Precision=116=0.55

通常对于Precision和Recall,还需要计算F1值来表示综合的性能。

ROUGE-N

例如,ROUGE-1表示系统摘要和参考摘要之间的单个单词组合重叠。 ROUGE-2表示系统摘要和参考摘要之间的双单词重叠。 让我们从上面举个例子。 假设我们要计算ROUGE-2精度和召回得分。

系统摘要(机器预测的摘要):the cat was found under the bed

参考摘要:the cat was under the bed

系统摘要的双单词:

the cat, 
cat was, 
was found, 
found under, 
under the, 
the bed

参考摘要中的双单词:

the cat, 
cat was, 
was under, 
under the, 
the bed

所以ROUGE-2 recall为 R e c a l l = 4 5 = 0.8 Recall=\frac{4}{5}=0.8 Recall=54=0.8,precision为 P r e c i s i o n = 4 6 = 0.67 Precision=\frac{4}{6}=0.67 Precision=64=0.67

ROUGE-N - 评价指标 unigram, bigram, trigram 和更高的 n-gram 重叠来计算。

ROUGE-L

L即是LCS(longest common subsequence,最长公共子序列)的首字母,因为Rouge-L使用了最长公共子序列。

使用LCS的一个优点是,它不需要连续匹配,但是需要按顺序进行匹配,以反映句子级别的单词顺序。 由于它自动包含最长的顺序公共n-gram,因此不需要预定义的n-gram长度。

计算公式如下:

R R O U G E − L = L C S ( 系 统 摘 要 , 参 考 摘 要 ) 参 考 摘 要 单 词 总 数 R_{ROUGE-L}=\frac{LCS(系统摘要,参考摘要)}{参考摘要单词总数} RROUGEL=LCS()

P R O U G E − L = L C S ( 系 统 摘 要 , 参 考 摘 要 ) 系 统 摘 要 单 词 总 数 P_{ROUGE-L}=\frac{LCS(系统摘要,参考摘要)}{系统摘要单词总数} PROUGEL=LCS()

F 1 R O U G E − L = 2 R R O U G E − L P R O U G E − L R R O U G E − L + P R O U G E − L F1_{ROUGE-L}=\frac{2R_{ROUGE-L}P_{ROUGE-L}}{R_{ROUGE-L}+P_{ROUGE-L}} F1ROUGEL=RROUGEL+PROUGEL2RROUGELPROUGEL

参考链接

http://text-analytics101.rxnlp.com/2017/01/how-rouge-works-for-evaluation-of.html

 类似资料: