如何解决为什么机器翻译中使用的两个相同句子的 METEOR 分数不等于 1?
我有两个相同的句子。但是 METEOR score 不是 1,而是 0.99。
代码如下:score1 = nltk.translate.meteor_score.meteor_score(sentence1,sentence2)
解决方法
在计算分块惩罚时,这似乎是一种舍入错误。它表示句子必须被分成多少个不连贯的块才能获得参考和假设之间的对齐。其目的是惩罚包含正确单词和短语的假设句子,但其顺序与参考文献中的顺序非常不同。
请参阅 paper introducing METEOR,第 2 节:
如果您通过将 gamma
设置为零来摆脱惩罚,对于相同的句子,您总是会得到 1.0:
import nltk
sentence = "This is a very long sentence."
nltk.translate.meteor_score.meteor_score([sentence],sentence,gamma=1)
# returns 0.9953703703703703
nltk.translate.meteor_score.meteor_score([sentence],gamma=0)
# returns 1.0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。