Empiris· 10 menit baca

IndoBERT kami adu dengan kunci jawaban manusia di benchmark Jawa

Di dua artikel sebelumnya kami menguji 4 model AI pada 43 kata Jawa langka, dan seluruh hasilnya bertumpu pada satu hal: daftar kunci jawaban yang kami tulis sendiri. Kalau kuncinya kami yang menulis, dari mana pembaca tahu peringkatnya bukan sekadar cerminan pilihan kata kami? Menulis kunci yang lebih rapi tidak menjawab itu. Yang bisa menjawab hanya alat ukur yang tidak memakai kunci sama sekali.

Diukur dari export-jv-arti-kata-hasil-model.csv dan 3 sumber lain

43
Kata Jawa diuji
40 MB
IndoBERT lokal, alat ukur kedua
63%
Kemiripan yang ternyata pola kalimat
0,937
Kesepakatan dua alat

Keberatan yang tidak dapat dijawab dengan kunci yang lebih baik

Kami sudah dua kali mencoba mengukur bagaimana model AI memahami bahasa Jawa. Percobaan pertama menilai terjemahan lewat satu glos kamus, dan gagal. Percobaan kedua menggantinya dengan pertanyaan yang jawabannya biner, apa arti kata ini, lalu menguji 4 model AI pada 43 kata Jawa langka. Cara menilainya sederhana: sebuah jawaban dianggap benar bila memuat salah satu padanan Indonesia yang terdaftar di kunci jawaban kami.

Kunci itu kami tulis sendiri. Di situlah letak masalahnya.

Kalau sebuah model menjawab dengan padanan yang tidak terpikirkan oleh penulis kunci, ia dihukum. Kami sudah dua kali menambal kunci di tengah pengukuran, dan dua kali itu skornya melonjak tanpa satu panggilan pun diulang. Jadi keberatan berikut ini wajar dan harus dijawab:

Peringkat kalian bukan mengukur model. Ia mengukur seberapa cocok jawaban model dengan kata-kata yang kebetulan kalian tulis di kunci.

Keberatan itu tidak dapat dijawab dengan menulis kunci yang lebih rapi, sebab kunci yang lebih rapi tetap kunci. Ia hanya dapat dijawab oleh alat ukur kedua yang bekerja dengan cara berbeda dan tidak pernah melihat kunci sama sekali.

IndoBERT, dan kenapa model sekecil ini yang kami pilih

Kami memakai IndoBERT versi ONNX, turunan dari LazarusNLP/congen-indobert-lite-base. Ukurannya 40 MB, dan modelnya sudah lama ada di kode kami, dipakai penyunting ibahasa untuk mengurutkan calon sinonim.

Tugas IndoBERT di sini hanya satu: mengubah kalimat menjadi deretan angka. Dua kalimat yang maknanya berdekatan menghasilkan deretan angka yang berdekatan pula, dan kedekatan itu bisa dihitung. Jadi kami dapat bertanya "seberapa dekat jawaban model ini dengan definisi kamus kami" tanpa menyebut satu kata kunci pun.

4 alasan kami memilih model jenis ini, dan bukan menyuruh AI lain menjadi juri.

1. IndoBERT tidak pernah berubah pikiran. Masukan yang sama selalu menghasilkan angka yang sama. Kami periksa dengan menjalankannya dua kali berturut-turut: berkas keluarannya identik bita per bita. Untuk memeriksa alat ukur yang sudah terbukti bergerak, alat pemeriksa yang diam jauh lebih berharga daripada alat yang sedikit lebih pintar.

2. IndoBERT jenis model yang tepat untuk pekerjaan ini. Ia membaca dan merangkum, bukan mengarang. Untuk membandingkan dua teks, itu kelas alat yang benar. Memakai model generatif untuk pekerjaan ini berlebihan sekaligus lebih sulit diperiksa.

3. IndoBERT dilatih untuk bahasa Indonesia. Definisi yang dibandingkan berbahasa Indonesia, sebagian memuat istilah Jawa dan kosakata kamus.

