BLEU(Bilingual Evaluation Understudy )は、ある自然言語から別の自然言語へ機械翻訳されたテキストの品質を評価するためのアルゴリズムです。品質とは、機械の出力と人間の出力との一致度合いであると考えられています。「機械翻訳がプロの人間による翻訳に近いほど、品質が高い」というのがBLEUの根底にある考え方です。2001年にIBMで開発されたBLEUは、人間の品質判断と高い相関関係があると主張する最初の指標の1つでした。そして、最も人気があり、かつ安価な自動化された指標の一つであり続けている。
個々の翻訳セグメント(一般的には文)について、質の高い参照翻訳のセットと比較することでスコアが算出されます。これらのスコアはコーパス全体で平均化され、翻訳全体の品質の推定値が得られます。理解しやすさや文法的な正確さは考慮されません。
BLEUの出力は常に0から1の間の数値です。この値は、候補テキストが参照テキストとどれだけ類似しているかを示し、1に近いほど類似度が高いことを意味します。人間の翻訳でスコアが1になるケースはほとんどありません。なぜなら、スコアが1になるということは、候補テキストが参照翻訳のいずれかと完全に一致することを意味するからです。そのため、スコアが1になる必要はありません。参照翻訳を追加することで、一致する可能性が高まるため、BLEUスコアは向上します。
BLEUスコアを定義する基本的な最初の試みでは、2つの引数を取ります。候補文字列参照文字列のリストその考えは、1に近い値になるはずですに似ていますそうでなければ、0に近い値になります。
例えるなら、BLEUスコアは、語学教師が学生の翻訳の質を採点しようとするようなものです。参考解答にどれだけ忠実に従っているかを確認する。
自然言語処理では、多数の候補文字列を評価する必要があるため、BLEUスコアをM個の候補文字列のリスト(「コーパス」と呼ばれる)がある場合に一般化する必要がある。、そして各候補文字列について参照候補文字列のリスト。
任意の文字列が与えられた場合、任意の整数、そのn-グラムの集合を次のように定義します。これは重複要素を許容する多重集合ではなく、一意の要素の集合であることに注意してください。たとえば、。
任意の2つの文字列が与えられた場合部分文字列のカウントを定義しますの出現回数部分文字列として。 例えば、。
次に、候補コーパスを修正します。参照候補コーパスそれぞれ。
修正n-gram精度関数を次のように定義する。複雑に見える修正n-gramは、典型的なケース(1つの候補文と1つの参照文)を単純に一般化したものです。この場合、この式にたどり着くために、まず最も分かりやすいnグラムカウントの合計から始めます。 この量は、参照文中の n-グラムが候補文によって再現される数を表します。n-グラムではなく、n-部分文字列を数えることに注意してください。たとえば、、すべての 2 部分文字列(ab と ba) はそれぞれ3回ずつなので、合計は2回ではなく6回です。
しかし、上記の場合、候補文字列が短すぎます。1つしか含まれていないため、それを修正するために最小値関数を追加します。このカウントの合計は正規化されていないため、文間の比較には使用できません。参照文と候補文の両方が長い場合、候補文の質が非常に低くてもカウントが大きくなる可能性があります。そのため、正規化を行います。正規化によって、常に数値になりますこれにより、コーパス間の意味のある比較が可能になります。候補内の n 部分文字列が参照内のいずれにも含まれていない場合は 0 になります。候補内のすべての n グラムが、少なくとも候補内の回数以上参照内に現れる場合は 1 になります。特に、候補が参照の部分文字列である場合は 1 になります。
修正されたn-gram精度は、「電報式」の候補文字列、つまり参照文字列のすべてのn-gramを含みながらも、その出現回数が可能な限り少ない文字列に対して、不当に高いスコアを与えます。
候補文字列が短すぎる場合にペナルティを課すために、簡潔性ペナルティを次のように定義します。どこは、。
は候補コーパスの長さ、つまり、どこの長さは。
は有効な参照コーパスの長さ、つまり、どこつまり、その長さは可能な限り。
BLEUには単一の定義はなく、重みベクトルによってパラメータ化された一連の定義が存在する。これは確率分布ですつまり、、 そして。
選択肢はBLEUスコアは簡単に言うと、これは修正されたすべてのn-gram精度の加重幾何平均に、簡潔性ペナルティを乗じたものです。複数のn-gram精度において同時に優れた候補コーパスを強く優先するため、加重算術平均ではなく加重幾何平均を使用します。
これは、Papineni et al. (2002) による以下の例で示されています。
候補翻訳の7つの単語はすべて参照翻訳に含まれています。したがって、候補テキストには次の単語精度が与えられます。
どこは、候補語のうち参照語に見られる語数であり、これは候補文に含まれる単語の総数です。上記の候補翻訳文は参照元の内容をほとんど保持していないにもかかわらず、これは満点です。
BLEUが行う修正は非常に単純です。候補翻訳の各単語について、アルゴリズムは最大合計カウントを取得します。参照翻訳のいずれにおいても。上記の例では、「the」という単語は参照1で2回、参照2で1回出現します。したがって。
候補翻訳の場合、カウント各単語の は最大で切り取られますその単語に対して。この場合、「the」はそして、 したがって2に切り捨てられます。これらの切り捨てられたカウント次に、候補に含まれるすべての異なる単語について合計します。この合計を、候補翻訳に含まれる単語の総数で割ります。上記の例では、修正後の単語精度スコアは次のようになります。
しかし実際には、個々の単語を比較単位として使用することは最適ではありません。代わりに、BLEU はn-gram を使用して同じ修正精度指標を計算します。「単一言語の人間の判断と最も高い相関関係を持つ」長さ4であることがわかった。単語単位のスコアは、翻訳の適切さ、つまりどれだけの情報が保持されているかを示すことがわかっている。より長いn-グラムのスコアは、翻訳の流暢さ、つまり「良い英語」のように読める程度を示す。
上記と同じ参照箇所に対する翻訳候補の例としては、以下のようなものが考えられます。
この例では、修正された単語精度は次のようになります。
候補語には「the」と「cat」がそれぞれ1回ずつ出現し、単語の総数は2つです。修正されたバイグラムの精度は次のようになります。バイグラムとして、「the cat」は候補の中に1回出現する。この問題を克服するために、精度は通常、再現率とセットで評価されることが指摘されている。この例の単語想起率はまたは問題は、参照翻訳が複数あるため、不適切な翻訳でも再現率が過大評価される可能性があることです。例えば、各参照に含まれるすべての単語で構成された翻訳などがこれに該当します。
コーパス全体のスコアを生成するために、セグメントの修正精度スコアは、幾何平均に簡潔性ペナルティを乗じて結合され、非常に短い候補が過度に高いスコアを受け取るのを防ぎます。参照コーパスの全長をr 、翻訳コーパスの全長をc とします。簡潔性ペナルティが適用されます。(参照文が複数ある場合、rは候補文の長さに最も近い文の長さの合計とみなされます。ただし、 2009年以前のNIST評価で使用されていた指標のバージョンでは、最短の参照文が代わりに使用されていました。)
iBLEUはBLEUのインタラクティブ版であり、ユーザーは候補となる翻訳によって得られたBLEUスコアを視覚的に確認できます。また、2つの異なるシステムを視覚的かつインタラクティブな方法で比較できるため、システム開発に役立ちます。
BLEUは人間の判断力とよく相関すると頻繁に報告されている。そして、あらゆる新しい評価指標を評価する際のベンチマークであり続けている。しかしながら、いくつかの批判も寄せられている。BLEUは原則としてあらゆる言語の翻訳を評価できるものの、現状では単語境界のない言語には対応できないことが指摘されている。複数の参照翻訳に使用するように設計されていますが、実際には単一の参照翻訳にのみ使用されます。[ 2 ] BLEU はトークン化手法に大きく依存しており、異なる手法で得られたスコアは比較できません (これはしばしば見落とされます)。再現性と比較可能性を向上させるために、SacreBLEU バリアントが設計されました。[ 2 ]
BLEUには大きな利点があるものの、BLEUスコアの上昇が翻訳の質の向上を示す指標となる保証はない、という意見もある。