Metrik kualitas terjemahan BLEU

BLEU (Bilingual Evaluation Understudy) adalah metrik untuk mengevaluasi teks terjemahan mesin. Skor BLEU adalah angka antara nol dan satu yang mengukur kesamaan teks terjemahan mesin dengan kumpulan terjemahan referensi berkualitas tinggi:

  • Skor 0 berarti output terjemahan mesin tidak tumpang-tindih dengan terjemahan referensi, yang menunjukkan kualitas terjemahan yang rendah.
  • Skor 1 berarti ada tumpang-tindih yang sempurna dengan terjemahan referensi, yang menunjukkan kualitas terjemahan yang tinggi.

Batasan BLEU

  • BLEU adalah Metrik Berbasis Korpus. Metrik BLEU berperforma buruk jika digunakan untuk mengevaluasi kalimat secara individual. Kalimat tunggal dapat memperoleh skor BLEU yang sangat rendah, meskipun menangkap sebagian besar artinya. Karena statistik n-gram untuk tiap kalimat secara individual kurang bermakna, BLEU dirancang sebagai metrik berbasis korpus, dengan statistik diakumulasikan di seluruh korpus saat menghitung skor. Metrik BLEU tidak dapat diperhitungkan untuk kalimat individual.

  • BLEU tidak membedakan antara kata konten dan kata fungsi. Metrik BLEU tidak membedakan konten dari kata fungsi. Kata fungsi yang dihapus seperti sebuah akan mendapatkan penalti yang sama seperti jika nama NASA secara keliru diganti dengan ESA.

  • BLEU tidak pandai dalam menangkap makna dan tata bahasa kalimat. Menghilangkan satu kata seperti tidak dapat mengubah polaritas kalimat. Selain itu, dengan hanya mempertimbangkan n-gram dengan n≤4 akan mengabaikan dependensi jarak jauh, sehingga BLEU sering kali hanya memberikan penalti kecil untuk kalimat yang tidak memiliki tata bahasa yang baik.

  • BLEU mengandalkan normalisasi dan tokenisasi. Sebelum menghitung skor BLEU, terjemahan referensi dan kandidat dinormalisasi dan ditokenkan. Pilihan langkah dalam proses tersebut secara signifikan memengaruhi skor BLEU akhir.

Cara menafsirkan skor BLEU

Berikut adalah panduan kasar yang menyarankan cara menafsirkan skor BLEU yang dinyatakan sebagai persentase, bukan desimal:

Skor BLEU % Penafsiran
< 10 Hampir tidak berguna
10 - 19 Sulit untuk memahami intinya
20 - 29 Intinya jelas, tetapi memiliki kesalahan tata bahasa yang signifikan
30 - 40 Terjemahan mudah dipahami hingga cukup baik
40 - 50 Terjemahan berkualitas tinggi
50 - 60 Terjemahan berkualitas sangat tinggi, memadai, dan fasih
> 60 Kualitas terjemahan sering kali lebih baik daripada kualitas terjemahan manusia

Gradien warna berikut dapat digunakan sebagai penafsiran skor BLEU skala umum:

Penafsiran skala secara umum

Detail matematika

Secara matematis, skor BLEU didefinisikan sebagai:

$$ \text{BLEU} = \underbrace{\vphantom{\prod_i^4}\min\Big(1, \exp\big(1-\frac{\text{reference-length}} {\text{output-length}}\big)\Big)}_{\text{brevity penalty}} \underbrace{\Big(\prod_{i=1}^{4} precision_i\Big)^{1/4}}_{\text{n-gram overlap}} $$

dengan

