III-1 BAB III PENYESUAIAN PENGURAI COLLINS UNTUK BAHASA

advertisement
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
Download