Image captioning评价方法之ROUGE-L

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

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

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

ROUGE为 Recall-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 ] Z=[z_1, z_2, ..., z_n] Z=[z1,z2,...,zn],对于另一个序列 X = [ x 1 , x 2 , . . . , x m ] X=[x_1, x_2, ..., x_m] X=[x1,x2,...,xm],存在关系 x i j = z j x_{i_j}=z_j xij=zj,那么就称Z为X的子序列。其中 [ i 1 , i 2 , . . . , i k ] [i_1, i_2, ..., i_k] [i1,i2,...,ik]为增序的索引,且 j = 1 , 2 , . . . , k j=1, 2, ..., 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 l c s = L C S ( X , Y ) m R_{lcs}=\frac{LCS(X,Y)}{m} Rlcs=mLCS(X,Y)

P l c s = L C S ( X , Y ) n P_{lcs}=\frac{LCS(X,Y)}{n} Plcs=nLCS(X,Y)

F l c s = ( 1 + β 2 ) R l c s P l c s R l c s + β 2 P l c s F_{lcs}=\frac{(1+\beta^2)R_{lcs}P_{lcs}}{R_{lcs}+\beta^2P_{lcs}} Flcs=Rlcs+β2Plcs(1+β2)RlcsPlcs

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

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

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

三、image captioning中的ROUGE-L

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

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

R l c s i = m a x j L C S ( X i j , Y i ) m j R_{lcs_i}=max_j\frac{LCS(X_{ij},Y_{i})}{m_j} Rlcsi=maxjmjLCS(Xij,Yi)

P l c s i = m a x j L C S ( X i j , Y i ) n i P_{lcs_i}=max_j\frac{LCS(X_{ij},Y_{i})}{n_i} Plcsi=maxjniLCS(Xij,Yi)

F l c s i = ( 1 + β 2 ) R l c s i P l c s i R l c s i + β 2 P l c s i F_{lcs_i}=\frac{(1+\beta^2)R_{lcs_i}P_{lcs_i}}{R_{lcs_i}+\beta^2P_{lcs_i}} Flcsi=Rlcsi+β2Plcsi(1+β2)RlcsiPlcsi

其中 n i n_i ni Y i Y_{i} Yi的长度(包含的单词数),即 n i = l e n ( Y i ) n_i=len(Y_{i}) ni=len(Yi),同理 m j = l e n ( X i j ) m_j=len(X_{ij}) mj=len(Xij) m a x j max_j maxj为生成的描述在不同参考描述下求得的结果取最大值。注意对于 Y i Y_i Yi取得 R c l s i R_{cls_i} Rclsi P c l s i P_{cls_i} Pclsi时, m a x j max_j maxj中的j可以不相同。

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

猜你喜欢

转载自blog.csdn.net/liuxiaoheng1992/article/details/120939347