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)Rlcs​Plcs​​

上式中,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​​=maxj​mj​LCS(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​​=maxj​ni​LCS(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)Rlcsi​​Plcsi​​​

其中 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​​求平均得到。

上一篇:CTFHUB—信息泄露—vnc泄露


下一篇:buuctf————[WMCTF2020]easy_re