You are on page 1of 4

PERBANDINGAN PARTITION AROUND MEDOIDS (PAM) DAN K-MEANS CLUSTERING UNTUK TWEETS

Yudi Wibisono Ilmu Komputer, FPMIPA, Universitas Pendidikan Indonesia Gedung FPMIPA-C, Jl. Setiabudhi 229 Bandung yudi@upi.edu

Abstrak
Tweets adalah tulisan sepanjang maksimum 140 karakter yang dapat di-broadcast oleh pengguna Twitter dengan berbagai media (SMS, internet, mobile application). Jumlah pengguna Twitter yang mencapai 145 juta dan jumlah tweets yang mencapai 50 juta tweets per hari membuat tweets menjadi salah satu sumber informasi penting yang layak untuk dianalis. Analisis cluster merupakan salah satu teknik awal yang dapat diterapkan untuk melakukan analisis tweet. Penelitian ini membandingkan dua teknik clustering yaitu K-Means dan Partition Around Medoids (PAM). Dari hasil percobaan, algoritma PAM secara signifikan lebih baik dibandingkan K-Means. Percobaan juga menemukan noise yang sangat tinggi dari tweets sehingga membutuhkan preprocessing yang lebih intensif. Kata kunci : data mining, text mining, clustering, twitter, PAM, K-Means

1.

Pendahuluan

Twitter adalah layanan microblogging yang memungkinkan penggunanya mengirimkan tulisan dengan panjang maksimum 140 karakter. Tulisan atau posting pendek ini dikenal dengan istilah tweet. Jumlah tweet berkembang dengan cepat karena kemudahan penggunaan, dan tersedianya layanan ini diberbagai platform. Jumlah tweets mencapai 5 ribu per hari di tahun 2007 dan berkembang menjadi 50 juta tweet per hari pada tahun 2010 atau sekitar 600 tweets per detik [1]. Indonesia sendiri pada bulan Oktober 2009, merupakan negara ke-6 dengan jumlah tweet terbanyak [5]. Tweets seringkali mengandung banyak noise, tetapi karena jumlahnya sangat besar maka setelah melewati proses analisis masih ada informasi yang dapat diperoleh. Analisis tweets bermanfaat di dalam pengaturan merk bagi perusahaan [2], sumber berita [3] dan emergency event [4] Clustering adalah salah satu teknik yang dapat digunakan untuk membantu analisis tweet. Clustering adalah proses pengelompokkan secara otomatis tweets yang serupa. Paper ini membahas perbandingan hasil clustering PAM dengan K-Means. Data yang digunakan adalah 1000 tweets berbahasa Indonesia yang mengandung kata telkomsel dan indosat yang dimulai dari tanggal 29-8-2010 sampai dengan tanggal 30-8-2010. Penelitian ini diharapkan menjadi awal untuk tweetmining lain yang lebih mendalam. Corpus dan
KNSI2011, Februari 2011, Medan, Indonesia

source code yang digunakan di dalam penelitian ini dapat di-download secara bebas di http://code.google.com/p/id-tweetmining/ 2. Skenario Eksperimen Pertama dilakukan preprocessing terhadap tweet (dibahas di subbab 3). Setelah melalui preprocessing, representasi tweet diubah sebagai bag of words sehingga urutan kata dianggap tidak penting. Setiap kata unik menjadi feature dengan bobot TFIDF sebagai nilainya [8]. Kemudian kumpulan tweet tersebut di-cluster dengan menggunakan K-Means dan PAM (subbab 4 membahas secara singkat dua algoritma ini). Eksperimen dilakukan 10 kali untuk setiap metode, karena ada aspek random di dua algoritma ini. Tahap terakhir adalah evaluasi. Seluruh tweet di dalam corpus ini sebelumnya telah dicluster secara manual oleh manusia untuk dijadikan gold standard. Hasil kedua algoritma kemudian dibandingkan terhadap gold standard buatan manusia ini. Pembahasan hasil dalam dilihat pada subbab 5. 3. Preprocessing

Preprocessing tweet menjadi hal yang penting karena noise yang sangat tinggi. Penggunaan singkatan, bahasa slank, bahasa campuran, bahkan makian menjadi masalah utama. Contoh untuk kata tidak, ditemukan 21 variasi kata tersebut seperti tdk, gak, nggak, kagak, ga, nda, gag dan seterusnya.

