首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >句子相似度检测的BLEU评分实现

句子相似度检测的BLEU评分实现
EN

Stack Overflow用户
提问于 2011-03-22 19:22:52
回答 6查看 12.3K关注 0票数 6

我需要计算BLEU分数来判断两个句子是否相似。我看过一些文章,这些文章大多是关于测量机器翻译accuracy.But的BLEU分数。我需要一个BLEU分数来找出同一个languageEnglish中句子之间的相似度。(即)(这两个句子都是英文的).Thanks in languageEnglish。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-03-22 23:56:41

那么如果你只想算一下BLEU的分数,那就很简单了。把一个句子当作参考译文,把另一个句子当作候选译文。

票数 3
EN

Stack Overflow用户

发布于 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字符串编辑距离来比较句子的一个问题是,它没有明确地意识到单词的边界。

其他替代方案包括:

  • -这本质上是应用于单词序列而不是字符序列的Levenstein距离。它被广泛用于评分语音识别systems.
  • -这类似于单词错误率,但它允许对相邻的单词和短语进行额外的交换编辑操作。这一指标在机器翻译界变得流行起来,因为它与人类判断的相关性比其他句子相似性指标,如BLEU更好。此度量的最新变体称为bucket").
  • ,它允许使用WordNet匹配同义词,以及多词序列的释义("died“~= "kicked The that”-此度量首先计算允许对被比较的两个句子中的单词进行任意重新排序的对齐。如果有多种可能的方法来对齐句子,METEOR会选择最大限度地减少交错对齐边缘的方法。与TERp类似,METEOR允许匹配多个单词序列的WordNet同义词和释义。对齐后,该度量使用匹配单词的数量来计算两个句子之间的相似度,以计算F-α score,这是精确度和召回率的平衡度量,然后通过对对齐中出现的词序混乱程度进行惩罚来进行缩放。
票数 27
EN

Stack Overflow用户

发布于 2011-11-09 00:05:17

给你:http://code.google.com/p/lingutil/

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5390397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档