4. IndoBERT gratis dan berjalan di komputer sendiri. Tidak ada kuota, tidak ada antrean, tidak ada biaya per panggilan. Ia juga bekerja atas jawaban yang sudah tersimpan, jadi keempat model mendapat kolom baru tanpa satu pun dipanggil ulang. Seluruh perhitungan selesai dalam hitungan detik.

Satu angka kemiripan tidak berarti apa-apa tanpa titik nolnya

Sebelum satu hasil pun dapat dilaporkan, ada satu hal yang harus diukur duluan.

Kedekatan makna keluar sebagai bilangan antara 0 dan 1. Katakan sebuah jawaban mencetak 0,52. Tinggi atau rendah? Tidak ada yang tahu, sampai kita tahu berapa nilainya untuk pasangan yang dijamin tidak berhubungan.

Jadi kami ukur. Jawaban tiap lema disilangkan ke definisi 42 lema lain, dan hasilnya 7.224 pasang yang pasti salah:

pasangan tak berhubunganpasangan yang sebenarnya
teks apa adanya0,3890,527
lema & kata pembungkusnya dibuang0,1430,344

Baca baris pertama sekali lagi. Pasangan yang sama sekali tidak berhubungan tetap mencetak 0,389. Penyebabnya pola kalimat yang sama-sama dipakai kedua sisi. Model menjawab "Kata X dalam bahasa Jawa berarti ...", kamus menulis "Kata seru dalam bahasa Jawa yang ...", dan mesinnya membaca kesamaan bentuk itu sebagai kemiripan makna.

Buang lemanya dan 49 kata pembungkus itu dari kedua sisi, dan angkanya jatuh ke 0,143. Artinya 63 persen kemiripan yang semula terukur bukan makna.

Kami menduga pola itu menumpuk di kalimat pembuka, jadi kami uji cara membersihkan yang lebih halus: potong frasa pembukanya saja, biarkan sisa kalimatnya utuh. Dugaan itu meleset. Skor kebetulannya nyaris tidak bergerak, dari 0,389 menjadi 0,383. Polanya ternyata tersebar di seluruh ragam bahasa kamus, bukan menumpuk di depan.

Satu hal lagi yang mengejutkan kami: daya pisah alatnya hampir tidak berubah oleh pembersihan apa pun. Membersihkan teks tidak membuat alat ukurnya lebih pintar. Ia membuat angkanya dapat dibaca orang.

Sebelum diadu, kuncinya dibereskan dulu

Membandingkan dua alat ukur hanya masuk akal kalau keduanya sudah bersih. Di artikel sebelumnya, DeepSeek V4 Flash satu-satunya model yang jawabannya belum pernah dibaca manusia. Kali ini penutur membacanya, satu jawaban per satu jawaban.

Pembacaan itu menemukan sesuatu yang tidak kami cari.

Untuk lema gremet, yang artinya bergerak sangat lambat, daftar kunci kami memuat entri gremet gremet. Itu lemanya sendiri, diulang, sebab bentuk berulangnya memang disebut di definisi kami. Padahal model selalu mengulang kata yang ditanyakan saat menjawab. Jadi kunci itu meloloskan jawaban apa pun:


Mistral Small 3     "Gremet berarti makanan yang enak dan lezat."   → dinilai BENAR

DeepSeek V4 Flash   "berbutir-butir halus atau terasa kasar"        → dinilai BENAR

Keduanya salah total, keduanya lolos, dan keduanya hanya cocok lewat entri itu.

Kami pernah menolak kunci bercacat serupa: kata jawa sempat diusulkan sebagai padanan, lalu ditolak setelah terukur muncul di 37 persen seluruh jawaban. gremet gremet lolos dari pemeriksaan yang sama justru karena ia tidak pernah muncul di lema lain. Uji kebocoran kami membandingkan antar-soal, dan kunci ini hanya perlu meloloskan satu soal.

