machine-learning - mteval-v13a.pl 和 NLTK BLEU 有什么区别?

标签 machine-learning nlp nltk machine-translation bleu

Python NLTK中有BLEU评分的实现, nltk.translate.bleu_score.corpus_bleu

但我不确定它是否与 mtevalv13a.pl script 相同.

它们有什么区别?

最佳答案

TL;DR

使用https://github.com/mjpost/sacrebleu在评估机器翻译系统时。

简而言之

不,NLTK 中的 BLEU 与 mteval-13a.perl 并不完全相同。

但它可以非常接近,请参阅 https://github.com/nltk/nltk/issues/1330#issuecomment-256237324

nltk.translate.corpus_bleu corresponds to mteval-13a.pl up to the 4th order of ngram with some floating point discrepancies

详细的比较和使用的数据集可以从https://github.com/nltk/nltk_data/blob/gh-pages/packages/models/wmt15_eval.zip下载或:

import nltk
nltk.download('wmt15_eval')

主要区别:

enter image description here

<小时/>

mteval-13a.plnltk.translate.corpus_bleu 之间有几个区别:

除了差异之外,NLTK BLEU 分数还包含更多功能:

最后,为了验证 NLTK 版本的 BLEU 中添加的功能,添加了回归测试来说明它们,请参阅 https://github.com/nltk/nltk/blob/develop/nltk/test/unit/translate/test_bleu.py

关于machine-learning - mteval-v13a.pl 和 NLTK BLEU 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46084574/

相关文章:

python - Python机器学习中只有标签为真时如何计算特征百分比?

python - 如何使用 NLTK 从句子中提取特定信息

python - 在 python 中找到与目标短语相关的周围 ADJ 的任何有效方法?

java - Java 的命名实体识别库

python - 区分人名和公司名称列表

machine-learning - 多个 HDF5 文件的 HDF5 数据层定义

python-3.x - 属性错误: module 'tensorflow_core.keras.layers' has no attribute 'Conv1d'

c++ - 使用 OpenCV 作为机器学习库而不是 TensorFlow?

python - POS 标记的性能缓慢。我可以做一些预热吗?

python - nltk:如何搜索某些单词之间的联系?