fbpx

Mengulik Cara Kerja Neural Machine Translation di Balik Google Translate

By Prahariezka Arfienda   |   May 15, 2019

Kalau dulu kamu mau menerjemahkan sebuah kata atau kalimat secara manual menggunakan kamus, kini cukup sekali klik saja untuk mencari tahu arti kata dalam bahasa asing. Teknologi ini disebut sebagai machine translation.

Machine Translation atau MT bisa diartikan sebagai mesin yang bertugas untuk secara otomatis mengkonversi sebuah teks dari sebuah bahasa ke bahasa yang lain. Salah satu contohnya adalah Google Translate. Pada dasarnya, MT memanfaatkan kecerdasan buatan atau AI (artificial intelligence) untuk dapat menerjemahkan dari satu bahasa ke bahasa lainnya

Proses pengembangan MT memiliki tantangan tersendiri. Misalnya, bagaimana caranya agar terjemahan kalimat MT menjadi logis dan sesuai dengan konteks. Karena pada dasarnya, masing-masing bahasa itu sangat kaya dan memiliki ciri khasnya sendiri, dan istilah-istilah atau frase yang sangat berbeda. Sehingga, kita tidak bisa selalu menerjemahkan sebuah kalimat secara terpisah kata per kata.

Contohnya seperti pada kalimat berikut ini:

“Saya tidak enak badan, sepertinya masuk angin”.

Apabila kamu menerjemahkannya kata per kata ke dalam bahasa Inggris, bisa jadi artinya seperti ini:

I don’t delicious body, like enter the wind”.

Duh. Padahal kalau kita pikirkan secara logika, intinya adalah kamu ingin bilang:

I don’t feel so good …

Beberapa tahun silam, Google Translate sudah memberikan kamu hasil terjemahan literal seperti itu. Menyebalkan? Memang. Oleh karena itu, Google pun terus mengembangkan sistem yang mereka miliki agar dapat memberikan hasil yang lebih akurat, sesuai konteks dan “manusiawi”. Dengan kata lain, mesin bisa memberikan kalimat yang sama dengan hasil terjemahan manusia.

MENGAJARI MT DENGAN CARA “BAIK-BAIK

Setiap kali kamu menerjemahkan sebuah kata menggunakan MT seperti Google Translate atau semacamnya, kamu secara tidak langsung sudah melatih mereka. MT membutuhkan sangat banyak stok kata untuk mulai belajar. Agar dapat menyempurnakan terjemahannya, MT perlu lebih banyak kata-kata agar dapat terus belajar.

Mari kita ambil contoh Google Translate. Pada awalnya, Google Translate memiliki mesin khusus untuk masing-masing terjemahan bahasa. Misalnya, untuk Bahasa Indonesia dan Bahasa Inggris, ada satu mesin untuk terjemahan Bahasa Indonesia – Bahasa Inggris dan satu mesin lagi untuk Bahasa Inggris – Bahasa Indonesia. Namun, sistem ini memiliki sedikit kelemahan.

MT merekam dan belajar dari setiap kata yang dimasukkan saat kamu menerjemahkan sebuah kata atau kalimat. Tapi terkadang, ada saja netizen yang asal memasukkan kata-kata aneh ke Google Translate hanya untuk melihat hasilnya apa. Input informasi atau kata-kata asal seperti itu ternyata bisa mengganggu proses belajar MT.

Anggaplah MT ini sebagai adik kecil kamu yang masih balita. Kalau kamu mengajarinya untuk bilang ‘mamam’ alih-alih makan, maka informasi yang dia simpan adalah, ketika lapar dia akan bilang “aku mau mamam”, bukannya “aku mau makan”.

Begitu juga dengan Google Translate atau MT lain yang memiliki mekanisme serupa. Semakin sering kamu memasukkan kata-kata asal ke MT, mereka akan menyimpan informasi tersebut seolah kata-kata itu adalah data yang valid. MT pun belajar dari data yang kurang akurat, hingga akhirnya output yang dikeluarkan juga asal-asalan.

Photo by rawpixel.com from Pexels  

Untuk mengatasi permasalahan tersebut, pada tahun 2016 Google Translate yang awalnya menggunakan statistical machine translation beralih menggunakan Neural Machine Translation (NMT). Alasannya karena, model lama yang menggunakan statistical machine translation itu masih menerjemahkan teks secara kata per kata. Sehingga, timbul banyak kesalahan karena sistem kesulitan menentukan tata bahasa maupun urutan kata.

