首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BLEU分数:我可以用nltk.translate.bleu_score.sentence_bleu计算bleu的中文分数吗?

BLEU分数:我可以用nltk.translate.bleu_score.sentence_bleu计算bleu的中文分数吗?
EN

Stack Overflow用户
提问于 2017-09-27 09:46:23
回答 1查看 9.7K关注 0票数 4

如果我有中文单词列表:喜欢引用=‘我’,‘是’,‘好’,‘人’,假设=‘我’,‘是’,‘善良的’,‘人’。我能用: nltk.translate.bleu_score.sentence_bleu(references,假说翻译中文吗?它和英语一样吗?日本人怎么样?我的意思是,如果我有单词列表(中文和日语)喜欢英语。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-27 10:39:45

TL;DR

是。

长时间

BLEU分数衡量的是n克和它对语言的不可知论,但它取决于语言句子可以分裂成符号的事实。所以是的,它可以比较中日.

请注意在句子水平上使用BLEU分数的注意事项。BLEU的创作从来没有考虑过句子级别的比较,这里有一个很好的讨论:https://github.com/nltk/nltk/issues/1838

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

代码语言:javascript
复制
>>> 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

您可以使用score.py#L425中的平滑函数来克服短句。

代码语言:javascript
复制
>>> from nltk.translate.bleu_score import SmoothingFunction
>>> smoothie = SmoothingFunction().method4
>>> bleu([ref], hyp, smoothing_function=smoothie)
0.2866227639866161
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46444656

复制
相关文章

相似问题

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