Implementasi Support Vector Machine (SVM) Untuk Klasifikasi Dokumen

IMPLEMENTASI SUPPORT VECTOR MACHINE (SVM)
UNTUK KLASIFIKASI DOKUMEN

DEALIS HENDRA PRATAMA

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA*
Dengan ini saya menyatakan bahwa skripsi berjudul implementasi support
vector machine (SVM) untuk klasifikasi dokumen adalah benar karya saya dengan
arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada
perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya
yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam
teks dan dicantumkan dalam Daftar Pustaka di bagian akhir disertasi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.

Bogor, Juni 2013
Dealis Hendra Pratama
NIM G64104001

ABSTRAK
DEALIS HENDRA PRATAMA. Implementasi Support Vector Machine
(SVM) Untuk Klasifikasi Dokumen. Dibimbing oleh Ir. Julio Adisantoso, M.Kom.
Klasifikasi dokumen merupakan proses pengelompokan dokumen ke dalam
kategori tertentu yang sudah ditentukan sebelumnya. Pada dunia nyata, umumnya
sebaran data bersifat non-linear yang artinya sebaran data tidak terpisah secara
sempurna. Oleh karena itu dibutuhkan sebuah metode yang dapat
mengklasifikasikan dokumen yang bersifat non-linear. Support vector machine
bisa melakukan klasifikasi dokumen yang bersifat non-linear dengan meningkatkan
dimensi sebaran dokumen menggunakan kernel trick. Penelitian ini akan
menggunakan linear kernel untuk klasifikasi dokumen teks. Hasil akurasi terbesar
pada penelitian ini adalah 76% dari 150 dokumen uji dengan nilai epsilon 0.01.
Faktor yang mempengaruhi hasil klasifikasi diantaranya adalah nilai epsilon dan
panjang dokumen uji.
Kata kunci: SVM, linear kernel, support vector machine, klasifikasi dokumen.


ABSTRACT
DEALIS HENDRA PRATAMA Support Vector Machine (SVM) implementation
for document classification. Supervised by Ir. Julio Adisantoso, M.Kom.
Document classification is the process of grouping documents into specific
categories that have been defined previously. In the real world, the distribution of
the data is generally non-linear, which means the distribution of the data did not
separate properly. Therefore we need a method that can classify documents that are
non-linear. Support vector machine can classify documents that are non-linear with
increasing dimension of the distribution of documents using kernel trick. This study
will use a linear kernel for the classification of text documents. Results greatest
accuracy in this study was 76% of 150 test documents with epsilon value 0.01.
Factors affecting the results of the classification of which is the value of epsilon and
length of test documents.
Keywords: SVM, linear kernel, support vector machine, document classification.

IMPLEMENTASI SUPPORT VECTOR MACHINE (SVM)
UNTUK KLASIFIKASI DOKUMEN

DEALIS HENDRA PRATAMA


Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer
pada
Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

Judul Skripsi : Implementasi Support Vector Machine (SVM) Untuk Klasifikasi
Dokumen
Nama
: Dealis Hendra Pratama
NIM
: G64104001

Disetujui oleh


Ir. Julio Adisantoso, M.Kom
Pembimbing

Diketahui oleh

Dr Ir Agus Buono, MSi, MKom
Ketua Departemen

Tanggal Lulus:

PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas
segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang
dipilih dalam penelitian yang dilaksanakan sejak bulan Agustus 2012 ini ialah
klasifikasi dokumen, dengan judul implementasi support vector machine (SVM)
untuk klasifikasi dokumen.
Penulis menyadari bahwa penelitian ini tidak akan selesai jika tidak ada
bantuan dari berbagai pihak. Pada kesempatan ini penuli ingin mengucapkan
terimakasih kepada :

