Penerapan Support Vector Machine untuk Ekstraksi Informasi dari Dokumen Teks
LAPORAN TUGAS AKHIR
Disusun sebagai syarat kelulusan tingkat sarjana
oleh : Paramita / 13504040
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2008
Lembar Pengesahan Program Studi Teknik Informatika Penerapan Support Vector Machine untuk Ekstraksi Informasi dari Dokumen Teks
Tugas Akhir Program Studi Teknik Informatika ITB
Oleh Paramita / 13504040
Telah disetujui dan disahkan sebagai laporan tugas akhir di Bandung, pada tanggal 20 Juni 2008
Pembimbing
Ir. Dwi Hendratmo Widyantoro, M.Sc., Ph.D. NIP. 132084094
ii
RINGKASAN Proses ekstraksi informasi (Information Extraction atau IE) adalah proses pengubahan dokumen teks tidak terstruktur dengan domain tertentu ke dalam sebuah struktur informasi yang relevan. Di dalam tugas akhir ini domain yang digunakan adalah lowongan pekerjaan. Kebanyakan iklan lowongan pekerjaan yang terdapat di berbagai website perusahaan maupun website khusus lowongan pekerjaan di Indonesia merupakan dokumen teks berbahasa campuran, Indonesia dan Inggris. Pada tugas akhir ini akan dikaji proses ekstraksi informasi pada dataset berbahasa campuran, dengan menerapkan teknik pembelajaran mesin. Pendekatan pembelajaran mesin yang digunakan adalah pendekatan statistik, dengan metode klasifikasi token. Algoritma klasifikasi yang digunakan adalah Support Vector Machine (SVM) dengan uneven margin, yang didesain khusus untuk imbalanced dataset. Sedangkan strategi tagging yang digunakan adalah strategi Begin/End (BE) tagging. Adapun eksperimen yang dilakukan mencakup analisis performansi SVM dengan uneven margin untuk ekstraksi informasi pada dataset berbahasa campuran, pengujian parameter pembelajaran terbaik, dan perbandingan dengan algoritma klasifikasi lain, yaitu Naïve Bayes dan KNN. Hasil eksperimen menunjukkan bahwa performansi SVM dengan uneven margin untuk ekstraksi informasi pada dataset lowongan pekerjaan berbahasa campuran sangat baik, dengan akurasi mencapai ±85%. Dengan demikian dapat disimpulkan bahwa sistem ekstraksi informasi yang diimplementasikan dapat diterapkan pada lingkungan bursa kerja di Indonesia. Selain itu, algoritma SVM dengan uneven margin juga memiliki performansi yang lebih unggul dibandingkan dengan kedua algoritma lainnya. Kata kunci: ekstraksi informasi, pembelajaran mesin, klasifikasi token, SVM uneven margin, Begin/End tagging, imbalanced dataset, dataset berbahasa campuran
iii
KATA PENGANTAR Puji syukur Penulis panjatkan ke hadirat Allah SWT, karena berkat rahmat dan karunia-Nya lah Penulis mampu menyelesaikan tugas akhir yang berjudul “Penerapan Support Vector Machine untuk Ekstraksi Informasi dari Dokumen Teks”. Laporan tugas akhir ini disusun untuk memenuhi persyaratan kelulusan tingkat sarjana Program Studi Teknik Informatika ITB. Dalam pelaksanaan tugas akhir ini, Penulis menemui banyak hambatan baik dari faktor-faktor internal maupun eksternal. Namun atas bantuan dari berbagai pihak, hambatan tersebut dapat diatasi sehingga tugas akhir ini dapat dilalui dengan baik. Oleh karena itu, Penulis hendak memberikan ucapan terima kasih kepada: 1. Bapak Ir. Dwi Hendratmo Widyantoro, M.Sc., Ph.D, selaku pembimbing yang telah memberikan waktu dan pemikiran dalam memberikan bimbingan, saran, dan perhatian dalam pelaksanaan tugas akhir ini. 2. Ibu Masayu Leylia Khodra, S.T., M.T., selaku penguji pada saat proposal, seminar, prasidang, dan sidang, yang juga telah memberikan masukan dan saran untuk pelaksanaan tugas akhir ini. 3. Bapak Ir. Rinaldi Munir, M.T., selaku penguji pada saat sidang, yang bersedia menjadi penguji walaupun dengan pemberitahuan yang mendadak. 4. Ibu Ayu Purwarianti, S.T., M.T., Ph.D, yang telah memberikan masukan selama proses pelaksanaan tugas akhir ini. 5. Bapak Dr. Ir. Munawar Ahmad Z.A., selaku dosen wali yang mengantarkan perjalanan panjang Penulis selama 4 tahun di Teknik Informatika. 6. Prof. Hamish Cunningham dkk., yang telah mengembangkan perangkat lunak GATE (General Architecture for Text Engineering) yang digunakan di dalam tugas akhir ini. 7. Dr. Yaoyong Li, yang bersedia menyediakan waktunya untuk menjawab pertanyaan-pertanyaan Penulis mengenai GATE, dan memberikan dataset job postings corpus yang digunakan di dalam paper [LI05a]. 8. Krisantus Sembiring, yang laporan tugas akhirnya menjadi acuan Penulis di dalam memahami Support Vector Machine (SVM). iv
9. Prof. Dr. Ir. Sjamsoe’oed Sadjad, eyang kakung tersayang yang selalu memberikan dukungan, semangat, dan nasihat kepada Penulis. 10. Ayah, ibu, dan adik Penulis, serta seluruh keluarga besar yang telah memberikan dukungan moral dan selalu menyemangati Penulis di dalam menyelesaikan tugas akhir ini, atas perhatian dan doanya. 11. Teman-teman IF 2004 yang telah mendukung Penulis selama pelaksanaan tugas akhir, serta atas kebersamaannya dalam menjalani kuliah di Teknik Informatika. 12. Kak Febri, yang selalu memberikan dukungan dan semangat kepada Penulis di dalam pelaksanaan tugas akhir ini, atas kesabaran dan perhatiannya. 13. Ibu Sri Hartati dan segenap penghuni kos putri Kebon Bibit Barat No.3, yang telah menemani Penulis dan memberikan dukungan dan semangat kepada Penulis. 14. Seluruh staf Tata Usaha Teknik Informatika ITB yang telah membantu kelancaran administrasi hingga terselesaikannya tugas akhir ini. 15. Seluruh staf Perpustakaan Teknik Informatika ITB yang telah membantu kelancaran peminjaman pustaka yang dibutuhkan di dalam pelaksanaan tugas akhir ini. 16. Segenap staf dan karyawan Teknik Informatika ITB. 17. Untheg, Potito, dan semua kucing di rumah yang telah memberikan hiburan bagi Penulis di kala jenuh mengerjakan tugas akhir. 18. Semua teman dan berbagai pihak lainnya yang tidak dapat disebutkan satu persatu. Semoga Allah SWT membalas budi baik semua pihak dengan rahmat-Nya yang meliputi segala sesuatu. Penulis menyadari bahwa tugas akhir ini bukanlah tanpa kelemahan. Untuk itu, kritik dan saran berkaitan dengan tugas akhir ini sangat diharapkan. Akhir kata, Penulis berharap semoga tugas akhir ini dapat bermanfaat bagi siapapun yang membacanya.
Bandung, Juni 2008 Penulis v
DAFTAR ISI Lembar Pengesahan Program Studi Teknik Informatika..........................................................................ii RINGKASAN .........................................................................................................................................iii KATA PENGANTAR.............................................................................................................................iv DAFTAR ISI ...........................................................................................................................................vi DAFTAR GAMBAR.............................................................................................................................viii DAFTAR TABEL ...................................................................................................................................ix DAFTAR ISTILAH .................................................................................................................................x BAB I PENDAHULUAN ..................................................................................................................... I-1 1.1
Latar Belakang....................................................................................................................... I-1
1.2
Rumusan Masalah ................................................................................................................. I-3
1.3
Tujuan.................................................................................................................................... I-4
1.4
Batasan Masalah.................................................................................................................... I-4
1.5
Metodologi ............................................................................................................................ I-4
1.6
Sistematika Pembahasan........................................................................................................ I-5
BAB II STUDI LITERATUR ..............................................................................................................II-1 2.1
Ekstraksi Informasi...............................................................................................................II-1
2.1.1
Pembelajaran Mesin untuk Ekstraksi Informasi ...........................................................II-2
2.1.2
Ekstraksi Informasi Sebagai Persoalan Klasifikasi Token............................................II-5
2.1.3
Pemberian Anotasi pada Dataset untuk Ekstraksi Informasi ......................................II-10
2.1.4
Metodologi Evaluasi Sistem Ekstraksi Informasi.......................................................II-12
2.1.5
Metrik Evaluasi Sistem Ekstraksi Informasi...............................................................II-13
2.2 2.2.1 2.3
Pembelajaran Mesin ...........................................................................................................II-14 Support Vector Machine .............................................................................................II-15 Sistem Ekstraksi Informasi dengan Support Vector Machine ............................................II-19
2.3.1
ELIEL2.........................................................................................................................II-20
2.3.2
GATE-SVM ...............................................................................................................II-20
2.3.3
Evaluasi ELIEL2 dan GATE-SVM ..............................................................................II-20
BAB III EKSTRAKSI INFORMASI MENGGUNAKAN SUPPORT VECTOR MACHINE.............III-1 3.1
Deskripsi Sistem Ekstraksi Informasi..................................................................................III-1
3.1.1
Pembelajaran Model Ekstraksi ....................................................................................III-2
3.1.2
Aplikasi Model Ekstraksi ............................................................................................III-6
3.2
Dataset untuk Ekstraksi Informasi.......................................................................................III-7
3.2.1
Job Postings Corpus....................................................................................................III-8
3.2.2
Dataset Lowongan Pekerjaan ....................................................................................III-10
3.3
Perangkat Bantu Eksperimen.............................................................................................III-12
BAB IV EKSPERIMEN..................................................................................................................... IV-1 4.1
Tujuan Eksperimen............................................................................................................. IV-1
vi
4.2
Lingkungan Eksperimen..................................................................................................... IV-1
4.3
Hasil Eksperimen................................................................................................................ IV-2
4.3.1
Perbandingan Performansi dengan Paper Acuan [LI05a]........................................... IV-2
4.3.2
Eksperimen Menggunakan Dataset Lowongan Pekerjaan.......................................... IV-4
BAB V PENUTUP...............................................................................................................................V-1 5.1
Kesimpulan...........................................................................................................................V-1
5.2
Saran.....................................................................................................................................V-2
DAFTAR REFERENSI...........................................................................................................................xi LAMPIRAN A ANOTASI DATASET LOWONGAN PEKERJAAN .............................................A-1 LAMPIRAN B PEMROSESAN AWAL MENGGUNAKAN ANNIE.............................................B-1 LAMPIRAN C PROSES PEMBELAJARAN MENGGUNAKAN BATCH LEARNING PR ...........C-1 LAMPIRAN D DATASET LOWONGAN PEKERJAAN................................................................D-1 LAMPIRAN E HASIL EKSPERIMEN JOB POSTINGS CORPUS................................................. E-1 LAMPIRAN F HASIL EKSPERIMEN DATASET LOWONGAN PEKERJAAN ......................... F-1 LAMPIRAN G HASIL EKSPERIMEN TEKNIK ONE-AGAINST-ALL DAN ONE-AGAINST-ONE ... ..................................................................................................................................G-1 LAMPIRAN H HASIL EKSPERIMEN UNTUK BERBAGAI NILAI PARAMETER UNEVEN ......... MARGIN ...................................................................................................................H-1 LAMPIRAN I
HASIL EKSPERIMEN MENGGUNAKAN ALGORITMA NAÏVE BAYES DAN K-NEAREST NEIGHBOR........................................................................................ I-1
LAMPIRAN J
HASIL EKSPERIMEN DENGAN PROPORSI JUMLAH DOKUMEN BAHASA INGGRIS DAN INDONESIA YANG BERBEDA................................................... J-1
LAMPIRAN K MODIFIKASI LIBRARY GATE 4.0.......................................................................K-1 LAMPIRAN L MODEL EKSTRAKSI HASIL PEMBELAJARAN SVM....................................... L-1
vii
DAFTAR GAMBAR Gambar II-1
Contoh proses ekstraksi informasi [SIE07] ..................................................................II-1
Gambar II-2
Arsitektur umum sistem ekstraksi informasi yang menggunakan pembelajaran mesin [SIE05a]........................................................................................................................II-3
Gambar II-3
Contoh dua nilai dari atribut yang sama muncul berurutan [SIE07].............................II-8
Gambar II-4
Contoh pemberian anotasi berupa tag pada dokumen teks .........................................II-11
Gambar II-5
Alternatif bidang pemisah (kiri) dan bidang pemisah terbaik dengan margin m terbesar (kanan)........................................................................................................................II-15
Gambar II-6
Contoh data yang tidak dapat dipisah secara linear ....................................................II-16
Gambar II-7
Contoh klasifikasi dengan metode one-against-all [SEM07].....................................II-17
Gambar II-8
Contoh klasifikasi dengan metode one-against-one [SEM07] ...................................II-18
Gambar II-9
Ilustrasi SVM dengan uneven margin ........................................................................II-19
Gambar III-1 Arsitektur sistem ekstraksi informasi ..........................................................................III-1 Gambar III-2 Contoh Job Postings Corpus [FIN06] .........................................................................III-8 Gambar III-3 Rasio data positif dan negatif pada job postings corpus ............................................III-10 Gambar III-4 Rasio data positif dan negatif pada dataset lowongan pekerjaan ...............................III-12 Gambar III-5 Antarmuka perangkat bantu eksperimen ...................................................................III-14 Gambar III-6 Jendela perbedaan anotasi untuk tipe pengisi slot company_name............................III-15 Gambar IV-1 Distribusi nilai F-measure untuk setiap tipe slot pada job postings corpus ................ IV-3 Gambar IV-2 Distribusi nilai F-measure untuk setiap tipe slot pada dataset lowongan pekerjaan ... IV-6 Gambar IV-3 Performansi untuk setiap komposisi data pelatihan dan pengujian............................. IV-8 Gambar IV-4 Hasil aplikasi model ekstraksi .................................................................................. IV-12
viii
DAFTAR TABEL Tabel II-1 Perbandingan strategi tagging [SIE06].............................................................................II-7 Tabel II-2 Contoh penggunaan strategi tagging [SIE06].................................................................II-10 Tabel II-3 Contoh kombinasi SVM biner dengan metode one-against-all [SEM07]......................II-17 Tabel II-4 Contoh kombinasi SVM biner dengan metode one-against-one [SEM07] ....................II-18 Tabel III-1 Fitur NLP untuk contoh teks "Time: 3:30 PM" ...............................................................III-3 Tabel III-2 Daftar field pada Job Postings Corpus [FIN06] ..............................................................III-9 Tabel IV-1 Hasil eksperimen job postings corpus ............................................................................ IV-3 Tabel IV-2 Hasil eksperimen dataset lowongan pekerjaan ............................................................... IV-5 Tabel IV-3 Perbandingan performansi dengan berbagai komposisi data pelatihan dan pengujian ... IV-7 Tabel IV-4 Perbandingan performansi teknik one-against-all dan teknik one-against-one ............. IV-9 Tabel IV-5 Perbandingan performansi beberapa nilai parameter uneven margin ........................... IV-10 Tabel IV-6 Perbandingan performansi algoritma SVMUM, Naïve Bayes dan KNN ..................... IV-11 Tabel IV-7 Performansi hasil aplikasi terhadap dokumen baru ...................................................... IV-13
ix
DAFTAR ISTILAH Istilah
Definisi
anotasi
Catatan yang diberikan pada dokumen untuk menandai entitas yang relevan dan akan diekstrak
entitas
Sebuah token atau gabungan beberapa token (kata atau frase)
field
Tipe anotasi terkait domain yang diberikan pada sebuah entitas yang relevan di dalam sebuah dokumen, merupakan bagian dari struktur target atau template, contoh: company_name
instance
Di dalam terminologi klasifikasi token, instance adalah token
imbalanced dataset
Dataset dimana contoh data pelatihan untuk kelas positif dan kelas negatif memiliki jumlah yang tidak seimbang, dengan rasio imbalance yang besar
label kelas
Label kelas untuk klasifikasi yang diberikan pada instance
named entity recognition
Nama lain ekstraksi informasi
rasio imbalance
Rasio ketidakseimbangan antara jumlah data positif dan jumlah data negatif
slot
Lihat ‘field’
struktur target
Definisi struktur yang akan dihasilkan dari proses ekstraksi informasi, berisi kumpulan field/slot yang relevan dengan domain
SVMUM
SVM dengan uneven margin
template
Lihat ‘struktur target’
x