2017-09-27 2 views
1

中国語の単語リストを持っている場合:like reference = ['我'、 '是'、 '好'、 '人'] 、仮説= [「我」、「是」、「善良的」、「人」。私は中国語翻訳のために:nltk.translate.bleu_score.sentence_bleu(参照、仮説)を使用できますか?それは英語と同じですか?日本人はどうですか? 私は英語のような単語リスト(中国語と日本語)があればいいですか。ありがとう!BLEUのスコア:中国語でbleuのスコアを計算するのにnltk.translate.bleu_score.sentence_bleuを使用できますか

+0

なぜあなた自身で試してみませんでしたか? =( – alvas

答えて

1

TL; DR

はい。ロング

BLEUスコア措置nグラムや言語に依存しないが、その言語文をトークンに分割することができ、実際にその依存で


。はい、それは中国語/日本語を比較できます。

文章レベルでBLEUスコアを使用する際の注意に注意してください。文章レベルの比較を念頭に置いて作成されたことはありませんでした。ここで素敵な話題があります。https://github.com/nltk/nltk/issues/1838

おそらく、短い文章があると警告が表示されます。

>>> 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 

あなたは短い文章を克服するためにhttps://github.com/alvations/nltk/blob/develop/nltk/translate/bleu_score.py#L425に平滑化機能を使用することができます。

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

+0

ありがとう@ alvasあなたはとても親切です!あなたの答えに基づいて、corpus_bleuは同じです。 – tktktk0711

関連する問題