Friday, 10 May 2013
Translator untuk Melestarikan Bahasa Daerah
Diperkirakan hanya separuh dari seluruh bahasa yang dituturkan oleh manusia dunia sekarang ini yang masih akan eksis pada tahun 2100 nanti.
National geographic bahkan merinci lebih jelas bahwa satu bahasa punah setiap 14 hari dan sebelum berganti abad dunia akan kehilangan separuh dari sekitar 7.000 bahasa ibu yang masih ada di bumi saat ini. UNESCO yang memiliki kekhawatiran sama juga memperkirakan sekitar 3000 bahasa akan punah di akhir abad ini.
Menurut Summer Institute of Linguistic yang melakukan penelitian pada tahun 2006, jumlah bahasa daerah di Indonesia mencapai 742 ragam yang menempatkan Indonesia pada urutan ke-2 sedunia sebagai laboratorium keanekaragaman bahasa setelah Papua Nugini yang memiliki 867 ragam bahasa
Berbagai cara dilakukan untuk mencegah kepunahan bahasa daerah, dari mulai memasukkannya ke dalam kurikulum sekolah, mengadakan seminar-seminar bahasa daerah, membuat dokumen-dokumen dalam bahasa daerah dan lain-lain.
Salah satu cara yang belum banyak ditempuh adalah dengan membangun mesin penerjemah. Meskipun sudah ada, tapi hanya sebatas bahasa tertentu saja, perlu dibangun sebuah sistem penerjemah yang mampu mengakomodir semua bahasa daerah di Indonesia.
Secara garis besar, ada dua pendekatan sistem mesin penerjemah, yaitu berbasis aturan (rule) dan statistik. Salah satu kelebihan mesin penerjemah berbasis aturan adalah kecepatan proses nya, sayangnya untuk setiap bahasa selalu memiliki aturan yang berbeda sehingga memerlukan pengetahuan tentang bahasa tersebut.
Kelebihan utama dari mesin penerjemah berbasis statistik adalah bersifat lebih umum sehingga untuk membangunnya tidak diperlukan pengetahuan bahasa, cukup dengan bermodalkan korpus paralel antara dua bahasa yang akan diterjemahkan. Kekurangannya adalah dalam segi kecepatan proses, yang salah satu cara mengatasinya dalah dengan menggunakan mesin berkecepatan tinggi. Cara lain untuk mengatasi kelemahan tersebut adalah dengan menggabungkan kedua pendekatan tersebut.
Prototype penggabungan aturan dan statistik mesin penerjemah untuk mereduksi kelemahan masing-masing pendekatan sedang kami bangun dengan memilih salah satu bahasa daerah yaitu bahasa Melayu Pontianak.
Translator Nusantara
Translator bahasa Indonesia ke bahasa Melayu Pontianak
Translator bahasa daerah (Melayu Pontianak, Melayu Sambas, Sunda, Jawa)
Penerjemah dokumen : detik.com dalam bahasa Melayu Pontianak
detik.com dalam bahasa Melayu Pontianak
Friday, 19 April 2013
Kumpulan Korpus Bahasa Indonesia
Wikipedia
1. Wiki1 = Sumber : wikipedia indonesia
2. Wiki2 = Sumber : wikipedia indonesia
3. Wiki3 = Sumber : wikipedia indonesia
4. Wiki4 = Sumber : wikipedia indonesia
5. Wiki5 = Sumber : wikipedia indonesia
6. Wiki6 = Sumber : wikipedia indonesia
7. Wiki7 = Sumber : wikipedia indonesia
Berita
1. Berita1 = Sumber : detik
2. Berita2 = Sumber : detik
3. Berita3 = Sumber : detik
Bahan mentah korpus paralel :
BBC dwi bahasa (English-Indonesian) = Sumber : BBC
Berita dwi bahasa (English) = Sumber : Berita Jakarta
Berita dwi bahasa (Indonesian) = Sumber : Berita Jakarta
Semua korpus di atas masih mentah, belum di-"cleaning", hasil crawling dari berbagai sumber di internet.
herry_sujaini@yahoo.com
Friday, 4 May 2012
Korpus Paralel Indonesia-Inggris
- Korpus paralel yang yang terpublikasi,
- PAN Localization Project www.panl10n.net
- Korpus paralel Indonesia – Inggris (surface)
- domain ekonomi = 6.544 kalimat
- domain internasional = 6.642 kalimat
- domain sains = 6.355 kalimat
- domain olahraga = 4.483 kalimat
-
- Korpus paralel Indonesia – Inggris (surface+PoS+Lemma+morph) = 27.326 kalimat(Korpus Identic sudah menggabungkan isi dari korpus LPP)
Jika dirasakan kurang, silahkan menambahnya dengan mengumpulkan sendiri dari berbagai sumber di internet.
- Dokumen-dokumen yang tersedia di internet dalam dua bahasa (Indonesia dan Inggris),
- Situs yang menyediakan hasil terjemahan (dokomen asli dicari di situs lain), seperti http://pusaka.or.id/dokumen
- Situs resmi yang menyediakan dua bahasa seperti : http://www.indonesia.go.id, http://www.itb.ac.id
- Situs berita yang menyediakan berita dalam dua bahasa seperti : http://www.bbc.co.uk/indonesia/
- Dokumen yang tersedia dalam dua bahasa seperti pada : http://www.unmit.org/legal/UNTAET-Law/index-i.htm
- Teks film (movie subtitles) yang tersedia dalam dua bahasa (Indonesia dan Inggris).
Wednesday, 2 May 2012
Part of Speech Bahasa Indonesia
Saturday, 31 March 2012
Akurasi Terjemahan Google
Seorang teman bertanya kepada saya, “Seberapa akurat hasil terjemahan google untuk Bahasa Inggris ke Indonesia dan sebaliknya?”. Saya coba searching tapi tak menemukan jawaban (mungkin kurang serius mencarinya). Daripada tidak ada jawaban sama sekali, saya mencoba menemukan jawabannya sendiri. Mencoba mencari sejumlah kalimat bahasa Indonesia dan terjemahannya dalam bahasa Inggris, mencoba menerjemahkannya dengan google, kemudian memberikan scoring dengan algoritma standar untuk evaluasi mesin penerjemah.
Bahan yang diperlukan adalah korpus paralel, yaitu sepasang korpus yang berisi kalimat-kalimat dalam suatu bahasa dan terjemahannya. Pada percobaan ini akan menggunakan korpus paralel bahasa Indonesia dan bahasa Inggris. Apa itu korpus? Silahkan tanya ke tante wiki http://en.wikipedia.org/wiki/Text_corpus
Bagaimana cara mendapatkan bahan tersebut? Banyak caranya, dan gratis, diantaranya kita dapat :
- Mengunduh korpus paralel yang yang terpublikasi
- Mengunduh dokumen-dokumen yang tersedia dalam dua bahasa (Indonesia dan Inggris)
- Mengunduh teks film (movie subtitles) yang tersedia dalam dua bahasa (Indonesia dan Inggris)
- dll.
Saya mengambil salah satu korpus paralel tersebut, yaitu korpus domain ekonomi, korpus tersbut terdiri dari dua file, file pertama berisi kalimat-kalimat dalam bahasa Indonesia yang terdiri dari 157619 kata, 6544 kalimat, file kedua berisi kalimat-kalimat terjamahan dari file pertama dalam bahasa Inggris yang terdiri dari 173641 kata, 6544 kalimat.
Setelah siap, terjemahkan 2 file tersebut dengan google translator. File pertama untuk terjemahan Indonesia-Inggris, yang kedua untuk terjemahan Inggris-Indonesia.
Untuk alatnya, saya menggunakan algoritma BLEU (Bilingual Evaluation Understudy). Penjelasannya ada di http://en.wikipedia.org/wiki/BLEU
Jika ingin tahu lebih jauh silahkan baca paper Papineni, K., Roukos, S., Ward, T., and 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).
Scriptnya tersedia di http://www.itl.nist.gov/iad/mig//tests/mt/2008/scoring.html
Hasil percobaannya seperti gambar berikut ini (saya gunakan OS Ubuntu):

Hasil terjemahan Indonesia-Inggris :
BLEU = 92.99, 94.4/93.9/93.7/93.5 (BP=0.990, ratio=0.990, hyp_len=163820, ref_len=165398)
Hasil terjemahan Inggris-Indonesia :
BLEU = 92.73, 94.1/93.6/93.3/93.0 (BP=0.992, ratio=0.992, hyp_len=150560, ref_len=151771)
Apa arti nilai-nilai tersebut ?
Contoh hasil yang terakhir :
92.73 = score akhir
94.1 = presisi 1-gram
93.6 = presisi 2-gram
93.3 = presisi 3-gram
93.0 = presisi 4-gram
BP (brevity penalti) = min(1,jumlah kata output/jumlah kata ref)
ratio = jumlah kata output/jumlah kata ref
hyp_len = jumlah kata hasil terjemahan
ref_len = jumlah kata refrensi
Jangan pusing2 dengan nilai2 tersebut, lihat saja score akhirnya.
Salah satu contoh kalimat hasil terjemahan :
Terjemahan Inggris-Indonesia
Minister of Finance Sri Mulyani Indrawati said that a sharp correction of the composite inde x by up to 4 pct in Wedenesday?s trading was a mere temporary effect of regional factors like decline in plantation commodity prices and the financial crisis in Thailand.
Terjemahannya
Menteri Keuangan Sri Mulyani mengatakan koreksi tajam pada Indeks Harga Saham Gabungan IHSG hingga sekitar 4 persen dalam perdagangan Rabu 10/1 hanya efek sesaat dari faktor-faktor regional seperti penurunan harga komoditi perkebunan dan krisis finansial di Thailand.
Terjemahan Google
Menteri Keuangan Sri Mulyani Indrawati mengatakan bahwa koreksi tajam dari x merdeka komposit hingga 4 persen di Wedenesday trading adalah? Efek sementara hanya faktor regional seperti penurunan harga komoditas perkebunan dan krisis keuangan di Thailand.
Sebaliknya untuk terjamahan Indonesia-Inggris, google menghasilkan terjemahan :
Finance Minister Sri Mulyani said the sharp correction in stock index Composite Stock Price Index by about 4 percent in trading Wednesday 10/1 only a momentary effect of regional factors such as the decline in farm commodity prices and financial crisis in Thailand.
Boleh percaya, boleh tidak, setidaknya saya sudah bisa menjawab pertanyaan teman saya:
Akurasi terjemahan Indonesia-Inggris untuk 6544 kalimat dalam satu domain adalah sebesar 92.99% dan untuk Inggris-Indonesia sebesar 92.73%.
Friday, 18 June 2010
Ikhtisar Terjemahan Mesin (TM)
Tipe-tipe Sistem Terjemahan Mesin
Sistem TM yang menghasilkan terjemahan antara hanya dua bahasa tertentu disebut sistem bilingual, dan yang menghasilkan terjemahan untuk setiap pasangan bahasa tertentu disebut sistem multilingual. Sistem multilingual dapat berupa uni-directional atau bi-directional. Sistem multilingual lebih diutamakan untuk bi-directional dan bi-lingual karena mereka memiliki kemampuan untuk menerjemahkan dari bahasa tertentu ke bahasa tertentu lainnya dan sebaliknya.
Pendekatan Terjemahan Mesin Langsung (Direct Translation Machine)
Pendekatan terjemahan langsung adalah yang tertua dan pendekatan yang kurang populer. Sistem TM yang menggunakan pendekatan ini mampu menerjemahkan bahasa, disebut source language (SL) langsung ke bahasa lain, yang disebut target language (TL). Analisis teks SL berorientasi hanya untuk satu TL. sistem terjemahan langsung adalah pada dasarnya bilingual dan uni-directional.
Pendekatan Interlingua
Maksud pendekatan Interlingua untuk menerjemahkan teks SL dengan lebih dari satu bahasa. Terjemahan dari SL ke bentuk peralihan yang disebut Interlingua (IL) kemudian dari IL ke TL. Interlingua mungkin berupa bahasa buatan atau pembantu bahasa seperti bahasa Esperanto dengan kosakata universal.
Catatan :
Esperanto adalah bahasa artifisial yang diciptakan oleh Ludovich Zamenhoff, seorang Polandia. Nama "Esperanto" adalah nama samaran dari L.L Zamenhof sendiri ketika ia menerbitkan tentang bahasanya pada tahun 1887. Tujuan utama Zamenhof adalah untuk membuat bahasa netral yang mudah dipelajari dan digunakan sebagai bahasa perantara oleh berbagai orang yang memiliki bahasa ibu yang bermacam-macam.
Pendekatan Transfer
Tidak seperti pendekatan Interlingua, pendekatan transfer memiliki tiga tahap proses. Pada tahap pertama, teks SL dijabarkan ke SL-berorientasi representasi abstrak. Pada tahap kedua, representasi SL-berorientasi representasi dikonversi menjadi TL-berorientasi representasi setara. Final teks dihasilkan dalam tahap ketiga.
Pendekatan Empiris
Pendekatan empiris adalah pendekatan muncul yang menggunakan sejumlah besar data mentah dalam bentuk paralel korpus. Data mentah yang terdiri dari teks dan terjemahannya. Example-based MT, analogy-based MT, memory-based MT, and case-based MT adalah mesin-mesin dengan teknik yang menggunakan pendekatan empiris. Pada dasarnya semua teknik ini menggunakan korpus atau database sebagai contoh diterjemahkan. Statistical MT adalah mesin yang berbasis korpus tapi sedikit berbeda dalam arti bahwa ia bergantung pada pemodelan statistik dari urutan kata dari bahasa sasaran dan target kesetaraan sumber-kata. Statistical MT secara otomatis mempelajari kecendrungan leksikal dan struktur dari korpus. Model statistik menawarkan solusi yang baik untuk masalah ambiguitas. Mereka kuat dan bekerja dengan baik bahkan jika ada kesalahan dan adanya data baru.
Sumber :
http://language.worldofcomputing.net/category/machine-translation
http://id.wikipedia.org/wiki/Bahasa_Esperanto
Tuesday, 1 June 2010
Merepresentasikan Bahasa dengan Pendekatan Chomsky
a. Fahmi berhasil mencapai puncak pohon itu.
b. Dalam beberapa hari terakhir, hujan mengguyur Kota Bandung tanpa henti.
c. Fahmi mencapai berhasil puncak pohon itu.
d. Dalam hari terakhir beberapa, hujan Kota Bandung mengguyur tanpa henti.
Dari contoh-contoh kalimat di atas, jelas sekali bahwa kalimat a dan b termasuk kalimat yang gramatikal, sedangkan dua kalimat lainnya, yaitu kalimat c dan d tidak termasuk kalimat yang gramatikal.
Suatu kalimat dikatakan gramatikal atau tidak tentu saja tidak dapat hanya dilakukan dengan sense, tapi tentu saja ada aturan-aturan yang berlaku untuk menentukannya. Pendekatan Chomsky untuk masalah ini dengan menggeser dari penekanan pada bahasa yang untuk semua tujuan praktis kepada penekanan pada tata bahasa atau aturan yang dapat menghasilkan bahasa.
Contoh :
Asumsikan bahwa kosa kata dibatasi sepasang huruf {a, b}. Kalimat-kalimat yang dapat dibentuk dari sepasang huruf ini antaranya adalah :
abba, abaaba, baabaabaab dan lain-lain.
Aturan untuk membentuk deretan huruf tersebut adalah :
S -> aa S -> aSa
S -> bb S -> bSb
Bagaimana aturan-aturan ini digunakan dalam membentuk sebuah kalimat? Langkah pertama tulislah S yang digunakan sebagai symbol inisiasi. Kemudian ganti S dengan salah satu dari 4 alternatif perluasan, misalnya S => aSa. Jika bentuk baru masih mengandung S, ganti kembali dengan salah satu dari 4 alternatif perluasan sampai tidak dapat diperluas lagi, atau dengan kata lain tidak mengandung S lagi.
Salah satu contoh urutan turunan sebuah kalimat berdasarkan aturan di atas adalah :
(1) S
(2) bSb
(3) baSab
(4) baaSaab
(5) baabSbaab
(6) baabaabaab
Langkah selanjutnya, kita akan memformalisasikan sebuah tata bahasa dan kemudian menjelaskan bagaimana pengetahuan dapat digunakan dalam mendefinisikan sebuah bahasa.
Definisi :
Sebuah grammer, G, dapat didefinisikan dalam bentuk sebuah himpunan yang terdiri dari 4 elemen (quadruple), dimana setiap elemen bersifat terbatas. G = (N, V, P, S0), dimana :
a. N adalah sebuah himpunan nonterminal
b. V adalah sebuah himpunan simbol terminal yang digunakan untuk mendefinisikan kalimat sebenarnya
c. P adalah himpunan aturan gramatikal, dan
d. S0 adalah nonterminal tunggal yang digunakan sebagai simbol inisiasi.
Sebagai contoh :
N = {S}
V = {a,b}
P = {S -> aa, S -> aSa, S -> bb, S -> bSb}
S0 = S
Himpunan N dan V tidak boleh overlap, dimana anggota-anggota himpunannya tidak boleh sama atau dengan kata lain : N U V = Q, dimana Q merupakan sebuah himpunan kosong.
Nonterminal dapat ditulis ulang atau diganti dan dapat muncul di sisi kiri maupun sisi kanan aturan, sedangkan terminal tidak dapat ditulis ulang atau diganti dan hanya dapat muncul di sisi kanan aturan.
Kumpulan aturan yang berhubungan dengan sebuah nonterminal dapat digabungkan penulisannya, misalnya ada sekumpulan aturan : X -> a1, X -> a2, dan X -> a3, dapat dituliskan sebagai : X -> a1 | a2 | a3.
Atau secara umum dapat ditulis dengan bentuk : X -> a1 | a2 | ... | an.