Wednesday 23 July 2014

Arsitektur Mesin Penerjemah Statistik Moses

Moses is a statistical machine translation system that allows you to automatically train translation models for any language pair. All you need is a collection of translated texts (parallel corpus). Once you have a trained model, an efficient search algorithm quickly finds the highest probability translation among the exponential number of choices.(http://www.statmt.org/moses/)


Secara umum, arsitektur mesin penerjemah statistik Moses seperti pada gambar berikut : 


Sumber data utama yang dipergunakan adalah parallel corpus dan monolingual corpus. Proses training terhadap parallel corpus menggunakan GIZA++ menghasilkan translation model (TM). Proses training terhadap bahasa target pada parallel corpus ditambah dengan monolingual monolingual corpus bahasa target menggunakan SRILM menghasilkan language model (LM), sedangkan PoS model (PoS-M) dihasilkan dari bahasa target pada parallel corpus yang setiap katanya sudah ditandai dengan PoS. TM, LM dan PoS-M hasil proses di atas digunakan untuk menghasilkan decoder Moses. Selanjutnya Moses digunakan sebagai mesin penerjemah untuk menghasilkan bahasa target dari input kalimat dalam bahasa sumber.

catatan : PoS Model merupakan salah satu fitur linguistik yang dapat digunakan pada moses, fitur lain yang dapat digunakan seperti lemma, gender, proses pembentukan kata (morfem) dan lain-lain.

Sunday 13 April 2014

IBM Model 1, 2, 3, dan 4 untuk Penyelarasan Kata (Word Alignment) pada Mesin Penerjemah


-->
Word alignment dari korpus bilingual memberikan pengetahuan penting untuk banyak tugas pengolahan bahasa alami, seperti ekstraksi dari kata-kata bilingual atau leksikal. Solusi dari masalah ini sangat tergantung pada kualitas word alignment. Model word alignment pertama kali diperkenalkan pada terjemahan mesin statistik (Brown et al., 1993). Alignment menggambarkan pemetaan dari kata-kata kalimat sumber terhadap kata-kata pada kalimat target.

Koehn, P. (2010) menjelaskan bahwa IBM Model 1 merupakan model word alignment yang menggunakan algoritma Expectation Maximization (EM) untuk melakukan komputasi porbabilitas translasi leksikal dari korpus paralel. Pada IBM model 1 didefinisikan kalimat sumber sebagai f = (f1, … flf) dimana lf adalah banyaknya kata dalam kalimat f, kalimat target sebagai e = (e1, … elf) dimana le adalah banyaknya kata dalam kalimat e dengan fungsi alignment a : j → i. Probabilitasnya didefinisikan sebagai :

Sebagai contoh, sebuah kalimat dari bahasa Jerman dengan terjemahannya dalam bahasa Inggris seperti berikut ini :



-->
Sumber : Koehn (2010)

IBM Model 2 menambahkan fungsi perubahan posisi kata-kata dari kalimat sumber ke kalimat target sebagai a(i | j, le , lf ), dimana i adalah posisi kata pada kalimat sumber, j adalah posisi kata pada kalimat target, le dan lf adalah banyaknya kata pada kalimat target dan kalimat sumber.

IBM Model 2 dapat dilihat sebagai 2 langkah proses, yaitu langkah penerjemahan (translation step) dan alignment step seperti berikut ini :



-->
Sumber : Koehn (2010)

Dua langkah tersebut secara matematis didefinisikan sebagai :

IBM Model 3 terdiri dari 4 langkah proses, yaitu fertility, NULL insertion, lexical translation, dan distortion. Pada proses fertility, setiap kata pada kalimat sumber dicari probabilitas berapa banyak kata hasil terjemahan dari kata tersebut yang didefinisikan sebagai n(Ф,f), dimana Ф adalah banyak kata hasil terjemahan dari kata f. Pada proses NULL insertion, setiap NULL yang disisipkan ditentukan dari probabilitas p1 setelah terjadinya setiap kata atau tidak menyisipkan NULL dengan probabilitas p0 = 1 − p1. Proses lexical translation dilakukan sama seperti IBM model 1, dan proses distortion mirip dengan langkah alignment pada IBM Model 2. Keempat langkah tersebut dicontohkan sebagai berikut :

 
-->
Sumber : Koehn (2010)

IBM model 4 mengacu kepada IBM model 3, tetapi dengan melakukan distorsi secara relatif pada proses distortion.

Sebagai contoh, kalimat sumber dan kalimat target terjemahan dengan alignment sebagai berikut :
 Sumber : Koehn (2010)

Distorsi pada IBM Model 4 adalah kata-kata pada kalimat sumber dengan fertility yang tidak 0 (nol) dari cept (disini ada 5 cept) yang berisi kata-kata pada kalimat target ej. Pusat i i dari sebuah cept πi, yaitu rata-rata yang dibulatkan ke atas dari j (ceiling(avg( j))).

Distorsi untuk setiap kata-kata pada kalimat sumber dimodelkan dengan sebuah probabilitas distribusi sebagai berikut.
  1. Untuk kata yang berasal dari NULL (misalnya kata do).
  2. Untuk kata pertama dalam cept (misalnya kata not), berdasarkan pada jarak antara kata dan pusat sebelum kata tersebut (j −Oi-1).
  3. Untuk kata-kata berikutnya didalam cept (misalnya kata the), berdasarkan jarak kata sebelumnya dalam cept. Probabilitas distribusi d1 dan d>1 dipelajari dari data yang dukondisikan menggunakan informasi leksikal.
Lebih jelasnya dapat dilihat seperti contoh berikut :

 Terdapat 5 (lima) cept yaitu π1 ... π5, posisi kata ke 3 (tiga) untuk kata ”ja” tidak digunakan karena tidak menghasilkan kata target. Pusat cept 4 ditentukan menjadi 6 karena rata-rata 5 dan 6 adalah 5,5, selanjutnya dibulatkan ke atas menjadi 6. Selanjutnya, distorsi untuk setiap kata-kata dari kalimat target ditentukan sebagai berikut :




-->
Ada 3 (tiga) kondisi untuk setiap kata-kata target yang didefinisikan distorsi relatifnya, yaitu : (1) kata-kata yang dihasilkan dari token NULL, (2) kata pertama di dalam cept dan (3) kata-kata berikutnya di dalam cept.

Kata-kata yang dihasilkan dari token NULL didistribusikan secara seragam, kata pertama di dalam cept menggunakan probabilitas distribusi :
d1 (j − Oi-1)

Kata-kata berikutnya di dalam cept menggunakan probabilitas distribusi :
d>1 ( j − πi,k−1)

Pada implementasinya, beberapa jenis kata cenderung berpindah posisi pada terjemahannya, sebagai contoh adjective–noun selalu dibalik saat diterjemahkan dari bahasa Prancis ke bahasa Inggris seperti pada kalimat affaires extérieur yang diterjemahkan menjadi external affairs .

Probabilitas distribusi pada dua persamaan sebelum ini untuk kata-kata ej dan f(i-1) adalah :
d1 (j − O i-1 | f(i-1) , ej )
dan
d>1 ( j − πi,k−1| ej)

IBM model 4 memperkenalkan kelas kata (word classes) pada penggunaannya, saat kosakata suatu bahasa dibagi-bagi menjadi beberapa kelompok (misalnya 50 kelas), hal ini dapat dikondisikan sebagai probabilitas distribusi pada kelas-kelas ini. Hasilnya hampir seperti model leksikal, tapi dilakukan secara statistik.

Secara formal, dapat digunakan 2 (dua) fungsi A(f) dan B(e) yang memetakan kata-kata terhadap kelas kata nya. 

d1 (j − O i-1 | A(f(i-1)), B(ej))
dan
d>1 ( j − πi,k−1| B(ej))

Banyak cara untuk mendefinisikan fungsi kelas kata A dan B. Salah satunya adalah dengan menggunakan penandaan PoS. Biasanya ini berarti menandai korpus paralel dengan instrumen tertentu secara otomatis. Alternatif lain adalah dengan mengklaster kata-kata secara otomatis ke dalam kelas kata dengan jumlah kelas tertentu.

Sumber :
-->
Brown, P. F., Della P., S. A., Pietra, V., dan Mercer, R. L. (1993) : The mathematics of statistical machine translation. Computational Linguistics, 19(2), 263–313.

-->
Koehn, P. (2010) : Statistical Machine Translation, Cambridge University Press, New York.








Wednesday 9 April 2014

Mengukur Hasil Terjemahan dengan BLEU (Bilingual Evaluation Understudy)


BLEU mengukur modified n-gram precision score antara hasil terjemahan otomatis dengan terjemahan rujukan dan menggunakan konstanta yang dinamakan brevity penalty (Papineni, 2002).

 
dimana wn = 1/N.
Simbol BP merupakan brevity penalty, c merupakan jumlah kata dari hasil terjemahan otomatis, r merupakan jumlah kata dari rujukan, dan pn merupakan modified precision score. Nilai wn adalah 1/N. Standar nilai N untuk BLEU adalah 4, karena nilai presisi BLEU pada umumnya dihitung sampai 4-gram saja. Simbol pn diperoleh dari jumlah n-gram pada hasil terjemahan yang cocok dengan rujukan dibagi dengan jumlah n-gram pada hasil terjemahan.

Sebagai contoh, jika sebuah mesin menghasilkan terjemahan :
indonesia akan melakukan pesta pemilihan
dengan kalimat referensi
rakyat indonesia akan melakukan pesta demokrasi
maka penilaian dengan metode BLEU adalah sebagai berikut.
Jumlah kata dalam kalimat hasil terjemahan c = 5.
Jumlah kata dalam kalimat referensi r = 6.

Dari persamaan (28), karena c r, maka BPBLEU = e(1-r/c) , sehingga
BPBLEU = e(1-6/5)
= 0,8187

Dari kalimat hasil terjemahan dan referensi, terdapat lima unigram pada kalimat terjemahan (indonesia, akan, melakukan, pesta, pemilihan) dan empat unigram yang sama dengan referensi (indonesia, akan, melakukan, pesta), sehingga :
log p1 = log (4/5)
= -0,2231

Terdapat empat 2-gram pada kalimat terjemahan dan tiga 2-gram yang sama dengan referensi, sehingga :
log p2 = log (3/4)
= -0,2877

Dengan cara yang sama :
log p3 = log (2/3)
= -0,4055
log p4 = log (1/2)
= -0,6931

Karena wn = ¼ (1/N), nilai akhir dari BLEU dari persamaan (30) adalah :
BLEU = 0,8187 . 1/4 ( (-0,2231) + (- 0,2877) + (-0,4055) + (-0,6931) )
= 0,5475
= 54,75 %

Sumber :
Papineni, K., Roukos, S., Ward, T., dan Zhu, W.-J. (2002) : BLEU: A Method For Automatic Evaluation of Machine Translation, In Proceedings of the 40th Annual Meeting of the Association of Computational Linguistics (ACL), Pennsylvania, 311-318.



Sunday 6 April 2014

Optimalisasi Penggunaan Part of Speech (PoS) dalam Mesin Penerjemah

Mesin penerjemah (MP) adalah mesin yang dapat melakukan penerjemahan dari suatu bahasa ke bahasa yang lain secara otomatis. MP memiliki kegunaan praktis yang jelas karena dapat membantu manusia untuk berkomunikasi dengan orang lain yang memiliki bahasa yang berbeda. Dalam era globalisasi, masalah ini menjadi lebih penting. MP dapat meningkatkan efisiensi penerjemahan manual oleh manusia yang memiliki sumber daya terbatas dan mahal. Selain itu, modalitas komunikasi telah menjadi semakin bervariasi dan instan. Email, sms, bbm, media sosial online dan konferensi video merupakan bagian integral dari masyarakat informasi sekarang ini. Mesin terjemahan menawarkan respon langsung dan segera yang akan sulit untuk ditangani oleh penerjemahan manusia.

Proyek mesin penerjemah pertama kali dilakukan di Georgetown University pada tahun 1954 memiliki sasaran yang ideal yaitu ”terjemahan kualitas tinggi yang dilakukan sepenuhnya secara otomatis” (fully automatic high quality translation (FAHQT)). Proyek ini dinilai gagal oleh Automatic Language Processing Advisory Committee (ALPAC), sehingga para peneliti semakin realistis dan semakin menyadari keterbatasan komputer sebagai alat penterjemah.

Salah satu pendekatan MP adalah dengan menggunakan pendekatan statistik yang menggunakan konsep probabilitas. Untuk setiap pasangan kalimat (s,t) akan diberikan sebuah P(t|s) yang diinterpretasikan sebagai distribusi probabilitas dimana MP akan menghasilkan t dalam bahasa tujuan ketika diberikan s dalam bahasa sumber.

Beberapa penelitian telah memperlihatkan bahwa kualitas MP semakin baik dengan tambahan fitur-fitur seperti lemma, part of speech (PoS), gender dan lain-lain seperti yang diperlihatkan pada penelitian-penelitian Koehn dan Hieu Hoang  (2007),  Youssef dkk. (2009), Razavian dkk. (2010), dan Sujaini dkk. (2012).

Pada penelitian-penelitian dalam bidang pemrosesan bahasa alami (PBA), khususnya sistem MP, set PoS bahasa Indonesia yang digunakan sangat bervariasi seperti yang digunakan oleh Pisceldo dkk. (2009), Adriani (2009), Wicaksono dan Purwarianti (2010), dan Larasati dkk., (2011).

Secara umum keempat set PoS mengacu pada PoS umum bahasa Indonesia, hanya berbeda pada pembagian terhadap PoS utama tersebut. Sebagai contoh, Adriani dan Fempy membagi Noun menjadi NNC (countable common noun), NNU (uncountable common noun), NNG (genitive common noun) dan NNP (proper common noun), Alfan membaginya menjadi NN (common noun), NNG, dan NNP, sedangkan Larasati hanya membagi menjadi 2 PoS yaitu NN dan NNP.

Perbedaan penggunaan set PoS tentu saja berakibat pada perbedaan tingkat ambiguitas sintaksis, Resnik (1993) menjelaskan bahwa dalam banyak kasus, ambiguitas sintaksis dapat diselesaikan dengan bantuan pengetahuan semantik, terkait erat dengan item leksikal dalam kalimat.

Untuk mengoptimalkan penggunaan PoS dalam usaha peningkatan kualitas hasil terjemahan, Set PoS dapat ditentukan secara komputasi lewat pendekatan kemiripan kata (word similarity). Dari hasil penentuan set PoS secara komputasi, didapat perbedaan set jika dibandingkan set PoS secara tata bahasa. Sebagai contoh, kata kerja (verba) dalam tata bahasa Indonesia biasanya terbagi atas verba transitif dan intransitif, akan tetapi distribusi penempatannya dalam kalimat ternyata terbagi atas  verba transitif dan intransitif, verba pasif (dibuat, digunakan, dilaksanakan, dll.), kata kerja yang memiliki makna “menjadi” (melemah, membaik, mengecil dll.).



Sumber :
Koehn, P., dan Hoang, H. (2007) : Factored Translation Models, Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, Prague,  868-876.
Razavian, Sharif, N. dan Vogel, S. (2010) : Fixed Length Word Suffix for Factored Statistical Machine Translation, Proceedings of the ACL 2010 Conference Short Papers, Uppsala, 147-150.
Sujaini, H., Kuspriyanto, Arman, A.A., dan Purwarianti, A. (2012) : Pengaruh Part-Of-Speech pada Mesin Penerjemah Bahasa Inggris-Indonesia Berbasis Factored Translation Model , SNATI 2012, Yogyakarta, H77-H82.
Youssef, I., Sakr, M. dan Kouta, M. (2009) : Linguistic Factors in Statistical Machine Translation Involving Arabic Language, IJCSNS International Journal of Computer Science and Network Security, 9(11),154-159.
Adriani, M dan Riza, H. (2009) : Research Report on Local Language Computing: Development of Indonesian Language Resources and Translation System, PAN Localization, 102042.
Pisceldo, F., Adriani, M., dan Manurung, R. (2009) : Probabilistic Part of Speech Tagging for Bahasa Indonesia, Third International Wokshop on Malay and Indonesian Language Engineering, Singapore.
Wicaksono, A.F. dan Purwarianti, A. (2010) : HMM Based Part-of-Speech Tagger for Bahasa Indonesia, The 4th International Malindo Wokshop, Jakarta, 94-100.
Larasati, S.D., Kuboň, V, dan Zeman, D. (2011) : Indonesian Morphology Tool (MorphInd): Towards an Indonesian Corpus, SFCM 2011. Springer CCIS proceedings of the Workshop on Systems and Frameworks for Computational Morphology, Zurich. 119-129.
Resnik, P. (1993) : Semantic classes and syntactic ambiguity, HLT '93 Proceedings of the workshop on Human Language Technology, 278-283.