Image Caption 评价标准——ROUGE
June 18, 2017
符号定义请参考 https://arminli.com/bleu
ROUGE
ROUGE 是用来评估文本摘要算法的标准集合。其中有三个评价标准分别是:
ROUGE-N
ROUGE_N 是第一个 ROUGE 标准,给定候选(candidate)句子,对于所有的参考(reference)摘要,它计算了一个简单的 n-gram 召回:
ROUGEN(ci,Si)=∑j∑khk(sij)∑j∑kmin(hk(ci),hk(sij))
其实它和 BLEU 挺像的,很好理解。
ROUGE-L
ROUGEL 是基于最长公共子序列(LCS)的度量方法。LCS 是同时出现在两个句子中且顺序相同的一组词。将两个句子的 LCS 长度记为 l(ci,s∗ij) ,ROUGE∗L 通过计算 F-measure 来生成:
LCS 的召回率为:
Rl=jmax∣sij∣l(ci,sij)
准确率为:
Pl=jmax∣ci∣l(ci,sij)
则
ROUGEL(ci,Si)=Rl+β2Pl(1+β2)RlPl
其中,β 一般设置为 1.2。由于使用 LCS 计算,不需要具体说明 n-gram。
ROUGE-S
ROUGES 使用跳跃二元组(skip bi-gram),而不是 LCS 或 n-gram。跳跃二元组是句子中的有序单词对。和 LCS 相似,单词对的两个单词可以不连续。比如说一个句子有 4 个单词,那么就会有C42=6个跳跃二元组。
这里同样使用精确度和召回率来计算 F-measure 分数,假如 fk(sij) 是句子 sij 的跳跃二元组数量,那么 ROUGE_S 计算为:
Rs=jmax∑kfk(sij)∑kmin(fk(ci),fk(sij))
Ps=jmax∑kfk(ci)∑kmin(fk(ci),fk(sij))
ROUGES(ci,Si)=Rs+β2Ps(1+β2)RsPs
跳跃二元组能获取长句子的结构,实际计算时单词间长度最多为 4。
References