Kenapa Menerjemahkan ke Bahasa Lokal Bisa Menurunkan Akurasi

Di proyek medcoder, catatan SOAP yang jadi masukan sistem ditulis dokter dan perawat dalam Bahasa Indonesia. Tapi sebagian daftar kode rujukan yang dipakai sistem untuk mengusulkan diagnosis dan tindakan masih berjudul Bahasa Inggris, warisan dari standar internasional aslinya. Dugaan saya waktu itu masuk akal: kalau judul-judul kode itu diterjemahkan ke Bahasa Indonesia, bahasanya jadi cocok dengan catatan medis yang dibaca sistem, jadi seharusnya membantu model memilih kode yang tepat.

Saya coba, dan hasilnya berlawanan dengan dugaan. Di satu eksperimen terpisah, menerjemahkan judul-judul kode itu justru menurunkan akurasi sekitar 5,6 poin — bukan menaikkan.

Bagian yang lebih menarik dari sekadar angka turun

Angka turun itu sendiri belum menjelaskan apa-apa. Yang bisa salah banyak: mungkin proses terjemahannya yang cacat, mungkin ada bug lain yang kebetulan ikut berubah bareng, atau mungkin memang murni soal bahasa. Supaya saya bisa yakin penyebabnya benar-benar spesifik di sisi bahasa, saya harus memecah dulu peran teks di dalam sistem, yang selama ini digabung jadi satu.

Sistem pencarian kode di medcoder sebenarnya punya dua tahap yang beda kebutuhan: tahap pertama mencari kandidat kode yang relevan dari catatan SOAP (saya sebut search text), tahap kedua model bahasa membaca dan memilih dari kandidat-kandidat itu (saya sebut read text). Selama ini kedua tahap memakai judul kode yang sama. Untuk eksperimen ini saya pisahkan: judul yang dipakai untuk mencari tetap versi asli, sementara judul yang dibaca model saat memilih diganti versi terjemahan — lalu dibandingkan dengan kondisi semua-asli dan semua-terjemahan.

Hasil pemisahan itu yang membuktikan penyebabnya

Dari sana ketahuan sesuatu yang tidak bisa dilihat kalau saya cuma menatap satu angka akhir: kemampuan sistem menemukan kandidat yang benar (recall di tahap pencarian) sama sekali tidak bergeser setelah judul diterjemahkan. Jadi masalahnya bukan di pencarian — kandidat kode yang tepat tetap berhasil ditemukan. Kerugian akurasi itu murni terjadi belakangan, di tahap model membaca dan memilih dari kandidat yang sudah ada di depannya. Dengan kata lain, penyebabnya benar-benar terisolasi di sisi bahasa yang dibaca model saat memutuskan, bukan di sisi pencarian.

Dugaan penjelasan: pengetahuan model yang tertambat di Bahasa Inggris

Penjelasan yang paling masuk akal untuk saya: model bahasa yang dipakai kemungkinan besar sudah “tertambat” (anchored) pada istilah-istilah medis Bahasa Inggris dari data pralatihannya. Begitu istilah itu diterjemahkan ke Bahasa Indonesia, koneksi implisit model ke pengetahuan medis yang sudah dipelajarinya sebelumnya jadi lebih lemah — walaupun secara bahasa, terjemahannya sendiri sudah benar dan wajar dibaca manusia. Terjemahan yang “benar secara bahasa” ternyata belum tentu “benar secara model”.

Ini masih eksperimen internal dengan cakupan terbatas, bukan klaim akurasi produksi final, dan proyeknya sendiri masih terus berjalan — jadi saya belum menutup opsi menerjemahkan sama sekali. Tapi pelajaran metodologisnya menurut saya lebih tahan lama dari angka itu sendiri: kalau sebuah perubahan berdampak negatif, jangan berhenti di angka akhir yang turun. Pecah dulu sistemnya jadi bagian-bagian dengan peran berbeda — di sini, “apa yang dicari” versus “apa yang dibaca” — supaya bisa ditunjukkan dengan jelas di tahap mana sebenarnya kerugian itu terjadi. Tanpa pemisahan itu, saya cuma akan tahu bahwa menerjemahkan itu buruk, tanpa pernah tahu kenapa.