Image Caption 评价标准——ROUGE

June 18, 2017

符号定义请参考 https://arminli.com/bleu

ROUGE

ROUGE 是用来评估文本摘要算法的标准集合。其中有三个评价标准分别是:

ROUGE-N

ROUGE_N\mathrm{ROUGE}\_{N} 是第一个 ROUGE 标准,给定候选(candidate)句子,对于所有的参考(reference)摘要,它计算了一个简单的 nn-gram 召回:

ROUGEN(ci,Si)=jkmin(hk(ci),hk(sij))jkhk(sij)ROUGE_{N}(c_{i},S_{i})=\dfrac{\sum_{j}\sum_{k}\min(h_{k}(c_{i}),h_{k}(s_{ij}))}{\sum_{j}\sum_{k}h_{k}(s_{ij})}

其实它和 BLEU 挺像的,很好理解。

ROUGE-L

ROUGEL\mathrm{ROUGE}_{L} 是基于最长公共子序列(LCS)的度量方法。LCS 是同时出现在两个句子中且顺序相同的一组词。将两个句子的 LCS 长度记为 l(ci,sij)l(c_{i},s*{ij})ROUGEL\mathrm{ROUGE}*{L} 通过计算 F-measure 来生成:

LCS 的召回率为:

Rl=maxjl(ci,sij)sijR_{l} = \max_{j}\frac{l(c_{i},s_{ij})}{|s_{ij}|}

准确率为:

Pl=maxjl(ci,sij)ciP_{l}=\max_{j}\frac{l(c_{i},s_{ij})}{|c_{i}|}

ROUGEL(ci,Si)=(1+β2)RlPlRl+β2PlROUGE_{L}(c_{i},S_{i})=\frac{(1+\beta^2)R_{l}P_{l}}{R_{l}+\beta^2P_{l}}

其中,β\beta 一般设置为 1.2。由于使用 LCS 计算,不需要具体说明 nn-gram。

ROUGE-S

ROUGES\mathrm{ROUGE}_{S} 使用跳跃二元组(skip bi-gram),而不是 LCS 或 nn-gram。跳跃二元组是句子中的有序单词对。和 LCS 相似,单词对的两个单词可以不连续。比如说一个句子有 4 个单词,那么就会有C42=6C_{4}^{2}=6个跳跃二元组。

这里同样使用精确度和召回率来计算 F-measure 分数,假如 fk(sij)f_{k}(s_{ij}) 是句子 sijs_{ij} 的跳跃二元组数量,那么 ROUGE_S\mathrm{ROUGE}\_{S} 计算为:

Rs=maxjkmin(fk(ci),fk(sij))kfk(sij)R_{s}=\max_{j}\dfrac{\sum_{k}\min(f_{k}(c_{i}),f_{k}(s_{ij}))}{\sum_{k}f_{k}(s_{ij})} Ps=maxjkmin(fk(ci),fk(sij))kfk(ci)P_{s}=\max_{j}\dfrac{\sum_{k}\min(f_{k}(c_{i}),f_{k}(s_{ij}))}{\sum_{k}f_{k}(c_{i})} ROUGES(ci,Si)=(1+β2)RsPsRs+β2PsROUGE_{S}(c_{i},S_{i})=\frac{(1+\beta^2)R_{s}P_{s}}{R_{s}+\beta^2P_{s}}

跳跃二元组能获取长句子的结构,实际计算时单词间长度最多为 4。

References


Profile picture

Written by Armin Li , a venture capitalist. [Weibo] [Subscribe]