Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 BLEU分数:;我可以用nltk.translate.bleu\u score.句子bleu\u计算bleu的中文分数吗_Python 2.7_Nltk_Bleu - Fatal编程技术网

Python 2.7 BLEU分数:;我可以用nltk.translate.bleu\u score.句子bleu\u计算bleu的中文分数吗

Python 2.7 BLEU分数:;我可以用nltk.translate.bleu\u score.句子bleu\u计算bleu的中文分数吗,python-2.7,nltk,bleu,Python 2.7,Nltk,Bleu,如果我有中文词表:like reference=['我', '是', '好' ,'人'], 假设=['我', '是', '善良的','人] . 我可以用:nltk.translate.bleu\u score.句子bleu\u(参考文献,假设)进行中文翻译吗?它和英语一样?日语呢? 我的意思是如果我有像英语一样的单词表(中文和日语)。谢谢!TL;DR 对 长期 BLEU分数衡量n-gram及其对语言的不可知性,但它取决于语言句子可以分割成标记这一事实。因此,是的,它可以比较汉语/日语 注意在句

如果我有中文词表:like reference=['我', '是', '好' ,'人'], 假设=['我', '是', '善良的','人] . 我可以用:nltk.translate.bleu\u score.句子bleu\u(参考文献,假设)进行中文翻译吗?它和英语一样?日语呢? 我的意思是如果我有像英语一样的单词表(中文和日语)。谢谢!

TL;DR 对


长期 BLEU分数衡量n-gram及其对语言的不可知性,但它取决于语言句子可以分割成标记这一事实。因此,是的,它可以比较汉语/日语

注意在句子层面使用BLEU分数的注意事项。BLEU的创建从来没有考虑过句子层面的比较,下面是一个很好的讨论:

最有可能的是,当你有很短的句子时,你会看到警告

>>> from nltk.translate import bleu
>>> ref = '我 是 好 人'.split()
>>> hyp = '我 是 善良的 人'.split()
>>> bleu([ref], hyp)
/usr/local/lib/python2.7/site-packages/nltk/translate/bleu_score.py:490: UserWarning: 
Corpus/Sentence contains 0 counts of 3-gram overlaps.
BLEU scores might be undesirable; use SmoothingFunction().
  warnings.warn(_msg)
0.7071067811865475
您可以使用中的平滑函数来克服短句

>>> from nltk.translate.bleu_score import SmoothingFunction
>>> smoothie = SmoothingFunction().method4
>>> bleu([ref], hyp, smoothing_function=smoothie)
0.2866227639866161

你为什么不自己试试呢=(thanks@alvas你真好!根据你的回答,语料库是一样的。