1. Orang tua tersayang, Ayah (alm) Dalimin dan Ibu Sriwiji, serta adik Olga
Dealis Saputri, dan juga keluarga yang selalu memberikan doa, nasihat,
semangat, dukungan yang luar biasa kepada penulis.
2. Bapak Ir. Julio Adisantoso, M.Kom selaku dosen pembimbing, dengan
bantuan bimbingan disertai kesabaran dalam penyelesaian penelitian ini.
3. Bapak Mushtofa, S.Kom, M.Sc dan Sony Hartono Wijaya, S.Kom., M.Kom
selaku dosen penguji yang telah memberikan banyak saran dan
pembelajaran dalam penyempurnaan penelitian ini.
4. Ina Ainul Ariefah yang selalu ada dan membantu, memberikan ketenangan,
solusi, dan kesabaran dalam menyelesaikan penelitian ini.
5. Teman-teman satu bimbingan yang saling membantu dalam penyelesaian
masalah yang ada selama penyelesaian penelitian ini.
6. Seluruh staf program Alih Jenis Ilmu Komputer yang telah banyak
membantu selama perkuliahan dan selama penyelesaian penelitian ini.
Dalam penelitian ini penuli menyadari masih banyak kekurangan dan
kesalahan dalam penyelesaiannya karena keterbatasan kemampuan penulis. Untuk
itu penulis menerima saran dan kritik yang bersifat membangun mengenai
penelitian ini. Semoga penelitian ini bermanfaat baik sekarang atau di masa yang
akan datang.
Bogor, Juni 2013

Dealis Hendra Pratama

DAFTAR ISI
DAFTAR TABEL

vii

DAFTAR GAMBAR

vii

DAFTAR LAMPIRAN

vii

PENDAHULUAN

1

Latar Belakang


1

Perumusan Masalah

2

Tujuan Penelitian

2

Manfaat Penelitian

2

Ruang Lingkup Penelitian

2

METODE


2

Tahap Pengumpulan Dokumen

2

Tahap Pelatihan

3

Tahap Pengujian

9

Lingkungan Pengembangan

10

HASIL DAN PEMBAHASAN


10

Pengumpulan Dokumen

10

Tokenisasi

11

Seleksi Fitur

12

Pembobotan

12

Support Vector Machine


12

Evaluasi kinerja klasifikasi

13

SIMPULAN DAN SARAN

16

Simpulan

16

Saran

16

DAFTAR PUSTAKA


17

LAMPIRAN

18

RIWAYAT HIDUP

19

DAFTAR TABEL
1.
2.
3.
4.
5.
6.
7.
8.
9.

Tabel kontigensi antara kata terhadap kelas
Contoh kernel
Struktur tabel dokumen latih
Struktur tabel kelas dokumen latih
Jumlah kata dan rata-rata jumlah kata
Total kata yang diterima dan ditolak sebagai fitur
Bobot terbesar, terkecil, dan rata-rata bobot
Perbandingan kategori long document
Perbandingan kategori short document

4
7
10
11
11
12
12
13
13

DAFTAR GAMBAR
1.
2.
3.
4.
5.
6.
7.
8.
9.

Diagram alur proses tahap pelatihan
Konsep dasar SVM
Fungsi Φ memetakan data ke ruang vektor berdimensi lebih tinggi
Diagram alur tahap pengujian
Contoh Dokumen Uji
Perbandingan akurasi untuk kategori dokumen
Perbandingan akurasi seluruh dokumen
Perbandingan akurasi SVM dan SS (short document)
Perbandingan akurasi SVM dan SS (long document)

3
5
7
9
11
14
15
15
15