\[ precision_i = \dfrac{\sum_{\text{snt}\in\text{Cand-Corpus}}\sum_{i\in\text{snt}}\min(m^i_{cand}, m^i_{ref})} {w_t^i = \sum_{\text{snt'}\in\text{Cand-Corpus}}\sum_{i'\in\text{snt'}} m^{i'}_{cand}} \]

di mana

  • \(m_{cand}^i\hphantom{xi}\) adalah jumlah i-gram dalam kandidat yang cocok dengan terjemahan referensi.
  • \(m_{ref}^i\hphantom{xxx}\) adalah jumlah i-gram dalam terjemahan referensi.
  • \(w_t^i\hphantom{m_{max}}\) adalah jumlah total i-gram dalam terjemahan kandidat.

Formula ini terdiri atas dua bagian: penalti penyingkatan dan tumpang-tindih n-gram.

  • Penalti penyingkatan. Penalti penyingkatan akan menghukum hasil terjemahan yang terlalu pendek dibandingkan dengan panjang referensi terdekat dengan peluruhan eksponensial. Penalti penyingkatan ini mengompensasi fakta bahwa skor BLEU tidak memiliki istilah perolehan.

  • Tumpang-tindih N-Gram. Tumpang-tindih n-gram menghitung jumlah unigram, bigram, trigram, dan empat-gram (i=1,...,4) yang cocok dengan pasangan n-gram di dalam terjemahan referensi. Istilah ini berfungsi sebagai metrik presisi. Unigram memperhitungkan kelayakan, sedangkan n-gram yang lebih panjang memperhitungkan kefasihan terjemahan. Untuk menghindari penghitungan berlebih, jumlah n-gram dipotong ke jumlah n-gram maksimal yang terjadi dalam referensi (\(m_{ref}^n\)).

Contoh: Menghitung \(precision_1\)

Pertimbangkan kalimat referensi dan terjemahan kandidat ini:

Referensi: the cat is on the mat
Kandidat: the the the cat mat

Langkah pertama adalah menghitung kemunculan tiap unigram di dalam kalimat referensi dan terjemahan kandidat. Perhatikan bahwa metrik BLEU peka terhadap huruf besar/kecil.

Unigram \(m_{cand}^i\hphantom{xi}\) \(m_{ref}^i\hphantom{xxx}\) \(\min(m^i_{cand}, m^i_{ref})\)
the 3 2 2
cat 1 1 1
is 0 1 0
on 0 1 0
mat 1 1 1

Jumlah total unigram dalam kandidat (\(w_t^1\)) adalah 5, jadi \(precision_1\) = (2 + 1 + 1)/5 = 0,8.

Contoh: Menghitung skor BLEU

Referensi:     The NASA Opportunity rover is battling a massive dust storm on Mars.
Kandidat 1: The Opportunity rover is combating a big sandstorm on Mars.
Kandidat 2: A NASA rover is fighting a massive storm on Mars.

Contoh sebelumnya terdiri dari satu referensi dan dua kandidat terjemahan. Kalimat tersebut dijadikan token sebelum menghitung skor BLEU. Misalnya, periode akhir dihitung sebagai token terpisah.

Untuk menghitung skor BLEU untuk tiap terjemahan, kita menghitung statistik berikut.

  • Presisi N-Gram. Tabel berikut berisi presisi n-gram untuk kedua kandidat.
  • Penalti Penyingkatan. Penalti penyingkatan sama untuk kandidat 1 dan kandidat 2 karena kedua kalimat terdiri atas 11 token.
  • BLEU-Score. Diperlukan minimal satu gram yang cocok dengan berat 4 gram untuk mendapatkan skor BLEU > 0. Karena kandidat terjemahan 1 tidak memiliki 4-gram yang cocok, kandidat tersebut memiliki skor BLEU 0.
Metrik Kandidat 1 Kandidat 2
\(precision_1\) (1gram) 8/11 9/11
\(precision_2\) (2gram) 4/10 5/10
\(precision_3\) (3gram) 2/9 2/9
\(precision_4\) (4gram) 0/8 1/8
Penalti Penyingkatan 0,83 0,83
Skor BLEU 0,0 0,27