Pendeteksian Topik pada Data Tekstual
Pertumbuhan dan ketersediaan data yang sangat besar di internet menimbulkan tantangan baru bagi manusia. Analisis konvensional semakin sulit digunakan atau bahkan tidak mungkin dilakukan untuk mengekstrak informasi berharga dari kumpulan data yang sangat besar. Bayangkan saja jika sebuah tranding topic di Twitter umumnya memiliki lebih dari 10.000 ribu tweet, dimana dalam satu tranding topic saja bisa memiliki beberapa topik pembicaraan.
Topik itu emang apasih?
Menurut Kamus Besar Bahasa Indonesia, Topik adalah “pokok pembicaraan dalam diskusi, ceramah, karangan, dan sebagainya.”. Topik adalah insight penting yang tersembunyi di dalam data tekstual. Dengan mengetahui pokok pembicaraan ataupun pembahasan dari suatu data tekstual, maka gambaran besar mengenai keseluruhan aktivitas pembicaraan dapat diketahui dengan baik. Topik tidak dapat dilihat hanya dari most frequently words, karena kata yang sering muncul mungkin saja bukan topik pembicaraan.
Emang penting ya topik itu?
Bagi beberapa orang/kelompok/perusahaan mengetahui topik pembicaraan itu sangat penting. Hal ini karena dapat membantu dalam proses penentuan pengambilan keputusan. Sebagai contoh, seorang Lead Marketing disebuah PT. Uhuy, Tbk ingin membuat sebuah campaign mengenai produknya yang lebih inovatif, tepat sasaran, dan sesuai dengan keadaan masyarakat saat ini. Dari sekian banyak data yang dibutuhkan, pemahaman dan pengetahuan tentang topik yang sedang berkembang di masyarakat menjadi sebuah input bernilai baginya. Topik pembicaraan yang sedang happening di masyarakat akan membantunya dalam membuat campaign yang tepat sasaran dan sesuai dengan harapan.
Contoh lain akan pentingnya mengetahui topik pembicaraan adalah untuk menjaga keutuhan bangsa dan negara. Kok bisa?
Sudah bukan menjadi rahasia bahwa sosial media bukan hanya dijadikan wadah untuk bertukar informasi penting yang membangun, namun juga acap kali dijadikan sebagai alat penyebar isu propaganda, perpecahan, dan isu-isu yang dapat mengancam kehidupan berbangsa dan bernegara oleh beberapa oknum yang tidak bertanggung jawab. Ironinya, isu yang terdapat di sosial media bisa memberikan dampak nyata di kehidupan sehari-hari, bahkan mampu menghadirkan fenomena Post-Truth di beberapa dekade terakhir. Hal ini akan sangat berbahaya jika memang benar banyak isu propaganda dan perpecahan yang tersebar di sosial media, terlebih pihak yang berwenang tidak memiliki tools untuk mengungkap topik pembicaraan yang terdapat di dalam isu-isu tersebut. Meng-capture topik pembicaraan secara otomatis dipastikan dapat membantu manusia dalam menentukan langkah antisipatif ataupun melakukan counter narasi terhadap isu-isu yang membahayakan bagi keutuhan bangsa. Oleh karena itu, sebuah tools yang dapat secara otomatis mengungkap topik pembicaraan, in my opinion, telah menjadi sebuah kebutuhan dasar saat ini bagi pihak berwenang.
Dalam Natural Language Processing, Topik dikenal dengan istilah Latent Variable (variable tersembunyi). Topik (latent variable) merupakan kumpulan kata yang memiliki makna penting dalam data tekstual. Topic Detection and Tracking (TDT) merupakan metode penentuan topik secara otomatis pada koleksi dokumen (kumpulan tweet/berita/postingan instagram) yang sangat besar dan sulit dilakukan oleh manusia secara manual. Terdapat beberapa metode (algortima) machine learning yang digunakan untuk mengetahui topik pembicaraan dalam data tekstual, yaitu:
1. Latent Semantic Analysis
2. Probabilistic Latent Semantic Analysis
3. Latent Dirichlet Allocation
4. Non-Negative Matrix Factorization
5. K-Means
6. Fuzzy C-Means
Pada tulisan ini akan lebih banyak membahas pendeteksian topik dengan menggunakan poin 6 diatas. Poin 6 diatas merupakan metode clustering. Clustering adalah permasalahan Unsupervised Learning, dimana algoritma belajar dari dataset yang tidak memiliki label. Metode clustering merupakan teknik pengelompkan data sedemikian sehingga anggota suatu kelompok memiliki kesamaan yang sangat tinggi dibandingkan dengan anggota kelompok lainnya.
K-Means adalah salah satu algortima clustering untuk pendeteksian topik yang sering digunakan. Algoritma ini berkerja dengan cara membagi himpunan data menjadi sejumlah k- cluster dengan nilai k yang telah ditentukan, dan merepresentasikan setiap cluster dengan satu pusat yang disebut centroid. Dalam pendeteksian topik, centroid pada metode k-means diasumsikan sebagai topik dari tiap dokumen yang dianalisis, dengan kata lain, metode ini mengasumsikan bahwa setiap dokumen hanya akan mengandung sebuah topik (Hard Clustering).
Asumsi ini memiliki banyak keterbatasan, hal ini dikarenakan pada dunia nyata, secara umum sebuah dokumen bisa jadi memiliki topik yang tidak tunggal. Oleh karena itu, seiring berkembangnya ilmu pengetahuan dan riset, metode clustering untuk pendeteksian topik semakin berkembang, hal ini ditandai dengan munculnya metode fuzzy clustering.
Fuzzy clustering adalah sebuah metode yang dikembangkan dari konsep metode k-means. Metode ini dapat mengelompokkan suatu dokumen ke dalam beberapa cluster berdasarkan suatu parameter bobot yang merupakan bilangan fuzzy. Oleh karena itu, metode fuzzy clustering menunjukan bahwa suatu dokumen dapat terdiri dari beberapa topik (Soft Clustering). Algoritma fuzzy clustering yang sering digunakan dalam pedeteksian topik adalah Fuzzy C-Means.
Apasi itu Fuzzy C-Means?
Fuzzy C-Means pertama kali diperkenalkan oleh Dunn pada tahun 1973 dan kemudian dikembangkan kembali oleh Bezdak pada tahun 1981 sebagai metode clustering yang menggunakan konsep fuzzy. Fuzzy C-Means adalah salah satu algoritma fuzzy clustering yang sangat popoler digunakan. Hal ini dikarenakan algoritma tersebut memberikan hasil yang baik dibandingkan algoritma fuzzy clustering lainnya dalam pendeteksian topik.
Algortima Fuzzy C-Means dikenal sebagai algoritma partitional clustering, sehingga langkah awal yang harus dilakukan dengan algortima ini adalah menentukan banyaknya cluster yang akan dibentuk. Selajutnya, mencari pusat dari masing- masing cluster dan akan diperbaharui di setiap proses langkah berikutnya. Setelah itu, data akan dikelompokkan berdasarkan jarak data ke setiap cluster yang dibentuk. Berikut adalah algortima Fuzzy C-Means:
Centroid ataupun pusat cluster merupakan kumpulan Latent Variable yang berisikan topik-topik pembicaraan dalam data tekstual yang menjadi input.
Gimana si tahapan umum dalam melakukan Topic Detection and Tracking?
Secara umum langkah yang harus dilakukan ketika melakukan research TDT adalah:
1. Akuisisi Data
2. Preprocessing
3. Modelling (Learning)
4. Evaluasi
Pada umumnya prinsip preprocessingnya sama dengan postingan sebelumnya (“Introduction: Sentiment Analysis, Mudah?”). Perbedaan mendasar terletak pada data yang tidak memiliki label, dan pada tahapan learning serta evaluasi. Perbedaaan ini disebabkan karena dua field permasalahan yang berbeda. Pendeteksian Topik adalah masalah Unsupervised Learning, sedangkan analisis sentimen adalah permasalahan Supervised Learning.
Learning
Dalam proses learning, Fuzzy C-Means memiliki parameter uji c, yaitu parameter banyaknya cluster, yang perlu ditentukan terlebih dahulu. Kekurangan dari Fuzzy C-Means dan K-Means pada umumnya adalah dalam menentukan banyaknya centroid yang optimal. Biasanya hal ini dapat diatasi dengan menggunakan teknik Swarm Intellegence, seperti Genetic Algorithm ataupun Fire Fly Algorithm untuk mendapatkan jumlah centroid yang optimal secara otomatis. Selain itu, dalam proses learning perlu juga diperhatikan dimensi dari data input, maksimal iterasi, serta toleransi eror. Hal ini karena akan berdampak pada kompleksitas waktu dan ruang yang akan terbentuk dalam proses learning.
Evaluasi
Pada tulisan ini, metode evaluasi yang digunakan adalah ground truth topics. Ground Truth Topics merupakan topik dari setiap data yang dibuat oleh profesional dalam bidangnya. Setiap ground truth topics terdiri dari himpunan keywords yang menunjukkan headline secara ringkas. Ground truth topics digunakan untuk melihat nilai akurasi dari topik yang dihasilkan oleh suatu metode. Akurasi topik dapat dilihat dengan:
1. Topic recall : persentase jumlah ground truth topics yang berhasil terdeteksi dengan benar oleh suatu metode.
2. Term precision : persentase jumlah keyword yang berhasil terdeteksi dari jumlah keseluruhan kata pada topik yang cocok untuk beberapa ground truth topics.
3. Term recall : persentase jumlah keyword yang berhasil terdeteksi dari jumlah keseluruhan keyword pada ground truth topics yang sesuai dengan slot waktu dimana topik terdeteksi dengan benar.
Hasil
Algortima diatas akan menghasilkan kumpulan kata yang merupakan topik-topik pembicaraan. Berikut adalah contoh tiga buah topik yang masing-masing mengandung 10 kata:
Topik diatas adalah pokok/inti pembicaraan dari para pengguna Twitter di event English FA Cup Final tahun 2012, Liverpool vs Chelsea yang diperoleh dengan menggunakan metode Fuzzy C-Means. Berikut adalah statistik deskriptif dari data yang digunakan:
Berdasarkan grafik diatas diperoleh jumlah data yang digunakan sebanyak 24.075 ribu tweet. Pemrosesan data tersebut guna mengungkap topik pembicaraan tidak mungkin dilakukan secara manual, sehingga memang diperlukan metode machine learning untuk menyelesaikan permasalahan diatas.
Berdasarkan hasil sebelumnya, terlihat bahwa terdapat tiga buah topik pembicaraan, yaitu:
Topik 1:
Membicarakan tentang drogba di Final FA Cup antara Liverpool dan Chelsea.
Topik 2:
Membicarakan tentang kalou yang melakukan serangan dikotak pinalti liverpool pada FA Cup Final di wembley stadium.
Topik 3:
Membicarakan tentang Agger (pemain liverpool) yang mendapatkan kartu kuning karena melanggar Jhon Obi Mikel dan skor 1–0 untuk chelsea.
Tantangan lainnya yang harus diperhatikan dengan baik dalam permasalahan Unsupervised Learning adalah interpretasi hasil. Ukuran keberhasilan suatu model pendeteksian topik outperform atau tidak salah satunya adalah dengan melihat kualitas topik yang dihasilkan. Topik yang dihasilkan seharusnya bukan hanya relevan dengan keadaan sebenarnya, akan tetapi juga mudah dibaca dan diinterpretasikan. Selain itu pula, hal yang perlu diantisipasi dalam research pendeteksian topik menggunakan metode clustering adalah fenomena Center of Gravity.
Semoga bermanfaat.
Sumber:
[1] C.Boutsidis. E. Gallopoulos. SVD based initialization: A head strat for nonnegative matrix factorization, Pattern Recognition, Science Direct, Pages 1350–1362 (2008).
[2] Miin-Shen Yang, and Yessica Nataliani. Robust-learning fuzzy c-means clustering algorithm with unknown number of clusters, Pattern Recognition, Science Direct, (2017)
[3] Muliawati, Triyana. Fuzzy C-Means pada Ruang Eigen untuk Pendeteksian Topik. Universitas Indonesia, (2016)
[4] Rahmita, Tasya., Hendri Murfi., Dhian Widya. An Impact Analysis on NNDSVD Initialization on NMF Method for Extracting Main Topic of Indonesian Online News, Universitas Indonesia, (2014).