PENDAHULUAN
Latar Belakang
Pada saat ini jumlah dokumen teks di jaringan global sudah berkembang
sangat pesat. Jumlah dokumen yang semakin banyak akan membuat masyarakat
umum mengalami kesulitan dalam menemukan dokumen teks yang dibutuhkan
sesuai dengan keinginan. Hal ini memerlukan sebuah teknik pengolahan dokumen
teks agar menjadi beberapa kelompok yang sudah terorganisir dengan baik. Salah
satu teknik yang bisa digunakan adalah teknik klasifikasi dokumen, yaitu dengan
membagi-bagi kelompok dokumen berdasarkan kelompok yang sudah ditentukan
sebelumnya. Untuk itu dibutuhkan sistem klasifikasi dokumen teks yang mampu
mengelompokkan dokumen teks ke dalam kelompok-kelompok yang sudah
ditentukan sebelumnya. Dengan adanya sistem klasifikasi dokumen, maka
pengguna tidak perlu mengelompokkan dokumen secara manual, sehingga dapat
mengurangi waktu dan tenaga dalam melakukan penyimpanan dokumen kedalam
kelompok yang sudah ditentukan. Selain itu, masyarakat juga sudah mudah untuk
mencari dokumen yang diinginkan apabila dokumen sudah tersusun rapih
berdasarkan kelompok masing-masing.
Pada saat ini sudah banyak metode yang digunakan untuk mengatasi
permasalahan klasifikasi dokumen. Manning et al (2007) mengelompokkan metode
klasifikasi dokumen atau teks menjadi tiga pendekatan, yaitu klasifikasi manual,
klasifikasi berbasis aturan (hand-crafted rules), dan klasifikasi berbasis
pembelajaran mesin (machine learning-based text classification). Pada klasifikasi
berbasis pembelajaran, beberapa aturan keputusan dari pengklasifikasi teks
dipelajari secara otomatis dengan menggunakan metode statistika dari dokumen
latih. Ada beberapa metode yang dapat digunakan dalam proses pembelajaran
(supervised learning) yaitu Naïve Bayes, Rocchio classsfication, K Nearst Neighbor
(KNN), dan Support Vector Machine (SVM).
Pada penelitian sebelumnya, klasifikasi dokumen dengan metode semantic
smoothing telah dilakukan oleh Ramadhina (2011). Klasifikasi dengan metode
semantic smoothing sangat bergantung pada pasangan kata atau topic signature
(Ramadhina, 2011). Oleh karena itu metode ini tidak cocok untuk digunakan untuk
berbagai dokumen karena dokumen yang berbeda akan menghasilkan topic
signature yang berbeda.
Untuk itu dibutuhkan algoritme klasifikasi yang bisa lebih fleksibel
sehingga bisa digunakan untuk berbagai macam dokumen. Algoritme klasifikasi
support vector machine (SVM) merupakan salah satu algoritme klasifikasi dengan
akurasi terbaik sampai saat ini (Nugroho et al, 2003). Algoritme ini juga
memungkinkan melakukan klasifikasi berbagai dokumen, melakukan klasifikasi
linier, dan klasifikasi non-linier dengan menggunakan kernel trick. Klasifikasi linier
adalah klasifikasi dokumen dimana kedua kelas sudah terpisah secara sempurna.
Pada umumnya masalah dalam dunia nyata jarang yang bersifat linear separable
(terpisah secara linear), tetapi bersifat non-linear (Nugroho et al, 2003). Dalam
non-linear SVM pertama-tama data dipetakan ke ruang vektor yang berdimensi
lebih tinggi. Pada ruang vektor yang baru ini, hyperplane yang memisahkan kedua
kelas dapat dikonstruksikan.

2
Perumusan Masalah
Pemasalahan klasifikasi pada dunia nyata lebih banyak yang bersifat nonlinear artinya data tidak terpisah secara sempurna. Untuk melakukan klasifikasi
dalam kasus non-linear dibutuhkan sebuah metode yang dapat meningkatkan
dimensi data agar bisa memisahkan data secara sempurna. Support vector machine
(SVM) adalah metode yang dapat melakukan klasifikasi yang bersifat non-linear.
Untuk menaikkan dimensi, SVM menggunakan kernel trick dalam penerapannya.
Oleh karena itu pada penelitian ini, penulis mencoba menerapkan kernel linier pada
SVM untuk klasifikasi dokumen teks.
Tujuan Penelitian
Tujuan dari penelitian ini adalah mengimplementasikan linear kernel pada
SVM untuk klasifikasi dokumen.
Manfaat Penelitian
Manfaat penelitian ini adalah mengelompokkan dokumen secara otomatis,
yang diharapkan dapat membantu seseorang dalam mengelompokkan dokumen
berdasarkan kategori tertentu.
Ruang Lingkup Penelitian
Ruang lingkup pada penelitian ini adalah dokumen yang digunakan adalah
dokumen teks berbahasa Indonesia mengenai tanaman holtikultura dari bidang
pertanian.

