《Microsoft COCO Captions Data Collection and Evaluation Server》論文筆記


出處:CVPR2015

Motivation

本文描述了MSCoco標題數據集及評估服務器(Microsoft COCO Caption dataset and evaluation server),最終生成了超過330,000帶標題的 images。訓練集和驗證集找了5個人力來標注,並且為了驗證標注預測的一致性,引入了評估服務器機制。評估服務器使用了BLEU, METEOR, ROUGE and CIDEr等多種評估標准。

Introduction

在介紹了之前的一些生成caption的工作后,作者非常關心是否有一種評估機制能保證生成caption的一致性(When evaluating image caption generation algorithms,it is essential that a consistent evaluation protocol is used.)。

數據集:The MS COCO caption dataset contains human generated captions for images contained in the Microsoft Common Objects in COntext(COCO) dataset

Paper Structure

First we describe the data collection process. Next, we describe the caption evaluation server and the various metrics used. Human performance using these metrics are provided. Finally the annotation format and instructions for using the evaluation server are described for those who wish to submit results.

數據(如何被)收集

MSCoco -> MSCoco Caption

MS COCO c40 每張圖片40句人工參考描述

MS COCO c5 每張圖片5句人工參考描述

Evaluation server

作者用該評估服務器來從候選caption中選取score最高的 Our goal is to automatically evaluate for an image the quality of a candidate caption  given a set of reference captions

評估機制

BLEU[1]

 BLEU是事實上的機器翻譯評測標准,n 常取1到4,基於准確率(precision)的評測。參考句子1是“the cat is on the mat”,參考句子2是“there is a cat on the mat”,而模型生成的句子是“the the the the the the the”,那么按照上述定義,考察 n=1 的情況,也就是unigram,模型生成的句子包含7個 unigram ,這7個 unigram 全部出現在了參考句子集合中,所以將得到 7/7 這樣的滿分,但是這樣的譯文顯然沒有意義。為了獲得較高的指標,模型完全可以在任何位置都去生成一個“百搭”的詞,使得分子隨着分母的增長而增長。BLEU引進了precision的計算方式來修正這個“百搭”的問題。考慮模型生成的句子 c 的全部 n-gram ,考察其中的任一 n-gram :首先計算其在 c 中出現的次數 Count(n-gram) ;然后統計其在各參考句子中分別出現的次數的最大值,將該值與 Count(n-gram) 的較小者記作該 n-gram 的匹配次數 Countclip(n-gram) 。之后,再把每個 n-gram 的計算結果累加起來,得到句子的結果。

 


{Candidates} 代表需要評測的多句譯文的集合。當n取1時,∑n-gram∈cCount(n-gram) 就是句子 c 的長度。回過頭來看上面那個例子,譯文句子的 unigram 只有“the”,它在譯文中出現了7次,故 Count(the)=7;在參考句子1中出現2次,參考句子2中出現1次,最大值為2,所以“the”的匹配次數為  Countclip(the)=min{7,2}=2 ,因此precision為 2/7 。但是這樣的計算方式仍然存在問題:比如模型生成的句子是“the cat is on”,那么從 n 不論取1、2、3還是4,得分都是1,滿分。換言之,由於評價的是precision,所以會傾向於短句子,如果模型只翻譯最有把握的片段,那么就可以得到高分,因此要對短句子進行懲罰。懲罰的方式就是在原先的評價指標值上乘一個懲罰因子(brevity penalty factor):當模型給出的譯文句子 c 的長度 lc 要比參考句子的長度 ls 長時,就不進行懲罰,即懲罰因子為1,比如說有三個參考句子的長度分別為12、15、17,模型給出的譯文句子長度為12,那么就不進行懲罰,比較的是各參考句子長度里最接近的那個;否則就懲罰:

式中的 lC 代表模型給出的測試集全部句子譯文的長度總和,lS 代表與模型給出譯文句子長度最接近的參考譯文的長度(語料級別)。綜合起來,BLEU的評分公式采用的是對數加權平均值(這是因為當n增大時評分會指數級減小),再乘上懲罰因子:

式中的 N 通常取4,權重 wn 通常取1N(幾何平均)。最終評分在0到1之間,1表示完全與人工翻譯一致。

BLEU的優點:它考慮的粒度是 n-gram 而不是詞,考慮了更長的匹配信息;

BLEU的缺點:是不管什么樣的 n-gram 被匹配上了,都會被同等對待。比如說動詞匹配上的重要性從直覺上講應該是大於冠詞的

 

ROUGE[2]

ROUGE是出於召回率來計算,所以是自動摘要任務的評價標准

METEOR[3]

 Meteor也是來評測機器翻譯的,對模型給出的譯文與參考譯文進行詞對齊,計算詞匯完全匹配、詞干匹配和同義詞匹配等各種情況的准確率、召回率和F值。首先計算 unigram 情況下的准確率 P 和召回率 R(計算方式與BLEU、ROUGE類似),得到調和均值(F值)

如果 α>1 就說明 R 的權重高。Meteor的特別之處在於,它不希望生成很“碎”的譯文:比如參考譯文是“A B C D”,模型給出的譯文是“B A D C”,雖然每個 unigram 都對應上了,但是會受到很嚴重的懲罰,懲罰因子的計算方式為

 

式中的 #chunks 表示匹配上的語塊個數,如果模型生成的譯文很碎的話,語塊個數會非常多;#unigrams_matched 表示匹配上的 unigram 個數。所以最終的評分為

 

 

CIDEr(Consensus-based image description evaluation)[4]

這個指標將每個句子都看作“文檔”,將其表示成 tf-idf 向量的形式,然后計算參考caption與模型生成的caption的余弦相似度,作為打分。換句話講,就是向量空間模型。

 

式中的 Ω 是全部 n-gram 構成的詞表。可以看出 idf 的分母部分代表的是 ωk 出現於參考caption的圖片個數。

那么,CIDEr的值可以用余弦相似度的平均值來計算:

類似於BLEU的做法:

這個指標的motivation之一是剛才提到的BLEU的一個缺點,就是對所有匹配上的詞都同等對待,而實際上有些詞應該更加重要。(參考tf-idf提取關鍵詞的算法

 

[1]K. Papineni, S. Roukos, T. Ward, and W.-J. Zhu, “Bleu: a method for automatic evaluation of machine translation,” in ACL, 2002.

[2]C.-Y. Lin, “Rouge: A package for automatic evaluation of summaries,” in ACL Workshop, 2004.

[3]M. Denkowski and A. Lavie, “Meteor universal: Language specific translation evaluation for any target language,” in EACL Workshop on Statistical Machine Translation, 2014.

[4]R. Vedantam, C. L. Zitnick, and D. Parikh, “Cider:Consensus-based image description evaluation,” arXiv preprint arXiv:1411.5726, 2014.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM