Friday, 10 May 2013

Translator untuk Melestarikan Bahasa Daerah

Saat ini penggunaan bahasa daerah di masyarakat sudah mulai berkurang dan semakin berubah akibat kemajuan zaman terutama perkembangan teknologi. Semakin lama penutur bahasa daerah semakin sedikit sehingga dikhawatirkan punahnya 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

Untuk yang memerlukan monokorpus Bahasa Indonesia, silahkan diunduh disini :

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 adalah pasangan korpus yang berisi kalimat-kalimat dalam suatu bahasa dan terjemahannya. Korpus paralel merupakan bahan penting untuk melakukan eksperimen-eksperimen dalam bidang pemrosesan bahasa alami.
Korpus paralel banyak tersimpan dalam "hard disk" para peneliti, tapi sangat sedikit yang di-share. Korpus paralel Indonesia-Inggris yang dipublikasikan  diantaranya :
  • 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),
  • Teks film (movie subtitles) yang tersedia dalam dua bahasa (Indonesia dan Inggris).

Wednesday, 2 May 2012

Part of Speech Bahasa Indonesia


Berbagai set PoS bahasa Indonesia telah digunakan dalam penelitian-penelitian bidang pemrosesan bahasa alami (PBA), diantaranya lewat PAN Localization Project, khusus untuk bahasa Indonesia telah dikembangkan PoS khusus untuk terjemahan ke bahasa Inggris pada tahun 2009 (Adriani, 2009). PoS tersebut dibangun berdasarkan Penn Treebank PoS tag sets  terdiri dari 29 PoS tags. PoS utama Bahasa Indonesia adalah kata kerja (verb), kata sifat (adjective), kata keterangan (adverb), kata benda (noun), and kata tugas (function words), berdasarkan 5 (lima) PoS utama tersebut dan observasi data, Pisceldo dkk. (2009) mendefinisikan 37 tag untuk Bahasa Indonesia. Wicaksono dkk. (2010) dalam penelitiannya menggunakan 35 tag hasil dari modifikasi tagset yang dihasilkan oleh Adriani, (2009) dan Pisceldo dkk. (2009). Terakhir, Larasati dkk. (2011) menggunakan hanya 19 tag dalam penelitiannya.

Detail set PoS yang digunakan lebih detail dapat dilihat di :
Adriani, Mirna (2009), “Developing Postag for Bahasa Indonesia”, Diakses pada 1 April 2012 dari http://www.panl10n.net/Presentations/Laos/ RegionalConference/CorpusCollection/Tagset_Tagging_for_Bahasa_Idonesia.pdf
Larasati, Septina Dian, 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.

Pisceldo, Femphy, Mirna Adriani, dan Ruli Manurung. (2009). Probabilistic Part of Speech Tagging for Bahasa Indonesia, Third International Wokshop on Malay and Indonesian Language Engineering, Singapore.
Wicaksono, Alfan Farizki dan Ayu Purwarianti. (2010). HMM Based Part-of-Speech Tagger for Bahasa Indonesia, The 4th International Malindo Wokshop, Jakarta.

Yang mana yang paling baik ? Saya sendiri sedang dalam proses mencari jawabannya. Semoga membantu.

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 :
  1. Mengunduh korpus paralel yang yang terpublikasi
  2. Mengunduh dokumen-dokumen yang tersedia dalam dua bahasa (Indonesia dan Inggris)
  3. Mengunduh teks film (movie subtitles) yang tersedia dalam dua bahasa (Indonesia dan Inggris)
  4. dll.
Untuk percobaan ini saya menggunakan korpus dari bppt lewat PAN Localization Project. Terdapat 4 (empat) domain korpus yang tersedia, yaitu domain ekonomi, sport, science, dan internasional. Silahkan unduh di http://panl10n.net/english/OutputsIndonesia2.htm

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)

Istilah Terjemahan Mesin (TM) digunakan dalam arti terjemahan dari satu bahasa ke bahasa lain. Tujuan ideal sistem TM adalah untuk menghasilkan terjemahan sebaik mungkin tanpa bantuan manusia. Pada dasarnya setiap sistem TM memerlukan program untuk terjemahan dan kamus otomatis serta tata bahasa untuk mendukung terjemahan.


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

Apa itu bahasa dan bagaimana bahasa itu dapat didefinisikan? Pada level analisis sintaks, bahasa adalah kalimat yang dibuat dan dapat digunakan untuk berkomunikasi. Meskipun demikian, tidak semua urutan kata-kata dapat dikategorikan sebagai kalimat. Sebagai contoh, perhatikan kalimat–kalimat berikut ini, ada beberapa kalimat yang gramatikal dan ada yang tidak.
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.