Dengan NMT, terjemahan mampu dilakukan dalam satu kalimat, sehingga lebih sesuai konteks. Hasilnya, NMT mampu menghasilkan bahasa yang lebih natural dan “manusiawi”.

Pada November tahun lalu, Google kemudian menyempurnakan sistem tersebut dan menamainya GNMT atau Google Neural Machine Translation. GNMT ini pada dasarnya menggunakan sistem NMT yang sudah ada. Hanya saja secara spesifik dikembangkan dan disesuaikan dengan kebutuhan Google untuk Translate, kemudian dinamai GNMT.

Sistem ini memungkinkan sebuah sistem tunggal untuk dapat menerjemahkan beberapa bahasa. Misalnya, kamu ingin tahu bagaimana cara berkata “saya sedang belajar” dalam bahasa Inggris dan Korea. Sebelumnya, Google Translate akan menggunakan tiga mesin atau engine yang berbeda, yaitu:

(1) Bahasa Indonesia ke Bahasa Inggris

(2) Bahasa Korea ke Bahasa Inggris

(3) Bahasa Indonesia ke Bahasa Korea

Kalau awalnya Google Translate memiliki banyak “otak” yang masing-masing berpikir untuk satu terjemahan, kini Google Translate cukup memiliki satu “otak” yang sangat besar untuk menyimpan data seluruh bahasa. Dengan begitu, proses nomor (3) dapat dilakukan dengan menggunakan informasi yang sebelumnya sudah tersimpan di proses (1) dan (2).

LEBIH DEKAT DENGAN NEURAL MACHINE TRANSLATION

Sebelumnya, kita telah mendapat sedikit informasi tentang NMT atau Neural Machine Translation. Pada dasarnya, NMT menggunakan neural network untuk melakukan machine translation. Sistem neural network dapat dilatih untuk mengenali pola dalam data. Dengan begitu, neural network juga dapat mengubah data yang di-input menjadi output lain yang kita inginkan. Misalnya, input sebuah kalimat dalam Bahasa Indonesia lalu diterjemahkan ke dalam Bahasa Inggris.

Untuk lebih memahami cara kerja NMT, mari kita gunakan simulasi sebagai berikut.

Photo by Larissa Barbosa from Pexels

Apa yang kamu lihat di gambar tersebut? Seekor kucing? Tepat sekali. Komputer juga mengenali gambar itu sebagai seekor kucing. Tapi, bagaimana komputer bisa mengidentifikasi bahwa makhluk di gambar itu adalah seekor kucing?

Jadi, ada sebuah mekanisme dalam NMT yang bernama attention. Cara kerjanya meniru pada bagaimana kita memperhatikan ciri-ciri visual khas di area sebuah gambar, atau menghubungkan kata-kata menjadi sebuah kalimat. Dengan mengenali hubungan atau susunan tertentu, maka NMT dapat menentukan susunan kalimat yang diinginkan.

Misalnya, pada kalimat “saya makan nasi kuning”. Hubungan kata antara “makan” dan “nasi” lebih kuat dari pada “makan” dan “kuning”. Kata “makan” secara implisit menunjukkan bahwa pada kalimat tersebut ada sejenis makanan, dalam contoh ini adalah “nasi”. Sementara itu, warna “kuning” menjelaskan ciri suatu makanan, tapi tidak memiliki hubungan kuat dengan kata “makan”.

Pada model NMT yang memanfaatkan self-attention, kata-kata pada sebuah kalimat akan mendapatkan rating atau nilai untuk menunjukkan sekuat apa hubungannya dengan kata yang lain. Pada contoh yang tadi misalnya, kata “makan” memiliki relasi yang sangat dekat dengan kata “nasi”. Sehingga, hal tersebut dikatakan sebagai area yang memiliki high attention.

Jadi, pada mekanisme attention, kita menentukan nilai berdasarkan seberapa kuat sebuah kata terhubung dengan kata yang lain. Nilai tersebut kemudian berkontribusi kepada sebuah struktur hierarki yang membantu neural network menyimpulkan seberapa penting sebuah kata dalam konteks kalimat tertentu.