Inilah angka yang berubah, dan tidak satu pun berubah karena model menjawab berbeda:

modelartikel sebelumnyasekarang
Mistral Small 34,7% (2 dari 43)2,3% (1 dari 43)turun
DeepSeek V4 Flash53,5% (23 dari 43)51,2% (22 dari 43)turun
GPT-5.6 Luna81,4% (35 dari 43)81,4%tetap
Gemini 3.5 Flash90,7% (39 dari 43)93,0% (40 dari 43)naik

Dari dua jawaban Mistral yang tadinya dinilai benar, satu lolos lewat kunci yang rusak. Model itu sebenarnya benar pada satu lema dari 43.

Dua hal terjadi untuk pertama kalinya di sini. Sebuah tambalan menurunkan skor, padahal tiga putaran sebelumnya selalu menaikkan. Dan tinjauan atas satu model menemukan cacat yang menggelembungkan model lain: yang dibaca DeepSeek, yang kehilangan angka justru Mistral.

Skor kebetulan penilai kunci ikut turun, dari 1,3 ke 0,7 persen. Membuang kunci yang terlalu lebar berpengaruh lebih besar daripada menambah kunci baru yang sempit. Untuk pertama kalinya sebuah putaran tinjau membuat alat ukurnya lebih ketat.

Satu usulan yang kami tolak

Membaca 43 jawaban memunculkan pertanyaan yang tidak selalu berjawab bersih.

Pimen bentuk tidak baku dari kata tanya "bagaimana" di dialek Banyumasan. DeepSeek menjawab "bertanya atau menanyakan". Itu fungsi gramatikal kata tersebut, bukan artinya. Usulan awalnya menerima bertanya sebagai padanan sah, dengan alasan jawabannya tidak sepenuhnya salah, hanya kurang tepat.

Usulan itu ditarik, dan alasannya konsistensi. Di sesi tinjau yang sama, kunci bunyi justru dibuang dari lema klotekan karena persoalan yang sama persis: ia menggambarkan jenis makna, bukan maknanya. Membuang satu sambil menambahkan yang lain akan membuat kriterianya bergantung pada lema mana yang sedang dibaca.

Ada garis yang harus dijaga di benchmark yang jawabannya biner. Yang diukur apakah padanannya disebut, bukan apakah jawabannya masih ada hubungannya. Sekali "kurang tepat" dihitung benar, yang diukur berubah tanpa siapa pun mengumumkannya.

Gondes punya dua arti, dan kamus kami hanya menulis satu

Kami menyisir ulang seluruh kunci, dan menemukan 5 lema yang salah satu kuncinya berbunyi slang. Setiap kata Jawa gaul memang slang, jadi kunci seperti itu meloloskan jawaban yang sama sekali tidak menyebut arti. Kami buang kelimanya.

Begitu kunci slang lepas dari lema Gondes, ada hal lain yang ikut terlihat. Kamus kami menulis gondes sebagai sapaan akrab khas Semarang, sepadan dengan "bro". Padahal kata itu tumbuh dari "gondrong ndeso", sebutan untuk pemuda berambut panjang bergaya kampungan, dan orang Jawa masih memakainya dengan arti tersebut sampai sekarang.


Gemini 3.5 Flash  "singkatan dari gondrong ndeso, laki-laki berambut panjang"  → SALAH

GPT-5.6 Luna      "sebutan slang, bernada merendahkan, pemuda gondrong"        → BENAR

Gemini menjawab paling tepat di antara keempat model, sampai menyebut asal katanya, dan kami justru menilainya salah. Luna menjawab hal yang sama dengan lebih longgar, lalu lolos hanya karena kebetulan memakai kata "slang". Selama ini kunci slang menambal lubang yang kami gali sendiri.

Lubang itu ada di kamus kami: gondes punya dua arti, dan kami baru menulis satu. Kami tambahkan gondrong dan ndeso sebagai padanan, dan kedua model sekarang lolos karena isi jawabannya. Inilah satu-satunya angka yang naik di tabel ralat tadi.

