BAB III PENYESUAIAN PENGURAI COLLINS UNTUK BAHASA INDONESIA Pada Bab III ini akan dijelaskan mengenai proses-proses yang diperlukan dalam proses awal (preprocessing) membentuk file masukan untuk pengurai Collins. Adaptasi ini dilakukan agar pengurai Collins dapat digunakan untuk bahasa Indonesia. Adaptasi yang dilakukan antara lain penyesuaian terhadap kelima file (file events, file grammar, file leksikon, file korpus, file simbol non-terminal) masukan pengurai Collins. III.1 Analisis Proses Tesis ini mengacu pada penelitian Collins yang menggunakan pengurai hasil disertasi Collins [12] untuk bahasa Czech. Tesis ini akan menggunakan pengurai Collins untuk bahasa Indonesia. Tesis ini menggunakan pengurai Collins karena disertasi beserta modul-modul programnya dapat diunduh (download) di website Michael Collins (lisensi GNU (open source)). Hasil penelitian Collins juga telah digunakan untuk bahasa lain selain bahasa Inggris (bahasa Czech) sehingga dapat diasumsikan dapat digunakan untuk bahasa Indonesia. Kelebihan dari pengurai Collins adalah metode head-finder yang digunakan. Metode tersebut memberikan penanda kepala kata pada setiap level pohon sehingga dapat digunakan untuk menandai inti frase. Selain itu pengurai Collins dianggap sebagai pengurai berbasis statistik dengan kecepatan yang cukup baik dalam menguraikan kalimat. Model pengurai Collins yang diimplementasikan pada tesis ini hanya model 1 dari pengurai Collins. Modul-modul pada pengurai Collins meliputi modul-modul untuk proses pembelajaran dan penguraian kalimat masukan dimana file events sebagai data pembelajaran diambil dari Penn WSJ (Wall Street Journal) treebank. Modul-modul yang digunakan juga akan menggunakan modul-modul pada pengurai Collins, tapi dimodifikasi dan dibuat tambahan pemrosesan awal agar dapat digunakan untuk bahasa Indonesia. Tesis ini akan membuat sebuah III-1 pemrosesan awal untuk mempersiapkan kumpulan file masukan berbahasa Indonesia untuk pengurai Collins. Kalimat dalam bahasa Indonesia memiliki beberapa kesamaan dengan kalimat dalam bahasa Inggris antara lain: Kalimat dapat memiliki sub kalimat berupa frase subyek, frase predikat, frase obyek, frase keterangan, dan pelengkap, Memiliki pola tata bahasa inti yang sama yaitu S-P-O (subyek-predikatobyek). Namun kedua bahasa ini juga memiliki beberapa perbedaan antara lain: Tabel III-1 Perbedaan Bahasa Indonesia dan Bahasa Inggris Bahasa Indonesia Bahasa Inggris penggunaan kata tidak dipengaruhi penggunaan kata dipengaruhi waktu waktu kejadian kejadian sehingga ada kata kerja bentuk pertama, kedua, dan ketiga tata bahasa tidak dipengaruhi waktu tata bahasa dipengaruhi waktu kejadian kejadian pola frase adalah diterangkan pola menerangkan (DM) frase adalah menerangkan diterangkan (MD) tidak mengenal perubahan kata benda mengenal kata benda dalam bentuk dalam bentuk jamak dan tidak jamak jamak dan tidak jamak Proses yang dilakukan dalam tesis ini meliputi proses awal (preprocessing) menyesuaikan kumpulan file masukan pada pengurai Collins dan proses pengujian dengan mencoba menguraikan kalimat baru sebagai masukan. Input dari sistem untuk proses pembelajaran adalah file treebank berbahasa Indonesia sedangkan untuk pengujian, masukannya adalah file teks yang berisi kumpulan kalimat (corpus) berbahasa Indonesia. Hasil keluaran pemrosesan awal pada tesis ini kumpulan file yang akan menjadi masukan pengurai Collins. III-2 Modul-modul pada Collins parser merupakan modul-modul untuk proses pembelajaran dan pengujian. Kumpulan file masukan pengurai Collins adalah sebagai berikut: 1. File events yang menyimpan hasil generasi events (kemungkinan kebergantungan antar elemen dalam kalimat yang dibangkitkan secara heuristic) dari Penn WSJ (Wall Street Journal) Treebank, file events ini menggunakan format Collins, file ini digunakan untuk menghitung probabilitas kemunculan kebergantungan antar simbol non-terminal sebagai data pembelajaran, file events sebenarnya adalah treebank yang dikemas menggunakan format events pengurai Collins, 2. File korpus yang berisi beberapa kalimat yang sudah memiliki tag, kalimat-kalimat dalam file korpus inilah yang nantinya akan diuraikan untuk proses pengujian, 3. File yang berisi pola tata bahasa dengan format Collins (grammar) sebagai acuan aturan penguraian, 4. File yang berisi simbol-simbol non terminal yang digunakan, 5. File kamus (leksikon) untuk menentukan jenis kata (tag) (berisi kata, jenis kata, dan bernilai 0 jika kata termasuk jarang digunakan, bernilai 1 jika kata termasuk sering digunakan). Pemrosesan awal (preprocessing) yang dilakukan pada tesis ini adalah melakukan penyesuaian kelima file masukan pengurai Collins menggunakan bahasa Indonesia. Algoritma penguraian (parsing) yang digunakan pengurai Collins adalah bottom- up chart parsing [12] untuk membentuk pohon pola tata bahasa. Algoritma bottom up chart parsing yang digunakan diawali dengan memasukkan semua kata dalam chart (tabel) untuk dihitung kemungkinan pembentukan pola tata bahasanya antara kata yang satu dengan lainnya (menggunakan probabilitas). Dari tabel kata tersebut maka dilakukan pemeriksaan probabilitas kemunculan aturan grammar pada file grammar disesuaikan dengan tag kata (penjelasan algoritma chart yang digunakan dapat dilihat pada Lampiran 16). File yang digunakan untuk III-3 menghitung probabilitas aturan grammar adalah file events. Gambar keterkaitan antar file masukan pada pengurai Collins dapat dilihat pada Gambar III-1. file korpus pengurai Collins analisis leksikal file simbol non terminal pengenalan dan pendeskripsian token dengan memeriksa tag kata apakah ada di daftar simbol non terminal analisis sintaks file leksikon file grammar file events memeriksa kebenaran token dengan memeriksa apakah tag kata sudah benar dilihat dari leksikon memeriksa setiap aturan grammar yang sesuai dengan korpus dan akan dihitung probabilitasnya dengan membaca file events untuk membentuk pohon pola tata bahasa pohon pola tata bahasa Gambar III-1 Keterkaitan Antar File Masukan pada Pengurai Collins Pemrosesan awal (preprocessing) yang dilakukan pada tesis ini meliputi dua buah proses berikut: 1. Proses membuat file events dan membangkitkan aturan grammar dari file yang berisi pohon kalimat berbahasa Indonesia, selain itu, kata yang tidak ada di dalam leksikon (pada treebank) juga akan ditambahkan pada file leksikon, III-4 2. Proses membuat file korpus (jumlah kata dalam kalimat, kata dalam kalimat beserta tagnya) dari file teks yang berisi kumpulan kalimat berbahasa Indonesia. Proses-proses pemrosesan awal (preprocessing) yang akan dilakukan dalam tesis ini dapat dilihat pada Gambar III-2 dan III-3. masukan berupa dokumen treebank file grammar file leksikon diuraikan menjadi struktur pohon dalam struktur program per kalimat menggenerasi file events dan menambah isi file grammar dan leksikon dari pohon kalimat file events Gambar III-2 Arsitektur Global Proses Awal Pengurai Collins untuk Membuat file Events, file Grammar, file Leksikon format Collins (Menu 1) masukan berupa dokumen yang berisi kumpulan kalimat file leksikon POS tagging (penentuan jenis kata) file korpus format pengurai Collins Gambar III-3 Arsitektur Global Proses Awal Pengurai Collins untuk Membuat file korpus dengan Format Pengurai Collins (Menu 2) III-5 Hasil keluaran dari pemrosesan awal (preprocessing) dari tesis ini akan menjadi masukan dari pengurai Collins. III.1.1 Penyesuaian Kumpulan File Masukan Pengurai Collins untuk Bahasa Indonesia Bahasa Indonesia memiliki perbedaan dengan bahasa Inggris. Oleh karena itu perlu dilakukan beberapa adaptasi dari pengurai Collins agar dapat digunakan untuk bahasa Indonesia. Adaptasi yang harus dilakukan antara lain: 1. Perlu adanya sebuah treebank dalam bahasa Indonesia yang digunakan untuk membangkitkan file events sebagai masukan pengurai Collins, 2. File korpus masukan dibuat menggunakan bahasa Indonesia beserta tag katanya, 3. File grammar juga harus disesuaikan dengan pola tata bahasa Indonesia, 4. File yang berisi simbol-simbol non-terminal juga harus disesuaikan dengan yang digunakan pada tesis ini, 5. File leksikon juga harus berisi kata dan tag untuk bahasa Indonesia. III.1.1.1 Penyesuaian File Treebank untuk Membuat File Events Collins menggenerasi file events dari sebuah section di Penn WSJ treebank. Pohon kalimat yang digunakan pengurai Collins sekitar 100.000 pohon kalimat. Permasalahan yang paling utama adalah di Indonesia belum ada treebank berbahasa Indonesia yang dapat digunakan pada pengurai Collins. Oleh karena itu treebank akan dibuat dalam tesis ini secara manual. Treebank yang dibuat menggunakan beberapa kalimat berbahasa Indonesia sebagai uji coba proses pembelajaran pada aplikasi pemrosesan awal (preprocessing) pada tesis ini. Contoh isi treebank untuk sebuah kalimat dalam bahasa Indonesia dapat dilihat pada Tabel III-2. III-6 Tabel III-2 Contoh Isi Treebank (S(NP(PR Kamu))(ADVP(JJ tentu)(RB sering))(PU ,)(ADVP(RB bahkan)(JJ mungkin)(AR setiap)(NN hari))(PU ,)(>VB mendengarkan) (NN berita)(ADVP(IN di)(NN televisi)(>CC atau)(IN di)(NN radio))(PU .)) Treebank yang dibuat disamakan dengan format treebank yang dipakai pengurai Collins ditambahkan tanda ‘>’ sebagai penanda kata kepala level pada setiap level penguraian (inti makna). Contoh isi file event untuk sebuah kalimat dalam bahasa Indonesia dapat dilihat pada Tabel III-3. Tabel III-3 Contoh Isi File Events untuk Sebuah Kalimat 6 17 Kamu PR tentu JJ sering RB , PU bahkan RB mungkin JJ setiap AR hari NN , PU mendengarkan VB berita NN di IN televisi NN atau CC di IN radio NN . PU 3 mendengarkan VB S VB 00000 00000 2 , PU mendengarkan VB PU S VB 000000 110 0 0 2 bahkan RB mendengarkan VB ADVP S VB 000000 100 0 0 2 , PU mendengarkan VB PU S VB 000000 100 0 0 2 tentu JJ mendengarkan VB ADVP S VB 000000 100 0 0 2 Kamu PR mendengarkan VB NP S VB 000000 100 0 0 2 #STOP# #STOP# mendengarkan VB #STOP# S VB 000000 100 0 0 2 berita NN mendengarkan VB NN S VB 000000 010 0 0 2 atau CC mendengarkan VB ADVP S VB 000000 000 0 0 2 . PU mendengarkan VB PU S VB 000000 000 0 0 2 #STOP# #STOP# mendengarkan VB #STOP# S VB 000000 000 0 0 3 Kamu PR NP PR 00000 00000 2 #STOP# #STOP# Kamu PR #STOP# NP PR 000000 110 0 0 2 #STOP# #STOP# Kamu PR #STOP# NP PR 000000 010 0 0 3 tentu JJ ADVP JJ 00000 00000 2 #STOP# #STOP# tentu JJ #STOP# ADVP JJ 000000 110 0 0 2 sering RB tentu JJ RB ADVP JJ 000000 010 0 0 2 #STOP# #STOP# tentu JJ #STOP# ADVP JJ 000000 000 0 0 3 bahkan RB ADVP RB 00000 00000 2 #STOP# #STOP# bahkan RB #STOP# ADVP RB 000000 110 0 0 2 mungkin JJ bahkan RB JJ ADVP RB 000000 010 0 0 2 setiap AR bahkan RB AR ADVP RB 000000 000 0 0 2 hari NN bahkan RB NN ADVP RB 000000 000 0 0 2 #STOP# #STOP# bahkan RB #STOP# ADVP RB 000000 000 0 0 3 atau CC ADVP CC 00000 00000 2 televisi NN atau CC NN ADVP CC 000000 110 0 0 2 di IN atau CC IN ADVP CC 000000 100 0 0 2 #STOP# #STOP# atau CC #STOP# ADVP CC 000000 100 0 0 2 di IN atau CC IN ADVP CC 000000 010 0 0 2 radio NN atau CC NN ADVP CC 000000 000 0 0 2 #STOP# #STOP# atau CC #STOP# ADVP CC 000000 000 0 0 III-7 Kode angka 6 pada events menandakan pembacaan kalimat yang dibuat pohon kalimatnya. Kode angka 3 merupakan kode event unary dimana jika setiap simpul pohon hanya memiliki satu anak atau hubungan antara simpul dengan kepala anaknya. Kode angka 2 merupakan kode event dependency dimana merupakan aturan triple tiga buah simbol non terminal (grammar). Penjelasan lebih lanjut dapat dilihat pada Lampiran 15. File events ini sebenarnya adalah representasi pohon kalimat menggunakan format Collins untuk pengurai Collins. File events ini digunakan untuk menghitung probabilitas aturan grammar yang ada di file grammar. Pengurai Collins menggunakan probabilitas kemunculan grammar untuk menghitung probabilitas pohon kalimat yang dihasilkan. Karena keterbatasan treebank maka pada tesis ini treebank yang dibuat hanya sesuai untuk model 1 pada pengurai Collins. Pada pengurai Collins, proses penguraian dianggap memakai model 1, model 2, atau model 3 (dijelaskan pada subbab lain di bab ini) didasarkan pada data yang ada pada file events (dengan adanya beberapa tag khusus untuk model 2 dan 3). Penjelasan struktur file events dapat dilihat pada Lampiran 15. File treebank yang digunakan pada tesis ini dapat dilihat pada Lampiran 10 sedangkan file events yang digunakan pada tesis ini dapat dilihat pada Lampiran 9. Struktur data pohon yang digunakan untuk menyimpan dan memproses pohon kalimat menjadi events beserta penjelasannya dapat dilihat pada Lampiran 15. Struktur data pohon ini diambil dari modul adaptasi pengurai Collins untuk bahasa Czech. III.1.1.2 Penyesuaian File Korpus Beberapa pemrosesan awal (preprocessing) harus dilakukan jika menggunakan pengurai Collins untuk bahasa Indonesia. Diantaranya adalah perlu adanya proses pemberian jenis kata pada setiap kata masukan (POS tagging). POS tagging perlu dilakukan untuk membuat sebuah file korpus masukan pengurai Collins yang telah diberi tag. Proses POS tagging untuk bahasa Indonesia akan dibahas pada bab selanjutnya. Format file korpus masukan dari pengurai Collins adalah sebagai berikut: III-8 [jumlah_kata_dalam_kalimat] [kata1] [tag1] [kata2] [tag2] ........ Contoh file korpus dalam bahasa Indonesia dapat dilihat pada Tabel III-4. Tabel III-4 Contoh File Korpus untuk Satu Kalimat 18 Tema NN cerita NN Malin NN Kundang NN dari IN Sumatra NN Barat NN ini PR ternyata VB juga JJ bisa AUX ditemui VB di IN daerah NN lain JJ di IN Indonesia NN . PU Contoh file korpus yang digunakan pada tesis ini dapat dilihat pada Lampiran 8. File korpus yang digunakan pada tesis ini adalah hasil pemrosesan awal (preprocessing) yang dibuat pada tesis ini. III.1.1.3 Penyesuaian File Grammar File grammar yang digunakan pengurai Collins merupakan hasil pembangkitan dari treebank ditambah dengan aturan grammar pada pengurai Collins untuk bahasa Inggris yang masih relevan dengan bahasa Indonesia dan simbol nonterminal yang digunakan (diperiksa mungkin tidaknya untuk bahasa Indonesia). Isi file grammar ini akan terus bertambah seiring banyaknya pohon kalimat pada treebank yang digunakan untuk pembelajaran. S NP VB NN NN mencangkul Pak tani NN tanah Gambar III-4 Contoh Pohon Kalimat dalam Bahasa Indonesia III-9 Format file grammar merupakan tigaan (triple) dari simbol-simbol non-terminal yang mungkin. Misalkan ada pohon kalimat seperti pada Gambar III-4, maka akan menghasilkan grammar S → NP VB S → VB NN NP → NN NN Hasil grammar pada contoh di atas akan ditulis dengan format seperti pada Tabel III-5. Tabel III-5 Contoh Penulisan Grammar L S NP VB L NP NN NN R S VB NN L berarti grammar sisi kiri dari kepala grammar dan R berarti grammar sisi kanan dari kepala grammar. Format file grammar Collins juga mengenal aturan grammar unary (U) yaitu aturan grammar yang memetakan satu simbol terminal ke satu simbol terminal yang lain. Ada juga aturan grammar sub-kategori sisi kiri (X) dan aturan grammar sub-kategori sisi kanan dimana sama dengan aturan grammar unary hanya saja ditambahkan kode 00000 sebagai penanda pembeda dengan aturan grammar unary. Penjelasan mengenai struktur data grammar yang digunakan pada tesis ini dapat dilihat pada Lampiran 13. III.1.1.4 Penyesuaian File Simbol Non-terminal Simbol-simbol non-terminal yang digunakan untuk melakukan penyesuaian file simbol non-terminal diadaptasi dari simbol-simbol yang digunakan pengurai Collins dengan beberapa penyesuaian dengan bahasa Indonesia. Penyesuaian tersebut meliputi tidak dipakainya simbol-simbol yang dalam bahasa Indonesia tidak diperlukan misal NNP, NNPS, dan NNS untuk merepresentasikan kata benda jamak dan tidak jamak. Semua kata benda dilabeli dengan NN. Dalam bahasa Indonesia juga tidak ada determiner (DT) dan keragaman bentuk kata kerja berdasarkan waktu kalimat (VBD, VBG, VBN, VBP, VBZ). Semua kata kerja III-10 dalam bahasa Indonesia dilabeli dengan VB. Simbol-simbol non-terminal yang digunakan dalam tesis ini akan dibahas pada bab selanjutnya. File simbol nonterminal yang digunakan pada tesis ini dapat dilihat pada Lampiran 12. III.1.1.5 Penyesuaian File Leksikon File leksikon merupakan file yang berfungsi sebagai kamus dalam pengurai Collins. File kamus ini akan digunakan untuk menentukan jenis kata pada proses POS tagging yang akan dijelaskan lebih lanjut pada bab selanjutnya. Sebelum dilakukan penyesuaian, file leksikon digunakan pengurai Collins untuk memeriksa tag dari file korpus masukan, tapi dalam tesis ini pemeriksaan itu tidak dilakukan karena proses POS tagging dilakukan pada pemrosesan awal. Isi file leksikon juga akan terus bertambah seiring munculnya kata baru pada treebank yang digunakan untuk pembelajaran. Proses yang dilakukan pada pemrosesan awal (preprocessing) pada tesis ini terkait dengan file leksikon adalah sebagai berikut: 1. Kata pada treebank yang ada di dalam kamus tapi tag yang diberikan pada treebank tidak sama dengan tag di dalam kamus, maka tag (pada struktur data pohon) akan diubah sama dengan yang ada di kamus, 2. Kata pada treebank yang tidak ada di dalam kamus akan diperiksa tag-nya apakah termasuk pada simbol non-terminal yang digunakan, jika termasuk maka kata akan ditambahkan ke dalam file leksikon. Contoh file leksikon yang digunakan pada tesis ini dapat dilihat pada Lampiran 11. III.1.2 Penentuan Jenis Kata (Part of Speech Tagging) Pengurai Collins memerlukan masukan berupa file korpus yang berisi kalimat beserta jenis katanya (tag) untuk kemudian diuraikan oleh pengurai Collins. Berdasarkan penelitian yang dilakukan Fadillah Z. Tala (2003) [26] menghasilkan kesimpulan bahwa pemrosesan temu balik informasi khususnya untuk POS tangging dan stemming untuk bahasa Indonesia lebih baik berbasis kamus sehingga menghasilkan lebih sedikit kesalahan dibanding berbasis aturan. Secara III-11 garis besar proses penentuan jenis kata yang akan dilakukan pada tesis ini adalah sebagai berikut: Jenis kata setiap kata akan dicari di dalam kamus terlebih dahulu, jika ada maka jenis kata dapat disimpulkan, Jika kata tidak ditemukan di dalam kamus maka penentuan jenis kata akan menggunakan aturan morfologi pada tata bahasa Indonesia, Jika masih juga belum dapat ditentukan jenis katanya maka jenis kata akan diprediksi dengan metode yang akan dijelaskan kemudian (Bab selanjutnya), Jika belum dapat diprediksi jenis katanya maka kata akan diberi label X (unknown). III-12