CARA KERJA ‘OTAK’ MACHINE TRANSLATION

Kalau manusia mampu berpikir dengan menggunakan otak, maka ‘otak’ MT adalah machine translation engine. Sebelum kamu menyuapinya dengan data-data berupa teks baik kata maupun kalimat, machine translation engine ini masih kosong. Kamu dapat memberikan ‘makanan’ data yang bervariasi, bisa dalam bentuk kata, frasa, kalimat, paragraf, dan sebagainya.

Semakin bervariasi data yang dimasukkan, maka machine translation engine akan semakin terlatih dalam membedakan arti dari satu kata dengan yang lainnya. Karena, dengan data yang semakin variatif, berarti MT akan semakin mengerti apa maksud dari sebuah kata dalam konteks tertentu.

MT dapat memproses kata-kata ini dengan dua cara:

  • Behaviour-based
  • Rule-based

Sebuah kata bisa memiliki arti ganda, tergantung bagaimana kamu menempatkan kata tersebut. Behaviour-based engine dapat membantu MT dalam memahami situasi yang beragam. Tapi, itu saja tidak cukup. Oleh karena itu, perlu untuk dilengkapi dengan rule-based engine. Mesin ini bertugas mengajari MT untuk mengenali kata benda, kata sifat, aturan dalam tata bahasa, dan sebagainya. Rule-based enginememungkinkan MT untuk bisa memberikan terjemahan dengan gramatika yang lebih akurat.

Untuk membuat MT bekerja dengan lebih efisien, pengembang MT mulai menggabungkan rule-based dan behaviour-based engine, yang disebut juga dengan hybrid engine. Dengan menggunakan metode ini, MT akan dilatih dengan informasi yang sangat besar dan beragam. Seperti Google Translate misalnya, yang dilatih dengan menggunakan berbagai buku. Sama saja seperti kita. Semakin banyak kita membaca buku, tentu saja wawasan, kosa kata, dan pemahaman kita terhadap suatu konteks akan semakin beragam.

APAKAH MACHINE TRANSLATION SUDAH CUKUP SEMPURNA?

Walaupun tampak sempurna dan memiliki hasil terjemahan yang cukup akurat, MT masih memiliki beberapa celah. Salah satunya adalah bias dalam nilai sosial yang kerap dialami AI ataupun machine learning.

Layanan machine learning cenderung menunjukkan bias terhadap data yang digunakan untuk melatih mereka yang biasanya berkenaan dengan nilai sosial dan akhirnya semakin memperkuat bias tersebut. Google dan perusahaan internet lainnya pun memberikan perhatian khusus terhadap permasalahan ini.

Contoh klasik yang sering ditemui adalah, dalam beberapa bahasa kebanyakan kata “dokter” merujuk pada laki-laki, sementara “perawat” adalah perempuan. Hal ini bagi sebagian kalangan seakan-akan menunjukkan sebuah stereotipe bahwa dokter pasti laki-laki, dan perawat pasti perempuan.

Padahal, tidak selamanya seperti itu. Akan tetapi, bias tersebut ada dalam sebuah bahasa tertentu, maka machine learning akan belajar dan semakin menekankan hal tersebut. Jika misalnya, data menunjukkan bahwa profesi dokter ada 60 hingga 70 persen laki-laki, maka MT kemungkinan akan menunjukkannya seolah-olah 100 persen profesi dokter adalah laki-laki.

Dengan semakin mudahnya kita mengakses teknologi, hal seperti ini tentu perlu diperbaiki. Sehingga, selain hasil terjemahan yang dihasilkan lebih akurat, MT juga dapat meminimalisir kemungkinan salah persepsi terhadap konteks suatu kalimat atau nilai sosial di masyarakat.

(Diedit oleh Inayatus Solikhah, ilustrasi oleh M. Cipto Apriarso)

Prahariezka Arfienda Satrianti
Content Chieftain

A (startup, tech, and digital media) geek. Kalau tidak sedang menulis artikel tentang data science, biasanya menulis review film atau menekuni fotografi.
Bisa disapa di arfie@algorit.ma.

Yuk belajar data science di Algoritma Data Science Education Center! Kamu bisa ikut berbagai kelas data science untuk pemula, salah satunya di program Academy kami.

Daftar Data Science Academy di Sini!