BLEU是对机器生成文本的一个评估算法,其得分越高,表明评分文本越接近于人类自然语言。
BLEU试图用形式简单,复杂度低而又效果拔群的函数。虽然其理论上可以解释的通,但其优越性无疑是靠数据说话的。目前很多自然语言处理相关的论文都使用BLEU评分作为研究成果的评估标准。
Modified n-gram precision
,在References中得到每个特定的n-gram出现的最多次数,以此为上界限制得分计算的分子,即所谓的clip,见论文第3页pn的公式; II. 综合各种n-gram的得分。 其中I使得得分高的大多是含有和标准答案中相同词汇或短语的,也就是所谓的adequacy,而II肯定了较长的n-gram存在的价值,也就是所谓的fluency。当然,n-gram越长,pn越小,但长gram的价值肯定是更大的,所以为了平衡各个n-gram的得分,采用了取log然后加权的措施,其中权重论文中指明是平均权重,也就是算数平均。 整个这一部分是防范了大家从分子上hack n-gram的评分机制。Sentence brevity penalty
的措施。对于一个机器给出的句子,找到它在References中长度最接近的那个Reference的长度,作为best match length
。如果该句子的长度大于这个best match length
,那么BP(brevity penalty)值为1,否则为exp(1-r/c),其中r是best match length
,c是该句子的长度。然而这样会有一个问题,那就是对于一段话来说,如果只有某个句子是这样很短的情况,会给整体带来很大的惩罚效果,不够科学。所以对Sentence brevity penalty
进行改进,改为对整段语料来评估,r是整段话中所有的best match length
之和,c值整段话中所有的句子长度之和,其BP值作为整段的BP分数,最终得到论文第五页BLEU的整体公式。 整个这一部分是防范了大家从分母上hack n-gram的评分机制。个人认为BLEU算法虽然效果不错,但针对特定的References,应该还是可以有hack手段的。没往深处去想,如有大牛有任何想法,请不吝赐教,通过留言或邮件与我交流,不胜感激~
Copyright © 2015-2016 zhyack. All Rights Reserved.
如对文章有任何疑问,请移步问题聚集区一览~