简介
ROUGE 指标的全称是 (Recall-Oriented Understudy for Gisting Evaluation),主要是基于召回率 (recall) 的。ROUGE 是一种常用的机器翻译和文章摘要评价指标。
ROUGE-N
ROUGE-N 主要统计 N-gram 上的召回率
公式的分母是统计在
参考译文
中 N-gram 的个数,而分子是统计
参考译文
与
机器译文
共有的 N-gram 个数。(所以是recall。总共有若干个阳性样本,看你的方法能够找出多少个阳性的)
例如:
机器译文: a cat is on the table
参考译文: there is a cat on the table
如果给定多个参考译文,例如有M 个译文 S1, …, SM。ROUGE-N 会分别计算机器译文和这些参考译文的 ROUGE-N 分数,并取其
最大值
.
ROUGE-L
ROUGE-L 计算的时候使用了机器译文和参考译文的
最长公共子序列
. C表示机器译文、S表示参考译文。R_LCS就是Recall,P_LCS就是precision(用我的方法翻译出来的n-gram,有多少是对的?)。
F_LCS 就是 ROUGE-L。一般 beta 会设置为很
大
的数,因此 F_LCS 几乎只考虑了
R_LCS
(recall)。F_LCS的公式也可以写成如下形式:
更清楚的看出,当beta很大的时候,P_LCS可以忽略不计了。
应用
pip install rouge
from rouge import Rouge
rouge=Rouge().get_scores(hyps=hypothesis,refs=reference,avg=True) ##hypothesis和reference可以是列表.
print(rouge)