机器学习

Image captioning评价方法之ROUGE-L

2022-03-16  本文已影响0人  ce0b74704937

文章地址:ROUGE: A Package for Automatic Evaluation of Summaries

代码地址(非官方):https://github.com/tylin/coco-caption

文章由University of Southern California发表在2004ACL上。

ROUGE为 Re�call-Oriented Understudy for Gisting Evaluation的缩写。文章ROUGE提出了用来评价文本摘要算法的评价集,里面包含了四个评价算法,分别为ROUGE-N、ROUGE-L、ROUGE-W、ROUGE-S。在image-captioning中采用了其中的ROUGE-L评价方法。

一、LCS的定义

在解释ROUGE-L之前,先解释一下LCS(Longest Common Subsequence)的含义。

当有一个序列Z=[z_1, z_2, ..., z_n],对于另一个序列X=[x_1, x_2, ..., x_m],存在关系x_{i_j}=z_j,那么就称Z为X的子序列。其中[i_1, i_2, ..., i_k]为增序的索引,且j=1, 2, ..., k

二、Sentence-Level LCS

LCS想表达的意思是,如果两个摘要句子的LCS越大,那么两个摘要就越相似。基于这种思考本文提出基于LCS的F-measure。F-measure作为评测指标在很多任务中都有用到,它是准确率和召回率的hmean,也称为调和平均数。

对于一个长度为m的reference summary sentence X和一个长度为n的candidate summary sentence Y,基于LCS的F-measure计算方法如下:

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^2P_{lcs}}

上式中,LCS(X,Y)表示X和Y的最大公共子字符串(LCS)的长度,\beta是一个超参数。

使用LCS作为计算评测的方法由两个优势:

  1. 不用像n元组(n-gram)那类的方法,只关心连续的字符串匹配
  2. 不用像n元组那类方法,需要设置n的大小

三、image captioning中的ROUGE-L

由于image captioning中一张图片生成的一个描述Y_i,但是一张图片的参考描述存在多个X_{ij}

那么对于一张图片描述的评价结果计算如下:

R_{lcs_i}=max_j\frac{LCS(X_{ij},Y_{i})}{m_j}

P_{lcs_i}=max_j\frac{LCS(X_{ij},Y_{i})}{n_i}

F_{lcs_i}=\frac{(1+\beta^2)R_{lcs_i}P_{lcs_i}}{R_{lcs_i}+\beta^2P_{lcs_i}}

其中n_iY_{i}的长度(包含的单词数),即 n_i=len(Y_{i}),同理m_j=len(X_{ij})max_j为生成的描述在不同参考描述下求得的结果取最大值。注意对于Y_i取得R_{cls_i}P_{cls_i}时,max_j中的j可以不相同。

对于一个待评测集合来说,最终的ROUGE-L为所有的F_{lcs_i}求平均得到。

上一篇下一篇

猜你喜欢

热点阅读