Preprocessing yang digunakan dalam penelitian ini adalah sebagai berikut: (1) Membuang tweet yang mengandung kata 4sq.com. Tweet ini hanya memberikan informasi lokasi seseorang, sehingga dianggap tidak penting. Contoh: I'm at Kantor Pusat PT Indosat (Jl. Medan Merdeka Barat No. 21, Jakarta). http://4sq.com/bBKAQc (2) Membuang link URL yang terdapat dalam tweet. (3) Casefolding dan membuang karakter selain [a..z] dan [0..9]. (4) Membuang tweet yang terlalu pendek ( < 20 karakter). (5) Membuang kata yang termasuk di dalam stopwords (kata yang terlalu sering muncul seperti yang, di dan seterusnya). (6) Menyeragamkan kata yang memiliki arti sama. Misalnya untuk kata emng,emang, emg dan mmg diganti dengan kata baku yaitu memang. 4. Clustering

Seperti halnya dengan K-Means, algoritma PAM [7] mengelompokkan data ke dalam sejumlah K cluster. Berbeda dengan K-means, representasi cluster pada PAM adalah salah satu tweet yang dipilih menjadi perwakilan cluster yang disebut dengan medoids. Dengan menggunakan medoid ini, PAM lebih baik dalam menangani outlier (tweet yang ekstrim berbeda dengan tweet yang lain). Secara singkat algoritma PAM adalah sebagai berikut: (1) Secara random, pilih sejumlah K tweets sebagai awal isi cluster. Tweet ini otomatis menjadi representasi cluster (medoid) (2) Secara random, pilih satu tweet untuk dijadikan medoid menggantikan medoid yang sudah ada. Hitung jarak total, yaitu jarak semua tweet dengan medoidnya. Jika jarak semakin mengecil (semakin dekat), artinya layak dilakukan pertukaran, jika tidak (sama atau lebih jauh) maka tidak dilakukan pertukaran. Ulangi langkah 2 ini sampai tidak ada perubahan di jarak total. 5. Hasil Eksperimen

Dalam penelitian ini digunakan dua teknik clustering yaitu K-Means dan Partition Around Medoids (PAM). Untuk mengukur kedekatan antara dua tweet digunakan cosine distance (persamaan 1). Cosine distance dipilih karena cocok untuk data berdimensi besar [6].

Untuk mengukur kualitas hasil clustering, digunakan nilai purity [9]. Nilai purity adalah kesesuaian antara cluster dengan cluster ideal yang ditentukan secara manual sebelumnya. Persamaan 2 memperlihatkan formula untuk menghitung purity. Semakin besar nilai purity (semakin mendekati 1), semakin baik kualitas cluster.
purity(, ) = dengan 1 max k j N k j (2)

x y
i

cos( x, y) =

(1)

x y

4.1 K-Means Clustering K-means [5] adalah algoritma yang membagi data secara otomatis ke dalam sejumlah Kkelompok. Secara singkat algoritma K-Means adalah sebagai berikut (1) Secara random, pilih sejumlah K tweets sebagai awal isi cluster. Satu cluster diisi satu tweet. Hitung centroid yang merupakan ratarata dari seluruh isi cluster. (2) Setiap tweets dibandingkan dengan centroid setiap cluster. Kemudian tweet tersebut akan dimasukkan ke dalam cluster yang paling dekat. Tweet dapat berpindah ke cluster yang lebih dekat. (3) Hitung ulang centroid, lalu kembali ke langkah 2 sampai tidak ada lagi tweets yang berpindah cluster. 4.2 PAM (Partition Around Medoids)

= {1 , 2 ..., k }

adalah

kumpulan cluster dan kumpulan cluster ideal.

= { 1 , 2 ..., j } adalah

Untuk setiap teknik, dilakukan 10 kali eskperimen karena baik K-Means maupun PAM menggunakan fungsi random. K-Means menggunakan fungsi random saat inisialisasi cluster dan PAM menggunakannya saat inisiasi dan proses pemilihan medoids.

Tabel 1: Nilai Purity EkspeK-Means PAM rimen ke 1 0.61 0.62 2 0.62 0.64 3 0.62 0.62 4 0.60 0.63 5 0.65 0.65 6 0.58 0.63 7 0.60 0.61

KNSI2011, Februari 2011, Medan, Indonesia

8 9 10 Rata2

0.58 0.66 0.61 0.61

