Seminar Nasional Pascasarjana Institut Teknologi Sepuluh Nopember, 13 Agustus 2009
KLASIFIKASI EMOSI UNTUK TEKS BAHASA INDONESIA MENGGUNAKAN METODE NAIVE BAYES 1 1,2
I. Destuardi dan 2Surya Sumpeno
Jurusan Teknik Elektro, Institut Teknologi Sepuluh Nopember Kampus ITS, Sukolilo, Surabaya 60111 e-mail : 1 ar_2di[at]elect-eng.its.ac.id, 2 surya[at]ee.its.ac.id,
Abstrak. Komunikasi dapat dilakukan dari informasi verbal dan non-verbal, verbal dapat berupa tulisan yang diperoleh dari kata, kalimat, paragraf dan sebagainya untuk penggalian informasi teksnya menggunakan klaisifikasi teks. Pada proses klasifikasi itu akan digunakan data set yang telah diketahui kelas emosinya yaitu jijik, malu, marah, sedih, senang, dan takut dengan menggunakan metode Naïve Bayes dan Naïve Bayes Multinomial. Akan dilihat sejauh mana kedua metode itu dapat mengklasifikasikan data emosi berbahasa indonesia Kata kunci: klasifikasi teks, emosi, model multinomial, naïve bayes
1. PENDAHULUAN Kemunculan teknologi agen cerdas menyadarkan telah ada peluang untuk mengembangkan antarmuka sebagai perbaikan model interaksi antara manusia dan komputer; simulasi karakter virtual untuk aplikasi berbeda seperti hiburan, pendidikan dan sebagainya. Karakter yang hidup dipercaya dapat meningkatkan ketertarikan pada game komputer. Dewasa ini interaksi antara manusia dan komputer telah dilakukan melalui text, mouse atau keyboard bersamaan dengan cepatnya perkembangan komputer grafis dan teknologi pengenalan wicara membuat interaksi lebih adaptif, fleksibel dan berorientasi manusia [1] Agen lama digagas dan lebih dari dua dekade, agen adalah segala tanggapan terhadap lingkungan melalui sensor dan bertindak sesuai lingkungan tersebut sebagai efeknya. Agen membutuhkan input dan output, input dapat berupa kamera, microphone sedangkan output hampir sama dengan manusia berupa suara atau gerakan isyarat [2]. Sebuah agen dapat dikatakan cerdas jika dilengkapi dengan emosi [3], sehingga agen perlu ditambahkan emosi. Komunikasi dapat dilakukan dari informasi verbal dan non-verbal, verbal dapat berupa tulisan yang diperoleh dari kata, kalimat, paragraf dan sebagainya. Non-verbal dapat sebuah isyarat tubuh [4] dalam beberapa studi tentang emosi dan interaksi manusia dan komputer di dasarkan pada analisis ekspresi wajah, meskipun demikian hampir semua fokus pada analisis data psikologi atau pengenalan wajah, penghilangan aspek komunikasi non-verbal [5] Pengambil ekspresi wajah untuk mewakili suatu emosi sebagai contoh senyuman dapat diartikan senang atau gembira, sedangkan agar tafsiran emosi menjadi lebih baik harus tetap memperhatikan informasi verbal. Dalam penelitian ini untuk mengenali komunikasi verbalnya dengan berbasis klasifikasi teks. 2. PSIKOLOGI DAN EMOSI Emosi dapat digambarkan sebagai keadaan yang pada umumnya disebabkan oleh suatu kejadian penting sebuah subyek yang meliputi (a) keadaan mental sadar yang dinyatakan dengan kemampuan mengenali, kualitas perasaan dan diarah untuk beberapa subyek, (b) gangguan jasmani pada beberapa organ tubuh, (c) pengenalan ekspresi pada wajah, suara dan
Seminar Nasional Pascasarjana Institut Teknologi Sepuluh Nopember, 13 Agustus 2009
isyarat tubuh, (d) kesiapan untuk melakukan tindakan tertentu. Karenanya emosi dalam sosiobiologi adalah kecenderungan mental (conative dan kognitif), keadaan, proses dan model komputasi harus spesifikasi semirip mungkin [6] Sejumlah penelitian tentang emosi manusia telah dilakukan sehingga ada kesepakatan tentang emosi dasar [7] 1. Takut sebagai ancaman fisik atau sosial untuk diri sendiri 2. Marah sebagai ganjalan atau frustasi dari peran atau tujuan yang di rasakan orang lain 3. Jijik menggambarkan penghapusan atau jarak dari seseorang, obyek, atau menolak ide untuk diri sendiri dan menghargai peran dan tujuan 4. Sedih digambarkan sebagai kegagalan atau kerugian tentang peran dan tujuan 5. Senang digambarkan sebagai berhasil atau bergerak menuju selesainya peran yang bernilai atau tujuan 3. PERBEDAAN PERLAKUAN PREPROSESING Di dalam klasifikasi teks untuk kategori artikel kata-kata seperti “tidak”, “bukan”, “tanpa” dianggap tidak penting sehingga di masukan dalam daftar kata yang bias dihilangkan (stopword), namun dalam hal ini (klasifikasi teks emosi) kata-kata “tidak”, ”bukan”, “tanpa” menjadi sangat berarti sehingga tidak boleh dihilangkan. Perlakuan proses sebelum klasifikasi menjadi sangat penting supaya data yang akan diolah benar-benar mewakili maksud dari dokumen yang ditulis seringkali penggunaan kata “bukan”, “tanpa” dan “tidak” menjadi sangat penting, perbedaan arti “tanpa cinta” dan “tidak senang” dapat menempatkan dokumen dalam kelas berbeda sehingga tidak menutup kemungkinan dalam preprocessing ada modifikasi kata terlebih dahulu [8] 4. REPRESENTASI DOKUMEN Dalam teknik penggalian informasi representasi sebuah obyek di dasarkan pada seperangkat atribut yang digambarkan dalam sampel. Dokumen teks adalah sekumpulan kata sehingga diperlukan proses transformasi kedalam bentuk yang dapat di gunakan dalam proses klasifikasi. Dengan pemodelan dalam bentuk vector tiap dokumen C akan di buat vektor dalam term-space (kumplan kata yang terjadi di semua dokumen)
C = (t1 , t 2 ,....., t n ) ..................................................................................................................... (1) t n adalah kejadian dari n kata dalam dokumen ada dua dasar untuk membuat vector [9] a. Biner – hanya berdasarkan pada ada tidaknya kata yang muncul dalam dokumen b. Frekuensi – banyaknya kemunculan kata dalam dokumen Penghitungan bobot dokumen diolah dalam bentuk vektor dengan term yang berhasil dikenali perhitungannya berdasar metode TFIDF yang merupakan integrasi Term Frequency (TF) dan Inverse Document Frequency (IDF) dengan rumus w(i, j ) = tfidf (d i , t j ) = Nd i , t j . log
C ........................................................................................... (2) Nt j
Dimana
Nd i , t j Nt j
= jumlah term t j terjadi dalam dokumen d i
= jumlah dokumen di dalam C koleksi Pembobotan ini dapat diasumsikan lebih sering term terjadi dalam sebuah dokumen maka akan lebih mewakili isi dokumen [10]
Seminar Nasional Pascasarjana Institut Teknologi Sepuluh Nopember, 13 Agustus 2009
5. KLASIFIKASI Klasifikasi teks adalah proses pengelompokan dokumen kedalam kelas berbeda, dalam tahapannya tiap dokumen d menunjuk pada satu kelas tertentu maka dibutuhkan proses untuk menggali informasi dari dokumen tersebut. Sehingga dokumen tersebut harus dapat merepresentasikan dari kelasnya sehingga tiap kata yang muncul dalam dokumen mempunyai nilai. 5.1 Naïve Bayes Klasifikasi–klasifikasi Bayes adalah klasifikasi statistik yang dapat memprediksi kelas suatu anggota probabilitas. Untuk klasifikasi Bayes sederhana yang lebih dikenal sebagai naïve Bayesian Classifier dapat diasumsikan bahwa efek dari suatu nilai atribut sebuah kelas yang diberikan adalah bebas dari atribut-atribut lain. Asumsi ini disebut class conditional independence yang dibuat untuk memudahkan perhitungan-perhitungan pengertian ini dianggap “naive”, dalam bahasa lebih sederhana naïve itu mengasumsikan bahwa kemunculan suatu term kata dalam suatu kalimat tidak dipengaruhi kemungkinan kata-kata yang lain dalam kalimat padahal dalam kenyataanya bahwa kemungkinan kata dalam kalimat sangat dipengaruhi kemungkinan keberadaan kata-kata yang dalam kalimat. Dalam Naïve Bayes di asumsikan prediksi atribut adalah tidak tergantung pada kelas atau tidak dipengaruhi atribut laten C
P1
P2
Pk
Gambar 1. Klasifikasi Naïve Bayes sebagai jaringan bayes dengan atribut prediksi (P1, P2, …….Pk) dan kelas (C)
C adalah adalah anggota kelas dan X adalah variabel acak sebuah vektor sebagai atribut nilai yang diamati. c mewakili nilai label kelas dan x mewakili nilai atribut vector yang diamati. Jika diberikan sejumlah x tes untuk klasifikasi maka probablitas tiap kelas untuk atribut prediksi vektor yang diamati adalah p (C = c X = x ) =
p (C = c ) p ( X = x C = c ) ...................................................................................... (3) p (C = c )
X = x adalah mewakili kejadian dari kelas adalah 1
X1=x1∧X2 =x2∧.....Xk =xk
Jumlah dari p(C = c X = x) untuk semua
5.2 Naïve Bayes Flexibel Algoritma Naïve Bayes Flexibel sebenarnya sama dengan Naïve Bayes perbedaannya pada penggunaan untuk perkiraan kepadatan pada atribut kontinyu, yang pada umumnya menggunakan Gaussian tunggal sebagai teknik menghitung variabel yang kontinyu Berdasar dari persamaan Naïve Bayes untuk kepadatan tiap atribut kontinyu sebagai p ( X = x C = c ) = g ( x, µiσ c ) untuk kernel Gaussian, jika menggunakan perkiraan kepadatan kernel adalah
p( X = x C = c) =
1 g ( x, µ i , σ c ) ......................................................................................... (4) ∑ n i
Seminar Nasional Pascasarjana Institut Teknologi Sepuluh Nopember, 13 Agustus 2009
Dimana i mencakup diatas titik pelatihan atribut X dalam kelas c, dan µ i = xi dalam metode x−µ kernel persamaan 4 ekivalen dengan rumus standar kernel p ( X = x C = c ) = (nh) −1 ∑ j K h i Dimana h = σ dan K = g (x,0,1) Dalam Naïve Bayes dapat memperkirakan µ i dan σi serta menyimpannya sekali dan menjumlahkan x pengamatan kemudian menjumlahkan kuadratnya kalau dalam statistik disebut distribusi normal. Untuk Bayes Flexibel menyimpan setiap atribut yang kontinyu selama pelatihan (training), Naïve Bayes melakukan evaluasi g sekali sedangkan Bayes Flexibel melakukan n evaluasi, satu per nilai pengamatan untuk X dalam kelas C[11]. 5.3 Multinomial Model multinomial mengambil jumlah kata yang muncul pada sebuah dokumen, dalam model multinomial sebuah dokumen terdiri dari beberapa kejadian kata dan di asumsikan panjang dokumen tidak bergantung pada kelasnya. Dengan menggunakan asumsi Bayes yang sama bahwa kemungkinan tiap kejadian kata dalam sebuah dokumen adalah bebas tidak terpengaruh dengan konteks kata dan posisi kata dalam dokumen. Tiap dokumen di di gambarkan sebagai distribusi multinomial kata, Nit dihitung dari jumlah kemunculan kata wt yang terjadi dalam dokumen di . Maka kemungkinan sebuah dokumen diberikan sebuah kelas adalah [12] v
P (d i c j ;θ ) = P ( d i ) d i !
∏
P ( w t c j ; θ ) N it N it !
t =1
................................................................... (5)
Kemungkinan untuk tiap kata dapat ditulis θ wt c = P(wt c j ;θ ) dimana 0 ≤ θ wt c ≤ 1 dan j
∑θ t
wt c j
j
=1
Disini perkiraan untuk kemungkinan untuk kata wt dalam kelas cj adalah θˆ
wt c j
= P ( w t c j ; θˆ j ) =
1+ ∑ V +∑
D N P (c j d i ) i =1 it V D N P (c j s =1 i =1 is
∑
.................................................................. (6) di )
5.4 Evaluasi Untuk mengevaluasi kesamaan diantara dokumen-dokumen dapat di ukur berdasar recall, precision dan F-measure. Dalam hasil klasifikasi (prediction class1) mempunyai kemungkinan yaitu memang benar dalam kelasnya (class1 true) atau salah, ikut kelas lainnya (class2 true) dalam hal ini parameter diatas akan digunakan untuk menghitung parameter evaluasi yaitu [13]: 1. Recall adalah tingkat keberhasilan mengenali suatu kelas yang harus dikenali 2. Precision adalah tingkat ketepatan hasil klasifikasi dari seluruh dokumen Maka dapat di hitung Recall menyatakan jumlah pengenalan entitas bernilai benar yang dilakukan sistem dibagi dengan jumlah entitas yang seharusnya dapat dikenali sistem, untuk Precision di hitung dari jumlah pengenalan yang bernilai benar oleh sistem dibagi dengan jumlah keseluruhan pengenalan yang dilakukan oleh sistem F-measure merupakan nilai yang mewakili keseluruhan kinerja sistem dan merupakan penggabungan nilai recall dan precision dalam sebuah nilai [14] secara matematis untuk menghitung F-Measure/F1 dengan rumus [15]
Seminar Nasional Pascasarjana Institut Teknologi Sepuluh Nopember, 13 Agustus 2009
F1 =
2 * Pr ecision * Re call Pr ecision + Re call
............................................................................................... (7)
6. EKSPERIMEN 6.1 Data Penelitian ini menggunakan 6 kelas emosi dasar yang diperoleh dari dataset ISEAR (International Survey on Emotion Antecedents and Reaction) berisikan 7.666 kalimat dan 1096 partisipan dari berbagai disiplin ilmu psikologi, ilmu sosial, seni, bahasa, ilmu alam, teknik, dan kesehatan. Berasal dari 16 negara lintas lima benua, Penelitian ISEAR tidak ditujukan pada klasifikasi teks namun mencoba mencari hubungan antara emosi dan perbedaaan budaya, gender, umur dan agama. Dataset tujuh jenis emosi yaitu jijik, malu, marah, sedih, senang, bersalah dan takut. Dalam penelitian ini ada beberapa hal yang perlu diperhatikan adalah • Menggunakan date enam kelas meliputi jijik, malu, marah, sedih, senang dan takut • Jumlah data yang digunakan untuk masing-masing kelas 200 kalimat • Data dibagi dalam dua perlakuan − Data adalah data asli tanpa modifikasi penambahan “not” − DataNot adalah data modifikasi dengan menggabungkan kata dengan tidak misal: “tidak suka” menjadi “tidaksuka” Data yang masih dalam bahasa Inggris diterjemahkan terlebih dahulu dalam bahasa Indonesia secara bebas tanpa mengurangi maksud kalimat aslinya serta dikelompokkan dalam kelas-kelas emosi seperti aslinya. 6.2 Strategi Stopword Sebelum di lakukan percobaan terlebih dahulu kalimat akan dibagi menjadi dua mengingat kalimat yang digunakan lebih banyak berupa kalimat situasi maka ada beberapa kata yang tidak boleh di hilangkan sembarangan walaupun mungkin untuk klasifikasi teks lainnya boleh dihilangkan. Sebagai contoh “tidak gembira” tentu mempunyai arti berbeda dengan “gembira” karena “gembira” mempunyai kelas senang sedangkan “tidak gembira” tentu masuk kelas selain “senang” untuk alasan yang lain akan terjadi penghitungan kata “tidak” sendiri dan “senang” sendiri sehingga untuk mengatasi hal ini maka “tidak senang” akan ditulis menjadi “tidaksenang” 6.3 Preprocessing Sebelum data di vektorkan terlebih dahulu data diproses menggunakan lower case untuk mengubah semua huruf dalam dokumen menjadi huruf kecil hanya huruf ‘a’ sampai ‘z’ kemudian untuk semua karakter selain huruf akan delimiter Klasifikasi Dengan menggunakan 10 kali validasi silang (cross validation) percobaan pada tiap-tiap rasio data yang diambil pada data agar diperoleh data yang lebih valid, ada dua jenis metode klasifikasi data teks yang akan digunakan yaitu Naïve Bayes (NB) dan Multinomial Naïve Bayes (Multinomial NB)
Seminar Nasional Pascasarjana Institut Teknologi Sepuluh Nopember, 13 Agustus 2009
Naive Bayes 70
65
Precision
60
55
50
Data DataNot
45
40 40
45
50
55
60
65
70
Recall
Gambar 2 Precision versus recall menggunakan Data dan DataNot dengan metode klasifikasi Naïve Bayes
dari gambar 2 terlihat bahwa precision dan recall menggunakan klasifikasi metode naïve bayes menghasilkan kurva yang sulit untuk mendapatkan tren grafik, berdasar gambar Data mencapai nilai maksimum 60,45 namum dengan DataNot ternyata akan mendapat precision lebih tinggi yaitu 64,82 Multinomial NB 70 65
Precision
60 55 Data DataNot
50 45 40 40
45
50
55
60
65
70
Recall
Gambar 3 Precision versus recall menggunakan Data dan DataNot dengan metode klasifikasi Multinomial Naïve Bayes
dari gambar 3 menunjukkan hasil yang lebih baik, kurva untuk DataNot menunjukkan kurva yang memiliki tren disbanding kurva Data walaupun sudah ada perbaikan dibandingkan dengan kurva Data digambar 2.
Seminar Nasional Pascasarjana Institut Teknologi Sepuluh Nopember, 13 Agustus 2009
Data 65
60
F-Measure
55
50
Multinomial NB
45
Naive Bayes 40 0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Rasio data
Gambar 4 F-Measure dengan menggunakan Data
Dalam pengukuran dengan menggunakan F-Measure dengan menggunakan Data nilai tercapai pada 62,15 dengan perbandingan data training dan tes 0,8 sedangkan pada rasio data yang sama dengan menggunakan metode Naïve Bayes hanya mencapai 60,43 DataNot 70 65
F-Measure
60 55 50 Multinomial NB 45
NB
40 0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Rasio data
Gambar 5 F-Measure dengan menggunakan DataNot
Percobaan menggunakan DataNot dan rasio data antara 0,4 – 0,6 terjadi penurunan sedikit nilai F-Measure 59,11 bila menggunakan metode Multinomial NB dan 59,52 untuk pengujian dengan metode Naïve Bayes (NB) tetapi grafik sebelum rasio 0,4 - 0,6 dan sesudahnkan menunjukkan metode Multinomial NB mempunyai nilai F-Measure lebih tinggi. 7. KESIMPULAN DAN SARAN Dari hasil percobaan yang dilakukan dapat ditarik kesimpulan bahwa : • Modifikasi data dapat meningkatkan kemampuan mesin mengklasifikasi data teks emosi berbahasa indonesia • Metode multinomial naïve bayes lebih baik dari metode naïve bayes untuk klasifikasi teks berbahasa Indonesia • Dengan rasio 0,8 yang dihasilkan F-measure tinggi 62,15 untuk multinomial naïve bayes menggunakan data asli
Seminar Nasional Pascasarjana Institut Teknologi Sepuluh Nopember, 13 Agustus 2009
• • •
Hasil klasifikasi mengggunakan metode multinomial naïve bayes dan naïve bayes tidak memberikan perbaikan yang signifikan saat rasio data 0,5 untuk percobaan DataNot Perlu penelitian mendalam dalam klasifikasi tanggapan emosi dengan menggunakan metoda lain Penelitian dapat dikembangkan menjadi tanggapan dari hasil klasifikasi menggunakan animasi sederhana DAFTAR PUSTAKA
[1] Casell, J., Sullivan, J., Prevost, S., and Churchill, E., “Embodied Conversational Agent”, MIT Press editors, 2000 [2] S.J Russell and P. Norvig, “Artificial Intelligence: A Modern Approach”, Prentice Hall, 2003 [3] Minsky, M.L. “The Society of Mind” William Heinemann Ltd., London, 1987. [4] P. Ekman, W. V Friesen, “The repertoire of nonverbal behaviour”, Semiotica, Vol.1, pp.4998, 1969 [5] Hazlett, R. “Measurement of User Frustration: A Biologic Approach”. Ext. Abstracts CHI 2003 (Florida, FL, April 5-10), ACM. Press, 734-735, 2003 [6] Oatley, K. and Jenkins, J.M, “Understanding Emotions”, Blackwell, 1996 [7] Power, M. and Dalgleish, T., “Cognition and Emotion”, LEA Press, 1997 [8] Taner danisma and Adil Alpkocak. ”Feeler: Emotion Clasification of Text Using Vector”, Proceedings of AISB 2008 Symposium on Affective Language in Human and Machine Volume 2, 2008 [9] Machnik Lukasz, “Document Clustering Techniques”, Annales UMCS Informatica AI 2 p.401-411, 2004 [10] Paralic, J. - Bednar, P. ”Text Mining for Documents Annotation and Ontology Support. A book chapter in: Intelligent Systems at the Service of Mankind”, Springer Verlag, 2003 [11] George H. John and Pat Langley, “Estimating Continuous Distribution in Bayesian Classifiers”, In Poceedings of the Eleventh Conference on Uncertainty in Artificial Intelligence, Morgan Kaufmann Publishers, San Mateo, 1995 [12] Andrew McCallum and Kamal Nigam, “A Comparison of Event Models for Naive Bayes Text Classification”, In AAAI/ICML-98 Workshop on Learning for Text Categorization, pp.41-48, Technical Report WS-98-05. AAAI Press, 1998 [13] Agus Zainal Arifin dan Ari Novan Setiono, “Klasifikasi Dokumen Berita Kejadian Berbahasa Indonesia dengan Algoritma Single Pass Clustering”, Proceeding of Seminar on Intelligent Technology and Its Applications (SITIA), Teknik Elektro, Institut Teknologi Sepuluh Nopember, 07 Mei 2002 [14] Minarsari Dewi, Indra Budi dan Petrus Mursanto, “Identifikasi Titik Percabangan Pada Deskripsi Tekstual Use Case Menggunakan Entitas Bernama dengan Metode Association Rules Mining”, Seminar NAsional Ilmu Komputer dan Teknologi Informasi Universitas Kriten Satya Wacana, 2005 [15] Yang, Yiming, “An evaluation of statistical approaches to text categorization”. Journal of Information Retrieval I, pp 69-90, Kluwer Academic Publishers, Netherlands, 1999