Re:L

Text Extraction Evaluation Metrics: WER, CER, MER, Levensthein Distance

Untuk mengukur seberapa jauh kualitas model teks ekstraksi entah berupa speech-to-text atau image-to-text. Kita dapat menerapkan beberapa evaluation metrics yang sudah umum digunakan: Levensthein Distance, Word Error Rate (WER), Character Error Rate (CER), dan Match Error Rate (MER). Tulisan ini merupakan kliping dari eksplorasi yang saya temukan dari beberapa sumber di internet.

Berhubung saya hanya akan “memasak” data berbentuk teks, maka bahan yang diperlukan hanya 2:

  • teks reference yang dibuat oleh manusia berperan sebagai ground truth; dan
  • teks hypothesis yaitu hasil ekstraksi oleh model.

Konsep dari evaluation metrics ini dengan mencari seberapa banyak karakter yang berbeda atau salah atau bisa kita sebut “error” antara teks reference dengan teks hypothesis. Perbedaan atau error tersebut dapat dibagi menjadi 3 tipe:

  1. Substitution (S): apabila terdapat perubahan karakter/kata pada teks hypothesis

  2. Insertion (I): apabila ditemukan tambahan karakter/kata pada teks hypothesis

  3. Deletion (D): apabila terjadi hilang/berkurangnya karakter/kata pada teks hypothesis

Substitution Insertion Deletion
Reference Pak Budi makan bakso malang enak
Hypothesis Dek Budi belum makan bakso malang

Pada contoh di atas dapat dilihat terdapat total 3 perubahan pada teks hypothesis:

S: Pak   =>  Dek  
I:       =>  belum  
D: enak  =>  

Levensthein Distance

Levensthein distance termasuk ke dalam kategori edit distance yang merupakan sebuah cara untuk mengetahui perbedaan antara 2 teks/string dengan melihat jumlah perubahan (edit) karakter yang terjadi.

LD=\frac{S+I+D}{n\,%20Karakter\,%20Reference

Di mana:

S = Jumlah substitution
I = Jumlah insertion
D = Jumlah deletion

Jadi:

LD = 1 + 1 + 1
LD = 3

Character Error Rate (CER)

CER memiliki konsep yang cukup mirip dengan levensthein distance yang sama-sama memanfaatkan karakter sebagai pembanding. Namun, motivasi CER tidak hanya menghitung jumlah perubahan karakter saja, lebih jaun CER menghitung peluang terjadinya perubahan karakter pada teks hypothesis terhadap teks reference.

CER=\frac{S+I+D}{n\,%20Karakter\,%20Reference

Di mana:

          S = Jumlah substitution
          I = Jumlah insertion
          D = Jumlah deletion
n Reference = Jumlah karakter dari keseluruhan kalimat

Jadi:

CER = (1 + 1 + 1) / 32
CER = 0.09375

Word Error Rate (WER)

Berbeda dengan metrics sebelumnya yang berfokus pada karakter, WER cenderung melihat dalam jangkauan yang lebar dengan melihat berdasarkan perubahan kata.

WER=\frac{S+I+D}{n\,%20Karakter\,%20Reference

Di mana:

          S = Jumlah substitution
          I = Jumlah insertion
          D = Jumlah deletion
n Reference = Jumlah kata dari keseluruhan kalimat

Jadi:

WER = (1 + 1 + 1) / 6
WER = 0.5

Match Error Rate (MER)

MER merupakan keterbalikan dari WER. MER bertujuan untuk menghitung seberapa banyak kata yang sama atau sesuai dengan teks reference.

MER=\frac{S+I+D}{n\,%20Karakter\,%20Correct

Di mana:

          S = Jumlah substitution
          I = Jumlah insertion
          D = Jumlah deletion
  n Correct = Jumlah kata benar dari keseluruhan kalimat hypothesis

Jadi:

MER = (1 + 1 + 1) / (1 + 1 + 1) + 4
MER = 3 / 3 + 4
MER = 3 / 7
MER = 0.428571

Catatan Kaki:

Tulisan ini sebagai awal untuk mengenal salah sekian evaluation metrics yang cukup sering ditemui pada pembahasan NLP. Tentu penjelasan di atas terlalu singkat dan mudah, di balik sederhananya konsep di atas terdapat logika matriks dalam melakukan perbandingan antar teks.

Apabila pembaca hendak mengetahui lebih lanjut saya sudah cantumkan sumber referensi di bawah, yang sekiranya dapat dikunjungi setelah membaca tulisan ini.


Referensi: