我需要计算BLEU分数来判断两个句子是否相似。我看过一些文章,这些文章大多是关于测量机器翻译accuracy.But的BLEU分数。我需要一个BLEU分数来找出同一个languageEnglish中句子之间的相似度。(即)(这两个句子都是英文的).Thanks in languageEnglish。
发布于 2011-03-22 23:56:41
那么如果你只想算一下BLEU的分数,那就很简单了。把一个句子当作参考译文,把另一个句子当作候选译文。
发布于 2011-03-24 01:56:01
用于句子级别的比较,使用平滑的BLEU
用于机器翻译评估的标准BLEU分数(BLEU:4)只有在语料库级别才真正有意义,因为任何没有至少一个4-gram匹配的句子都将被给予0分数。
之所以会发生这种情况,是因为从本质上讲,“BLEU”实际上只是n元语法精确度的,它通过简短的惩罚来防止带有匹配材料的非常短的句子被给予不适当的高分。由于几何平均值是通过将要包括在平均值中的所有项相乘来计算的,因此对于任何n元字母组计数具有零将导致整个分数为零。
如果你想将BLEU应用于单个句子,你最好使用平滑的BLEU (Lin and Och 2004 -参见sec。4),在计算n元语法精度之前,将n元语法计数加1。这将防止任何n-gram精度为零,因此,即使没有任何4-gram匹配,也将导致非零值。
Java实现
您可以在斯坦福机器翻译包中找到BLEU和平滑BLEU的Java实现。
替代方案
正如Andreas已经提到的,您可能希望使用替代评分指标,如。然而,使用传统的Levenstein字符串编辑距离来比较句子的一个问题是,它没有明确地意识到单词的边界。
其他替代方案包括:
发布于 2011-11-09 00:05:17
给你:http://code.google.com/p/lingutil/
https://stackoverflow.com/questions/5390397
复制相似问题