0.63 0.64 0.63 0.63

Menggunakan T-Test, diperoleh nilai P= 0.042 sehingga secara signifikan PAM lebih baik dibandingkan dengan K-Means. Berikut adalah contoh cluster yang dihasilkan secara otomatis (Gambar 1). Terlihat cluster yang dihasilkan berisi tweets yang membahas tentang produk Telkomsel Flash.

sebelum proses clustering. Perlu kajian teknik clustering yang lain, termasuk hierarchical clustering. Domain tweets sendiri layak untuk mendapat penelitian lebih lanjut, misalnya dari sisi temporal mining dan data stream mining.

1. 2. 3. 4. 5. 6. 7.

powered by telkomsel unlimited born bukan telkomsel flash telkomsel flash rek barusan tidak puja puja sekarang membuatku merana pakai telkomsel flash pakai flash tahun mahal telkomsel murah cepat 8p im3 membuat internetan itukan inet mami tanyanya hape <makian> pakai flash tahun mahal telkomsel tflash paketannyo brpo per apo pakai telkomsel flash haha ngambok isssh sombongnyo gek bae saat begawe pakai telkomsel flash haha ngambok

..... 13. kalau unlimitet apn telkomsel user wap pass wap123 timebasedapn flash kosong volumebaseapn internet kosong 14. haha kamu beli telkomsel flash berapa 15. hiya beli flash telkomsel rp 5000 dapetnya 000 000 kb habisnya kapan makanuangharam 16. pakai telkomsel flash

Gambar 1: Contoh Cluster


Untuk label cluster (atau judul cluster) KMeans menggunakan centroids sebagai label dari cluster. Contoh label pada cluster K-Means yang berkaitan dengan letusan Gunung Sinabung adalah gunung; sinabung; aman; jaringan; xl; 3g. Sedangkan PAM menggunakan medoids sebagai label. Contoh untuk label cluster serupa adalah: indosat kmna kelaut tekno jaringan telkomsel dan xl aman di sekitar gunung sinabung. Terlihat pada K-Means, label tersusun dari keyword. Sedangkan PAM, karena medoid adalah tweet yang menjadi representasi cluster, maka label cluster berbentuk tweet biasa.

6.

Kesimpulan dan Saran Penelitian ini memperlihatkan bahwa PAM secara signifikan lebih baik dibandingkan K-Means. Tetapi secara keseluruhan, masih banyak hal yang dapat dilakukan untuk meningkatkan kualitas cluster. Dari pengamatan hasil, noise yang tinggi mempengaruhi kualitas cluster. Beberapa tweets yang dianggap relevan seharusnya dapat dibuang
KNSI2011, Februari 2011, Medan, Indonesia

Daftar Pustaka:
[1] Ludeman, L. C., 1987, Fundamental of Digital Signal Processing, Singapore, John Wiley & Sons, Inc. Weil, K, 2010, Measuring Tweets, diambil Desember 2010 dari http://blog.twitter.com/2010/02/measuringtweets.html Jansen, J.B, Zhang, M., Sobel K., Chowdury, A., 2009, Twitter power: Tweets as electronic word of mouth, Journal of the American Society for Information Science and Technology. Sankaranarayanan J., Samet H., Teitler B.E., Lieberman M. D., Sperling J, 2009. TwitterStand: news in tweets. In Proceedings of the 17th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems (GIS 09) Hughes et al. Twitter Adoption and Use in Crisis, 2009, Proceedings of the 6th [5]

[1]

[6]

[2]

[7]

[3]

[8]

[9]

[4]

International ISCRAM Conference. . MacQueen, J. B.,1967, Some methods for classication and analysis of multivariate observations. Proceedings of the Fifth Symposium on Math, Statistics, and Probability Strehl, A, Ghosh, J, Mooney R, 2000, Impact of Similarity Measures on Web-page Clustering, Workshop on Artificial Intelligence for Web Kaufman L, Rousseeuw P.J, 2005, Finding groups in data: an introduction to cluster analysis, John Wiley & Son Joachim, T, 1996, A Probabilistic Analysis of the Rocchio Algorithm with TFIDF for Text Categoriztion, Proceedings of the Fourteenth International Conference on Machine Learning Manning, C.D., Raghavan P, Schtze H., 2009, Introduction to Information Retrieval, Cambridge University Press.

KNSI2011, Februari 2011, Medan, Indonesia

You might also like