sistem analisis opini microblogging berbahasa indonesia

advertisement
SISTEM ANALISIS OPINI MICROBLOGGING
BERBAHASA INDONESIA
Harlili1, Yudi Wibisono2
1
Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung
2
Ilmu Komputer, Fakultas Pendidikan Matematika dan Ilmu Pengetahuan Alam,
Universitas Pendidikan Indonesia
1
[email protected], 2 [email protected]
Abstrak
Microblogging, khususnya Twitter membuat pengguna dapat mem-publish pesan pendek (tweet) dengan mudah
dan cepat. Indonesia sendiri merupakan negara terbesar ketiga penghasil tweet dengan kontribusi enam juta
tweet perhari. Sebagian tweet ini dapat berisi opini terhadap produk atau layanan. Jumlah yang besar dan data
yang mudah diperoleh membuat kumpulan tweet ini sangat berpotensi untuk dimanfaatkan pihak organisasi
sebagai pendukung manajemen merek dan corporate reputation. Tweet yang tidak terstruktur dan jumlah yang
besar menjadi tantangan utama dalam pemrosesan data. Penelitian ini membahas pengembangan sistem sentimen
analisis otomatis untuk tweet berbahasa Indonesia menggunakan klasifikasi Naïve Bayes. Sistem ini menangani
pemisahan tweet opini dan nonopini, tweet opini negatif dan positif, dan keyword yang berkaitan dengan opini
positif dan negatif tersebut. Hasil eksperimen menunjukkan sistem ini memiliki potensi besar sebagai alat untuk
membantu melakukan analisis opini.
Kata kunci : Microblogging, twitter, analisis opini, text processing
1.
Pendahuluan
Internet versi 2.0 ditandai dengan berkembangnya
data yang berasal dari pengguna (user generated content).
Data ini berbentuk blog, forum, dan media sosial.
Microblogging adalah bagian dari media sosial yang
memungkinkan pengguna untuk mem-publish pesan
singkat (140 karakter) berisi opini, kegiatan atau diskusi.
Contoh layanan microblogging adalah Jaiku, Plurk,
dan yang terpopuler adalah Twitter. Pesan singkat pada
layanan Twitter disebut tweet. Gambar 1 memperlihatkan
contoh tweet mengenai sebuah operator GSM
Gambar 1 Contoh tweet
Jumlah tweets berkembang dengan cepat karena
mudah digunakan dan aplikasinya tersedia di berbagai
platform (SMS, browser, smartphone app, email). Tahun
2007 jumlah tweets berada dikisaran 5 ribu per hari, dan
berkembang menjadi 50 juta tweets per hari pada tahun
2010. Saat ini (Agustus 2011) telah mencapai 200
juta/hari, atau sekitar 2.300
tweets per detik [1].
Indonesia di tahun 2010, menjadi negara ke-3 terbesar
penghasil tweet dengan porsi 12% atau sekitar 6 juta
tweets/hari [2].
Volume tweet yang besar ini dapat digunakan
sebagai sumber data untuk analisis opini. Analisis opini
berupaya menjawab pertanyaan seperti “Berapa persentase
respon negatif, positif dan mengenai produk X?”, “Aspek
apa yang mendapat respon negatif?”.
Perusahaan dan organisasi membutuhkan analisis
opini sebagai dasar manajemen merk (brand
management), corporate reputation, marketing, sistem
rekomendasi, dan intelijen [3]. Merk telah dianggap
sebagai salah satu intangible asset yang paling berharga
dan manajemen merk adalah prioritas penting bagi pihak
manajemen perusahaan atau organisasi [4]. Penurunan
reputasi perusahaan dapat menyebabkan gangguan
terhadap kondisi finansial perusahaan atau bahkan dapat
menyebabkan kebangkrutan[5]
Di satu sisi, analisis sentimen memiliki banyak
manfaat bagi organisasi, industri, dan individu, tetapi di
sisi lain memiliki banyak tantangan dan masalah.
Salah satu masalah adalah variasi bahasa yang
digunakan pengguna Twitter sangat tinggi, dengan kosa
kata dan tata-bahasa yang tidak baku. Sebagai contoh,
kata “tidak” memiliki 21 variasi seperti “tdk”, “gak”,
“nggak”, “kagak”, “ga”, “nda”, “gag” dan seterusnya [6].
Jumlah karakter yang dibatasi 140 membatasi pengguna
untuk mengekspresikan dengan jelas apa yang diinginkan.
Jumlah tweet yang sangat besar juga membuat
pemrosesan secara manual akan membutuhkan tenaga dan
waktu yang sangat besar.
Penelitian ini mencoba menjawab bagaimana
membangun sistem yang dapat membantu melakukan
analisis opini microblogging berbahasa Indonesia.
Data yang digunakan adalah 35000 tweet yang
mengandung kata Telkomsel dan Indosat pada bulan
Agustus 2010. Eksperimen dilakukan untuk menguji
model yang akan digunakan di dalam sistem.
dari tanggal 29 Agustus 2010 dan masih berjalan sampai
sekarang. Tapi untuk eksperimen dalam penelitian ini,
hanya digunakan data sampai dengan tanggal 29
September 2010 sebanyak 33 ribuan tweet.
2.
5.
Kajian Terkait Analisis Sentimen
Penelitian yang terkait dengan analisis sentimen
telah banyak dilakukan sebelumnya [7]. Tetapi untuk
bahasa Indonesia, hanya ditemukan satu publikasi
mengenai analisis sentimen [8] itupun masih masih
menggunakan dokumen berbahasa Inggris mengenai
review film yang kemudian diterjemahkan ke Bahasa
Indonesia.
Arsitektur Sistem Analisis Sentimen
Gambar 5 memperlihatkan arsitektur sistem yang
akan dikembangkan.
Sistem ini menerima masukan berupa data tweet
mentah. Data ini akan di praproses terlebih dulu sebelum
diproses lebih lanjut.
Tweet mentah
3.
Sistem Analisis Sentimen
Tujuan dari sistem analisis sentimen pertama adalah
secara otomatis menentukan apakah sebuah tweet
mengandung opini atau tidak. Sebagai contoh tweet ini
walaupun mengandung kata “indosat” tetapi tidak
memiliki informasi opini.
Praproses
Tweet ‘bersih’
Classifier
(opini vs non opini)
pantes rumah kosong (?) RT @nisrinachai:
@Anggithsv di indosat mm hehe
Gambar 2 Contoh tweet non opini
Tweet opini
Setelah diperoleh tweet yang mengandung opini
langkah berikutnya adalah memisahkannya menjadi dua
jenis: opini negatif dan opini positif. Contoh opini positif
adalah sebagai berikut
Syukur alhamdulilah tmben d smi ga delay
lgi pake indosat..hhehe..
Gambar 3 Contoh tweet opini positif
Sedangkan contoh tweet negatif adalah sebagai
berikut
indosat payah internetnya
Tweet non opini tidak
diproses
Classifier
(opini positif vs opini
negatif)
Tweet Opini
Positif
Tweet Opini
Negatif
Keyword Extractor
Gambar 4 Contoh tweet opini negatif
Tahap terakhir adalah mencari kata kunci yang
terkait dengan sekumpulan tweet opini, baik opini negatif
maupun opini positif. Kata kunci ini terutama untuk
menggambarkan aspek apa yang mendapat opini. Berikut
adalah contoh kata kunci pada kumpulan tweet opini
negatif:
sinyal, sms, mahal, koneksi,
pulsa. Sedangkan kata kunci untuk opini positif
diantaraya:
internet
cepat, flash
telkomsel, sinyal kuat.
4.
Data Eksperimen
Data tweet diperoleh dengan membuat program
crawler yang secara otomatis, setiap 30 menit dan selama
24 jam sehari, mengambil data tweet yang mengandung
kata “indosat” dan “telkomsel”. Pengumpulan dimulai
Keyword
untuk opini
negatif
Keyword
untuk opini
positif
Gambar 5 Arsitektur Sistem
Pada praproses, tweet yang terlalu pendek (kurang dari 10
karakter) dihilangkan, karakter selain alphanumerik
dihilangkan, dilakukan case folding (dijadikan huruf
kecil), pembuangan stopwords dan pemrosesan sinonim.
Untuk klasifikasi secara otomatis tweet opini dan
nonopini, lalu opini negatif dan positif, digunakan naïve-
bayes classifier [9]. Teknik ini dipilih karena paling
sederhana untuk diimplementasikan.
Sedangkan untuk ekstraksi keyword, dilakukan
dengan menghitung bobot TF-IDF (term frequency –
inverse documen tFrequency ). Term dengan bobot TFIDF terbesar yang akan menjadi kandidat keyword.
Persamaan TF-IDF dihitung dengan cara
… 1
… 1
Dimana tf(d,t) adalah frekuensi kemunculan kata t
pada tweet d; |D| adalah jumlah semua twet pada koleksi;
dan n adalah jumlah tweet yang mengandung kata t.
Metode pembobotan log-tf.idf digunakan karena
metode pembobotan ini paling baik dalam task
information retrieval.
Nilai bobot suatu term menyatakan kepentingan
bobot tersebut dalam merepresentasikan tweet. Pada
pembobotan log-tf.idf, bobot akan semakin besar jika
frekuensi kemunculan term semakin tinggi, tetapi bobot
akan berkurang jika term tersebut semakin sering muncul
pada tweet lainnya.
6.
Evaluasi Model
Sebelum digunakan di dalam sistem, classifier model
yang digunakan perlu diujicoba terlebih dulu.
Untuk mengujicoba classifier opini dan nonopini,
digunakan data latih 963 tweet yang terdiri atas 330 non
opini dan 633 opini. Dilakukan testing pada 300 tweet
dengan akurasi 91.83%. Akurasi ini lebih tinggi dari
perkiraan sebelumnya mengingat karakteristik tweet yang
tidak terstruktur dan mengandung noise yang tinggi.
Eksperimen ini juga memperlihatkan bahwa jumlah
tweet yang mengandung opini mencapai 82.89% dari total
tweet ujicoba. Ini menunjukkan bahwa potensi analisis
opini sangat besar pada domain ini karena banyak tersedia
tweet yang mengandung opini yang dapat diproses.
Berikutnya diujicoba classifier model untuk kelas
opini negatif dan opini positif. Yang digunakan sebagai
data latih adalah 633 opini hasil ujicoba model
sebelumnya, 633 opini ini terdiri atas 470 opini negatif
dan 143 opini positif. Akurasi yang diperoleh 93.40%,
menunjukkan model cukup dapat membedakan tweet
beropini negatif dan positif.
Terakhir adalah ujicoba keyword extractor. Setelah
hasilnya dibandingkan dengan keyword ideal (disusun
oleh manusia, bukan mesin), dari 29 keyword yang
harusnya diambil, sistem hanya memperoleh
10
keyword (34.48%).
Contoh berikut adalah keyword ideal untuk opini
negatif:
Internet, sinyal, sms, mahal, koneksi, pulsa, bb
,
gangguan, tidak bisa telepon, telkomsel flash
Gambar 6 Contoh keyword ideal untuk opini negatif
Sedangkan yang dihasilkan sistem adalah:
emosi, mahal, bb ,<makian>, aneh, jaringan, pulsa,
provider, bis, paket, sms, xl, sinyal
Gambar 7 Contoh keyword yang dihasilkan sistem
Permasalah utama yang menyebabkan buruknya
kinerja keyword extracktor adalah banyak tweet yang
tidak menyatakan subyek opininya secara jelas. Misalnya
untuk menyatakan bahwa ada permasalahan dengan
internet, banyak tweet yang menggunakan kata tidak
langsung seperti “lambat”, “tidak bisa membuka
facebook”, “gprs” dan seterusnya.
7.
Ujicoba Sistem
Setelah model dianggap cukup untuk digunakan
didalam sistem analisis opini, maka dilakukan ujicoba
terhadap 33000 tweet dalam rentang 27 hari.
33000 tweet tersebut dipecah per hari, kemudian
dilakukan proses seperti yang telah dijelaskan sebelumnya
(opini atau bukan, opini positif atau negatif dan keyword
sesuai dengan opini).
Hasilnya dapat dilihat pada Gambar 8.
Gambar 8 Keluaran Sistem
Yang menjadi sumbu horizontal adalah hari dari
tanggal 30 Agustus 2010 sampai dengan 24 September
2010. Satuan sumbu horizontal dapat diubah-ubah,
misalnya bulan atau tahun.
Garis di bagian atas menggambarkan jumlah tweet
opini negatif, sedangkan garis di bawah memperlihatkan
jumlah opini positif (tweet non opini tidak diproses).
Terlihat bahwa twitter jauh lebih sering dimanfaatkan
untuk memberikan opini negatif.
Analisis keyword juga dapat dilakukan pada setiap
point untuk memperlihatkan aspek apa saja yang menjadi
pembahasan pada batasan waktu tertentu. Contohnya
grafik diatas memperlihatkan puncak opini negatif terjadi
pada tanggal 9 September 2010 yaitu sehari sebelum
lebaran idul fitri 2010. Salah satu keyword pada hari itu
untuk opini negatif adalah “cs” (customer support). Ini
mungkin disebabkan terbatasnya jumlah cs saat itu.
Berikut adalah cuplikan tweet yang membahas cs pada
hari itu:
Susah bgt sih hubungin CS Telkomsel..sibuk2
mlulu
[4]
[5]
[6]
[7]
[8]
tadi gua sempet nyolot22an sama CS nya
telkomsel HAHAHA songong bet sih lau neng
8.
Kesimpulan
Makalah ini telah membahas pengembangan awal
sistem analisis opini untuk microblogging. Telah dibahas
arsitektur sistem, pengujian model yang digunakan di
dalam sistem sampai dengan ujicoba sistem.
Potensi dan kontribusi sistem ini dapat terlihat
dengan jelas. 33 ribu tweet (atau lebih) dalam rentang satu
bulan dapat ditampilkan dalam bentuk grafik, dan difilter
secara otomatis mana yang opini dan apakah opini
tersebut negatif atau positif, beserta keyword yang
relevan.
Hasil eksperimen menunjukkan akurasi untuk model
klasifikasi tweet opini dan nonopini adalah 91.83%
sedangkan untuk model klasifikasi opini negatif dan
positif mencapai 93.40%.
Sedangkan untuk keyword
extraction masih kurang memuaskan karena hanya
34.48% keyword yang dapat diambil.
Untuk penelitian selanjutnya, model keyword
extraction perlu diperbaiki untuk mendapatkan hasil yang
lebih maksimal.
.
Daftar Pustaka:
[1]
[2]
[3]
Twitter (2011) Your world, more connected,
http://blog.twitter.com/2011/08/your-world-moreconnected.html diambil tanggal September 2011
Semiocast
Press
Release,
(2010),
http://semiocast.com/ diambil tanggal 26 April
2011
Amanda Lee Hughes Leysia Palen (2009) Twitter
Adoption and Use in Mass Convergence and
Emergency Events, Proceedings of the 6th
International ISCRAM Conference – Gothenburg,
Sweden, May 2009.
[9].
Keller, K. L., & Lehmann, D. R. (2006). Brands
and branding: Research findings and future
priorities. Marketing science, 25(6), 740-759.
Argenti, P. A., B. Druckenmiller. (2004).
Reputation and the corporate brand. Corporate
Reputation Rev. 6(4) 368–374.
Wibisono Y,
Perbandingan Partition Around
Medoids (Pam) dan K-Means Clustering untuk
Tweets, Prosiding KNSI 2011 Medan, Feb 2011
Bo Pang and Lillian Lee (2008), Opinion Mining
and Sentiment Analysis, Foundations and Trends in
Information Retrieval
Franky, Manurung R, (2008), Machine Learningbased Sentiment Analysis of Automatic Indonesian
Translations of English Movie Reviews, In
Proceedings of the International Conference on
Advanced Computational Intelligence and Its
Applications 2008.
Tom M. Mitchell: Machine Learning, McGrawHill, 1999
Download