Persoalan seperti ini bernama rujukan tunggal, dan kelasnya sama dengan yang dulu menggugurkan rancangan terjemahan kami. Di sana satu kalimat punya banyak terjemahan yang sama benarnya; di sini satu lema punya lebih dari satu arti yang sama sahnya. Yang tersingkap pun bukan hanya cacat benchmark, melainkan entri kamus kami sendiri yang belum lengkap.

Dua alat ukur, satu urutan

Setelah kuncinya bersih, keduanya diadu.

modelkuncipersentil semantikperingkat semantik
Mistral Small 32,3%36,7%3,77
DeepSeek V4 Flash51,2%80,4%2,30
GPT-5.6 Luna81,4%88,4%2,21
Gemini 3.5 Flash93,0%91,6%1,72

Urutannya keluar sama persis dengan urutan kunci.

Dua kolom kanan itu lahir dari IndoBERT dan tidak menyentuh kunci sedikit pun. IndoBERT mengubah tiap jawaban dan tiap definisi menjadi deretan 768 angka, lalu kedekatan keduanya dihitung dengan cosine similarity, yaitu sudut di antara kedua deretan: makin sempit, makin dekat maknanya.

Persentil semantik membaca kedekatan itu terhadap skor kebetulan tadi. Nilai 91,6 persen berarti jawaban Gemini rata-rata lebih dekat ke definisinya dibanding 91,6 persen dari 7.224 pasang yang dijamin tidak berhubungan. Jawaban Mistral hanya sampai 36,7 persen, di bawah kebanyakan pasangan yang dijamin salah.

Peringkat semantik bahkan tidak memakai skor kebetulan. Untuk tiap lema keempat jawaban diurutkan menurut kedekatannya ke definisi yang sama; teratas dapat 1, terbawah dapat 4, lalu dirata-ratakan atas 43 lema.

Atas seluruh 172 jawaban, kedua alat sepakat pada tingkat 0,937. Artinya: ambil acak satu jawaban yang kunci nyatakan benar dan satu yang dinyatakan salah, dan 94 dari 100 kali yang benar berskor semantik lebih tinggi.

Kesepakatan itu bukan bukti peringkatnya benar. Ia hanya menutup satu penjelasan alternatif, yang paling sering diajukan orang.

Keterbatasan alat ukur ini

Kemiripan bukan kebenaran. Bladak gorengan khas Semarang, dan keempat model mengarang jawaban berbeda, tidak satu pun benar. Skor semantik tetap memberi peringkat, dan yang teratas mencetak persentil 71,9 persen untuk jawaban "terbuka atau terlihat dengan jelas" yang sepenuhnya karangan. Persentil tinggi berarti terdengar seperti definisi yang tepat, bukan benar.

Sebagai penyaring, untungnya sedang saja. Kami uji balik ke putaran tinjau sebelumnya. Dari 15 lema yang waktu itu dinilai salah, 8 ternyata cacat alat ukur. Membaca 5 teratas menurut urutan semantik menemukan 4 dari 8; urutan acak diperkirakan menemukan 2,7. Lebih baik, tetapi selisihnya satu sampai dua lema. Ia menentukan urutan membaca, bukan menggantikan pembacaan.

Sinyal terkuatnya justru tidak dapat dipakai di sini. Membandingkan jawaban dengan daftar kuncinya memisahkan vonis manusia lebih baik daripada membandingkannya dengan definisi, 0,968 lawan 0,930. Tetapi sinyal yang lebih kuat itu memakai kunci, sehingga ia tidak dapat memeriksa apakah kunci kami bias. Yang lebih lemah justru yang berguna, sebab ia berdiri sendiri.

