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