Dalam dunia Natural Language Processing (NLP), evaluasi merupakan kunci untuk mengukur kualitas dan efektivitas model. Metrik evaluasi menyediakan cara kuantitatif untuk menilai seberapa baik model NLP melakukan tugasnya, seperti menerjemahkan bahasa, meringkas teks, atau menjawab pertanyaan. Dengan metrik evaluasi, kita dapat membandingkan berbagai model, mengidentifikasi area yang perlu ditingkatkan, dan pada akhirnya memilih model terbaik untuk aplikasi tertentu. Artikel ini akan membahas secara mendalam beberapa metrik evaluasi yang paling umum digunakan dalam NLP, yaitu BLEU, ROUGE, dan METEOR. Selain itu, kita juga akan membahas secara singkat beberapa metrik lainnya dan membandingkan kelebihan, kekurangan, serta kasus penggunaan masing-masing metrik. Perbandingan BLEU, ROUGE dan METEOR akan di jelaskan secara detail.
BLEU (Bilingual Evaluation Understudy)
BLEU (Bilingual Evaluation Understudy) adalah metrik evaluasi yang dirancang untuk mengukur kualitas teks yang dihasilkan oleh sistem machine translation. BLEU bekerja dengan membandingkan n-gram dari output sistem (candidate) dengan n-gram dari teks referensi (reference). Skor BLEU berkisar antara 0 dan 1, di mana skor yang lebih tinggi menunjukkan kesamaan yang lebih besar antara output sistem dan teks referensi, yang mengindikasikan kualitas terjemahan yang lebih baik. BLEU Score NLP banyak digunakan dalam Evaluasi Machine Translation.
Cara Kerja dan Perhitungan BLEU
BLEU menghitung skor berdasarkan presisi n-gram yang dimodifikasi dan faktor brevity penalty (BP). Berikut adalah rumus perhitungan BLEU:
BLEU = BP * exp( Σ (wn * log(pn) ) )
dengan:
- pn: Presisi n-gram yang dimodifikasi untuk n-gram dengan panjang n.
- wn: Bobot untuk setiap n-gram (biasanya seragam, wn = 1/N).
- N: Panjang n-gram maksimum (biasanya 4).
- BP: Brevity Penalty, yang menghukum terjemahan yang terlalu pendek.
1. Presisi n-gram yang Dimodifikasi (pn):
Untuk setiap n-gram dalam teks candidate, hitung berapa kali n-gram tersebut muncul dalam teks reference. Jumlah kemunculan ini kemudian dibatasi oleh jumlah maksimum kemunculan n-gram tersebut dalam satu teks referensi. Ini untuk mencegah overgeneration (pengulangan kata yang berlebihan) dari sistem agar tidak mendapatkan skor yang tinggi secara tidak adil.
2. Brevity Penalty (BP):
if c > r: BP = 1
if c <= r: BP = exp(1 - r/c)
di mana:
- c: Panjang teks candidate.
- r: Panjang teks reference (atau panjang referensi efektif, yaitu panjang referensi yang paling mendekati panjang candidate jika ada beberapa referensi).
Contoh Perhitungan:
Misalkan kita memiliki:
- Candidate: the cat is on the table
- Reference 1: the cat is on the table
- Reference 2: there is a cat on the table
1-gram precision:
- “the”: Muncul 2 kali di candidate, dan maksimum 2 kali di reference (Reference 1). Jadi, count = 2.
- “cat”: Muncul 1 kali di candidate, dan maksimum 1 kali di reference. Jadi, count = 1.
- “is”: Muncul 1 kali di candidate, dan maksimum 1 kali di reference. Jadi, count = 1.
- “on”: Muncul 1 kali di candidate, dan maksimum 1 kali di reference. Jadi, count = 1.
- “table”: Muncul 1 kali di candidate, dan maksimum 1 kali di reference. Jadi, count = 1.
Total kata dalam candidate = 6. Total clipped count = 2 + 1 + 1 + 1 + 1 = 6. Maka, p1 = 6/6 = 1.
2-gram precision:
- “the cat”: Muncul 1 kali, count = 1.
- “cat is”: Muncul 1 kali, count = 1.
- “is on”: Muncul 1 kali, count = 1.
- “on the”: Muncul 1 kali, count = 1.
- “the table”: Muncul 1 kali, count = 1.
Total 2-gram dalam candidate = 5. Total clipped count = 5. Maka, p2 = 5/5 = 1.
Jika kita hanya menghitung sampai 2-gram (N=2), dan menggunakan bobot seragam (w1 = w2 = 0.5), dan karena c = r, maka BP = 1.
BLEU = 1 * exp((0.5 * log(1)) + (0.5 * log(1))) = 1.
Kelebihan dan Kekurangan BLEU
Kelebihan:
- Relatif cepat dan mudah dihitung.
- Cukup berkorelasi dengan penilaian manusia untuk machine translation.
- Sudah banyak digunakan, sehingga memudahkan perbandingan antar model.
Kekurangan:
- Tidak memperhitungkan makna dan struktur kalimat.
- Kurang sensitif terhadap variasi kata (misalnya, sinonim).
- Lebih mengutamakan presisi daripada recall.
- Sulit diterapkan pada bahasa dengan morfologi yang kaya.
Interpretasi Skor BLEU
Skor BLEU biasanya dilaporkan dalam rentang 0-1 (atau 0-100%). Skor yang lebih tinggi menunjukkan kualitas terjemahan yang lebih baik. Namun, tidak ada interpretasi absolut untuk skor BLEU. Skor 0.3 mungkin dianggap bagus untuk satu pasangan bahasa dan buruk untuk pasangan bahasa lainnya. Penting untuk membandingkan skor BLEU dengan model lain yang dievaluasi pada dataset yang sama. Untuk meningkatkan skor, kita perlu melihat faktor seperti, arsitektur model, ukuran, kualitas data pelatihan, dan teknik pelatihan. Skor yang tinggi tak menjamin kualitas terjemahan sempurna.
ROUGE (Recall-Oriented Understudy for Gisting Evaluation)
ROUGE (Recall-Oriented Understudy for Gisting Evaluation) adalah metrik evaluasi yang umumnya digunakan untuk mengevaluasi kualitas ringkasan teks (text summarization) dan juga dapat digunakan dalam machine translation. Berbeda dengan BLEU yang berbasis presisi, ROUGE berfokus pada recall, yaitu seberapa banyak n-gram dalam teks referensi yang ditemukan dalam teks yang dihasilkan sistem. ROUGE Score NLP mengukur kesamaan antara ringkasan sistem dan ringkasan referensi.
Jenis-jenis ROUGE
Ada beberapa jenis ROUGE, yang paling umum adalah:
- ROUGE-N: Mengukur recall n-gram. Contohnya, ROUGE-1 mengukur recall unigram, ROUGE-2 mengukur recall bigram, dan seterusnya.
- ROUGE-L: Mengukur Longest Common Subsequence (LCS). LCS adalah urutan kata terpanjang yang sama antara dua teks, tanpa harus berurutan.
- ROUGE-S: Mengukur Skip-gram Co-occurrence Statistics. Skip-gram adalah pasangan kata yang berurutan dalam kalimat, dengan kemungkinan ada kata-kata lain di antaranya.
Rumus Perhitungan
ROUGE-N:
ROUGE-N = (Σ Σ count_match(n-gram)) / (Σ Σ count(n-gram))
di mana:
count_match(n-gram)
: Jumlah n-gram yang sama antara teks sistem dan teks referensi.count(n-gram)
: Jumlah n-gram dalam teks referensi.
ROUGE-L:
R = LCS(X, Y) / m
P = LCS(X, Y) / n
ROUGE-L = ( (1 + β^2) * R * P ) / (R + β^2 * P)
di mana:
-
LCS(X,Y)
: Panjang Longest Common Subsequence antara teks sistem (X) dan teks referensi (Y). m
: Panjang teks referensi.n
: Panjang teks sistem.β
: Parameter yang menentukan bobot relatif antara presisi (P) dan recall (R). Biasanya, β diatur agar lebih menekankan recall.
Contoh Perhitungan:
Misalkan:
- System: the cat is on the table
- Reference: the cat sits on the table
ROUGE-1:
- Unigram yang sama: “the” (2), “cat” (1), “is” (1), “on” (1), “table” (1).
- Total unigram dalam referensi: 6.
- ROUGE-1 = 6/6 = 1.
ROUGE-2:
- Bigram yang sama: “the cat” (1), “on the” (1), “the table” (1).
- Total bigram dalam referensi: 5.
- ROUGE-2 = 3/5 = 0.6.
ROUGE-L:
- LCS: “the cat on the table” (panjang = 5).
- m = 6 (panjang referensi).
- n = 6 (panjang sistem).
- Jika β = 1 (sama-sama mementingkan presisi dan recall): ROUGE-L = (2 * (5/6) * (5/6)) / (5/6 + 5/6) = 25/36 = 0.694.
Perbedaan antara ROUGE-1, ROUGE-2, dan ROUGE-L adalah fokusnya, ROUGE-1 berfokus pada kata-kata individual (unigram), ROUGE-2 pada pasangan kata (bigram), dan ROUGE-L pada urutan kata terpanjang.
Kelebihan dan Kekurangan ROUGE
Kelebihan:
- Lebih berorientasi pada recall, sehingga cocok untuk evaluasi ringkasan teks.
- ROUGE-L memperhitungkan urutan kata sampai batas tertentu.
- ROUGE-S memungkinkan adanya jeda antar kata.
Kekurangan:
- ROUGE-N tidak memperhitungkan urutan kata sama sekali.
- ROUGE-L mungkin kurang sensitif terhadap perubahan kecil dalam ringkasan.
- ROUGE-S mungkin memberikan skor tinggi pada ringkasan yang tidak koheren.
Interpretasi Skor ROUGE
Seperti BLEU, skor ROUGE berkisar antara 0 dan 1, dengan skor yang lebih tinggi menunjukkan kualitas yang lebih baik. Interpretasi ROUGE Score juga bergantung pada konteks dan dataset. Penting untuk membandingkan skor dengan model lain. Implementasinya menggunakan library NLP.
Baca juga: Panduan Lengkap Analisis Sentimen Twitter dengan Python dan NLTK
METEOR (Metric for Evaluation of Translation with Explicit ORdering)
METEOR (Metric for Evaluation of Translation with Explicit ORdering) adalah metrik evaluasi yang dirancang untuk mengatasi beberapa kekurangan BLEU dan ROUGE. METEOR menggunakan alignment eksplisit antara kata-kata dalam teks sistem dan teks referensi, serta mempertimbangkan sinonim dan parafrasa. METEOR Score NLP mengukur kesamaan antara output sistem dan referensi berdasarkan unigram precision, unigram recall, dan ukuran fragmentasi kalimat.
Cara Kerja dan Perhitungan METEOR
METEOR melakukan alignment antara teks sistem dan referensi berdasarkan unigram matching. Matching ini tidak hanya berdasarkan kesamaan leksikal, tetapi juga mempertimbangkan:
- Exact match: Kata-kata yang identik.
- Stem match: Kata-kata dengan akar kata (stem) yang sama.
- Synonym match: Kata-kata yang merupakan sinonim (berdasarkan WordNet atau sumber leksikal lainnya).
- Paraphrase match: Kata-kata atau frasa yang memiliki makna serupa (berdasarkan tabel parafrasa).
Setelah alignment ditemukan, METEOR menghitung skor berdasarkan:
P = m / wt
R = m / wr
F1 = (10 * P * R) / (R + 9 * P)
Pen = γ * (c / u)^θ
METEOR = F1 * (1 - Pen)
di mana:
m
: Jumlah unigram yang match.wt
: Jumlah unigram dalam teks sistem.wr
: Jumlah unigram dalam teks referensi.-
P
: Unigram Precision -
R
: Unigram Recall F1
: F1-score (rata-rata harmonik dari presisi dan recall).c
: Jumlah chunks (urutan unigram yang match dan berurutan).u
: Jumlah unigram yang match.γ
danθ
: Parameter yang mengontrol penalty.
Contoh Perhitungan
Contoh perhitungan METEOR lebih kompleks daripada BLEU dan ROUGE karena melibatkan alignment dan pencocokan sinonim/parafrasa. Namun, intinya adalah METEOR memberikan skor yang lebih tinggi jika kata-kata yang match berurutan (membentuk chunks yang lebih sedikit).
Misalkan:
- System: the cat sat on the mat
- Reference: the cat is on the mat
Dengan exact match, unigram yang match adalah “the”, “cat”, “on”, “the”, “mat” (5 unigram). Jumlah chunks = 2 (“the cat” dan “on the mat”). Jika kita asumsikan γ = 0.5 dan θ = 3, maka Pen = 0.5 * (2/5)^3 = 0.032. P = 5/6, R = 5/6, F1 = 0.833. METEOR = 0.833 * (1 – 0.032) = 0.806. Implementasi di Python menggunakan library NLTK.
Baca juga: Panduan Lengkap Sistem Rekomendasi Film dengan Python
Kelebihan dan Kekurangan METEOR
Kelebihan:
- Mempertimbangkan sinonim dan parafrasa.
- Lebih berkorelasi dengan penilaian manusia daripada BLEU.
- Menghukum fragmentasi kalimat (kata-kata yang match tidak berurutan).
Kekurangan:
- Lebih kompleks dan membutuhkan sumber daya leksikal (seperti WordNet).
- Parameter (γ dan θ) perlu diatur.
- Kurang populer dibandingkan BLEU dan ROUGE.
Interpretasi Skor METEOR
Skor METEOR juga berkisar antara 0 dan 1. Gunakan saat evaluasi mendalam.
Metrik Lainnya
Selain BLEU, ROUGE, dan METEOR, ada beberapa metrik evaluasi lain yang digunakan dalam NLP:
- TER (Translation Edit Rate): Mengukur jumlah edit (penyisipan, penghapusan, substitusi, dan pergeseran) yang diperlukan untuk mengubah output sistem menjadi teks referensi. Skor TER yang lebih rendah menunjukkan kualitas yang lebih baik.
- WER (Word Error Rate): Mirip dengan TER, tetapi hanya menghitung edit pada tingkat kata (tidak termasuk pergeseran).
- CIDEr (Consensus-based Image Description Evaluation): Metrik yang dirancang untuk evaluasi image captioning, tetapi juga dapat digunakan untuk tugas NLP lainnya. CIDEr menggunakan Term Frequency-Inverse Document Frequency (TF-IDF) untuk membobot n-gram.
- N-gram Co-occurrence Statistics: Metrik ini mengukur seberapa sering n-gram dari output sistem muncul bersamaan dalam teks referensi.
- Human Evaluation vs Automatic Evaluation NLP: Evaluasi manusia melibatkan penilaian langsung oleh manusia. Evaluasi otomatis menggunakan metrik.
Perbandingan Metrik
Berikut adalah tabel perbandingan beberapa metrik yang telah dibahas:
Metrik | Kelebihan | Kekurangan | Kasus Penggunaan |
---|---|---|---|
BLEU | Cepat, mudah dihitung, banyak digunakan, berkorelasi cukup baik dengan penilaian manusia untuk machine translation. | Tidak memperhitungkan makna, kurang sensitif terhadap variasi kata, mengutamakan presisi. | Machine translation. |
ROUGE | Berorientasi pada recall, ROUGE-L memperhitungkan urutan kata, ROUGE-S memungkinkan jeda antar kata. | ROUGE-N tidak memperhitungkan urutan kata, ROUGE-L kurang sensitif terhadap perubahan kecil, ROUGE-S mungkin memberikan skor tinggi pada ringkasan yang tidak koheren. | Text summarization, machine translation. |
METEOR | Mempertimbangkan sinonim dan parafrasa, berkorelasi lebih baik dengan penilaian manusia daripada BLEU, menghukum fragmentasi. | Lebih kompleks, membutuhkan sumber daya leksikal, parameter perlu diatur, kurang populer. | Machine translation, evaluasi yang membutuhkan analisis lebih mendalam. |
TER | Mengukur usaha yang diperlukan untuk mengoreksi output sistem. | Tidak memperhitungkan kualitas fluency dan adequacy secara langsung. | Machine translation. |
WER | Mirip dengan TER, tetapi lebih sederhana. | Sama dengan TER. | Machine translation, speech recognition. |
CIDEr | Dirancang untuk image captioning, mempertimbangkan TF-IDF. | Mungkin kurang cocok untuk tugas NLP yang tidak terkait dengan image captioning. | Image captioning. |
Metrik evaluasi text summarization yang paling umum digunakan adalah ROUGE. Alternatif lain adalah METEOR dan CIDEr. Pemilihan metrik sangat penting, BLEU, ROUGE, dan METEOR sering jadi pilihan.
Kesimpulan
Metrik evaluasi memainkan peran krusial dalam pengembangan dan perbandingan model NLP. BLEU, ROUGE, dan METEOR adalah tiga metrik yang paling banyak digunakan, masing-masing dengan kelebihan dan kekurangannya. Memilih metrik yang tepat sangat penting, dan pilihan ini harus didasarkan pada tugas NLP yang dievaluasi dan tujuan evaluasi. Evaluasi model NLP menggunakan metrik apa? Jawabannya bergantung pada tugas spesifik dan aspek kualitas yang ingin diukur. Tidak ada satu metrik pun yang sempurna, dan sering kali disarankan untuk menggunakan beberapa metrik untuk mendapatkan gambaran yang lebih lengkap tentang kinerja model. Penelitian terus berlanjut untuk mengembangkan metrik evaluasi NLP yang lebih baik, yang lebih berkorelasi dengan penilaian manusia dan lebih mampu menangkap aspek-aspek penting dari kualitas bahasa. Python Library untuk Evaluasi NLP yang populer termasuk NLTK, yang menyediakan implementasi untuk BLEU, ROUGE, dan METEOR. Selain itu juga library seperti rouge-score
, py-meteor
dan lainnya.
Dengan memilih layanan Kirim.ai, Anda tidak hanya mendapatkan akses ke teknologi AI yang terdepan, tapi juga kemitraan strategis dalam meningkatkan kinerja bisnis Anda. Melalui platform SaaS yang kami sediakan anda mendapatkan berbagai tool AI yang canggih. Pelajari lebih lanjut bagaimana solusi berbasis AI dapat meningkatkan efisiensi.
Tanggapan (0 )