BAB II LANDASAN TEORI 2.1
Klasifikasi Klasifikasi merupakan suatu pekerjaan menilai objek data untuk memasukkannya
ke dalam kelas tertentu dari sejumlah kelas yang tersedia. Dalam klasifikasi ada dua pekerjaan utama yang dilakukan, yaitu : pertama, Pembangunan model sebagai prototype untuk disimpan sebagai memori dan kedua, Penggunaan model tersebut untuk melakukan pengenalan/ klasifikasi/ prediksi pada suatu objek data lain agar diketahui di kelas mana objek data tersebut dalam model yang mudah disimpan. Contoh aplikasi yang sering ditemui adalah pengklasifikasian jenis hewan, yang mempunyai sejumlah atribut. Dengan atribut tersebut, jika ada hewan baru, kelas hewannya bisa langsung diketahui. Contoh lain adalah bagaimana melakukan diagnosis penyakit kulit kanker melanoma (Amaliyah et al, 2011), yaitu dengan melakukan pembangunan model berdasarkan data latih yang ada, kemudian menggunakan model tersebut untuk mengidentifikasi penyakit pasien baru sehingga diketahui apakah pasien tersebut menderita kanker atau tidak 2.2
Sentimen Analisis Opinion Mining / Sentiment Analysis (sebagian besar researcher menganggap
dua istilah ini sama/interchangeable) merupakan sebuah cabang penelitian di domain Text Mining yang mulai booming pada awal tahun 2002-an. Riset-nya mulai marak semenjak paper dari B.Pang dan L.Lee keluar. Secara umum, Sentiment analysis ini dibagi menjadi 2 kategori besar : 1. Coarse-grained sentiment analysis 2. Fined-grained sentiment analysis Coarse-grained sentiment analysis - kita mencoba melakukan proses analysis pada level Dokumen. Singkatnya adalah kita mencoba mengklasifikasikan orientasi sebuah dokumen secara keseluruhan. Orientasi ini ada 3 jenis : Positif, Netral, Negatif. Akan tetapi, ada juga yang menjadikan nilai orientasi ini bersifat kontinu / tidak diskrit.
Fined-grained sentiment analysis - kategori kedua ini yang sedang Naik Daun sekarang. Maksudnya adalah para researcher sebagian besar fokus pada jenis ini. Obyek yang ingin II-1
diklasifikasi bukan berada pada level dokumen melainkan sebuah kalimat pada suatu dokumen. contoh : 1. Saya tidak suka programming. (negatif) 2. Hotel yang baru saja dikunjungi sangat indah sekali. (positif) Hingga sekarang, hampir sebagian besar penelitian di bidang sentiment analysis hanya ditujukan untuk Bahasa Inggris karena memang Tools/Resources untuk bahasa inggris. Sentiment analysis terdiri dari 3 subproses besar. Masing-masing subproses ini bisa kita jadikan bahan/topik riset secara terpisah karena masing-masing subproses ini membutuhkan teknik yang tidak mudah : 1. Subjectivity Classification 2. Orientation Detection 3. Opinion Holder and Target Detection Subjectivity Classification - menentukan kalimat yang merupakan opini.
A bike has 2 wheels VS It is a good bike !
Orientation Detection - setelah berhasil diklasifikasi untuk kategori Opini, sekarang kita tentukan apakah dia positif, negatif, netral ?
It is a good bike ! VS ah, It is a bad bike !
Opinion Holder and Target Detection - menentukan bagian yang merupakan Opinion Holder dan bagian yang merupakan Target.
Harry said it is a good bike
II-2
2.3
Text Mining Text Mining adalah salah satu bidang khusus dari data mining. Sesuai dengan
buku The Text Mining Handbook, text mining dapat didefinisikan sebagai suatu proses menggali informasi dimana seorang user berinteraksi dengan sekumpulan dokumen menggunakan tools analisis yang merupakan komponenkomponen dalam data mining yang salah satunya adalah kategorisasi. Tujuan dari text mining adalah untuk mendapatkan informasi yang berguna dari sekumpulan dokumen.Jadi, sumber data yang digunakan pada text mining adalah kumpulan teks yang memiliki format yang tidak terstruktur atau minimal semi terstruktur. Adapun tugas khusus dari text mining antara lain yaitu pengkategorisasian teks (text categorization) dan pengelompokan teks (text clustering). Text mining bisa dianggap subjek riset yang tergolong baru. Text mining dapat memberikan solusi dari permasalahan seperti pemrosesan, pengorganisasian / pengelompokkan dan menganalisa unstructured text dalam jumlah besar.Dalam memberikan solusi, text mining mengadopsi dan mengembangkan banyak teknik dari bidang lain, seperti Data mining, Information Retrieval, Statistik dan Matematik, Machine Learning, Linguistic, Natural Languange Processing, dan Visualization. Kegiatan riset untuk text mining antara lain ekstraksi dan penyimpanan teks, preprocessing akan konten teks, pengumpulan data statistik dan indexing dan analisa konten. Permasalahan yang dihadapi pada text mining sama dengan permasalahan yang terdapat pada data mining, yaitu jumlah data yang besar, dimensi yang tinggi, data dan struktur yang terus berubah, dan data noise. Perbedaan di antara keduanya adalah pada data yang digunakan. Pada data mining, data yang digunakan adalah structured data, sedangkan pada text mining, data yang digunakan text mining pada umumnya adalah unstructured data, atau minimal semistructured. Hal ini menyebabkan adanya tantangan tambahan pada text mining yaitu struktur text yang complex dan tidak lengkap, arti yang tidak jelas dan tidak standard, dan bahasa yang berbeda ditambah translasi yang tidak akurat. 2.3.1
Text Preprocessing
Text Preprocessing merupakan tahapan awal dalam mengolah data input sebelum memasuki proses tahapan utama dari metode Latent Semantic Analysis (LSA). Preprocessing text dilakukan untuk tujuan penyeragaman dan kemudahan pembacaan serta proses LSA selanjutnya (Aji P., Baizal SSi. and Firdaus S.T., 2011). Preprocessing II-3
terdiri dari beberapa tahapan. Adapun tahapan preprocessing berdasarkan (Triawati, 2009) , yaitu: case folding, tokenizing / parsing, filtering, stemming. Berikut penjelasan empat tahapan dalam proses preprocessing adalah sebagai berikut. 1. Case Folding Case folding merupakan tahapan yang mengubah semua huruf dalam dokumen menjadi huruf kecil. Hanya huruf ‘a’ sampai dengan ‘z’ yang diterima. Karakter selain huruf dihilangkan dan dianggap delimiter (pembatas) (Triawati, 2009). Contoh penggunaan case folding adalah sebagai berikut.
Gambar 2.1 Proses Case Folding 2. Tokenizing Tahap tokenizing / parsing adalah tahap pemotongan string input berdasarkan tiap kata yang menyusunnya (Triawati, 2009). Selain itu, spasi digunakan untuk memisahkan antar kata tersebut.
Gambar 2.2 Proses Tokenizing 3. Filtering Tahap filtering adalah tahap mengambil kata - kata penting dari hasil tokenizing. Proses filtering dapat menggunakan algoritma stoplist (membuang kata yang kurang penting) atau wordlist (menyimpan kata penting). Stoplist / stopword adalah kata-kata yang tidak deskriptif yang dapat dibuang dalam pendekatan bag-of-words. Contoh stopword adalah “yang”, “dan”, “di”, “dari” dan lain – lain. (Triawati, 2009).
II-4
Gambar 2.3 Proses Filtering 4. Stemming Stemming merupakan suatu proses yang terdapat dalam sistem IR yang mentransformasi kata-kata yang terdapat dalam suatu dokumen ke kata-kata akarnya (root word) dengan menggunakan aturan-aturan tertentu (Agusta, 2009). Stemming kebanyakan digunakan pada teks berbahasa inggris dikarenakan teks berbahasa inggris memiliki struktur imbuhan yang tetap dan mudah untuk diolah sementara stemming untuk proses bahasa Indonesia memiliki struktur imbuhan yang rumit / kompleks sehingga agak lebih susah untuk diolah. Contoh penggunaan stemming :
Gambar 2.4 Proses Stemming 2.3.2
Feature Selection Feature Selection atau Feature Reduction adalah suatu kegiatan yang
umumnya bisa dilakukan secara preprocessing dan bertujuan untuk memilih feature yang berpengaruh dan mengesampingkan feature yang tidak berpengaruh dalam suatu kegiatan pemodelan atau penganalisaan data. Ada banyak alternatif yang bisa digunakan dan harus dicoba-coba untuk mencari yang cocok. Secara garis besar ada dua kelompok besar dalam pelaksanaan feature selection: Ranking Selection dan Subset Selection. 2.3.2.1
Ranking Selection Ranking selection secara khusus memberikan ranking pada setiap feature yang
ada dan mengesampingkan feature yang tidak memenuhi standar tertentu. Ranking
II-5
selection menentukan tingkat ranking secara independent antara satu feature dengan feature yang lainnya. Feature yang mempunyai ranking tinggi akan digunakan dan yang rendah akan dikesampingkan. Ranking selection ini biasanya menggunakan beberapa cara dalam memberikan nilai ranking pada setiap feature misalnya regression, correlation, mutual information dan lain-lain. 2.3.2.2
Subset Selection Subset selection adalah metode selection yang mencari suatu set dari features
yang dianggap sebagai optimal feature. Ada tiga jenis metode yang bisa digunakan yaitu selection dengan tipe wrapper, selection dengan tipe filter dan selection dengan tipe embedded. Feature Selection Tipe Wrapper: feature selection tipe wrapper ini melakukan feature selection dengan melakukan pemilihan bersamaan dengan pelaksanaan pemodelan. Selection tipe ini menggunakan suatu criterion yang memanfaatkan classification rate dari metode pengklasifikasian/pemodelan yang digunakan. Untuk mengurangi computational cost, proses pemilihan umumnya dilakukan dengan memanfaatkan classification rate dari metode pengklasifikasian/pemodelan untuk pemodelan dengan nilai terendah (misalnya dalam k-NN, menggunakan nilai k terendah). Untuk tipe wrapper, perlu untuk terlebih dahulu melakukan feature subset selection sebelum menentukan subset mana yang merupakan subset dengan ranking terbaik. Feature subset selection bisa dilakukan dengan memanfaatkan metode sequential forward selection (dari satu menjadi banyak feature), sequential backward selection (dari banyak menjadi satu), sequential floating selection (bisa dari mana saja), GA, Greedy Search, Hill Climbing, Simulated Annealing, among others. Feature Selection Tipe Filter: feature selection dengan tipe filter hampir sama dengan selection tipe wrapper dengan menggunakan intrinsic statistical properties dari data. Tipe filter berbeda dari tipe wrapper dalam hal pengkajian feature yang tidak dilakukan bersamaan dengan pemodelan yang dilakukan. Selection ini dilakukan dengan memanfaatkan salah satu dari beberapa jenis filter yang ada. Contohnya: Individual Merit-Base Feature Selection dengan selection criterion: Fisher Criterion, Bhattacharyya, Mahalanobis Distance atau Divergence, Kullback-Leibler Distance,
II-6
Entropy dan lain-lain. Metode filter ini memilih umumnya dilakukan pada tahapan preprocessing dan mempunyai computational cost yang rendah. Feature Selection Tipe Embedded: feature selection jenis ini memanfaatkan suatu learning machine dalam proses feature selection. Dalam sistem selection ini, feature secara natural dihilangkan, apabila learning machine menganggap feature tersebut tidak begitu berpengaruh. Beberapa learning machine yang bisa digunakan antara lain: Decision Trees, Random Forests dan lain-lain. Sumber: J.Kittler, “Feature Selection & Extraction”, in Handbook of Pattern Recognition and Image Processing, Tzay Y. Young, King Sun Fu Ed. Academic Press, 1986. 2.4
Naïve Bayes Classifier Algoritma naive bayes classifier merupakan algoritma yang digunakan untuk
mencari nilai probabilitas tertinggi untuk mengklasifikasi data uji pada kategori yang paling tepat. Dalam penelitian ini yang menjadi data uji adalah dokumen kuesioner. Ada dua tahap pada klasifikasi dokumen. Tahap pertama adalah pelatihan terhadap dokumen yang sudah diketahui kategorinya. Sedangkan tahap kedua adalah proses klasifikasi dokumen yang belum diketahui kategorinya. Dalam algoritma naïve bayes classifier setiap dokumen direpresentasikan dengan pasangan atribut “x1, x2, x3,...xn” dimana x1 adalah kata pertama, x2 adalah kata kedua dan seterusnya. Sedangkan V adalah himpunan kategori hasil jawaban. Pada saat klasifikasi algoritma akan mencari probabilitas tertinggi dari semua kategori dokumen yang diujikan (VMAP), dimana persamaannya adalah sebagai berikut :
Untuk P(x1, x2, x3,...xn) nilainya konstan untuk semua kategori (Vj) sehingga persamaan dapat ditulis sebagai berikut :
II-7
Persamaan diatas dapat disederhanakan menjadi sebagai berikut :
Keterangan: Vj = Kategori jawaban j =1, 2, 3,…n. Dimana dalam penelitian ini j1 = kategori negatif dan j2 = kategori berita positif P(xi|Vj) = Probabilitas xi pada kategori Vj P(Vj) = Probabilitas dari Vj Untuk P(Vj) dan P(xi|Vj) dihitung pada saat pelatihan dimana persamaannya adalah sebagai berikut :
Keterangan : |docs j| = jumlah dokumen setiap kategori j |contoh| = jumlah dokumen dari semua kategori nk = jumlah frekuensi kemunculan setiap kata n = jumlah frekuensi kemunculan kata dari setiap kategori |kosakata| = jumlah semua kata dari semua kategori
II-8