20423373-T44837-Siti Rofiqoh Fitriyani PDF
20423373-T44837-Siti Rofiqoh Fitriyani PDF
TESIS
TESIS
Diajukan sebagai salah satu syarat untuk memperoleh gelar Magister Sains
ii
NPM : 1406581225
Tanda Tangan :
iii
DEWAN PENGUJI
Ditetapkan di : Depok
Tanggal : 6 Januari 2016
iv
Penulis
vi
beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti
Noneksklusif ini Universitas Indonesia berhak menyimpan, mengalih
media/format-kan, mengelola dalam bentuk pangkalan data (database), merawat
dan mempublikasikan tugas akhir saya selama tetap mencatumkan nama saya
sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.
Dibuat di : Depok
Pada tanggal : 6 Januari 2016
Yang menyatakan,
vii
Media online menjadi suatu media penting dalam mengakses berbagai macam
informasi yang dibutuhkan, misal berita-berita aktual pada portal berita ataupun
media sosial. Dinamika perkembangan berita dan informasi pada media online ini
semakin tinggi seiring dengan kebutuhan berita teraktual dari setiap peristiwa. Isi
informasi yang terkandung dalam berita pun sangat beragam. Oleh karena itu,
dibutuhkan metode pendeteksian topik secara otomatis agar mempermudah
pengguna mengakses informasi. Salah satu metode otomatis untuk pendeteksian
topik adalah metode K-means clustering. Namun, dimensi data yang cukup besar
menjadi kendala dalam pendeteksian topik secara otomatis, sehingga dibutuhkan
pendekatan lain dalam proses pengolahan data. Pada penelitian ini pendekatan yang
digunakan adalah metode mini batch yang hanya menggunakan sekelompok kecil
data dalam proses clustering. Akurasi dari metode ini menunjukkan hasil yang
cukup baik untuk waktu komputasi yang jauh lebih singkat.
ix Universitas Indonesia
x Universitas Indonesia
LAMPIRAN ........................................................................................................ 48
Lampiran 1. Listing Program Ekstraksi Topik untuk Data Berita Online ... 48
Lampiran 2. Listing Program Ekstraksi Topik untuk Data Twitter ............. 50
xi Universitas Indonesia
1
Universitas Indonesia
topik dinyatakan sebagai variabel tersembunyi dari suatu koleksi data tekstual.
LDA mengasumsikan bahwa suatu data tekstual merepresentasikan beberapa topik.
Setiap kata pada data tekstual dibangkitkan dengan cara memilih secara acak suatu
topik pada distribusi dari topik, dan kemudian memilih secara acak suatu kata pada
distribusi dari kosa kata (Blei, 2012). Namun ternyata dalam proses komputasinya,
metode LDA menghadapi masalah NP-hard (Sontag & Roy, 2011), sehingga
membutuhkan waktu komputasi yang lama. Oleh karena itu, salah satu topik
penelitian terkait dengan TDT adalah mencari metode lain yang dapat memberikan
hasil yang sebanding dengan waktu yang relatif lebih singkat. Salah satu metode
alternatif tersebut adalah metode clustering.
Clustering merupakan teknik mengelompokkan data sedemikian sehingga
anggota dari kelompok yang sama, lebih homogen atau lebih mirip satu sama lain
daripada dengan anggota kelompok yang berbeda. Salah satu algoritma clustering
yang banyak digunakan adalah algoritma K-means. Tujuan dari algoritma K-means
Clustering ini adalah membagi himpunan data pada sejumlah 𝐾 cluster dengan nilai
𝐾 diberikan. Algoritma K-means merepresentasikan setiap kelompok atau cluster
dengan suatu pusat cluster atau disebut juga centroid. Pertama-tama metode ini
berjalan dengan menginisialisasi pusat cluster. Selanjutnya, data dikelompokkan ke
suatu cluster dengan ketentuan bahwa jarak antara data dan pusat cluster adalah
terkecil. Kemudian, masing-masing pusat cluster diperbaharui dengan rata-rata dari
data pada cluster tersebut, sehingga pusat cluster tersebut benar-benar
merepresentasikan nilai tengah atau pusat dari kumpulan data dalam cluster
tersebut. Proses ini dilakukan secara iteratif hingga proses update pusat cluster
konvergen. Pada akhir iterasi didapatkan cluster yang merupakan kelompok data
yang memiliki jarak antar data dalam kelompok tersebut lebih kecil dibandingkan
jarak dengan data di luar kelompok (Bishop, 2006).
Algoritma K-means yang sederhana, mudah dipahami, dan berpotensi untuk
dikembangkan lagi menjadi suatu awal bagi para peneliti untuk memodifikasi
algoritma ini agar dapat lebih efisien dan relevan pada setiap studi kasus yang
berbeda. Salah satu pengembangan algoritma K-means adalah pengembangan
untuk meningkatkan kecepatan proses komputasinya. Misal, suatu metode yang
mengombinasikan K-means dengan metode Singular Value Decomposition (SVD)
Universitas Indonesia
dengan tujuan agar data dengan dimensi yang besar dapat tereduksi terlebih dahulu
sebelum menggunakan algoritma K-means (Nur’aini dkk., 2015). Modifikasi
algoritma K-means lainnya adalah modifikasi untuk menangani data yang sangat
besar pada skala web (Sculley, 2010). Pada modifikasi ini, pusat cluster ditentukan
hanya oleh sekelompok kecil data saja. Pada setiap iterasi, pusat cluster diperbarui
dengan menggunakan hanya sekelompok kecil data yang diambil secara acak dari
keseluruhan. Karena hanya menggunakan sekelompok data kecil dalam prosesnya,
metode ini kemudian dikenal dengan istilah mini batch K-means. Algoritma ini
cukup efektif dalam mempersingkat waktu pengerjaan dari proses clustering.
Universitas Indonesia
Universitas Indonesia
Menurut Kamus Besar Bahasa Indonesia atau disingkat KBBI (Pusat Bahasa
Departemen Pendidikan Nasional, 2008), topik merupakan kata yang memiliki
makna sebagai pokok pembicaraan dalam diskusi, ceramah, karangan, dan
sebagainya. Sedangkan pendeteksian menurut KBBI bermakna proses, cara
menemukan kenyataan atau keberadaan sesuatu. Dengan demikian proses
pendeteksian topik utama berita dapat diartikan sebagai proses untuk menemukan
topik atau pokok pembahasan utama dalam suatu kumpulan dokumen informasi.
Cara manual dalam pendeteksian topik dilakukan dengan cara membaca seluruh
dokumen dan kemudian menentukan kalimat topik serta menarik kesimpulan.
Namun pendeteksian topik akan sulit dilakukan secara manual karena pesatnya
perkembangan informasi mengakibatkan jumlah dokumen yang tersedia sangat
banyak dan terus bertambah. Pendeteksian topik yang dilakukan secara manual
dengan jumlah data yang banyak akan membutuhkan waktu yang lebih lama dan
sumber daya yang lebih besar. Oleh karena itu, dibutuhkan metode pendeteksian
topik yang dapat dijalankan secara otomatis yang dikenal dengan istilah Topic
Detection and Tracking (TDT). Menurut Charles L. Wayne, TDT merupakan istilah
yang mengacu pada teknik otomatis untuk mendapatkan topik-topik yang saling
berkaitan dalam suatu kumpulan data (Wayne, 1998).
Metode yang populer digunakan untuk TDT adalah metode latent Dirichlet
allocation (LDA). LDA merupakan suatu model probabilistik yang menyelesaikan
masalah pendeteksian topik sebagai suatu masalah model variabel tersembunyi.
Pada pendekatan ini, topik dinyatakan sebagai variabel tersembunyi dari suatu
koleksi data tekstual. LDA mengasumsikan bahwa suatu data tekstual
merepresentasikan beberapa topik. Setiap kata pada data tekstual dibangkitkan
dengan cara memilih secara acak suatu topik pada distribusi dari topik, dan
kemudian memilih secara acak suatu kata pada distribusi dari kosa kata. Namun
ternyata dalam proses komputasinya, metode LDA menghadapi masalah NP-hard
5
Universitas Indonesia
(Sontag & Roy, 2011), sehingga membutuhkan waktu komputasi yang lama. Oleh
karena itu, salah satu topik penelitian terkait dengan TDT adalah mencari metode
lain yang dapat memberikan hasil yang sebanding dengan waktu yang relatif lebih
singkat. Salah satu metode alternatif tersebut adalah metode clustering. Dan metode
clustering yang populer digunakan dalam berbagai studi kasus adalah metode K-
means clustering, yang akan dijelaskan pada bab 2.3.
dengan 𝑓(𝐱) adalah fungsi kontinu terdiferensiasi pada 𝑅 𝑛 yang selanjutnya disebut
sebagai fungsi objektif. Misalkan 𝐱 𝑘 ∈ 𝑅 𝑛 , dengan 𝑘 = 1,2, …, adalah titik awal
dan 𝐠 𝑘 = 𝑔(𝐱 𝑘 ) = ∇𝑓(𝐱 𝑘 ) adalah vektor gradien pada 𝐱 𝑘 , maka proses update
yang dilakukan adalah
dimana 𝛼 merupakan panjang langkah (Yuan, 1999). Pada persamaan (2.2) dapat
dilihat bahwa arah gradient descent dari 𝑓(𝐱) pada titik 𝐱 𝑘 adalah −∇𝑓(𝐱 𝑘 ).
Universitas Indonesia
Dengan menggunakan formulasi ini, algoritma dari metode gradient descent adalah
sebagai berikut.
Gambar 2.1 menunjukkan tahapan dari penggunaan metode gradient descent pada
𝑓(𝑥) = 𝑥 2 untuk dicari titik minimumnya. Titik awal yang digunakan adalah 𝑥0 =
1 dan panjang langkah 𝛼 = 0.3. Terdapat enam kali proses update hingga mencapai
titik (0,0) yang merupakan titik minimum dari fungsi 𝑓(𝑥) = 𝑥 2 . Hal ini dapat
dilihat dari banyaknya titik biru yang semakin mendekat pada titik minimum.
Universitas Indonesia
𝑁 𝐾
𝐽 = ∑ ∑ 𝑟𝑛,𝑘 ‖𝐱 𝑛 − 𝝁𝑘 ‖2 , (2.4)
𝑛=1 𝑘=1
𝑁 𝐾
Universitas Indonesia
Minimasi nilai 𝐽 ini dilakukan secara iteratif dengan memandang salah satu dari
parameter 𝑟𝑛,𝑘 dan 𝝁𝑘 sebagai konstanta secara bergantian. Metode K-means
diawali dengan menginisialisasi nilai-nilai 𝝁𝑘 . Kemudian langkah pertama yang
dilakukan adalah mencari nilai 𝑟𝑛,𝑘 yang meminimukan 𝐽 dengan menjaga nilai 𝝁𝑘
tetap. Langkah kedua, mencari nilai 𝝁𝑘 yang meminimumkan 𝐽 dengan menjaga
nilai 𝑟𝑛,𝑘 tetap. Kedua langkah ini selanjutnya dilakukan secara berulang hingga
memenuhi kriteria konvergen (Bishop, 2006). Yaitu, kedua langkah tersebut
beriterasi hingga mencapai kondisi ketika tidak ada lagi perpindahan data pada
setiap cluster atau mencapai maksimum banyaknya iterasi yang telah ditentukan.
Karena setiap langkah meminimumkan nilai dari fungsi objektif 𝐽, maka
kekonvergenan dari algoritma dapat dijamin. Akan tetapi, algoritma 𝐾-means akan
konvergen menuju minimum lokal dari 𝐽 daripada menuju minimum global dari 𝐽
(Bishop, 2006).
2
1 jika 𝑘 = arg min𝑗 ‖𝐱 𝑛 − 𝝁𝑗 ‖
𝑟𝑛,𝑘 ={ (2.6)
0 lainnya,
𝐾
𝜕𝐽 𝜕(∑𝑁 2
𝑛=1 ∑𝑘=1 𝑟𝑛,𝑘 ‖𝐱 𝑛 − 𝝁𝑘 ‖ )
= =0
𝜕𝝁𝑘 𝜕𝝁𝑘
𝑁
𝐱 𝑛 − 𝝁𝑘 𝐱 𝑛 − 𝝁𝑘
∑ 𝑟𝑛,𝑘 ( ‖𝐱 𝑛 − 𝝁𝑘 ‖ + ‖𝐱 − 𝝁𝑘 ‖) = 0
‖𝐱 𝑛 − 𝝁𝑘 ‖ ‖𝐱 𝑛 − 𝝁𝑘 ‖ 𝑛
𝑛=1
2 ∑ 𝑟𝑛,𝑘 (𝐱 𝑛 − 𝝁𝑘 ) = 0
𝑛=1
Universitas Indonesia
∑ 𝑟𝑛,𝑘 (𝐱 𝑛 − 𝝁𝑘 ) = 0
𝑛=1
𝑁 𝑁
∑ 𝑟𝑛,𝑘 𝐱 𝑛 − ∑ 𝑟𝑛,𝑘 𝝁𝑘 = 0
𝑛=1 𝑛=1
𝑁 𝑁
∑ 𝑟𝑛,𝑘 𝝁𝑘 = ∑ 𝑟𝑛,𝑘 𝐱 𝑛 .
𝑛=1 𝑛=1
∑𝑛 𝑟𝑛,𝑘 𝐱 𝑛
𝝁𝑘 = (2.7)
∑𝑛 𝑟𝑛,𝑘
(Bishop, 2006).
Universitas Indonesia
Pada bab ini akan dibahas mengenai metode mini batch K-means Clustering,
yang merupakan hasil modifikasi dari metode K-means. Dalam penggunaan kedua
metode K-means pada umumnya, perlu memperhatikan parameter inisialisasi
centroid yang cukup memberikan pengaruh pada hasil dari pengolahan data.
min ∑ ∑‖𝝁𝑘 − 𝐱 𝑛 ‖2
𝐱𝑛 ∈𝑀 𝐾
11
Universitas Indonesia
(Sculley, 2010). Berbeda dengan metode K-means pada persamaan (2.5), informasi
bahwa data 𝐱 𝑛 berada pada cluster 𝑘 tidak disimpan dalam bentuk binary indicator,
namun akan disimpan dalam variabel 𝐝[𝐱 𝑛 ] yang merupakan indeks centroid 𝑘
untuk setiap data 𝐱 𝑛 ∈ 𝑀.
𝜕𝑓 𝜕(∑𝐱𝑛∈𝑀 ∑𝐾 ‖𝝁𝑘 − 𝐱 𝑛 ‖2 )
∇𝑓(𝝁𝑘 ) = =
𝜕𝝁𝑘 𝜕𝝁𝑘
𝝁𝑘 − 𝐱 𝑛 𝝁𝑘 − 𝐱 𝑛
= ∑ ( ‖𝝁𝑘 − 𝐱 𝑛 ‖ + ‖𝝁 − 𝐱 𝑛 ‖)
‖𝝁𝑘 − 𝐱 𝑛 ‖ ‖𝝁𝑘 − 𝐱 𝑛 ‖ 𝑘
𝐱𝑛 ∈𝑀
= 2 ∑ (𝝁𝑘 − 𝐱 𝑛 ).
𝐱𝑛 ∈𝑀
Pada tahapan berikutnya menggunakan persamaan (2.2), yang pada metode ini
menjadi
Universitas Indonesia
= 𝝁𝑘𝑖 − 2𝛼 ( ∑ (𝝁𝑘𝑖 − 𝐱 𝑛 ))
𝐱𝑛 ∈𝑀
Secara umum, algoritma mini batch 𝐾-means dapat diuraikan sebagai berikut:
Universitas Indonesia
Universitas Indonesia
Pada bab ini akan dibahas tahap simulasi untuk mengimplementasikan dan
menganalisis hasil simulasi metode mini batch K-means, K-means, dan LDA pada
masalah pendeteksian topik.
Simulasi yang dilakukan pada penelitian ini menggunakan dua jenis data yang
berbeda, yaitu berupa data berita online berbahasa Indonesia dan data tweets dari
Twitter berbahasa Inggris. Secara umum, proses implementasi dari ketiga metode
tersebut dapat dilihat pada Gambar 4.1.
15
Universitas Indonesia
Mesin
Intel ® Core ™ i5-4460 CPU @ 3.20GHz
Processor
(4 CPUs), ~3.2GHz
Memori (RAM) 8192MB RAM
Perangkat Lunak
Perangkat Lunak Pemrograman Enthought Canopy Version 1.3.0 (64-bit)
Bahasa Pemrograman Python 2.7.6
1. csv
2. json
3. lda
Package Tambahan
4. numpy 1.8.0-1
5. scikit_learn 0.14.1-4
6. scipy 0.13.2-1
Universitas Indonesia
Pendeteksian topik pada data berita Online menggunakan data berita dari
bulan Agustus 2013 hingga bulan Maret 2014. Data berita ini didapatkan dari
beberapa portal berita online, yaitu Antara, Detik, Inilahcom, Kompas, Okezone,
Rakyat Merdeka, Republika, Tempo, dan Viva (Murfi, 2014).
Tabel 4.2 Ilustrasi Data Hasil Akuisisi Bagian Judul dan Isi Berita
Universitas Indonesia
Data berita online yang akan digunakan pada pengujian metode-metode learning
adalah data bulan Januari-Maret 2014. Sedangkan keseluruhan data digunakan
sebagai referensi untuk mengukur nilai akurasi dari hasil pendeteksian topik
masing-masing metode pada data setiap bulan. Jumlah data yang digunakan dalam
proses learning dapat dilihat pada Gambar 4.2.
BBANYAKNYA DATA
50303
60000 44603 46833 43737
50000 37378
31854
40000
30000
20000
10000
0
Januari Februari Maret
DATA TAHUN 2014 PADA BULAN
Gambar 4.2 Grafik Banyaknya Dokumen dan Kosa Kata dari Data Berita Online
Universitas Indonesia
pendeteksian topik namun tidak mengandung arti yang relevan. Stopwords yang
digunakan dalam penelitian ini adalah kata ‘republika’, ‘untuk’, ‘toko’, dan ‘nya’.
Tahap selanjutnya, setelah didapatkan daftar kata yang telah disaring dari
keseluruhan data, dilakukan proses pembobotan. Proses ini memberikan masing-
masing kata berupa nilai bobot berdasarkan pada intensitas kemunculan kata pada
setiap dokumen. Kemudian hasil dari pembobotan kata ini direpresentasikan dalam
bentuk matriks data 𝑋 dengan vektor-vektor kolomnya berupa dokumen ssehingga
matriks 𝑋 menjadi matriks kata-dokumen. Matriks 𝑋 ini yang siap digunakan pada
pada tahapan selanjutnya.
Tujuan dari proses learning ini adalah mengelompokkan data berita menjadi
100 cluster dimana masing-masing centroid hasil learning diinterpretasikan
sebagai topik. Pertama-tama, metode clustering yang digunakan dalam proses ini
adalah metode mini batch K-means. Pada metode ini, ada dua parameter yang akan
diperhatikan, yaitu ukuran batch (𝑏) dan parameter inisialisasi centroid. Setiap data
dilakukan beberapa percobaan untuk mengoptimalkan hasil clustering. Parameter
ukuran batch diuji coba secara bertahap dari ukuran batch sama dengan jumlah
cluster (𝑏 = 100) sampai ukuran batch yang dapat mengoptimalkan hasil akurasi
dari pendeteksian topik. Penentuan ukuran batch ini juga memperhatikan besar dari
masing-masing data. Pada setiap ukuran batch yang dicoba, diujikan pula parameter
inisialisasi centroid random dan K-means++.
Metode mini batch K-means bekerja sesuai dengan algoritma yang dijelaskan
pada subbab 3.1. Metode ini menghasilkan daftar 100 topik yang dideskripsikan
dalam 10 kata yang disimpan dalam file berformat .txt. Daftar topik ini merupakan
representasi dari vektor centroid yang dicari selama proses learning berlangsung.
Kemudian daftar 100 topik ini akan dievaluasi tingkat akurasinya pada tahap
berikutnya. Ilustrasi dari beberapa daftar topik yang dihasilkan dari proses ini
ditunjukkan pada Tabel 4.3.
Universitas Indonesia
Data Topik
banjir jakarta wilayah dki melanda hujan warga terendam
korban titik
kpk korupsi pemberantasan komisi anas urbaningrum ketua
Januari 2014
demokrat partai panggilan
roma juventus gol italia napoli serie liga lazio kemenangan
Liverpool
kelud gunung letusan erupsi kediri meletus jawa timur
bencana pengungsi
jokowi dki gubernur joko widodo jakarta penyadapan ahok
Februari 2014
dinas disadap
facebook whatsapp akuisisi pengguna miliar zuckerberg
jejaring sosial layanan aplikasi
pemilu kpu pemilihan komisi partai politik bawaslu legislatif
damai parpol
gas eropa minyak listrik pln uni pertamina energi pasokan
Maret 2014
migas
pendidikan snmptn penyandang disabilitas difabel perguruan
negeri persyaratan seleksi masuk
Pada nilai ukuran batch 100 didapatkan daftar topik yang berbeda dengan hasil dari
percobaan-percobaan lainnya. Percobaan ini menghasilkan beberapa topik yang
berulang beberapa kali dalam daftar topik. Sehingga sejatinya, daftar topik yang
dihasilkan tidak benar-benar berjumlah 100 topik. Selain itu, pada percobaan ini
dihasilkan pula topik yang tersusun dari kata-kata yang tidak memiliki makna
tersendiri. Untuk lebih jelasnya dapat dilihat pada Tabel 4.4.
Universitas Indonesia
Tabel 4.4 Ilustrasi Daftar Topik dengan 𝑏 = 100 untuk Data Bulan Januari 2014
Berulang Topik
8 kali zylgwyn hobbit hkti hlki hlp hmi hmm hms hnw hoarau
volume sampah kebersihan musibah banjir sepekan ton ibukota
3 kali
tangga meningkat
mahfud panggilan memenuhi penjadwalan malam
4 kali
bersangkutan kpk bersaksi penuhi dipanggil
Setiap percobaan pada metode mini batch K-means dan metode K-means
terindikasi adanya pengambilan secara acak pada saat menginisialisasi centroid.
Hal ini menyebabkan terjadinya perbedaan hasil ketika suatu jenis percobaan
dijalankan beberapa kali. Oleh karena itu, pada penelitian ini setiap percobaannya
dijalankan sebanyak lima kali. Tahapan analisis berikutnya menggunakan hasil
rata-rata dari lima kali run pada masing-masing percobaan.
Daftar topik yang dihasilkan dari proses learning perlu untuk dievaluasi
keakuratannya dan diperhatikan penggunaan waktu komputasinya. Selanjutnya
nilai akurasi dan perhitungan waktu ini yang diperbandingkan antar metode
learning yang digunakan.
Daftar topik hasil proses learning perlu dievaluasi untuk mendapatkan nilai
akurasi. Pada akhirnya nilai akurasi ini yang dianalisis untuk dapat menjawab
tujuan dari penelitian. Prosedur evaluasi dilakukan secara kuantitatif untuk
menentukan tingkat interpretabilitas topik.
Universitas Indonesia
𝑁 𝑗−1
𝑃(𝑤𝑗 , 𝑤𝑖 )
𝑃𝑀𝐼(𝑡) = ∑ ∑ log ( ) (4.1)
𝑃(𝑤𝑖 )𝑃(𝑤𝑗 )
𝑗=2
(Lau, Newman, & Baldwin, 2014), dengan 𝑃(𝑤𝑗 , 𝑤𝑖 ) adalah probabilitas kata 𝑤𝑖
muncul bersamaan dengan kata 𝑤𝑗 , 𝑃(𝑤𝑖 ) adalah probabilitas kemunculan kata 𝑤𝑖 ,
dan 𝑃(𝑤𝑗 ) adalah probabilitas kemunculan kata 𝑤𝑗 pada suatu corpus atau database
dokumen tekstual yang menjadi referensi. Nilai PMI dihitung untuk 10 topik utama
yang dihasilkan setiap bulannya. Nilai PMI yang dihasilkan berkisar pada interval
0 − 1. Semakin besar nilai PMI dari suatu topik menandakan bahwa topik tersebut
dibentuk oleh kata-kata dengan nilai koherensi yang semakin besar. Semakin besar
nilai koherensi kata-kata penyusun topik maka interpretasi topik tersebut semakin
baik.
Seperti yang telah disebutkan sebelumnya, corpus atau data referensi yang
digunakan pada simulasi ini adalah data dari bulan Agustus 2013 sampai Maret
2014. Nilai PMI dihitung pada masing-masing hasil percobaan. Nilai PMI dari lima
kali run program tersebut dihitung rata-ratanya yang selanjutnya rata-rata koheren
inilah yang akan dianalisis lebih lanjut.
Universitas Indonesia
0.3708 0.3655
0.31378 0.32456
0.28672 0.39654
Koheren
0.39066
0.30712 0.32096
0.2563 0.40192 0.41502
0.2908 0.31396 0.32728
Dari Gambar 4.3 dapat kita analisis bahwa nilai koheren terbaik dari data
bulan Januari dan Februari 2014 terjadi pada batch berukuran 10000. Ukuran
batch ini senilai dengan kisaran 20-25% dari data yang digunakan. Sedangkan
nilai koheren terbaik dari data bulan Maret 2014 terjadi pada batch berukuran
5000. Ukuran batch ini senilai dengan kisaran 16% dari data yang digunakan.
Persentase ukuran batch ini dapat menjadi pertimbangan ketika menggunakan
metode mini batch K-means pada data yang berbeda.
Informasi lainnya mengenai parameter ukuran batch juga tersirat pada hasil
pendeteksian topik dengan ukuran batch 100. Daftar topik yang berulang pada
Tabel 4.4 adalah contoh dari hasil clustering yang buruk. Karena ukuran batch
sama dengan jumlah cluster, maka proses pembaruan centroid tidak akan
berpindah selama belum dilakukannya pengambilan batch data yang baru pada
tahap iterasi. Kemudian batch data yang baru pun akan dikelompokkan hanya
pada beberapa topik saja. Pada ukuran batch 100 ini pun ada kejanggalan
lainnya, yaitu penggunaan kosa kata yang tidak bermakna sebagai penyusun
topik. Hal ini disebabkan pemilihan centroid dilakukan pada data berukuran
kecil. Ukuran kecil yang dimaksudkan di sini adalah perbandingan antara
banyaknya cluster terhadap jumlah data.
Universitas Indonesia
0.5
0.40192 0.41502
0.4
0.31636 0.33414 0.38144 0.40614
Koheren
0.3 0.29846
0.31396 0.32728
0.2908
0.2
0.1
0
100 500 1000 5000 10000
Ukuran Batch
Random K-means++
Gambar 4.4 Grafik Koheren Metode Mini Batch K-means Bulan Januari 2014
0.5
0.39454 0.3983
0.4
0.30712 0.32096 0.39066 0.39654
Koheren
0.3 0.2563
0.30456 0.31386
0.2 0.24452
0.1
0
100 500 1000 5000 10000
Ukuran Batch
Random K-means++
Gambar 4.5 Grafik Koheren Metode Mini Batch K-means Bulan Februari 2014
Universitas Indonesia
0.1
0
100 500 1000 5000 10000
Ukuran Batch
Random K-means++
Gambar 4.6 Grafik Koheren Metode Mini Batch K-means Bulan Maret 2014
Ketiga gambar di atas dapat diamati bahwa dari segi nilai koheren pada
kedua jenis parameter tidak ada perbedaan yang cukup signifikan. Namun pada
Gambar 4.6 ditemukan bahwa parameter random tidak sepenuhnya meningkat
nilai koherennya seiring dengan meningkatnya ukuran batch. Hal ini
menunjukkan bahwa penggunaan parameter random memiliki kemungkinan
dapat menghasilkan nilai akurasi yang rendah dari yang seharusnya, karena
inisialisasi centroid sepenuhnya dilakukan secara acak.
Kemudian untuk hasil perhitungan nilai PMI dari daftar topik yang
dikerjakan dengan metode K-means dapat dilihat pada Gambar 4.7.
0.44
0.42508
0.42 0.4186
Koheren
0.4228
0.40998
0.4 0.38904
0.38 0.38776
0.36
Januari 2014 Februari 2014 Maret 2014
Random K-means++
Universitas Indonesia
Hasil percobaan pada metode ini menunjukkan bahwa hasil dari penggunaan
parameter random lebih baik dari parameter K-means++ meskipun dengan
perbedaan yang tidak cukup signifikan.
Proses analisis kali ini mengenai penggunaan waktu running program pada
setiap percobaan. Pada metode mini batch K-means, pengujian terhadap kedua
parameter akan disajikan dalam grafik yang sama pada Gambar 4.8, Gambar 4.9,
dan Gambar 4.10 berikut ini.
166
Waktu (detik)
161
154
149 147
146 146
Random K-means++
Gambar 4.8 Grafik Waktu Metode Mini Batch K-means Bulan Januari 2014
151
149
Waktu (detik)
145
144
140 140
139 138
136 137
Random K-means++
Gambar 4.9 Grafik Waktu Metode Mini Batch K-means Bulan Februari 2014
Universitas Indonesia
111
109
Waktu (detik) 105
103
100 99
99
99 98
97
Random K-means++
Gambar 4.10 Grafik Waktu Metode Mini Batch K-means Bulan Maret 2014
Waktu komputasi yang dihasilkan dari metode ini relatif meningkat seiring
semakin besarnya ukuran batch. Namun dari ketiga gambar di atas jelas terlihat
bahwa peningkatan waktu yang terjadi sangat kecil. Untuk ukuran batch 10000
yang bernilai 100 kali lipat dari ukuran batch terendah yaitu 100, hanya mengalami
peningkatan sekitar 10-17 detik. Hal ini menunjukkan bahwa penggunaan dari
metode ini dapat lebih memperhatikan penentuan ukuran batch yang tepat tanpa
perlu seksama mempertimbangkan waktu komputasi.
Grafik perolehan waktu dari penggunaan metode K-means dapat dilihat pada
Gambar 4.11.
Universitas Indonesia
560
534
491
490
Waktu (detk)
337
320
Tabel 4.5 Waktu dan Nilai Koheren Terbaik dari Ketiga Metode untuk Data
Bulan Januari 2014
Ukuran
No Metode Waktu Koheren
(detik)
1 LDA 2164 0.4748
2 K-Means (inisialisasi centroid: random) 560 0.4251
3 K-Means (inisialisasi centroid: K-means++) 534 0.4228
Mini Batch K-Means (inisialisasi centroid:
4 random) 166 0.4061
Mini Batch K-Means (inisialisasi centroid:
5 K-means++) 161 0.415
Universitas Indonesia
Tabel 4.6 Waktu dan Nilai Koheren Terbaik dari Ketiga Metode untuk Data
Bulan Februari 2014
Ukuran
No Metode Waktu Koheren
(detik)
1 LDA 2111 0.4635
2 K-Means (inisialisasi centroid: random) 490 0.4186
3 K-Means (inisialisasi centroid: K-means++) 491 0.4099
Mini Batch K-Means (inisialisasi centroid:
4 random) 149 0.3983
Mini Batch K-Means (inisialisasi centroid:
5 K-means++) 151 0.3965
Tabel 4.7 Waktu dan Nilai Koheren Terbaik dari Ketiga Metode untuk Data
Bulan Maret 2014
Ukuran
No Metode Waktu Koheren
(detik)
1 LDA 1435 0.4419
2 K-Means (inisialisasi centroid: random) 320 0.389
3 K-Means (inisialisasi centroid: K-means++) 337 0.3878
Mini Batch K-Means (inisialisasi centroid:
4 random) 103 0.3712
Mini Batch K-Means (inisialisasi centroid:
5 K-means++) 105 0.3708
Dari ketiga tabel di atas, dapat dianalisis bahwa nilai akurasi dari metode mini
batch K-means dan metode K-means hanya selisih sekitar 2-5%, dengan metode
mini batch K-means lebih rendah. Namun dari segi waktu, metode mini batch K-
means sekitar 67-70% lebih cepat daripada metode K-means. Sedangkan untuk
perbandingan dengan hasil dari metode LDA, jelas bahwa metode clustering yang
digunakan masih cukup jauh dari nilai koheren yang didapatkan oleh metode LDA.
Jika dilihat dari segi waktu metode clustering dapat mereduksi hingga 60-70%,
namun nilai koherennya pun ikut tereduksi hingga 8-12%.
Universitas Indonesia
Data yang digunakan pada penelitian ini diambil dari jurnal Aiello dkk.
Terdiri dari dua data Twitter, yaitu The English FACUP dan The US Super Tuesday
primaries. Data yang didapatkan terbagi dalam beberapa file karena pengambilan
data yang dilakukan adalah setiap slot waktu tertentu. Data The English FACUP
diambil dalam 13 slot waktu dan data The US Super Tuesday primaries diambil
dalam 8 slot waktu. Data berupa teks dengan file berformat .json.
Data yang tersedia dari Twitter pada dasarnya tidak dapat langsung digunakan
dalam penelitian ini, karena format data tidak dapat dibaca oleh bahasa Python. Jadi
sebelumnya perlu dilakukan beberapa penyesuaian. Data yang digunakan dalam
penelitian ini sudah dilakukan penyesuaian yang diambil dari jurnal Nur’aini dkk.
Contoh dokumen yang digunakan disajikan pada Tabel 4.8.
2012","contributors":null,"retweet_count":0,"coordinates":null,"source":"web","in
_reply_to_status_id_str":null,"in_reply_to_status_id":null,"retweeted":false,"in_re
ply_to_user_id_str":null,"truncated":false,"id_str":"198808273317662723","in_re
ply_to_user_id":null,"entities":{"user_mentions":[],"urls":[],"hashtags":[{"text":"f
acup","indices":[79,85]}]},"geo":null,"user":{"default_profile":true,"contributors
_enabled":false,"geo_enabled":false,"created_at":"Sun Aug 23 16:59:03 +0000
2009","profile_sidebar_fill_color":"DDEEF6","screen_name":"ealexhudson","is_t
ranslator":false,"statuses_count":1145,"following":null,"time_zone":"London","fo
llowers_count":67,"url":null,"profile_image_url":"http:\/\/a0.twimg.com\/profile_i
mages\/606031647\/twitterprofile_normal.jpeg","verified":false,"profile_sidebar_
border_color":"C0DEED","show_all_inline_media":false,"notifications":null,"des
cription":"","default_profile_image":false,"profile_use_background_image":true,"
Universitas Indonesia
friends_count":91,"location":"","follow_request_sent":null,"profile_background_i
mage_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme1\/bg.png","favo
urites_count":0,"profile_text_color":"333333","profile_background_image_url":"
http:\/\/a0.twimg.com\/images\/themes\/theme1\/bg.png","profile_link_color":"00
84B4","protected":false,"id_str":"68184741","name":"Alex
Hudson","listed_count":2,"lang":"en","profile_background_color":"C0DEED","id
":68184741,"profile_background_tile":false,"utc_offset":0,"profile_image_url_htt
ps":"https:\/\/si0.twimg.com\/profile_images\/606031647\/twitterprofile_normal.jp
eg"},"id":198808273317662723,"place":null,"in_reply_to_screen_name":null},{"
favorited":false,"text":"Kick off - Chelsea 0-0 Liverpool
2012","contributors":null,"retweet_count":0,"coordinates":null,"source":"web","in
_reply_to_status_id_str":null,"in_reply_to_status_id":null,"retweeted":false,"in_re
ply_to_user_id_str":null,"truncated":false,"id_str":"198808274047471617","in_re
ply_to_user_id":null,"entities":{"user_mentions":[],"urls":[],"hashtags":[{"text":"
FACupFinal","indices":[33,44]}]},"geo":null,"user":{"default_profile":false,"cont
ributors_enabled":false,"geo_enabled":false,"created_at":"Tue Oct 18 13:31:34
+0000
2011","profile_sidebar_fill_color":"ffffff","screen_name":"Jose__Leonardo","is_t
ranslator":false,"statuses_count":124,"following":null,"time_zone":"Jakarta","foll
owers_count":41,"url":null,"profile_image_url":"http:\/\/a0.twimg.com\/profile_i
mages\/1879446238\/Jose_normal.jpg","verified":false,"profile_sidebar_border_c
olor":"eeeeee","show_all_inline_media":false,"notifications":null,"description":"F
inal FA Cup..!! Liverpool FC vs Chelsea FC..!! Gerrard vs
Terry..!!","default_profile_image":false,"profile_use_background_image":true,"fr
iends_count":51,"location":"","follow_request_sent":null,"profile_background_im
age_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme13\/bg.gif","favou
rites_count":2,"profile_text_color":"333333","profile_background_image_url":"ht
tp:\/\/a0.twimg.com\/images\/themes\/theme13\/bg.gif","profile_link_color":"1100
ff","protected":false,"id_str":"393392456","name":"Jose
Leonardo","listed_count":0,"lang":"id","profile_background_color":"B2DFDA","i
Universitas Indonesia
d":393392456,"profile_background_tile":false,"utc_offset":25200,"profile_image
_url_https":"https:\/\/si0.twimg.com\/profile_images\/1879446238\/Jose_normal.j
pg"},"id":198808274047471617,"place":null,"in_reply_to_screen_name":null},{"
favorited":false,"text":"here goes... #CFC","created_at":"Sat May 05 16:16:01
+0000
2012","contributors":null,"retweet_count":0,"coordinates":null,"source":"\u003Ca
href=\"http:\/\/twitter.com\/#!\/download\/iphone\"
`rel=\"nofollow\"\u003ETwitter for
iPhone\u003C\/a\u003E","in_reply_to_status_id_str":null,"in_reply_to_status_id"
:null,"retweeted":false,"in_reply_to_user_id_str":null,"truncated":false,"id_str":"1
98808275284795394","in_reply_to_user_id":null,"entities":{"user_mentions":[],"
urls":[],"hashtags":[{"text":"CFC","indices":[13,17]}]},"geo":null,"user":{"defaul
t_profile":true,"contributors_enabled":false,"geo_enabled":false,"created_at":"We
d Feb 02 13:39:46 +0000
2011","profile_sidebar_fill_color":"DDEEF6","screen_name":"carlymarie1989","
is_translator":false,"statuses_count":376,"following":null,"time_zone":null,"follo
wers_count":45,"url":null,"profile_image_url":"http:\/\/a0.twimg.com\/profile_im
ages\/2003510721\/image_normal.jpg","verified":false,"profile_sidebar_border_c
olor":"C0DEED","show_all_inline_media":false,"notifications":null,"description"
:"#cfc leicester lass!
","default_profile_image":false,"profile_use_background_image":true,"friends_co
unt":132,"location":"","follow_request_sent":null,"profile_background_image_url
_https":"https:\/\/si0.twimg.com\/images\/themes\/theme1\/bg.png","favourites_co
unt":1,"profile_text_color":"333333","profile_background_image_url":"http:\/\/a0
.twimg.com\/images\/themes\/theme1\/bg.png","profile_link_color":"0084B4","pr
otected":false,"id_str":"246268102","name":"Carly
Munday","listed_count":0,"lang":"en","profile_background_color":"C0DEED","i
d":246268102,"profile_background_tile":false,"utc_offset":null,"profile_image_u
rl_https":"https:\/\/si0.twimg.com\/profile_images\/2003510721\/image_normal.jp
g"},"id":198808275284795394,"place":null,"in_reply_to_screen_name":null} ]
Universitas Indonesia
Setiap data memiliki ground truth topic dari jurnal Aiello dkk yang merupakan
topik dari setiap data yang dibuat oleh profesional dibidangnya. Ground truth topics
digunakan untuk melihat nilai akurasi dari topik yang dihasilkan oleh metode.
Jumlah data yang digunakan dalam proses learning dapat dilihat pada Gambar 4.12
dan Gambar 4.13.
3651
3493
3309
3196
3003
2984
2969
2738
BANYAKNYA DATA
2627
2612
2559
2438
2313
2215
2098
2080
2070
2058
1934
1831
1830
1012
862
832
794
767
1 2 3 4 5 6 7 8 9 10 11 12 13
SLOT WAKTU KE-
Gambar 4.12 Grafik Jumlah Tweet dan Kosa Kata dari Data FACUP
98799
BANYAKNYA DATA
75196
74679
53836
53025
47757
40600
40564
34923
33282
33285
27124
25639
23161
18881
14238
1 2 3 4 5 6 7 8
SLOT WAKTU KE-
Gambar 4.13 Grafik Jumlah Tweet dan Kosa Kata dari Data Super Tuesday
Universitas Indonesia
Proses ekstraksi fitur yang dilakukan terhadap data Twitter sama dengan yang
dilakukan terhadap data berita online. Perbedaannya hanya pada pemilihan kata
yang dicantumkan pada stopwords, yaitu kata ‘english’ dan ‘http’.
Proses learning yang dilakukan tidak berbeda dengan yang dilakukan pada
data berita online, terdapat pemilihan dua parameter pada metode mini batch K-
means dan pemilihan satu parameter pada metode K-means.
Sama dengan yang dihasilkan oleh pengolahan data berita online, pada tahap
ini dihasilkan daftar 100 topik dan catatan waktu komputasi. Ilustrasi daftar topik
yang dihasilkan dapat dilihat pada Tabel 4.9 berikut ini.
Data Topik
referee card mikel yellow and agger down
shown made tackle
lfc liverpool chelsea cfc drogba goal facupfinal
FACUP
cup didier makes
congratulations chelseafc facup chelsea blues
the cfc winning for chelseaindo
rejected issued veteran old government after
can vote thinkprogress station
Super news fox projects slaps reporter laysqhfm
Tuesday leaving santorum newt romney
massachusetts mild jobs support governor
numbers boston former supporters big
Pada nilai ukuran batch 100 terjadi hal yang sama dengan hasil implementasi pada
berita online yaitu topik yang berulang dan beberapa topik tersusun oleh kata-kata
yang tidak memiliki makna tersendiri.
Universitas Indonesia
Daftar topik yang dihasilkan dari proses learning perlu untuk dievaluasi
keakuratannya dan diperhatikan penggunaan waktu komputasinya. Selanjutnya
nilai akurasi dan perhitungan waktu ini yang diperbandingkan antar metode
learning yang digunakan.
Akurasi topik dari setiap data yang terbentuk dapat dicari dengan
menggunakan ground truth topic dari jurnal Aiello dkk. Pencarian akurasi
menggunakan TopicEvaluator.jar yang dijalankan pada java yang sesuai dengan
perintah yang telah tersedia dari jurnal yang sama. Terdapat tiga satuan ukuran yang
digunakan dalam aplikasi TopicEvaluator.jar, yakni
1. Topic recall: persentase banyaknya topik ground truth yang berhasil terdeteksi
dengan benar oleh suatu metode.
2. Term precision: persentase banyaknya kata kunci yang berhasil terdeteksi dari
jumlah keseluruhan kata pada topik yang cocok untuk beberapa topik ground
truth.
3. Term recall: persentase dari banyaknya kata kunci yang berhasil terdeteksi dari
jumlah keseluruhan kata kunci pada topik ground truth yang sesuai dengan slot
waktu dimana topik terdeteksi dengan benar.
Nilai topic recall, term precision, dan term recall berkisar antara 0 – 1 (Aiello dkk.,
2013). Semakin banyak topik yang cocok dengan ground truth, nilai topic recall
akan semakin tinggi. Satuan topic recall memiliki peranan yang paling penting
untuk menghitung akurasi topik, karena semakin tingginya nilai topic recall
menandakan bahwa semakin banyak topik pada ground truth yang terdeteksi pada
daftar topik yang dihasilkan. Semakin banyaknya topik ground truth yang
terdeteksi maka akan semakin banyak pula kata kunci (term) yang terdeteksi.
Dengan kata lain, nilai topic recall yang tinggi menyatakan tingginya tingkat
akurasi topik.
Universitas Indonesia
1. Result @10, artinya hasil diambil dari 10 topik pertama yang dihasilkan oleh
sebuah metode, begitupun untuk result @20 dan seterusnya hingga @100
(karena ada 100 topik).
2. Topic recall 0.273 (6/22), artinya 6 topik terdeteksi dengan benar oleh sebuah
metode dari 22 topik yang ada pada ground truth topics.
3. Term precission 0.417 (25/60), artinya 25 kata terdeteksi dengan benar dari 6
topik yang telah terdeteksi pada ground truth topics. Nilai 60 didapat karena
untuk setiap topik yang dihasilkan terdiri dari 10 kata. Sehingga jumlah total
kata yang ada pada topik yang terdeteksi oleh ground truth topics adalah 6 ×
10 = 60 kata.
4. Term recall 0.694 (25/36), artinya 25 kata terdeteksi dengan benar berbanding
36 keyword yang ada pada ground truth topics. 36 keyword tersebut diambil dari
ground truth topics pada slot waktu yang sesuai dengan slot waktu dimana 6
topik terdeteksi dengan benar.
Universitas Indonesia
Nilai akurasi topic recall, term precision, dan term recall dihitung pada
masing-masing hasil percobaan yang diulang sebanyak lima kali. Nilai topic recall,
term precision, dan term recall dari lima kali run program tersebut dihitung rata-
ratanya yang selanjutnya rata-rata ketiga nilai akurasi inilah yang dianalisis lebih
lanjut.
1
0.9
0.8
0.7
Topic Recall
0.6
0.5
0.4
0.3
0.2
0.1
0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N
Gambar 4.15 Grafik Topic Recall Metode Mini Batch K-means pada
Data FACUP
Universitas Indonesia
0.8
0.7
0.6
Gambar 4.16 Grafik Topic Recall Metode Mini Batch K-means pada
Dari Gambar 4.15 dapat kita analisis bahwa nilai topic recall terbaik dari
data FACUP terjadi pada batch berukuran 1000. Ukuran batch ini senilai dengan
kisaran 4% dari data yang digunakan. Sedangkan nilai topic recall terbaik dari
data Super Tuesday (lihat Gambar 4.16) terjadi pada batch berukuran 150000.
Ukuran batch ini senilai dengan kisaran 30% dari data yang digunakan.
Persentase ukuran batch pada data FACUP tergolong kecil karena pada data
tersebut terdapat beberapa slot data berjumlah cukup kecil dibanding slot data
lainnya (lihat Gambar 4.12). Hal ini dapat menjadi pertimbangan ketika
menggunakan metode mini batch K-means pada data dalam bentuk slot waktu
berbeda.
Universitas Indonesia
0.25
0.24
Term Precission
0.23
0.22
0.21
0.2
0.19
0.18
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N
0.6
0.5
Term Recall
0.4
0.3
0.2
0.1
0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N
Universitas Indonesia
0.5
Term Precission
0.4
0.3
0.2
0.1
0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N
0.8
0.7
0.6
Term Recall
0.5
0.4
0.3
0.2
0.1
0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N
Kemudian untuk hasil perhitungan nilai topic recall dari daftar topik yang
dikerjakan dengan metode K-means dapat dilihat pada Gambar 4.21 dan Gambar
4.22.
Universitas Indonesia
0.8
Topic Recall
0.6
0.4
0.2
0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N
Random K-means++
Gambar 4.21 Grafik Topic Recall Metode K-means pada Data FACUP
0.8
0.7
0.6
Topic Recall
0.5
0.4
0.3
0.2
0.1
0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N
Random K-means++
Gambar 4.22 Grafik Topic Recall Metode K-means pada Data Super Tuesday
Sama dengan yang dihasilkan dari metode mini batch K-means, parameter
inisialisasi centroid yang menghasilkan akurasi lebih baik adalah K-means++.
Proses analisis kali ini mengenai penggunaan waktu running program pada
setiap percobaan. Pada metode mini batch K-means, pengujian terhadap kedua
parameter akan disajikan dalam grafik yang sama pada Gambar 4.23 dan Gambar
4.24.
Universitas Indonesia
16
Waktu (detik)
12
10
8
7
6 6
3 4
3
Random K-means++
Gambar 4.23 Grafik Waktu dari Data FACUP Menggunakan Metode Mini Batch
K-means
734
632
581
Waktu (detik)
553
157
77 145
69
75 70
Random K-means++
Gambar 4.24 Grafik Waktu dari Data Super Tuesday Menggunakan Metode Mini
Batch K-means
Waktu komputasi yang dihasilkan dari metode ini relatif meningkat seiring semakin
besarnya ukuran batch meskipun peningkatannya cukup kecil. Selanjutnya untuk
perolehan waktu dari penggunaan metode K-means dapat dilihat pada Gambar 4.25.
Universitas Indonesia
1708
1631
Waktu (detik)
31
18
FACUP Super Tuesday
Ukuran Batch
Random K-means++
Gambar 4.25 Grafik Waktu dari Data FACUP & Super Tuesday Menggunakan
Metode K-means
Universitas Indonesia
1.2
0.2
K-Means (rand)
0 LDA
10 20 30 40 50 60 70 80 90 100
@N
Gambar 4.26 Grafik Topic Recall Ketiga Metode pada Data FACUP
0.8
0.7
Mini Batch K-means
0.6 (++)
Topic Recall
0 LDA
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N
Gambar 4.27 Grafik Topic Recall Ketiga Metode pada Data Super Tuesday
Grafik pada Gambar 4.26 menunjukkan bahwa metode LDA mampu mencapai nilai
akurasi topic recall hingga 1, sedangkan dua metode lainnya hanya konvergen di
sekitar nilai 0.9. Grafik pada Gambar 4.27 juga menunjukkan bahwa metode LDA
mencapai nilai tertinggi dari metode lainnya.
Universitas Indonesia
5.1 Kesimpulan
1. Kondisi parameter dari metode mini batch K-means, yaitu inisialisasi centroid
dan ukuran batch dapat optimal pada kondisi parameter inisialisasi centroid
menggunakan K-means++ dan ukuran batch berkisar 15-30% dari data
keseluruhan. Selain itu ukuran batch yang baik bernilai lebih besar dari
banyaknya cluster yang diinginkan. Dari segi waktu, metode ini memiliki
peningkatan waktu komputasi yang sangat kecil seiring dengan peningkatan
ukuran batch yang signifikan, sehingga pertimbangan awal dalam penggunaan
metode ini dapat terfokus pada ukuran batch terlebih dahulu.
2. Hasil terbaik metode mini batch K-means cukup baik jika dibandingkan dengan
metode K-means, karena dengan selisih nilai akurasi yang sedikit lebih rendah,
yaitu 1-2%, dapat menghemat penggunaan waktu hingga 60-70%.
3. Perbandingan kedua metode clustering tersebut masih cukup jauh untuk dapat
mendekati hasil implementasi dari metode LDA. Metode LDA masih lebih baik
dalam hal nilai akurasi walaupun perbandingan waktu komputasi yang
digunakan sangat jauh dengan kedua metode clustering tersebut. Hal ini
disebabkan asumsi awal yang digunakan oleh metode LDA adalah setiap
dokumen mengandung beberapa topik, sedangkan pada metode K-means
berasumsi bahwa satu dokumen hanya mengandung satu topik.
5.2 Saran
Saran yang diberikan penulis untuk penelitian serupa di masa yang akan datang
adalah perlu adanya metode pendekatan yang memperhatikan peningkatan nilai
akurasi meski dalam waktu yang sedikit lebih lama.
45
Universitas Indonesia
Aiello, L. M., Petkos, G., Martin, C., Corney, D., Papadopoulos, S., Skraba, R.,
Goker, A., Kompatsiaris, I., Senior Member, IEEE, dan Jaimes, A.
(2013). Sensing Trending Topics in Twitter. IEEE Transactions on
Multimedia, vol. 15, no. 6, pp. 1520–9210
Allan, J. (2002). Topic Detection and Tracking: Event-Based Information
Organization. New York: Springer
Arthur, D., Vassilvitskii, S. (2007). k-means++: The Advantages of Careful
Seeding. SODA '07 Proceedings of The Eighteenth Annual ACM-SIAM
Symposium on Discrete Algorithms, pp. 1027–1035
Bishop, C. M. (2006). Pattern Recognition and Machine Learning. New York:
Springer
Blei, D. M., Ng, A. Y., Jordan, M. I., Lafferty, J. (2003). Latent Dirichlet
Allocation. Journal of Machine Learning Research, vol. 3, pp. 993–
1022
Blei, D. M. (2012). Probabilistic topic models. Communication of the ACM, vol.
55, no. 4, pp. 77–84
Lau, J. H., Newman, D., & Baldwin, T. (2014). Machine Reading Tea Leaves:
Automatically Evaluating Topic Coherence and Topic Model Quality.
In 14th Conferences of the European Chapter of the Association for
Computational Linguistic, pp. 530–539
Murfi, H. (2014). Incorporating Semantic Metadata into Nonegative Matrix
Factorization Based Topic Modeling and its Application to Main Topic
Extraction. International Journal of Intelligent Information Processing,
vol. 5, no. 2, pp. 29–38
Nur’aini, K., Najahaty, I., Hidayati, L., Murfi, H., Nurrohmah, S. (2015).
Combination of Singular Value Decomposition and K-means
Clustering Methods for Topic Detection on Twitter. Proceeding of
International Conference on Advanced Computer Science and
Information System, Depok, Indonesia
46
Universitas Indonesia
Universitas Indonesia
import csv
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
#import lda
from sklearn.cluster import KMeans, MiniBatchKMeans
from sklearn.preprocessing import normalize
from sklearn.metrics.pairwise import pairwise_kernels
from scipy import io
from time import time
nama = '2014-01'
waktu=open('../Results/MiniBatchKMeans/News/Topik-2014-01/Percobaan-
11.txt','w')
for k in range(1,6):
hasil = open('../Results/MiniBatchKMeans/News/Topik-2014-01/Percobaan-11-
Run-ke-'+str(k)+'.txt', 'w')
waktu.write('Run ke-%d' %k + '\n')
print 'Run ke-',k
t0 = time()
data_file = csv.reader(open('../Data/Stopwords/stopwords_id.csv'))
stopwords = []
for column in data_file:
stopwords.append(column[0])
stopwords = stopwords + ['republika', 'untuk', 'the', 'toko', 'nya']
48
Universitas Indonesia
#Learning
print "Learning ...."
n_topics = 100
#lda = lda.LDA(n_topics=n_topics).fit(data)
#W = lda.topic_word_
#H = lda.doc_topic_
km = MiniBatchKMeans(n_clusters=n_topics, init='k-means++',
batch_size=15000).fit(data)
#km = KMeans(n_clusters=n_topics, init='random').fit(data)
W = km.cluster_centers_
H = pairwise_kernels(normalize(data), normalize(W), metric='rbf')
io.mmwrite("../Results/MiniBatchKMeans/News/W-H/W-Percobaan-11-" +
nama+','+str(k)+'',W)
io.mmwrite("../Results/MiniBatchKMeans/News/W-H/H-Percobaan-11-" +
nama+','+str(k)+'',H)
Universitas Indonesia
import json
from sklearn.feature_extraction.text import TfidfVectorizer
from scipy import sparse
from sklearn.cluster import KMeans, MiniBatchKMeans
#import lda
from time import time
for t in range(1,6):
waktu=open('../Results/MiniBatchKMeans/Twitter/ST/Percobaan-14/Run-
'+str(t)+'/Waktu-14-'+str(t)+'.txt','w')
for k in range(1,9):
hasil = open('../Results/MiniBatchKMeans/Twitter/ST/Percobaan-14/Run-
'+str(t)+'/ST'+str(k)+'.txt', 'w')
waktu.write('ST %d' %k + '\n')
print 'ST ',k
t0 = time()
data=[]
f=json.loads(open('../Data/Twitter/Topic_Detection/SuperTuesday/SuperTuesda
y/ST'+str(k)+'.json').read())
for i in range(len(f)):
a=f[i].keys()
for j in range(len(a)-1):
if a[j]==u'text':
break
data.append(f[i].values()[j])
#Learning
print "Learning ...."
n_topics = 100
n_top_words = 10
#lda = lda.LDA(n_topics=n_topics).fit(X)
#W = lda.components_
#km = KMeans(n_clusters=n_topics, init='random').fit(X)
km = MiniBatchKMeans(n_clusters=n_topics, init='random',
batch_size=150000).fit(X)
Universitas Indonesia
W = km.cluster_centers_
for topic_idx, topic in enumerate(W):
hasil.write("" + " ".join([feature_names[i] for i in topic.argsort()[:-n_top_words -
1:-1]]) + "\n")
hasil.close()
Universitas Indonesia