METODE
Klasifikasi adalah proses untuk menemukan model atau fungsi yang
menjelaskan atau membedakan konsep atau kelas data dengan tujuan untuk
memperkirakan kelas yang tidak diketahui dari suatu objek. Klasifikasi dokumen
adalah pemberian kategori yang telah didefinisikan kepada dokumen yang belum
memiliki kategori (Goller et al, 2000). Dokumen-dokumen yang sama akan
dimasukkan ke dalam kelompok yang sama. Perkembangan jumlah dokumen yang
sangat cepat, mendorong berkembangnya metode pengklasifikasian dokumen.
Penelitian ini melakukan klasifikasi dokumen secara otomatis menggunakan
metode support vector machine (SVM). Metode ini melakukan klasifikasi dengan
cara belajar dari sekumpulan dokumen latih yang telah dikasifikasikan sebelumnya.
Tahap Pengumpulan Dokumen
Dokumen yang digunakan dalam penelitian ini adalah dokumen hasil
penelitian dari Jurnal Penelitian Holtikultura tahun 2002 sampai dengan tahun 2009.
Dokumen tersebut terdiri dari 174 dokumen latih dan 150 dokumen uji. Dokumen
latih dibagi menjadi 57 dokumen latih untuk masing-masing kelas, sedangkan
dokumen uji dibagi menjadi dua bagian yaitu kategori long document dan short

3
document. Hal ini dilakukan untuk melihat pengaruh jumlah kata yang digunakan
untuk perhitungan klasifikasi. Untuk masing-masing kelas mempunyai 25 dokumen
uji untuk setiap kategori. Pada penelitian ini, kelas dari klasifikasi dibagi menjadi
tiga, yaitu :
1. Ekofisiologi dan Agronomi
2. Pemuliaan dan Teknologi Benih
3. Proteksi (Hama dan Penyakit)
Tahap Pelatihan
Tahap ini dilakukan untuk menghasilkan sebuah model klasifikasi yang akan
digunakan untuk tahap pengujian. Tahap pelatihan dimulai dari preprossesing
dokumen hingga menghasilkan model klasifikasi. Diagram alur tahap pelatihan bias
dilihat pada gambar 1.
Tahap Pelatihan

Dokumen
Latih

preprossesing
Tokenisasi
Seleksi Fitur
Pembobotan

Support Vector
Machine

Model

Gambar 1 Diagram alur proses tahap pelatihan
Tokenisasi
Tokenisasi adalah suatu tahap pemrosesan teks input yang dibagi menjadi
unit-unit kecil yang disebut dengan token atau term, yang berupa satu kata atau
angka (Herawan, 2011). Pada penelitian ini, token yang dimaksud adalah kata.
Aturan dalam melakukan tokenisasi adalah sebagai berikut :
1. Teks dipotong menjadi token. Karakter yang dianggap sebagai pemisah
token didefinisikan dengan ekspresi reguler sebagai berikut : /[\s\-+\/*09%,.\"\];()\':=`?\[!@>
sebagai berikut :
⃗⃗⃗ . ⃗⃗ +



− � ,∀

(11)

∑�

(12)

Dengan demikian persamaan (6) diubah menjadi :
min � ⃗⃗ , � =
⃗⃗

‖⃗⃗ ‖ +

=

Parameter C dipilih untuk mengontrol tradeoff antara margin dan error klasifikasi
�. Nilai C yang besar berarti akan memberikan penalty yang lebih besar terhadap
error klasifikasi tersebut.
Non-Linear Classification
Pada umumnya masalah dalam dunia nyata jarang yang bersifat linear
separable, kebanyakan bersifat non-linier. Untuk menyelesaikan problem nonlinier, SVM dimodifikasi dengan memasukan fungsi Kernel (Nugroho et al, 2003).
Dalam non-linear SVM pertama-tama data dipetakan oleh fungsi Φ
ke ruang
vektor yang berdimensi lebih tinggi. Pada ruang vektor yang baru ini, hyperplane
yang memisahkan kedua kelas dapat di konstruksikan (Gambar 3).

7

Gambar 3 Fungsi Φ memetakan data ke ruang vektor berdimensi lebih tinggi

Pada gambar 3a diperlihatkan data pada kelas kuning dan data pada kelas merah
berada pada ruang vektor berdimensi dua tidak dapat dipisahkan secara linier.
Selanjutnya gambar 3b menunjukan bahwa fungsi Φ memetakan tiap data pada
ruang vektor tersebut ke ruang vektor baru yang berdimensi lebih tinggi (dimensi
3), dimana kedua kelas dapat dipisahkan oleh sebuah hyperplane. Notasi
matematika pada mapping ini adalah sebagai berikut :
Φ ∶ ℜ� → ℜ� d