Karena itu, skor semantik tidak pernah memvonis. Benar-salah tetap ditentukan kunci, yang dapat diperiksa siapa pun dengan membaca 43 baris. Skor embedding tidak bisa. Begitu ia masuk ke jalur kebenaran, hasil benchmark kami bergantung pada sebuah model, dan itu persis sifat yang kami tuntut tidak dimiliki alat ukur.

Yang berlaku di luar bahasa Jawa

Tiga hal, dan tidak satu pun khusus untuk kata Jawa langka.

Periksa kunci jawaban yang memuat pertanyaannya sendiri. gremet gremet lolos karena uji kebocoran kami membandingkan antar-soal, sementara kunci itu hanya perlu meloloskan satu soal. Kunci semacam itu tidak akan pernah tertangkap oleh uji yang mencari kebocoran lintas-soal.

Ukur skor kebetulan tiap kali kunci berubah, ke dua arah. Kunci yang melebar menaikkan skor dan menaikkan kebetulan sekaligus, dan keduanya terlihat sama di tabel hasil. Kali ini kunci justru menyempit dan skor kebetulannya turun, dan itu pun baru diketahui setelah diukur.

Angka kemiripan tanpa titik nolnya tidak dapat dibaca. Dua pertiga kemiripan yang kami ukur ternyata pola kalimat. Siapa pun yang memakai kemiripan semacam ini sebagai penilai, tanpa lebih dulu mengukurnya pada pasangan yang dijamin salah, sedang menghitung gaya bahasa sebagai kebenaran.

Data & provenans

Keterbatasan

Angka di artikel sebelumnya berubah, dan tabel ralat di badan artikel menyebutkan mana saja. Yang berubah bukan jawaban modelnya, melainkan kunci jawaban kami.

Kunci ditulis satu penutur, yaitu penyusun kamusnya sendiri, tanpa angka kesepakatan antar-penilai. Yang berubah kali ini, keempat model sudah dibaca satu per satu, sehingga perlakuan tak sama yang menjadi batasan terbesar artikel sebelumnya sudah tertutup.

Satu ulangan per lema per model pada temperature 0. Ragam antar-ulangan tidak terukur, sehingga selisih beberapa lema antara dua model yang berdekatan tidak dapat dipisahkan dari derau. Dengan 43 lema, satu lema bernilai 2,3 poin.

Skor kemiripan makna tidak pernah mengubah vonis kunci. Ia dilaporkan berdampingan. Sebagai hakim tunggal ia jauh lebih lemah daripada kunci, dan angkanya ada di badan artikel.

Model embeddingnya terkuantisasi 8 bit dan dilatih untuk bahasa Indonesia umum, sementara teks di sini memuat kata Jawa dan ragam kamus. Pengaruh keduanya tidak diukur terpisah.

Satu keterbatasan sengaja tidak diperbaiki: pencocokan kunci tidak mengenali akhiran -lah, sehingga jawaban "laksanakanlah" tidak dianggap memuat kunci "melaksanakan". Kami mencatatnya sebagai batas alat, bukan menambalnya di tengah pengukuran.

Riwayat revisi

Terbit
Terakhir diperbarui
belum pernah direvisi sejak terbit

Istilah dalam artikel ini

glos
Padanan singkat yang disandingkan dengan sebuah kata atau kalimat asing untuk menjelaskan artinya, biasanya dalam tanda kurung. Berbeda dari terjemahan penuh: tujuannya membuat contoh dapat dibaca orang yang tidak menguasai bahasa sumbernya, bukan menghasilkan kalimat yang berdiri sendiri. Perbedaan itu menjadi persoalan ketika glos dipakai sebagai kunci jawaban benchmark, sebab satu kalimat sah diterjemahkan dengan banyak cara.
lema
Bentuk dasar sebuah kata yang menjadi tajuk satu entri kamus, dan yang dicari orang saat membuka kamus. Satu lema dapat memayungi beberapa makna sekaligus, dan tiap makna dapat membawa contoh kalimatnya sendiri.

Ditulis penulis untuk artikel ini, bukan disalin dari entri kamus.