1 UNIVERSITAS INDONESIA ANALISIS SENTIMEN PENGGUNA LAYANAN MEDIA SOSIAL TWITTER DI INDONESIA KARYA AKHIR PEKIK INDRA LESMANA FAKULTAS ILMU KOMPUTER PR...
Karya Akhir ini diajukan oleh Nama NPM Program Studi Judul Karya Akhir
: : Pekik Indra Lesmana : 1106042246 : Magister Teknologi Informasi : Analisis Sentimen Pengguna Layanan Media Sosial Twitter di Indonesia
Telah berhasil dipertahankan di hadapan Dewan Penguji dan diterima sebagai bagian persyaratan yang diperlukan untuk mendapat gelar Magister Teknologi Informasi pada Program Studi Magister Teknologi Informasi, Fakultas Ilmu Komputer, Universitas Indonesia.
Alhamdulillah, atas berkah dan rahmat Allah, saya bisa menyelesaikan Karya Akhir yang berjudul “Analisis Sentimen Pengguna Layanan Media Sosial Twitter di Indonesia” ini. Penulisan karya akhir ini dilakukan dalam rangka memenuhi salah satu syarat untuk mencapai gelar Magister Teknologi Informasi pada Program Studi Magister Teknologi Informasi, Fakultas Ilmu Komputer Universitas Indonesia. Saya menyadari bahwa tanpa bantuan dan bimbingan dari berbagai pihak, sangatlah sulit bagi saya untuk bisa menyelesaikannya. Oleh sebab itu, saya mengucapkan terima kasih kepada: 1.
Bapak Riri Satria, MM., selaku dosen pembimbing yang sudah menyediakan waktu, tenaga, dan pikiran untuk mengarahkan saya dalam penyusunan Karya Akhir ini.
2.
Bapak Widijanto S. Nugroho, Ph.D. dan Bapak M. Rifki Shihab, M.Sc., selaku dosen penguji yang sudah memberikan masukan untuk memperkuat analisis dan hasil di penelitian ini.
3.
Orang tua dan keluarga saya yang sudah memberikan bantuan dukungan material dan moral.
4.
Andika Rahmawati, yang sudah banyak mendukung dan membantu saya dalam menyelesaikan Karya Akhir ini.
5.
Dicky Arinal, atas bantuan finansial dan dukungan untuk menyelesaikan Karya Akhir ini di semester 3.
6.
Rinto Priambodo, atas sumbangan idenya untuk bisa menggali topik untuk penelitian ini. Saya berharap Tuhan berkenan membalas segala kebagusan semua pihak
yang sudah membantu. Walau karya akhir ini masih mempunyai kekurangan, namun penulis berharap karya ini bermanfaat bagi penelitian-penelitian selanjutnya. Jakarta, 14 Januari 2013
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA AKHIR UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Universitas Indonesia, saya yang bertanda tangan di bawah ini: Nama
: Pekik Indra Lesmana
NPM
: 1106042246
Program Studi : Magister Teknologi Informasi Fakultas
: Ilmu Komputer
Jenis Karya
: Karya Akhir
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Indonesia Hak Bebas Royalti Nonekslusif (Non-exclusive RoyaltyFree Right) atas karya ilmiah saya yang berjudul: Analisis Sentimen Pengguna Layanan Media Sosial Twitter Di Indonesia.
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Nonekskutif ini Universitas Indonesia berhak menyimpan, mengalihmedia/formatkan, mengelola
dalam
bentuk
pangkalan
data
(database),
merawat,
dan
mempublikasikan karya akhir saya tanpa meminta izin dari saya selama tetap mencantumkan saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.
Demikian pernyataan ini saya buat dengan sebenarnya.
Pekik Indra Lesmana Magister Teknologi Informasi ANALISIS SENTIMEN PENGGUNA LAYANAN MEDIA SOSIAL TWITTER DI INDONESIA
Media sosial kini tak hanya dimanfaatkan untuk kepentingan pribadi, tapi telah marak dipakai untuk kepentingan bisnis. Analisis sentimen merupakan penelitian komputasional dari ekspresi sentimen secara tekstual. Twitter adalah salah satu media sosial populer, keterbatasan karakter memberikan kesulitan tersendiri dalam menganalisis sentimen dibanding media sosial lainnya. Semua data yang dipakai dalam penelitian ini merupakan tweet yang disampaikan dalam Bahasa Indonesia. Hasil analisis sentimen di twitter memakai aplikasi yang ada menunjukkan tingkat akurasi yang kecil. Penelitian ini bertujuan untuk membandingkan metode pengklasifikasian sentimen yang lebih akurat antara 2 metode klasifikasi populer. Akurasi yang dihasilkan oleh Metoda SVM lebih bagus daripada Metode NBC. Kata kunci : Twitter, Analisis Sentimen, Media Sosial, Support Vector Machine, Naïve Bayes. xiii + 88 halaman; 27 gambar; 18 tabel;
Pekik Indra Lesmana Magister Teknologi Informasi SENTIMENT ANALYSIS OF TWITTER SOCIAL MEDIA USER IN INDONESIA
Social media is now not used for personal purposes only, but also adopted for business purposes. Sentiment analysis is a computational research of sentiments expressed textually. Twitter is a popular social media in Indonesia, its character limitations make it more challenging to be analyzed than the other social media. All data used in this research is tweets delivered in Bahasa Indonesia. The results of sentiment analysis in twitter using existing applications show low accuracy. This research aims to compare the sentiment classification method that more accurately between two popular classification methods. Accuracy produced by the SVM is better than NBC. Keywords : Twitter, Sentiment Analysis, Social Media, Support Vector Machine, Naïve Bayes. xiii + 88 pages; 27 figures; 18 tables;
DAFTAR ISI HALAMAN PERNYATAAN ORISINALITAS .................................................... ii HALAMAN PENGESAHAN ................................................................................ iii KATA PENGANTAR ........................................................................................... iv HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA AKHIR UNTUK KEPENTINGAN AKADEMIS ................................................................v ABSTRAK ............................................................................................................. vi ABSTRACT .......................................................................................................... vii DAFTAR ISI ........................................................................................................ viii DAFTAR GAMBAR ...............................................................................................x DAFTAR TABEL .................................................................................................. xi BAB 1 - PENDAHULUAN ....................................................................................1 1.1 Latar Belakang .........................................................................................1 1.2 Perumusan Masalah .................................................................................3 1.3 Tujuan Penelitian .....................................................................................4 1.4 Manfaat Penelitian ...................................................................................4 1.5 Batasan Penelitian....................................................................................5 BAB 2 - TINJAUAN PUSTAKA ..........................................................................6 2.1 Media Sosial ............................................................................................6 2.2 Twitter......................................................................................................6 2.2.1 Twitter API ..................................................................................7 2.3 Crawler ....................................................................................................7 2.4 Text mining ..............................................................................................8 2.5 Tahapan Text mining ............................................................................10 2.5.1 Pra-proses Teks ........................................................................10 2.5.2 Text Transformation (Feature Generation) ..............................11 2.5.3 Pattern Discovery ......................................................................12 2.6 Mining Twitter Data ..............................................................................13 2.7 Stemming Bahasa Indonesia..................................................................15 2.7.1 Struktur Morfologi Bahasa Indonesia .......................................15 2.7.2 Proses Stemming Bahasa Indonesia ..........................................18 2.8 Analisis Sentimen ..................................................................................20 2.8.1 Kelas Sentimen ..........................................................................22 2.9 Metode Klasifikasi.................................................................................23 2.9.1 Naïve Bayes Classifier ...............................................................25 2.9.2 Support Vector Machine (SVM).................................................27 2.10 Hermeneutika.........................................................................................30 2.10.1 Perkembangan Gagasan Hermeneutika .....................................30 2.10.2 Cara Kerja Hermeneutika ..........................................................32 2.10.3 Beberapa Kaidah Hermeneutika ................................................33 2.11 Rapid Miner ...........................................................................................33 2.12 Penelitian Tentang Analisis Sentimen Sebelumnya ..............................34 2.12.1 Bayesian Opinion Mining ..........................................................35 2.12.2 Combining Lexicon-based and Learning-based Methods for Twitter Sentiment .......................................................................35 viii
2.12.3 Klasifikasi Berita Berbahasa Indonesia memakai Naïve Bayes Classifier ....................................................................................36 2.12.4 A Distributed Focused Crawler to Support Open Research with Twitter Data ...............................................................................36 2.12.5 Text Classification Using Support Vector Machine for Webmining Based Spation Temporal Analysis of the Spread of Tropical Diseases ......................................................................38 2.12.6 Modeling Public Mood and Emotion: Twitter Sentiment and Socioeconomic Phenomena .......................................................38 2.12.7 Comparison of SVM and Some Older Classification Algorithms in Text Classification Tasks .......................................................39 2.12.8 Twitter as a Corpus for Sentiment Analysis & Opinion Mining 40 2.12.9 Improving Multiclass Text Classification with the Support Vector Machine ..........................................................................40 2.13 Perbandingan Penelitian Sebelumnya ...................................................41 2.14 Kerangka Berpikir .................................................................................43 BAB 3 - METODE PENELITIAN .....................................................................45 3.1 Pengumpulan Data.................................................................................45 3.1.1 Twitter Crawling ........................................................................46 3.1.2 Seleksi Bahasa Indonesia ...........................................................49 3.1.3 Klasifikasi Sentimen Manual .....................................................49 3.2 Pemrosesan Data....................................................................................50 3.2.1 Pra-Proses ..................................................................................51 3.2.2 Pemilihan Fitur ..........................................................................52 3.2.3 Pembobotan ...............................................................................53 3.2.4 Proses Klasifikasi.......................................................................54 3.2.5 Evaluasi......................................................................................55 3.3 Pengujian dengan Aplikasi Rapid Miner ...............................................55 BAB 4 - PROFIL TWITTER ...............................................................................57 4.1 Sejarah Twitter.......................................................................................57 4.2 Pertumbuhan Twitter .............................................................................57 4.3 Demografi Pengguna .............................................................................58 4.4 Pengguna Media Sosial Twitter di Indonesia ........................................59 BAB 5 - PEMBAHASAN .....................................................................................63 5.1 Pengumpulan Data.................................................................................63 5.1.1 Twitter Crawling ........................................................................63 5.1.2 Seleksi Bahasa Indonesia ...........................................................64 5.1.3 Klasifikasi Sentimen Manual .....................................................64 5.2 Pemrosesan Data....................................................................................65 5.2.1 Pra-Proses ..................................................................................65 5.2.2 Pemilihan Fitur ..........................................................................65 5.2.3 Pembobotan ...............................................................................68 5.2.4 Proses Klasifikasi.......................................................................68 5.3 Hasil Klasifikasi ....................................................................................70 BAB 6 - KESIMPULAN DAN SARAN..............................................................81 6.1 Kesimpulan ............................................................................................81 6.2 Saran ......................................................................................................82 DAFTAR REFERENSI .......................................................................................83 ix
Gambar 1. 1 Hasil analisis sentimen di twitrratr.com untuk kata kunci “telkomsel” ......................................................................................................................... 3 Gambar 1. 2 Diagram Tulang Ikan ......................................................................... 4 Gambar 2. 1 Klasifikasi sebagai suatu cara memetakan atribut x ke dalam label kelas y ........................................................................................................... 23 Gambar 2. 2 SVM berusaha menemukan hyperplane terbagus untuk memisahkan kelas. ............................................................................................................. 28 Gambar 2. 3 Representasi Hyperplane.................................................................. 29 Gambar 2. 4 Kerangka Berpikir ............................................................................ 44 Gambar 3. 1 Metode penelitian ............................................................................. 45 Gambar 3. 2 Tahapan Pengumpulan Data (Korpus) ............................................. 46 Gambar 3. 3 Alur Pemrosesan Data ...................................................................... 50 Gambar 3. 4 Pra-proses data tweet ........................................................................ 51 Gambar 4. 1 Distribusi jenis kelamin pengguna di twitter.................................... 58 Gambar 4. 2 Distribusi usia pengguna twitter....................................................... 59 Gambar 4. 3 Top 20 Countries in Terms of Twitter Accounts .............................. 61 Gambar 4. 4 Top 20 Cities by Number of Posted Tweets ..................................... 62 Gambar 5. 1 Proses klasifikasi dengan Rapid Miner ............................................ 69 Gambar 5. 2 Proses klasifikasi Naïve Bayes classifier dengan Rapid Miner........ 69 Gambar 5. 3 Proses klasifikasi Support Vector Machine dengan Rapid Miner .... 70 Gambar 5. 4 Hasil Klasifikasi SVM dengan kernel Polykernel (e=1) .................. 73 Gambar 5. 5 Hasil Klasifikasi SVM dengan kernel Polykernel (e=2) .................. 74 Gambar 5. 6 Hasil Klasifikasi SVM dengan kernel RBF ..................................... 75 Gambar 5. 7 Klasifikasi sentimen 1 dengan bobot TF .......................................... 76 Gambar 5. 8 Klasifikasi sentimen 1 dengan bobot TP .......................................... 77 Gambar 5. 9 Klasifikasi sentimen 1 dengan bobot TFIDF ................................... 77 Gambar 5. 10 Klasifikasi sentimen 2 dengan bobot TF ........................................ 78 Gambar 5. 11 Klasifikasi sentimen dengan bobot TP ........................................... 79 Gambar 5. 12 Klasifikasi sentimen 2 dengan bobot TFIDF ................................. 79 Gambar 5. 13 Rata-Rata Hasil Klasifikasi ............................................................ 80
Latar Belakang Sekarang, media sosial internet sudah berkembang dengan pesat. Salah satu
media sosial yang marak dipakai merupakan Twitter (Pak, 2010). Twitter merupakan sebuah media sosial yang memberikan layanan micro blogging dengan batasan 140 karakter per pesan yang biasa disebut tweet, dikirim oleh pengguna kepada pembacanya yang disebut follower. Twitter dapat diakses melalui web, pesan singkat (SMS), atau third party applications, seperti UberSocial. Menurut data Semiocast.com bulan Juni 2012, Indonesia merupakan negara kelima dengan pengguna Twitter terbanyak di dunia, dengan jumlah total pengguna mencapai 29,4 juta. Pertumbuhan ini membuat orang-orang menikmati berbagi kegiatan mereka di media sosial, termasuk mengeluh tentang produk atau layanan dari perusahaan tertentu. Perilaku ini menjadi kesempatan besar bagi perusahaan-perusahaan untuk mengetahui sentimen konsumen terhadap produk atau layanan perusahaan mereka, namun kemampuan teknologi informasi untuk mengumpulkan dan menyimpan berbagai jenis data sudah jauh meninggalkan kemampuan untuk menganalisis isi dari data itu sendiri. Analisis sentimen adalah upaya untuk menbisakan sentimen positif maupun negatif mengenai suatu hal berdasarkan teks tweet yang dibisa sesuai dengan topik yang dicari. Proses pengklasifikasian sentimen dari pesan dalam media sosial pun mempunyai beberapa tantangan. Pertama, bahasa yang dipakai di media sosial sering tak mempunyai struktur formal dalam kalimat mereka, seperti pemakaian singkatan, perubahan dari huruf ke angka, kurangnya tanda baca, dll. Kedua, kalimat di media sosial mempunyai domain (sosial, politik, ekonomi, teknologi, dll) yang independen sehingga orang dapat bicara tentang apa saja dengan domain yang berbeda dan membuatnya sulit untuk mengklasifikasikan sentimen. Penelitian yang pernah dilakukan oleh Pang & Lee (2008) terhadap lebih dari 2000 warga Amerika dewasa antara lain menunjukkan bahwa 81% pengguna internet melakukan penelitian terhadap suatu produk/layanan secara online 1
minimal sekali, dan 20% melakukan penelitian tersebut setiap hari. Dari data pemakaian
Internet
di
Indoneisa
yang
dirilis
oleh
MarkPlus
Insight
(makrplusinsight.com, 2012) disebutkan bahwa jumlah pengguna Internet di Indonesia per akhir tahun 2012 mencapai 61,08 juta, naik sekitar 10% ketimbang tahun 2011. Temuan yang layak untuk ditelaah lebih lanjut antara lain: •
40% dari pengguna Internet di Indonesia (24,2 juta orang) mengakses Internet lebih dari 3 jam setiap harinya.
•
58 juta orang (95%) mengakses Internet dari notebook, netbook, tablet, dan perangkat seluler.
•
Komunitas pengguna Internet kebanyakan didominasi oleh kalangan kelas menengah.
•
Kebanyakan pengguna Internet di Indonesia berada di usia antara 15-35 tahun.
•
56,4% termasuk bargain hunter -- yang rela berjam-jam berselancar di Internet
untuk
mencari
informasi
dan
penawaran
terbagus
dari
kebutuhannya. Hal yang lebih penting merupakan bagaimana memanfaatkan jumlah pengguna yang masif di Indonesia untuk memeberikan hasil yang produktif. Hal ini mendorong perlunya dilakukan penelitian analisis sentimen terhadap layanan media sosial twitter sebagai salah satu layanan media sosial online. Penelitian-penelitian mengenai analisis sentimen telah banyak dilakukan, namun sebagian besar memakai data dalam bahasa Inggris, sedangkan penelitian dalam bahasa Indonesia masih belum banyak dilakukan.
Gambar 1. 1 Hasil analisis sentimen di twitrratr.com untuk kata kunci “telkomsel”
1.2
Perumusan Masalah Analisis sentimen dengan memakai beberapa aplikasi, salah satunya web
aplikasi (twitrratr.com) menemui banyak kekurangan. Pemakaian bahasa informal yang kerap dipakai di Indonesia menyebabkan beberapa masalah, antara lain ambiguitas makna dan OOV (Out of Vocabulary). Hal ini bisa mengakibatkan penurunan akurasi pengklasifikasi sentimen. Oleh sebab itu, perlu sebuah metode untuk dipakai sebagai pra-proses terhadap teks tersebut dan pemilihan metode klasifikasi yang lebih akurat. Pada sekarang, klasifikasi sentimen terutama sudah dipakai dalam sebuah artikel (Zagibalov, 2008) atau dokumen (Clart, 2003), sedangkan pemakaian klasifikasi sentimen untuk Bahasa Indonesia masih sangat sedikit. Dari beberapa penelitian sebelumnya, setidaknya ada 2 metode klasifikasi yang bisa dipakai untuk kategorisasi teks yaitu Naïve Bayes Classifier (NBC) dan Support Vector Universitas Indonesia
Machine (SVM). Penulis akan membandingkan kedua metode tersebut dalam penelitian ini.
Gambar 1. 2 Diagram Tulang Ikan
Berdasarkan diagram tulang ikan di atas, maka pertanyaan penelitian dari karya akhir ini merupakan sebagai berikut : “Dengan membandingkan Naïve Bayes Classifier dan Support Vector Machine, metode klasifikasi apakah yang lebih tepat dipakai untuk meningkatkan akurasi analisis sentimen dari pengguna media sosial twitter di Indonesia?”
1.3
Tujuan Penelitian Tujuan dari penelitian ini merupakan untuk membandingkan dua metode
klasifikasi populer, yaitu Naïve Bayes Classifier (NBC) dan Support Vector Machine (SVM) dalam menganalisis sentimen dari pengguna sosial twitter di Indonesia.
1.4
Manfaat Penelitian Manfaat yang dapat dibisa dari hasil penelitian ini antara lain : 1. Dari sisi bisnis, hasil penelitian ini bisa menjadi alat bantu dalam pengambilan keputusan strategi pengembangan layanan maupun produk Universitas Indonesia
yang dimiliki suatu perusahaan. Hasil penelitian ini juga dapat untuk melakukan proyeksi penjualan dan pemasaran. 2. Dari segi akademis, dengan dibisakannya hasil pengukuran performansi metode Naïve Bayes Classifier (NBC) dan Support Vector Machine (SVM) dalam mengklasifikasikan sentimen di twitter, maka akan dibisa metode yang lebih unggul sehingga akan memperkaya penelitian terhadap analisis sentimen, sebab penelitian dengan topik tersebut masih jarang ditemukan.
1.5
Batasan Penelitian Untuk mempergampang penelitian yang dilakukan maka ditentukan
beberapa batasan: 1. Penelitian hanya dilakukan terhadap pengguna media sosial twitter. Pengumpulan data yang berasal dari layanan yang sama akan megampangkan analisis. 2. Penelitian dilakukan terhadap data berdasarkan tweet pengguna saja. Pengambilan data atau pengumpulan informasi secara langsung kepada pengguna memakai kuesioner maupun wawancara tak bisa dilakukan. 3. Penelitian dilakukan terhadap data yang memakai Bahasa Indonesia. 4. Domain dari tweet yang diklasifikasi merupakan mengenai brand teknologi. 5. Penerapan teknik klasifikasi dengan membandingkan algoritma Naïve Bayes Classifier
Media Sosial Menurut Kaplan dan Haenlein (2009) media sosial merupakan sekelompok
aplikasi berbasis internet yang dibangun di atas landasan ideologi dan teknologi Web 2.0 yang memungkinkan terjadinya proses pembuatan dan pertukaran konten pengguna (User Generated Content). Berdasarkan definisi tersebut ada banyak jenis media sosial yang harus dibedakan satu sama lain. Oleh sebabnya, media sosial dikategorikan ke dalam beberapa jenis berdasarkan teori riset media (keberadaan sosial dan kekayaan media) serta proses sosial yang terjadi (presentasi pribadi dan pengungkapan pribadi) sebagai dua elemen penting dalam suatu media sosial. Facebook dan Twitter merupakan 2 contoh media sosial yang sangat populer dewasa ini.
2.2
Twitter Menurut Albert Bifet (2010), micro blogging merupakan sumber informasi
baru yang menarik untuk pengolahan data. Twitter merupakan sebuah jaringan sosial yang memberikan layanan micro blogging dengan batasan 140 karakter per pesan yang biasa disebut tweet, dikirim oleh pengguna kepada pembacanya yang disebut follower. Twitter dapat diakses melalui web, pesan singkat (SMS), atau third party applications, seperti UberSocial. Twitter sudah menjadi alat yang menarik bagi banyak kalangan untuk mengikuti keinginan para pengguna terhadap setiap kondisi secara langsung. Hal ini menjadi sumber data yang potensial untuk dipakai oleh jutaan orang. Twitter membuat segalanya tersedia dalam sebuah data stream, yang bisa dimanfaatkan dengan memakai teknik stream mining. Secara prinsip, hal ini bisa membuat kita mengetahui opini publik secara umum. Pada bulan April 2010 tercatat ada 300 ribu pengguna baru yang mendaftar setiap harinya di twitter dan menbisakan 600 juta query per hari yang memakai mesin pencari mereka, dan total ada 3 triliun permintaan per hari melalui API mereka. Data 6
pada twitter berupa data yang mengikuti model data stream. Dalam model ini, data terkumpul secara cepat dan dibutuhkan algoritma pengolahan data yang real time. Data stream menyajikan tantangan desain algoritma, algoritma harus bisa beroperasi dengan sumber daya terbatas, termasuk waktu dan memori.
2.2.1 Twitter API Twitter Application Programming Interface (API) menyediakan sebuah Streaming API dan dua diskrit REST API. Melalui Streaming API pengguna bisa menbisakan akses tweet di twitter untuk kemudian dikumpulkan dan difilter sesuai kebutuhan. API yang berbasis permintaan HTTP, dan GET, POST, serta DELETE ini bisa dipakai untuk mengakses data (Albert Bifet, 2010). Dalam terminologi twitter, setiap pesan menggambarkan status seorang pengguna. Berdasarkan API streaming para pengguna bisa mengakses status publik hampir secara realtime, termasuk balasan dan mention yang dibuat oleh akun-akun publik, status yang dibuat oleh akun-akun terproteksi juga pesan yang tak bisa diakses. Salah satu properti menarik dari API streaming merupakan bisa memfilter status dengan memakai metrik, yang seringkali adalah status repetisi, dll. API tersebut memakai autentikasi HTTP dan membutuhkan akun Twitter yang valid. Data bisa diterima sebagai XML.
2.3
Crawler Menurut
Kobayashi
(2000),
Web
crawler
merupakan
sebuah
program/script yang bisa memproses halaman web secara otomatis. Web crawler sering juga disebut dengan web robot atau web spider. Ide dasarnya sebenarnya sederhana dan mirip dengan saat kita menjelajahi halaman web secara manual dengan memakai browser. Dimulai dengan sebuah link alamat website yang dibuka pada browser, lalu browser melakukan request dan mengunduh data dari web server melalui protokol HTTP.
Setiap Hyperlink yang ditemui pada konten yang tampil akan dibuka lagi pada windows/tab browser yang baru, demikian proses terus berulang. Sebuah crawler akan mengotomatisasikan pekerjaan itu. Kesimpulannya, dua fungsi utama web crawler merupakan: 1. Mengidentifikasikan Hyperlink. Hyperlink yang ditemui pada konten web akan ditambahkan pada daftar kunjungan, disebut juga dengan istilah frontier. 2. Melakukan proses kunjungan secara rekursif. Dari setiap hyperlink, crawler akan menjelajahinya dan melakukan proses berulang, dengan ketentuan yang disesuaikan dengan keperluan aplikasi. Khusus untuk proses perulangan hyperlink pengunjung, dapat terjadi spider trap, yaitu proses berulang tanpa akhir sebab crawler terperangkap untuk terus melakukan pencarian dalam jumlah tak terbatas. Hal ini bisa terjadi bagus secara sengaja maupun tak sengaja. Kesengajaan dapat saja terjadi apabila website memang dirancang untuk melumpuhkan crawler, misalnya dengan membuat halaman dinamis dengan angka tak terhingga. Sedangkan ketidaksengajaan dapat terjadi sebab terbisa kesalahan pada desain program crawler sehingga membaca ulang hyperlink yang telah diakses, atau sebuah website secara tak sengaja mempunyai halaman dinamis yang tak terbatas, contohnya halaman dinamis yang tercipta berdasarkan tanggal kalender.
2.4
Text mining Text mining, seperti dikutip oleh Indrawati (2008) bisa diartikan sebagai
cara untuk menemukan informasi yang baru dan tak diketahui sebelumnya oleh komputer, dengan cara mengekstrak informasi dari sumber-sumber yang berbeda. Proses ini bertujuan untuk menggabungkan informasi yang berhasil diekstraksi dari berbagai sumber (Hearst, 2003), sedangkan menurut Milkha Harlian (2006), text mining mempunyai definisi penambangan data berupa teks, di mana sumber data biasanya dibisakan dari dokumen dan bertujuan untuk mencari kata-kata yang bisa mewakili isi dari dokumen sehingga bisa dilakukan analisis Universitas Indonesia
keterhubungan antar dokumen. Dengan text mining tugas-tugas yang berhubungan dengan penganalisisan teks dengan jumlah yang besar, penemuan pola serta penggalian informasi yang mungkin berguna dari suatu teks bisa dilakukan. Text mining atau penambangan teks merupakan proses ekstraksi pola berupa informasi dan pengetahuan yang berguna dari sejumlah besar sumber data teks. Jenis masukan untuk penambangan teks ini disebut data tak terstruktur dan adalah pembeda utama dengan penambangan data yang memakai data terstruktur atau basis data sebagai masukan. Text mining adalah proses yang terdiri atas dua tahap yaitu diawali dengan menerapkan struktur terhadap sumber data teks dan dilanjutkan dengan mengekstraksi informasi dan pengetahuan yang relevan dari data teks terstruktur tersebut dengan memakai teknik dan alat yang sama dengan data mining. Pendekatan manual text mining secara intensif dalam laboratorium pertama muncul pada pertengahan 1980-an, namun kemajuan teknologi sudah memungkinkan ranah tersebut untuk berkembang selama dekade terakhir. Text mining merupakan bidang interdisipliner yang mengacu pada pencarian informasi, pertambangan data, pembelajaran mesin, statistik, dan komputasi linguistik. Disebabkan kebanyakan informasi (perkiraan umum mengatakan lebih dari 80%) sekarang disimpan sebagai teks, text mining diyakini mempunyai potensi nilai komersial tinggi (Bridge, 2011). Dalam memberikan solusi, text mining mengadopsi dan mengembangkan banyak teknik dari bidang lain, seperti Information Retrieval, Natural Languange Processing, Statistika dan Matematika, Machine Learning, Linguistic, Visualisasi, dan Data mining. Kegiatan penelitian untuk text mining antara lain ekstraksi dan penyimpanan teks, pra-proses terhadap isi teks, pengumpulan data statistik dan indexing, serta analisis isi data. Dalam menganalisis sebagian atau keseluruhan teks tak terstruktur, text mining mencoba untuk mengasosiasikan satu bagian teks dengan yang lainnya berdasarkan aturan-aturan tertentu. Hasil yang diharapkan merupakan insight atau informasi baru yang belum terungkap jelas sebelumnya. Permasalahan yang dihadapi pada text mining sama dengan permasalahan yang terbisa pada data mining, yaitu adanya jumlah data yang besar, data dan Universitas Indonesia
struktur yang terus berubah, dimensi yang tinggi, dan data yang tak bersih. Perbedaan antara text mining dan data mining merupakan pada data yang dipakai. Data yang dipakai pada data mining merupakan data terstruktur, sedangkan pada text mining, data yang dipakai pada umumnya merupakan data tak terstruktur, atau minimal semi terstruktur. Hal ini menyebabkan adanya tantangan tambahan pada text mining yaitu struktur teks yang kompleks dan tak lengkap, arti yang tak jelas dan tak standar, dan bahasa yang berbeda ditambah translasi yang tak akurat. 2.5
Tahapan Text mining Meskipun inti dari suatu sistem klasifikasi merupakan tahap penemuan pola
(Pattern Discovery) namun secara lengkap proses text mining dibagi menjadi 3 tahap utama, yaitu pra-proses teks, transformasi teks atau pemilihan fitur, dan penemuan pola (Even dan Zohar, 2002). Masukan mula dari proses ini merupakan suatu data teks dan menghasilkan keluaran berupa pola sebagai hasil interpretasi. 2.5.1 Pra-proses Teks Menurut Even dan Zohar (2002), tahapan mula dari text mining merupakan pra-proses teks yang bertujuan untuk mempersiapkan teks menjadi data siap untuk diolah pada tahap berikutnya. Beberapa contoh tindakan yang bisa dilakukan pada tahap ini, mulai dari tindakan yang bersifat kompleks seperti part-of-speech (pos) tagging, parse tree, hingga tindakan yang bersifat sederhana seperti proses parsing pada teks (memecah suatu kalimat menjadi sekumpulan kata). Selain itu pada tahapan ini biasanya juga dilakukan Case folding, yaitu pengubahan karakter huruf menjadi huruf rendah. Proses part-of-speech melakukan parsing terhadap seluruh kalimat dalam teks kemudian memberikan peran kepada setiap kata, misalnya : petani (subyek) pergi (predikat) ke (kata hubung) sawah (keterangan). Hasil dari part-of-speech tagging bisa dipakai untuk parse tree, di mana masing-masing kalimat berdiri sebagai sebuah pohon mandiri. Untuk proses parsing sederhana tak dibangun parse tree seperti cara sebelumnya. Pada proses parsing sederhana sistem akan memecah teks menjadi
sekumpulan kata-kata, yang kemudian akan dibawa sebagai input untuk tahap berikutnya pada proses text mining. 2.5.2 Text Transformation (Feature Generation) Pada tahap ini hasil yang didapat dari pra-proses teks akan mengalami proses tranformasi. Adapun proses transformasi ini dilakukan dengan mengurangi jumlah kata-kata yang ada dengan penghilangan stopword dan juga dengan mengubah kata-kata sesuai kata dasarnya (stemming) (Even dan Zohar, 2002). Stopword merupakan kata-kata yang bukan adalah ciri (kata unik) dari suatu dokumen seperti kata sambung, kata kepunyaan. Memperhitungkan stopword pada transformasi teks akan membuat keseluruhan sistem text mining bergantung kepada faktor bahasa. Hal ini menjadi kelemahan dari proses penghilangan stopword, namun proses penghilangan stopword tetap dipakai sebab proses ini akan sangat mengurangi beban kerja sistem. Dengan menghilangkan stopword dari suatu teks maka sistem hanya akan memperhitungkan kata-kata yang dianggap penting. Stemming merupakan contoh tindakan lain yang bisa dilakukan pada tahap transformasi teks. Stemming merupakan proses untuk mereduksi kata ke bentuk dasarnya, sedangkan menurut Tala (2003) Stemming merupakan suatu proses yang menyediakan suatu pemetaan antara berbagai kata dengan morfologi yang berbeda menjadi satu bentuk dasar (stem). Kata yang mempunyai bentuk dasar sama meskipun imbuhannya berbeda seharusnya mempunyai kedekatan arti. Disamping itu juga, proses Stemming akan sangat mengurangi jumlah dan beban database. apabila setiap kata disimpan tanpa melalui proses Stemming, maka satu macam kata dasar saja akan disimpan dengan berbagai macam bentuk yang berbeda sesuai dengan imbuhan yang mungkin melekatinya. Hal ini sangat berbeda apabila menerapkan proses Stemming pada tahap ini, satu kata dasar hanya akan disimpan sekali meskipun mungkin kata dasar tersebut pada sumber data telah berubah dari bentuk aslinya dan menbisakan berbagai macam imbuhan. Proses stemming dan penghilangan stopword bisa dipakai secara terpisah atau bersamaan, di mana dilakukan proses penghilangan stopword terlebih dulu
yang diikuti dengan proses stemming. Hal ini dilakukan untuk menemukan pola dari teks dalam data tersebut.
2.5.3 Pattern Discovery Tahap penemuan pola atau Pattern Discovery merupakan tahap terpenting dari seluruh proses text mining. Pada tahapan ini pola atau pengetahuan dari keseluruhan teks akan berusaha ditemukan (Even dan Zohar, 2002). Dalam data/text mining terbisa dua teknik pembelajaran pada tahap Pattern Discovery, yaitu unsupervised dan supervised learning. Adapun perbedaan antara keduanya merupakan pada supervised learning terbisa label atau nama kelas pada data latih (supervisi) dan data baru diklasifikasikan berdasarkan data latih, sedangkan pada unsupervised learning tak terbisa label atau nama kelas pada data latih, data latih dikelompokkan berdasarkan ukuran kemiripan pada suatu kelas. Berdasarkan keluaran dari fungsi, supervised learning dibagi menjadi 2, regresi dan klasifikasi. Regresi terjadi apabila output dari fungsi adalah nilai yang kontinyu, sedangkan klasifikasi terjadi apabila keluaran dari fungsi merupakan nilai tertentu dari suatu atribut tujuan (tidak kontinyu). Tujuan dari supervised learning merupakan untuk memprediksi nilai dari fungsi untuk sebuah data masukan yang sah setelah melihat sejumlah data latih. Berikut tahapan umum yang biasa dilakukan pada supervised learning: 1. Menentukan tipe data latih. 2. Mengumpulkan data latih. Data latih yang dipakai seharusnya mempunyai karakteristik dunia nyata. Sebab itu, data latih bisa berasal bagus dari hasil pengukuran atau dari pakar. 3. Menentukan representasi fitur masukan dari fungsi yang ingin dibentuk sebab tingkat akurasi dari fungsi bisa dipengaruhi oleh representasi dari masukan. 4. Menentukan struktur dari pengetahuan (fungsi) dan algoritma yang akan dipakai. 5. Jalankan algoritma terhadap data latih.
Mining Twitter Data Twitter, seperti yang dikutip oleh Baeza-Yates dan Ribiero-Neto (1999),
mempunyai konvensi sendiri dalam pemrosesan seluruh data teks mereka. Para pengguna bisa membalas pengguna lain dengan @ sebagai nama user, tsupaya (#) sebagai subjek atau kategori, dan RT dipakai sebagai mulaan dari tweet yang mengindikasikan pesan yang disebut retweet merupakan repetisi atau repost dari tweet sebelumnya/akun lain. Ada dua teknik dasar dalam data mining yang bisa dipakai pada Twitter data: (a) graph mining berdasarkan analisis dari tautan yang ada di pesan, dan (b) text mining berdasarkan analisis dari pesan teks secara aktual. Pada dasarnya proses-proses pada text mining itu sama seperti langkahlangkah data mining. Hanya saja ada beberapa pendekatan berbeda dalam melakukan text mining ini. Terutama perbedaan mencolok merupakan ketika pra-proses teks yang akan dipakai sebagai data mentah untuk proses text mining ini. Menurut BaezaYates dan Ribiero-Neto (1999) berikut merupakan beberapa masalah yang ditemukan selama proses text mining : 1. Atribut dari sebuah dokumen terbagi menjadi dua yaitu easy atributes : format, panjang dokumen dalam byte, dan beberapa metadata yang dapat diekstrak dari dokumen tersebut, dan harder atributes: memperlakukan setiap kata sebagai atribut, melihat keberadaan setiap kata, atau menghitung jumlah keberadaan kata pada teks itu. 2. Memerlukan storage yang besar untuk menyimpan semua hasil analisis atribut dengan redundansi yang tinggi. Membutuhkan algoritma kompresi untuk menghemat storage. 3. Tidak semua alat dapat memproses atribut-atribut yang telah dipetakan dari sebuah teks secara langsung. apabila tak ingin melakukan transformasi format data, maka kita harus membuat sendiri mesin yang akan memproses teks tersebut. 4. Algoritma yang diterapkan dapat menyebabkan dimensionalitas yang tinggi. 5. Tipe dokumen itu sendiri. Ada banyak tipe dokumen yang umum dipakai, antara lain: TXT, XML, HTML, RSS, DOC, PDF. Setiap file-file tersebut memerlukan pra-proses yang berbeda. Universitas Indonesia
6. Beberapa analis mungkin ingin memperlakukan setiap bagian teks secara berbeda tanpa memandang keseluruhan dari teks tersebut. 7. Normalisasi teks. tak semua teks memiliki penulisan yang baku. Contohnya tweet. Setiap orang dapat menulis tulisan apapun dalam bentuk yang sangat tak baku, sebab di dalam Twitter tak ada format khusus dalam penulisan tweet tersebut. Menurut Baeza Yates dan Ribiero Neto (1999) berikut merupakan prosesproses tambahan yang ada di tweet mining: 1. Part of speech tagging, menentukan part of speech dari setiap kata yang ada dalam teks (kata benda, subjek, predikat, objek, keterangan). 2. Phrase Chunking, menentukan beberapa kata yang membentuk sebuah frase di dalam teks tersebut (frase benda, frase preproposional, frase kata kerja). Ini dilakukan arena kata yang berdiri sendiri berbeda maknanya apabila bersanding dengan kata lain yang memberikan arti baru terhadap kata tersebut. 3. Deep Parsing, menemukan struktur klausa dan pelengkap dari kata kerja yang ada dalam kalimat. Hal ini diperlukan apabila memerlukan analisis semantik untuk proses yang optimal dalam text mining ini. 4. Named Entity Recognition, mencari kata tak utuh yang sama maknanya dengan kata serupa yang ditulis secara lengkap misalnya, Air Conditioner sama dengan AC, atau Emas sama dengan Aurum. 5. Information extraction, dari semua langkah-langkah di atas cari informasi dari setiap entitas di setiap klausa di dalam sebuah teks. Hapus duplikasi informasi dan cari korelasi antar informasi. Cari sebuah fakta baru dari setiap korelasi yang terjadi. Setelah memahami langkah-langkah diatas, langkah-langkah yang dapat diterapkan pada proses tweet untuk mining antara lain : 1. Membuat stopword atau memakai yang telah pernah dibuat untuk menghapus beberapa kata yang tak perlu. 2. Transformasi kata-kata yang tak utuh menjadi utuh setelah melewati proses name entity recognition.
3. Memproses emoticon yang berada di setiap tweet. Dapat dihapus apabila memang tak membutuhkan itu, tapi jika diperlukan untuk analisis dari sudut pandang psikologi, dapat dilakukan pemisahan emoticon tadi di proses yang lain. 4. Mengubah kata-kata yang ter-capslock menjadi tulisan dengan minimize. 5. Mengubah errastic casing atau yang biasa dikenal dengan tulisan alay menjadi tulisan dengan minimize. Menentukan tanda baca di dalam tweet tersebut untuk proses pencarian makna yang lebih bagus.
2.7
Stemming Bahasa Indonesia
2.7.1 Struktur Morfologi Bahasa Indonesia Morfologi merupakan bagian dari ilmu bahasa yang menyelidiki peristiwaperistiwa umum mengenai seluk-beluk kata terhadap fungsi dan arti kata. Morfologi kata bahasa Indonesia dapat berdiri dari struktur infleksional dan derivasional. Struktur infleksional merupakan struktur yang paling sederhana yang dinyatakan dengan sufiks dimana tak mempengaruhi arti sebenarnya dari kata dasar yang dilekati (Tala , 2003). Sufiks infleksional bisa dibagi menjadi 2 jenis: Sufiks -lah, -kah, -pun, -tah. Sufiks ini sebenarnya merupakan partikel yang tak memiliki makna. Keberadaannya pada suatu kata merupakan untuk penekanan. Misalnya: kamu
+
kah
kamukah
Sufiks -ku, -mu, -nya. Sufiks ini berfungsi sebagai kata ganti kepunyaan. Misalnya: laptop
+
ku
laptopku
motor
+
ku
motorku
Sufiks-sufiks di atas bisa melekat pada kata dasar secara bersama-sama. Untuk aturan urutan sufik yaitu sufiks pada jenis kedua selalu diletakkan sebelum sufiks jenis pertama. Untuk penambahan sufiks infleksional, tak akan mengubah
bentuk dasar dari kata berimbuhan (Tala, 2003). Dengan kata lain, tak ada penghilangan atau peleburan kata dasar pada kata berimbuhan. Struktur derivasional dalam bahasa Indonesia terdiri dari prefiks, sufiks, dan kombinasi dari keduanya. Prefiks yang sering dipakai merupakan ber-, di-, ke-, meng-, per-, ter-, dan peng-. Contoh pemakaian prefiks merupakan:
ber
+
lari
berlari
di
+
ketik
diketik
ke
+
kasih
kekasih
meng
+
antar
mengantar
peng
+
atur
pengatur
per
+
tebal
pertebal
ter
+
baca
terbaca
Beberapa prefiks seperti ber-, meng-, peng-, per-, ter- mungkin akan berubah menjadi beberapa bentuk yang berbeda. Bentuk dari setiap prefiks bergantung pada karakter pertama dari kata dasar yang dilekatinya. tak seperti struktur infleksional, pengucapan kata pada struktur infleksional mungkin berubah setelah adanya penambahan prefiks, seperti contoh kata “menyapu” yang terdiri dari prefiks meng- dan kata dasar “sapu”. Prefiks meng- berubah menjadi menydan huruf pertama dari kata dasar mengalami peleburan. Sufiks derivasional merupakan -i, -kan, -an (Tala, 2003). Contoh pemakaian sufiks derivasional merupakan : gula
+
i
gulai
minum
+
an
minuman
sampai
+
kan
sampaikan
Berbeda dengan pemakaian prefiks, penambahan sufiks tak akan mengubah bentuk dasar dari suatu kata. Struktur derivasional juga terdiri dari konfliks, yaitu gabungan sebelumnya, struktur derivasional juga terdiri dari konfiks, yang adalah gabungan dari prefiks dan sufiks yang melekat secara bersama-sama pada suatu kata. Misalnya: per
Tidak semua prefiks dan sufiks dapat bekerjasama menjadi bentuk konfiks. Ada beberapa kombinasi prefiks dan sufiks yang tak diperbolehkan. Beberapa kombinasi tersebut merupakan:
Tabel 2. 1 Pembentukan Konfiks yang tak Diperbolehkan Prefiks
Sufiks
per
i
di
an
ke
i | kan
meng
an
peng
i | kan
ter
an
Prefiks atau konfiks bisa ditambahkan pada suatu kata yang sudah terbisa konfiks atau prefiks, sehingga menghasilkan struktur prefiks ganda. Seperti halnya pembentukan konfiks, tak semua prefiks atau konfiks bisa ditambahkan pada kata yang sudah menbisakan prefiks atau konfiks pada pembentukan prefiks ganda ini. Ada beberapa aturan dalam urutan pembentukan prefiks ganda. Aturan-aturan tersebut merupakan:
ke ter Struktur lain yang mungkin terjadi dalam morfologi bahasa Indonesia merupakan penambahan sufiks infleksional pada struktur derivasional, yang dinamakan multiple sufiks. Oleh sebab itu, bisa disimpulkan secara umum struktur morfologi kata bahasa Indonesia merupakan:
Struktur morfologi = [prefiks 1] + [prefiks 2] + kata dasar + [sufiks] + [kata ganti milik] + [partikel].
2.7.2 Proses Stemming Bahasa Indonesia Berdasarkan analisis morfologi, maka terbisa 5 aturan tahapan pada proses steaming dalam bahasa Indonesia (Tala, 2003). Aturan tersebut merupakan: 1.) Pada tahap mula yaitu menangani partikel infleksional.
Tabel 2. 3 Aturan Pembentukan Partikel Infleksional Sufiks
Kondisi
Contoh
kah lah tah* pun*
Ukuran 2 2 2 2
bukukah buku merupakan apatah apa ada bukupun buku
* 2.) Aturan tahap kedua menangani kata ganti milik infleksional.
Tabel 2. 4 Aturan Pembentukan Kata Ganti Milik Infleksional Sufiks
Kondisi
Contoh
Ukuran ku mu nya
2 2 2
bukuku buku bukumu buku bukunya buku
3.) Aturan tahap ketiga menangani urutan prefiks derivasional pertama.
Tabel 2. 5 Aturan Pembentukan Prefiks Derivasional Pertama Prefik meng s meny men men mem mem
Pengganti NULL s NULL t p NULL
Kondisi 2 Ukuran 2 2 2 2 2
Kondisi NULL V…* NULL V… V… NULL
Contoh mengukur ukur menyapu sapu menduga duga menuduh tuduh memilah pilah membaca baca Universitas Indonesia
4.) Aturan tahap keempat menangani urutan prefiks derivasional kedua.
Tabel 2. 6 Aturan Pembentukan Prefiks Derivasional Kedua Prefiks ber bel be per pel pe
Kondisi
Kondisi
Contoh
Ukuran 2 2 2 2 2 2
Tambaha NULL ajarn kerja NULL ajar NULL
berlari lari belajar ajar bekerja kerja perjelas jelas pelajar ajar pekerja kerja
5.) Aturan tahap kelima menangani sufiks derivasional.
Tabel 2. 7 Aturan Pembentukan Sufiks Derivasional Sufiks kan
an i
Kondisi
Kondisi
Ukuran
Tambah
Contoh
prefiks an
tarikkan tarik
¢{ke,
(meng)ambilkan
2
peng} prefix
ambil makanan makan
2
¢{di, prefix meng,
(per)janjian janji tandai tanda
¢{ber, ter} ke,
(men)bisai bisa
2
peng} minimum suku kata dalam sebuah kata, Kondisi ukuran merupakan jumlah sebab di dalam Bahasa Indonesia, kata dasar harus memiliki setidaknya 2 suku Universitas Indonesia
kata. Oleh sebab itu, kondisi ukuran dalam proses stemming bahasa Indonesia merupakan dua. Adapun suku kata didefinisikan mempunyai satu vokal.
2.8
Analisis Sentimen Analisis sentimen merupakan studi komputasional dari opini-opini orang,
appraisal dan emosi melalui entitas, event dan atribut yang dimiliki (Liu. 2010). Tugas dasar dalam analisis sentimen merupakan mengelompokkan polaritas dari teks yang ada dalam dokumen, kalimat, atau fitur/tingkat aspek, apakah penbisa yang dikemukakan dalam dokumen, kalimat atau fitur entitas/aspek bersifat positif, negatif atau netral (Dehaff, M., 2010). Lebih lanjut analisis sentimen bisa menyatakan emosional sedih, gembira, atau marah. Sebuah metode yang berbeda untuk menentukan sentimen merupakan pemakaian sistem skala di mana kata-kata umumnya terkait mempunyai sentimen negatif, netral atau positif dengan mereka diberi nomor pada skala -5 sampai +5 (paling negatif hingga yang paling positif) dan ketika sepotong teks terstruktur dianalisis dengan pemrosesan bahasa alami, konsep selanjutnya dianalisis untuk memahami kata-kata ini dan bagaimana mereka berhubungan dengan konsep. Setiap konsep kemudian diberi skor berdasarkan bagaimana kata-kata sentimen berhubungan dengan konsep, dan skor yang terkait. Hal ini memungkinkan gerakan untuk pemahaman yang lebih canggih dari sentimen berdasarkan skala 11 titik. Penelitian dengan subjektivitas
/
arah
objektivitas.
berbeda
Tugas
ini
merupakan biasanya
dengan
identifikasi
didefinisikan
sebagai
menggolongkan suatu teks yang diberikan (biasanya kalimat) ke salah satu dari dua kelas: objektif atau subjektif (Pang, B. & Lee, L., 2008). Masalah ini kadang-kadang bisa lebih sulit daripada klasifikasi polaritas (Mihalcea, R. dkk, 2007) subjektivitas kata-kata dan frase mungkin tergantung pada konteks dan dokumen objektif mungkin berisi kalimat subjektif (misalnya, sebuah artikel berita mengutip penbisa orang). Selain itu, seperti yang disebutkan oleh (Su, F. & Markert, K. 2008), hasilnya sangat tergantung pada definisi subjektivitas yang dipakai ketika memberikan keterangan pada teks, namun Pang, B. & Lee, L. Universitas Indonesia
(2004) menunjukkan bahwa menghapus kalimat objektif dari sebuah dokumen sebelum mengelompokkan polaritasnya membantu meningkatkan kinerja. Kita bisa melacak produk-produk, merek dan orang-orang misalnya dan menentukan apakah mereka dilihat positif atau negatif di web. Hal ini memungkinkan bisnis untuk melacak: a. Deteksi flame (rants buruk) b. Persepsi produk baru. c. Persepsi merek. d. Manajemen reputasi. Hal ini juga memungkinkan individu untuk menbisakan sebuah pandangan tentang sesuatu (review) pada skala global (Jenkins, M. C., 2011). Ekspresi atau sentiment mengacu pada fokus topik tertentu, pernyataan pada satu topik mungkin akan berbeda makna dengan pernyataan yang sama pada subjek yang berbeda. Sebagai contoh, mengatakan alur sebuah film tak terprediksi merupakan hal yang bagus, tetapi apabila ‘tidak terprediksi’ dinyatakan untuk mengontrol maka hal itu berarti tak bagus. Bahkan pada produk tertentu, kata-kata yang sama bisa menggambarkan makna kebalikan, contoh merupakan hal yang buruk untuk waktu start-up pada kamera digital apabila dinyatakan “lama”, namun jika” lama” dinyatakan pada usia baterai maka akan menjadi hal positif. Pada beberapa penelitian, terutama pada review produk, pekerjaan didahului dengan menentukan elemen dari sebuah produk yang sedang dibicarakan sebelum memulai proses opinion mining (Barber, 2010). Hal pertama dalam pemrosesan dokumen merupakan memecah korpus atau kalimat menjadi kata, atau sering disebut sebagai tokenisasi. Tokenisasi merupakan hal yang kompleks untuk program komputer sebab beberapa karakter bisa bisa ditemukan sebagai token delimiters. Delimiter merupakan karakter spasi, tab dan baris baru (newline), sedangkan karakter “ ( ) < > ! ?“ kadang dijadikan delimiter namun kadang bukan tergantung pada lingkungannya (Wulandini, F. & Nugroho, A. N. 2009). Pada dasarnya analisis sentimen adalah proses klasifikasi data tekstual. Akan tetapi pada kenyataannya, analisis sentimen tak segampang proses klasifikasi teks biasa, sebab pada analisis sentimen terkait dengan pemakaian Universitas Indonesia
bahasa. Menurut Liu (2010) dengan adanya bahasa maka bisa terjadi ambigu dalam pemakaian kata, tak adanya intonasi dalam sebuah data tekstual, serta perkembangan dari bahasa itu sendiri. Menurut hasil klasifikasinya, analisis sentimen bisa dibagi dua: a. Klasifikasi dokumen ke dalam kelas fakta atau opini, atau lebih dikenal dengan klasifikasi subjektivitas. b. Klasifikasi dokumen ke dalam kelas sentimen positif atau negatif, yang lebih dikenal dengan analisis sentimen. Dalam klasifikasi ini, terbisa dua proses penting yaitu memastikan bahwa dokumen yang dilakukan klasifikasi merupakan adalah opini dan mengandung sentimen didalamnya, serta mengetahui topik dari dokumen tersebut sehingga bisa ditentukan obyek dan fitur apakah positif atau negatif.
2.8.1 Kelas Sentimen Berdasarkan penelitian Liu (2010), kelas sentimen yang dipakai terdiri atas tiga, yaitu: 1.
Sentimen negatif, adalah sentimen untuk tweet yang menjelekkan atau menghina brand.
2.
Sentimen positif, adalah sentimen untuk tweet yang memuji brand.
3.
sentimen netral, adalah sentimen untuk tweet yang berisikan kalimat tanya, tweet promo, atau tweet berita. Dalam hal ini analisis sentimen dilakukan dengan menentukan terlebih dulu
domain dari dokumen yang akan diproses, hal ini dimaksudkan sebab sentimen kata dapat berbeda-beda tiap domain. Proses analisis sentimen yang dilakukan dalam hal ini merupakan: •
Identifikasi fitur dari objek yang akan diklasifikasikan. Contohnya pada kalimat “Koneksi 3G operator selular ini kencang sekali”, fitur objek dalam hal ini merupakan “koneksi 3G”.
•
Menentukan kelas sentimen dari dokumen berdasarkan fitur yang didapat. Dari contoh tersebut, fitur yang digunakan untuk identifikasi merupakan “koneksi 3G”, selanjutnya dicari opini dalam dokumen yang menyatakan Universitas Indonesia
23 sentimen, dalam hal ini merupakan “kencang sekali”, sehingga dokumen tersebut mempunyai sentimen positif.
2.9
Metode Klasifikasi Menurut Tan, Steinbach, & Kumar (2006), klasifikasi adalah proses
identifikasi objek ke dalam sebuah kelas, kategori atau grup tertentu berdasarkan prosedur, karakteristik serta definisinya. Input atau masukan data untuk klasifikasi merupakan kumpulan record. Masing-masing record dikenal sebagai instance atau contoh yang ditandai oleh tuple (x,y), di mana x adalah atribut dan y adalah atribut khusus yang menunjukkan label kelas (disebut juga atribut target atau kategori). Model klasifikasi yang dipakai terdiri dari: a. Pemodelan Deskriptif. Bisa bertindak sebagai suatu alat yang bersifat menjelaskan untuk membedakan antara onjek dengan class yang berbeda. b. Pemodelan Prediktif. Model klasifikasi juga bisa memakai prediksi label kelas yang belum diketahui record-nya. Seperti terlihat pada Gambar 2.1, sebuah model klasifikasi bisa diperlakukan sebagai kotak hitam yang secara otomatis menandai sebuah kelas label ketika disajikan dengan set atribut yang belum diketahui record-nya.
Gambar 2. 1 Klasifikasi sebagai suatu cara memetakan atribut x ke dalam label kelas y
Sebuah metode klasifikasi merupakan pendekatan yang sistematik untuk membuat klasifikasi model dari kumpulan data masukan. Beberapa contoh teknik klasifikasi antara lain, decision tree classifier, neural network, Naïve Bayes Universitas Indonesia
classifier dan Support Vector Machine. Setiap teknik memakai sebuah algoritma pembelajaran untuk mengidentifikasi model paling sesuai dengan hubungan antara set atribut dan kelas label dari masukan data. Untuk mengevaluasi performansi sebuah model yang dibangun oleh algoritm klasifikasi bisa dilakukan dengan menghitung jumlah dari test record yang diprediksi secara benar (akurasi) atau salah (error rate) oleh model tersebut. Akurasi dan error rate didefinisikan sebagai berikut:
Akurasi
=
Jumlah prediksi benar Jumlah total prediksi
Error rate
=
Jumlah prediksi salah Jumlah total prediksi
Algoritma pengklasifikasian berusaha untuk mencari model yang memiliki akurasi yang tinggi atau error rate yang kecil ketika model diterapkan dalam test set. Salah satu metode klasifikasi yang banyak dipakai merupakan metode Naïve Bayes Classifier (NBC). Kelebihan metode ini yaitu sederhana tetapi mempunyai akurasi yang tinggi. Berdasarkan hasil eksperimen, NBC terbukti bisa dipakai secara efektif untuk mengklasifikasikan berita secara otomatis dengan akurasi mencapai 90.23%. Algoritma NBC yang sederhana dan kecepatannya yang tinggi dalam proses pelatihan dan klasifikasi membuat algoritma ini menarik untuk dipakai sebagai salah satu metode klasifikasi (Yudi Wibisono, 2008). Teknik klasifikasi yang sudah mendapat perhatian serius merupakan Support Vector Machine (SVM). Teknik ini berakar pada teori pembelajaran statistik dan sudah menunjukkan hasil empiris yang menjanjikan dalam berbagai aplikasi praktis dari pengenalan digit tulisan tangan sampai kategorisasi teks. Menurut Pang Ning Tan, SVM juga bekerja sangat bagus pada data dengan banyak dimensi dan menghindari kesulitan dari permasalahan dimensionalitas. Kedua metode tersebut banyak dipakai dalam kategorisasi teks. Pada hasil eksperimen (Wulandini, F. & Nugroho, A. N., 2009) untuk kategorisasi teks berbahasa Indonesia dibisakan bahwa SVM menunjukkan performansi yang Universitas Indonesia
sedikit lebih bagus dengan akurasi 92,5% dibandingkan metode NBC dengan akurasi 90% padahal metode NBC merupakan metode yang jauh lebih konvensional dan lebih sederhana. Berdasarkan penelitian tersebut maka penulis ingin meneliti metode mana yang mempunyai performansi lebih bagus untuk diimplementasikan dalam analisis sentimen tweet berbahasa Indonesia.
2.9.1 Naïve Bayes Classifier Sebuah Bayes Classifier merupakan pengklasifikasian kemungkinan sederhana berdasarkan penerapan teorema Bayes (dari statistik Bayesian) dengan asumsi independen (naif) yang kuat. Sebuah istilah yang lebih deskriptif untuk model kemungkinan yang digaris bawahi merupakan model fitur independen (Susanto, 2006, Farisi, 2007). Metode klasifikasi ini memakai konsep peluang dalam menentukan kelas dokumen. NBC memakai asumsi bahwa dalam sebuah dokumen, kemunculan kata tak mempengaruhi kemunculan kata lainnya dan ketidak munculan kata tak mempengaruhi ketidakmunculan kata lainnya. Walaupun asumsi ini bertentangan dengan aturan bahasa, tapi tak mengurangi keakuratan hasil dari metode ini. Sebagai contoh, buah mungkin dianggap apel apabila merah, bulat, dan berdiameter sekitar 4 inchi. Bahkan apabila fitur ini bergantung satu sama lain atau atas keberadaan fitur lain,. Sebuah NBC menganggap bahwa seluruh sifatsifat berkontribusi mandiri untuk kemungkinan bahwa buah ini merupakan apel. Tergantung pada situasi yang tepat dari model kemungkinan, NBC bisa dilatih sangat efisien dalam supervised learning. Dalam aplikasi praktis, parameter estimasi untuk model NBC memakai metode likelihood maksimum, dengan kata lain, seseorang bisa bekerja dengan model Naïve Bayes tanpa mempercayai kemungkinan Bayesian atau memakai metode Bayesian lainnya. Di
balik
desain
naifnya
dan
asumsi
yang
tampaknya
terlalu
disederhanakan, NBC sudah mampu bekerja cukup bagus dalam banyak situasi dunia nyata yang kompleks. Pada tahun 2004, analisis masalah dengan klasifikasi Bayesian sudah menunjukkan adanya beberapa alasan teoritis mengenai keberhasilan yang tampaknya tak masuk akal dari NBC ini. (Zhang, H., Universitas Indonesia
2004). Selain itu, perbandingan yang komprehensif dengan metode klasifikasi lainnya pada tahun 2006 menunjukkan bahwa klasifikasi Bayes mengungguli pendekatan terbaru, seperti boosted tree atau random forest (Caruana, R. & Niculescu Mizil, A, 2006). Sebuah keuntungan dari NBC merupakan bahwa ia memerlukan sejumlah rendah data pelatihan untuk mengestimasi parameter (rata-rata dan varian dari variabel) yang diperlukan untuk klasifikasi, sebab variabel diasumsikan independen, hanya varian dari variabel-variabel untuk setiap kelas yang perlu ditentukan dan bukan keseluruhan covariance matrix. Aturan Bayes mengatakan bahwa supaya klasfikasi mempunyai tingkat akurasi yang tinggi, maka data masukan d' harus dipetakan ke dalam kelas yang mempunyai nilai P(Cj|d'). P(Cj|d') merupakan peluang d' untuk masuk ke dalam kelas kategori j dan C adalah kelas kategori. Hal tersebut bisa dilihat dalam persamaan: (2,1) Persamaan berikut merupakan persamaan akhir yang dipakai dalam klasifikasi Bayes.
(2,2) Keterangan: •
=
Nilai Bayes pada data masukan d’
•
=
•
=
Jumlah data pembelajaran pada kategori j.
•
=
Jumlah semua data pembelajaran di semua kategori.
•
=
Perkalian kemungkinan kemunculan kata ke-i pada data masukan ke dalam seluruh data kategori j.
Kemungkinan kemunculan kata ke-i pada data masukan dalam semua kategori secara kumulatif.
•
=
Jumlah kata pada data input.
Pembagi di persamaan tersebut dapat dihilangkan, sebab tak mempengaruhi nilai dari arg max. Nilai
ditentukan dari persamaan:
(2,3) Keterangan: •
=
kemungkinan kemunculan kata ke-i pada data latih dari semua data kelas j.
•
=
jumlah kemunculan kata ke-i pada data masukan dalam semua data latih kelas j.
• |F|
=
jumlah semua kata unik pada data latih di kategori j.
•
=
jumlah semua kata unik pada data latih di seluruh kategori.
2.9.2 Support Vector Machine (SVM) Konsep Support Vector Machine (SVM) pertama kali dipresentasikan pada tahun 1992 di Annual Workshop on Computational Learning Theory. Menurut Anto Satriyo Nugroho (2003), dasar dari konsep SVM sebenarnya adalah kombinasi yang harmonis dari teori-teori komputasi yang sudah ada puluhan tahun sebelumnya, seperti kernel, margin hyperplane, dan konsep-konsep pendukung lainnya, namun hingga tahun 1992, belum pernah ada upaya untuk merangkai komponen-komponen tersebut. Berbeda dengan metode neural network yang berusaha mencari hyperplane pemisah antar kelas, SVM bekerja berdasarkan prinsip Structural Risk Minimization (SRM) dengan tujuan menemukan hyperplane terbagus yang Universitas Indonesia
memisahkan dua buah kelas pada input space. Prinsip dasar SVM merupakan klasifikasi linear yang selanjutnya dikembangkan supaya bisa bekerja pada problem non-linear dengan memasukkan konsep kernel trick pada ruang kerja berdimensi tinggi.
Sumber: Nugroho, Witarto, & Handoko, 2003.
Gambar 2. 2 SVM berusaha menemukan hyperplane terbagus untuk memisahkan kelas.
Pada Gambar 2.2 memperlihatkan bagaimana konsep dasar dari SVM, penyebaran data ditunjukkan oleh warna merah (kotak) dan warna kuning (lingkaran). Data berwarna merah adalah anggota dari kelas -1 dan data berwarna kuning merupakan anggota dari kelas +1. Masalah utama dari klasifikasi merupakan mencari hyperplane pemisah antara kedua kelas. Dari Gambar 2.2a terlihat bahwa ada banyak alternatif garis pemisah antara kedua kelas. Hyperplane pemisah terbagus antara kedua kelas didapat dengan cara mengukur margin dari hyperplane dan mencari margin terbesar. Margin merupakan jarak antara hyperplane tersebut dengan data terdekat dari masingmasing kelas. Data yang paling dekat dengan hyperplane disebut sebagai support vector. Dari Gambar 2.2b terbisa garis solid yang menunjukkan hyperplane yang terbagus, yaitu yang terletak tepat di tengah kedua kelas, sedangkan titik kuning dan merah yang berada dalam lingkaran hitam merupakan support vector. Inti dari proses pembelajaran SVM yaitu mencari lokasi hyperplane ini (Nugroho, 2003).
Misalkan data yang tersedia direpresentasikan dalam bentuk vektor: (2,4) Di mana
dan
Diasumsikan dokumen tersebut dipisahkan secara sempurna ke dalam kelas -1 dan +1 oleh hyperplane berdimensi d, hal ini bisa didefinisikan: (2,5) Di mana
merupakan vektor normal di hyperplane tersebut, dan b adalah jarak
dari hyperplane ke titik pusat. Oleh sebab itu, data yang termasuk dalam kelas -1 dan 1 merupakan data yang memenuhi persamaan: (2,6) (2,7) Misal
dan
merupakan vektor terluar dari masing-masing kelas yang
terdekat dengan hyperplane pemisah, dengan jarak d1 dan d2, maka fungsi keputusan yang dipakai dalam klasifikasi: (2,8)
2.10 Hermeneutika 2.10.1 Perkembangan Gagasan Hermeneutika Secara etimologi, hermeneutika berasal dari bahasa Yunani, yaitu hermeneunein yang berarti mengungkapkan pikiran seseorang dalam kata-kata. Kata kerja tersebut juga berarti, menerjemahkan dan juga bertindak sebagai penafsir. Ketiga pengertian itu sebenarnya ingin mengungkapkan bahwa hermeneutika merupakan usaha untuk beralih dari sesuatu yang gelap ke sesuatu yang lebih terang, sesuai yang dikutip oleh Rahardjo, M. (2008). Istilah hermeneutika sendiri mempunyai asosiasi etimologis dengan nama dewa dalam metodologi Yunani, yaitu Hermes yang bertugas menyampaikan dan menerjemahkan pesan-pesan Tuhan kepada manusia ke dalam bahasa yang bisa dipahami manusia (Gadamer, 1977, Vollmer, 1990) dengan bantuan kata-kata manusia (Hardiman, 1991). Dengan demikian, fungsi Hermes sangat penting, sebab jika terjadi kesalahpahaman tentang pesan dewa akan berakibat sangat fatal bagi seluruh kehidupan manusia. Oleh sebabnya, hermes harus mampu menginterpretasikan pesan Tuhan ke dalam bahasa pendengarnya. Berhasil tidaknya misi tersebut sangat tergantung pada cara bagaimana hermes menyampaikannya dalam bahasa manusia (Bleicher, 1980). Hermeneutika bisa diartikan sebagai proses mengubah sesuatu atau situasisituasi ketidaktahuan menjadi dipahami (Latief, 2000, Sumaryono, 1999). Dalam definisi lain Habermas (Vollmer, 1990) menyatakan hermeneutika sebagai suatu seni memahami makna komunikasi linguistik dan menafsirkan simbol yang berupa teks atau sesuatu yang dilakukan sebagai teks untuk dicari artinya, di mana metode ini mengisyaratkan adanya kemampuan untuk menafsirkan masa lalu yang tak dialami, lalu dibawa ke masa saat ini. Tiga makna hermeneutika yang mendasar yaitu: 1. Mengungkapkan sesuatu yang tadinya masih dalam pikiran melalui katakata sebagai medium penyampaian. 2. Menjelaskan secara rasional sesuatu sebelum masih samar-samar sehingga maknanya bisa dipahami 3. Menerjemahkan suatu bahasa yang asing ke dalam bahasa lain. Universitas Indonesia
Hermeneutika, sebagai sebuah metode penafsiran, memperhatikan tiga hal sebagai komponen pokok dalam kegiatan penafsiran yakni teks, konteks dan kontekstualisasi. Pada mula hermeneutika berkembang di kalangan gereja dan dikenal sebagai gerakan ekssegesis (penafsiran teks-teks agama) dan kemudian berkembang menjadi filsafat penafsiran kehidupan sosial (Babbie, 1999). Merupakan F.D.E. Schleier Macher yang selanjutnya dianggap sebagai bapak hermeneutika
sebab
sudah
membangkitkan
kembali
hermeneutika
dan
membakukannya sebagai metode interpretasi yang tak hanya terbatas pada kitab suci, tetapi juga seni, sastra dan sejarah. Kemudian hermeneutika dikembangkan oleh tokoh-tokoh seperti Wilhelm Dilthey yang menggagas hermeneutika sebagai landasan bagi ilmu kemanusiaan (Geisteswissenschaften), selanjutnya Gadamer mengembangkannya menjadi metode filsafat yang diteruskan oleh filosof-filosof kontemporer seperti Jurgen Habermas, Jacques Derida, dan Paul Recoeo. Pada prinsipnya di antara para filosof tersebut terbisa beberapa persamaan, terutama dalam hal bagaimana hermeneutika apabila dikaitkan dengan studi ilmuilmu sosial dan humaniora, tetapi di antara mereka juga terbisa perbedaan dalam cara pandang dan aplikasinya. Perbedaan tersebut terjadi sebab pada dasarnya mereka menitik beratkan pada hal yang berbeda atau beranjak dari titik tolak yang berbeda (Manuaba, 2001). Walaupun hermeneutika dapat digunakan sebagai alat untuk menafsirkan berbagai bidang keilmuan, dilihat dari sejarah dan kelahirannya, harus diakui bahwa peran hermeneutika yang paling besar merupakan dalam bidang ilmu sejarah dan kritik teks sebagaimana dikemukakan Trigg (1985), sebagai sebuah metode penafsiran, hermeneutika tak hanya melihat teks, namun juga berusaha mendalami kandungan makna literalnya. Lebih dari itu hermeneutika berusaha menggali makna dengan cara mempertimbangkan horizon-horizon (cakrawala) yang melingkupi teks tersebut, horizon yang dimaksud merupakan horizon pengarang, horizon teks dan horizon pembaca. Dengan memperhatikan horizon-horizon tersebut diharapkan suatu upaya pemahaman atau penafsiran menjadi kegiatan rekonstruksi dan reproduksi makna teks, yang selain melacak bagaimana satu teks itu dimunculkan oleh Universitas Indonesia
pengarangnya dan muatan apa yang masuk dan ingin dimasukkan oleh pengarang ke dalam teks, juga berusaha melahirkan kembali makna tersebut sesuai dengan situasi saat teks tersebut dibaca atau dimengerti. Teks yang sama dalam waktu yang sama bisa mempunyai makna yang berbeda di mata penafsir yang berbeda, bahkan seorang penafsir yang sama sekalipun bisa memberikan pemaknaan teks yang sama secara berbeda-beda ketika ia berada dalam ruang dan waktu yang berbeda. Fokus perhatian hermeneutika di sini sebagai metode penafsiran teks. Hermeneutika menempatkan bahasa sebagai bagian sangat penting dalam kajiannya, sebab bahasa dipandang sebagai bagian tak terpisahkan dari kehidupan manusia. Manusia berpikir, berbicara, menulis, mengapresiasi karya seni dan sebagainya melalui bahasa (Habermas) sebagaimana dikutip Wolff (1975) menyatakan bahwa untuk memahami makna hanya dapat didapat melalui pemahaman bahasa, sedangkan Gadamer dengan jelas dan tegas menyatakan peran penting bahasa sebagai pusat untuk memahami dan pemahaman manusia, seperti yang dikutip oleh Ricour (1991). Dalam perkembangan terkini, hermeneutika dianggap sebagai sebuah teori, metodologi dan penafsiran praktis, yang digerakkan ke arah penangkapan makna dari sebuah teks atau sebuah teks analog, yang secara sementara atau dikaburkan oleh ideologi dan kesadaran palsu, atau secara kultural berjarak jauh. (Maulidin, 2003). Apapun definisi yang dipakai, upaya hermeneutika bermuara pada perolehan makna suatu teks atau analog teks.
2.10.2 Cara Kerja Hermeneutika Pada dasarnya semua objek itu netral, sebab objek merupakan objek. Makna atau arti diberikan oleh subjek kepada objek, sesuai dengan cara pandang subjek (Rahardjo, 2008). Untuk bisa membuat interpretasi, lebih dahulu harus bisa memahami. Mengerti dan interpretasi menimbulkan lingkaran hermeneutik. Mengerti dengan Universitas Indonesia
sungguh-sungguh hanya akan bisa berkembang jika didasarkan atas pengetahuan yang benar. Hukum Betti mengenai interpretasi ”Sensus non est inferendus sed efferendus” makna bukan diambil dari kesimpulan tetapi harus diturunkan. Seorang penafsir tak boleh bersifat pasif tetapi merekonstruksi makna, dan alatnya merupakan cakrawala intelektual penafsir, pengalaman masa lalu, hidupnya saat ini, latar belakang kebudayaan dan sejarah yang dimiliki.
2.10.3 Beberapa Kaidah Hermeneutika Menurut Rahardjo, M. (2008), kaidah yang dipakai dalam hermeneutika antara lain:
Membutuhkan keterlibatan dan atau partisipasi.
Untuk setiap usaha penafsiran, tak dapat dihindari adanya akibat ikutan dari partisipasi dan latar belakang penafsir.
Usaha penafsiran harus dilihat sebagai proses pendekatan (approximation) kepada makna sejati.
Walaupun ada wilayah perbedaan sebab partisipasi dan latar belakang penafsir, niscaya ada pula wilayah yang mempertemukan atas penafsir, pamahaman bersama, mutual understanding yang melahirkan cross cutting affiiation.
2.11 Rapid Miner Rapid Miner adalah aplikasi open source untuk data mining dan machine learning. Apliksi ini bisa dipakai untuk mengambil makna dari kumpulan data. Ada ratusan operator machine learning yang bisa dipilih, pra pembantu dan operator pengolahan pasca, visualisasi grafis deskriptif, dan banyak fitur lainnya. Menurut Bowo Prasetyo, aplikasi ini mempunyai kurva belajar yang curam, terutama bagi seseorang yang tak mempunyai latar belakang dalam data mining. Rapid Miner tersedia sebagai aplikasi yang berdiri sendiri untuk analisis data dan sebagai mesin data mining untuk integrasi ke dalam produk sendiri. telah Universitas Indonesia
ada ribuan aplikasi Rapid Miner di lebih dari 40 negara yang mampu memberikan keunggulan kompetitif ke pengguna mereka. Solusi yang diusung antara lain :
Integrasi data, Data Analisis, Analitis ETL, dan Pelaporan dalam satu suite tunggal.
Handal namun tetap mempunyai antarmuka pengguna grafis yang intuitif untuk desain analisis proses.
Repositori untuk proses, data dan penanganan meta data
2.12 Penelitian Tentang Analisis Sentimen Sebelumnya Penelitian analisis sentimen ini bukanlah penelitian yang pertama. Sebelumnya ada beberapa penelitian serupa dengan data berupa tweet berbahasa Inggris ( Pang B., 2010), ulasan film (Yessenov, 2009), juga status Facebook (Akhter, 2010), namun hampir seluruh penelitian tersebut hanya memakai bahasa Inggris atau hasil terjemahan dari bahasa Inggris ke bahasa Indonesia. Teknik yang dipakai pun berbeda-beda dan tentunya memberikan hasil yang beragam. Pang, Lee dan Vaithyanathan (2002) melakukan analisis sentimen menjadi kelas positif dan negatif terhadap ulasan film. Dari penelitian tersebut menunjukan bahwa dengan klasifikasi unigram memakai Naïve Bayesian atau SVM memberikan hasil yang cukup bagus. Hasil pengujian dengan memakai 700 ulasan positif dan 700 ulasan negatif, memberikan nilai akurasi di atas 80%. Metode validasi yang dipakai merupakan 3-fold cross validation tanpa adanya pra-proses, stemming maupun stopwords. Akhter dan Soria (2010), melakukan penelitian analisis sentimen terhadap status Facebook yang berjumlah 420 karakter. Dilakukan beberapa uji coba untuk mengetahui hasil terbagus, diantaranya dengan Labeled Data (LDA), POS tagging, set fitur, atau dengan kombinasi keseluruhan. Ternyata dari hasil penelitian, disimpulkan dengan serangkaian uji coba tersebut menghasilkan model untuk hasil klasifikasi yang bagus. Berikut ini beberapa penelitian lain tentang analisis sentimen: Universitas Indonesia
2.12.1 Bayesian Opinion Mining Ian Barber (dalam Bayesian Opinion Mining, 2010) sudah melakukan eksperimen untuk data review film dan menghasilkan tingkat akurasi 80% memakai metode Naïve Bayes Classifier (NBC). Tingkat akurasi diujikan untuk ketepatan menentukan kelas opini dengan 5000 record opini negatif dan 5000 record opini positif sebagai data latih. Data uji merupakan 333 opini negatif. Ian Barber belum melakukan eksperimen untuk data uji sentimen positif dan pengaruh variasi jumlah data latih dan data uji terhadap performa metode NBC. Ian Barber juga belum melakukan eksperimen memakai data tersebut untuk metode klasifikasi teks yang lain misalkan SVM.
2.12.2 Combining Lexicon-based and Learning-based Methods for Twitter Sentiment Menurut Lei Zhang (2010), dengan semakin mem-booming-nya microblogs di Web, orang-orang mulai mengekspresikan opini mereka melalui topik yang luas di Internet. Analisis sentimen dalam banyak hal bisa menjadi cara efektif untuk menjaring opini publik untuk marketing bisnis atau studi sosial. Penelitian ini ditujukan untuk mengatasi masalah dalam hal metode analisis yang dipakai. Metode yang dipakai mengadaptasi lexicon-based untuk dilakukan di entity-level. Metode ini memberikan akurasi yang tinggi namun recall yang kecil. Dan untuk meningkatkan recall, tweet tambahan yang mirip akan diidentifikasi secara otomatis sebagai hasil dari metode lexion-based. Karakteristik data twitter sudah membawa masalah baru pada analisis sentimen berbasis learning dan berbasis lexicon dari penelitian yang ada. Untuk itu penelitian ini menawarkan sebuah metode novel untuk mengatasi masalah tersebut. mulanya sebuah metode augmented lexicon-based dilakukan untuk melakukan analisis sentimen. Melalui uji Chi-square sebagai output, tweet opini tambahan bisa diidentifikasi. Pengujian empiris menawarkan metode yang lebih efektif dan menjanjikan. Universitas Indonesia
Sebab metode ini masih tergolong baru maka masih jarang yang mengimplementasikannya, dan keefektifannya masih belum bisa dibandingkan.
2.12.3 Klasifikasi Berita Berbahasa Indonesia memakai Naïve Bayes Classifier Yudi Wibisono (2006) sudah melakukan klasifikasi pada 582 dokumen berbahasa Indonesia memakai metode NBC dan mendapat hasil eksperimen seperti pada Tabel 2.8.
Tabel 2. 8 Hasil Eksperimen klasifikasi dokumen berbahasa Indonesia Dokumen Latih 524 (90%) 407 (70%) 291 (50%) 175 (30%)
Dari Tabel 2.8 terlihat tingginya nilai akurasi metode NBC yang tinggi, utamanya apabila contoh data yang dipakai besar (≥400 dokumen). Hal yang menarik merupakan akurasi tak menunjukkan peningkatan yang signifikan meskipun dokumen contoh sudah meningkat banyak dari 70% menjadi 90% serta akurasi masih relatif tinggi meskipun dokumen contoh secara ekstrim dikurangi hanya 58 dokumen (10%).
2.12.4 A Distributed Focused Crawler to Support Open Research with Twitter Data Penelitian oleh Luis Sarmento (2011) dilakukan sebab melihat banyaknya data dari jaringan sosial yang mampu dianalisis terkait hubungan manusia dan komunikasi. Spesifikasi penelitian dengan memakai TwitterEcho, sebuah Twitter crawler open-source yang mendukung riset ini, yang memiliki karakteristik arsitektur terdistribusi modular. Pemakaian crawler dilakukan sebab keterbatasan akses data yang tersedia oleh Twitter. Universitas Indonesia
Untuk melakukan penelitian ini, peneliti melakukan study review, antara lain:
Membandingkan Twitter crawling yang ada untuk melihat kemampuan masing-masing.
Pengetahuan seputar metode API, beberapa studi dikembangkan untuk memilih metode crawling.
Pengumpulan data dalam jumlah yang sangat besar membutuhkan sistem terdistribusi. Kebutuhan teknis untuk crawler yang telah ada sudah dijabarkan dalam
riset ini, kemudian pada bagian Arsitektur, penulis menawarkan sistem terdistribusi yang mampu menangani data besar, yaitu dengan memakai multiple thin clients yang mampu membuat perluasan sistem untuk menangani banyak permintaan dari Twitter API. TwitterEcho mampu mengambil data dari komunitas besar Twitter, dalam kasus ini hanya untuk pengguna warga negara Portugis. Dengan melalui pemakaian desain sistem terdistribusi modular, bisa disesuaikan untuk komunitas-komunitas lain. Distributed nature dari sistem bisa mengambil data dalam jumlah besar, ketika besarnya kini sudah dibatasi oleh Twitter. Sistem modul juga bisa menambahkan fungsionalitas. Sistem sekarang sedang dijalankan untuk lebih dari sembilan bulan, yang menunjukkan keandalannya. Evaluasi menunjukkan cakupan yang luas, dan kemampuan fokus yang tinggi. Sampai sekarang, crawler tersebut sudah sukses dipakai untuk mendukung dua proyek riset. Pertama, menyediakan data untuk sistem pengumpulan opini Twitometro. Sistem ini memonitor sentimen dari masyarakat Portugis tentang kandidat Pemilu 2011. Kedua, crawler tersebut dipakai untuk aplikasi analisis media sosial dalam cakupan sebuah proyek riset. Melalui cakupan penelitian ini, TwitterEcho dipakai hampir mendekati data real-time dari komunitas twitter Portugis untuk kemudian dianalisis sebagai bagian dari komputasi jurnalis. Kekurangan yang belum terpenuhi dari penelitian ini merupakan masalah skalabilitas untuk men-tracking tugas server terdistribusi dari komunitas yang lebih besar. Penambahan dari sisi server akan dapat dilakukan dengan teknologi
database terdistribusi baru seperti Hbase atau Cassandra (yang masih belum tercakup dalam penelitian ini). Kekurangan lainnya yaitu seputar metode analisis yang dipakai, penelitian lebih fokus menganalisis bahasa Portugis, tak mendeteksi konten dari tiap tweet.
2.12.5 Text Classification Using Support Vector Machine for Webmining Based Spation Temporal Analysis of the Spread of Tropical Diseases Fatimah
Wulandini
dan
Anto
Satriyo
Nugroho
(2009)
dalam
penelitiannya membandingkan beberapa metode teks mining yaitu C45, KNearest Neighbor, Naïve Bayes Classifier dan Support Vector Machine dalam menyelesaikan permasalahan kategorisasi teks berbahasa Indonesia dan menbisakan hasil bahwa metode SVM menunjukkan hasil paling bagus pada kategorisasi teks berbahasa Indonesia. Penelitian dilakukan pada 3713 fitur dan 360 instances. Data tersebut dibagi menjadi 120 instances sebagai data uji dan 240 instances sebagai data latih. Hasilnya ditunjukkan oleh Tabel 2.9.
Tabel 2. 9 Hasil Penelitian Fatimah Wulandini dan Anto Satriyo Nugroho Metode SVM K- Nearest Neighbor Naïve Bayes Classifier C45
Akurasi 92,50 % 29,17 % 90,00 % 77,50 %
Tabel 2.9 tersebut menunjukkan performa yang tak berbeda jauh antara metode SVM dan NBC meskipun metode NBC merupakan metode yang lebih konvensional dan lebih sederhana.
2.12.6 Modeling Public
Mood and
Emotion: Twitter
Sentiment
and
Socioeconomic Phenomena Penelitian yang dilakukan oleh Johan Bollen (2009), bertujuan menganalisis sentimen dari tweet publik untuk mengetahui mood publik sebagai pengaruh atas kejadian sosial ekonomi. Universitas Indonesia
Metodologi yang dipakai pada riset ini merupakan: 1.
Definition of data and mood assessment instrument. Pertama, mengumpulkan timeline kejadian sepanjang periode penelitian. Kedua, mengumpulkan semua tweet publik oleh pengguna Twitter di periode yang sama.
2. Data cleaning, parsing and normalization. Beberapa proses yang dilakukan di sini merupakan menghapus karakterkarakter non-alphanumeric sesuai aturan, mengkonversi semua karakter ke lower-case, menghapus 214 standar kata henti, dll. 3. Time series production: aggregation of POMS mood scores over time. Profile of Mood States (POMS) memetakan tiap tweet ke dalam enam dimensi vektor mood: Tension, Depression, Anger, Vigour, Fatigue, dan Confusion. 4. Comparison of produced mood time series to socioeconomic indicators. Setelah
membandingkan
hasil
POMS
tersebut
dengan
indikator
sosioekonomi yang sudah dikumpulkan maka akan dibisa hubungan antara kejadian sosioekonomi dan mood publik di periode tersebut. Tidak disebutkan cara pengumpulan tweet dari para pengguna Twitter yang dijadikan sumber data dalam penelitian ini, sebab hal ini adalah bagian yang sangat penting. Metode pengukuran yang dipakai merupakan psychometric instrument (POMS), akan lebih bagus apabila memakai training atau machine learning, namun lebih kompleks.
2.12.7 Comparison of SVM and Some Older Classification Algorithms in Text Classification Tasks Fabrice Colas & Pavel Brazdil (2005) dalam penelitiannya menbisai bahwa metode NBC mempunyai performansi yang lebih bagus dibandingkan KNN dan SVM untuk menyelesaikan binary classification pada dokumen berbahasa Inggris. Hasil penelitiannya juga menyebutkan waktu komputasi yang
jauh lebih pendek oleh metode NBC dan KNN. Waktu komputasi SVM berkembang secara kuadratik seiring dengan perkembangan jumlah data latih.
2.12.8 Twitter as a Corpus for Sentiment Analysis and Opinion Mining Penelitian yang dilakukan oleh Alexander Pak (2010) bertujuan untuk otomasi pengumpulan corpus yang berasal dari Twitter untuk keperluan analisis sentimen dan opinion mining. Metodologi yang dipakai pada riset ini merupakan: Mengumpulkan corpus dari Twitter dengan sentimen positif dan
1.
negatif, dan corpus yang objektif (netral). Metode yang dipakai mampu mengumpulkan sentimen positif dan negatif sehingga tak perlu mengklasifikasikan dokumen. Teks yang objektif terkumpul secara otomatis. 2.
Analisis linguistik statistik dari kumpulan corpus. Memakai TreeTagger sebuah kumpulan tag dengan pengklasifikasian kata (positif, negatif, netral) yang sudah disediakan (dalam bahasa inggris).
3.
Mengumpulkan corpus untuk membangun sistem klasifikasi sentimen pada microblogging. Ada beberapa teknik yang dipakai, unigram, bigram, dan
trigram,
semua
dilakukan
sebagai
perbandingan.
Metode
pengklasifikasian memakai Naïve Bayes, juga mencoba SVM sebagai perbandingan. 4.
Melakukan evaluasi percobaan pada sebuah kumpulan kiriman microblogging (twitter) secara nyata untuk membuktikan teknik yang dilakukan lebih efisien dan bagus dibanding yang sudah dipakai sebelumnya. Penelitian ini kurang menjelaskan Twitter API yang digunakan, namun
sudah berhasil memakai metode pengklasifikasian yang lebih efisien dari penelitian sebelumnya, walau terbatas untuk bahasa Inggris.
2.12.9 Improving Multiclass Text Classification with the Support Vector Machine Universitas Indonesia
Penelitian oleh Jason D. M. Rennie & Ryan Rifkin (2010) menunjukkan hasil bahwa SVM menghasilkan performansi yang lebih bagus dalam menyelesaikan klasifikasi teks multi kelas dibandingkan metode NBC. Hal ini sesuai dengan pernyataan Fabrice Colas & Pavel Brazdil bahwa SVM unggul dalam klasifikasi multiclass.
2.13 Perbandingan Penelitian Sebelumnya Dari beberapa penelitian sebelumnya mengenai maka bisa dibuatkan rangkuman seperti ditunjukkan oleh Tabel 2.10.
Tabel 2. 10 Rangkuman Perbandingan Penelitian Sebelumnya Penulis Ian Barber.
Metode NBC
(2010)
Hasil Penelitian Dilakukan pada
data
review
film
berbahasa Inggris dan diujikan untuk 5000 record opini negatif dan 5000 record opini positif sebagai data latih dan 333 record opini negatif sebagai data uji serta menghasilkan akurasi sebesar 80%.
Lei Zhang,
Lexicon-
Pengujian empiris dengan metode novel
Riddhiman
Based
menawarkan metode yang lebih efektif
Ghosh,
dan menjanjikan.
Mohamed Dekhil, Meichun Hsu, and Bing Liu. Yudi
NBC
Dilakukan pada 582 dokumen berbahasa
(2010) Wibisono.
Indonesia dan mendapat hasil akurasi
(2005)
tertinggi 90.23% untuk persentase data latih dan data uji sebesar 70% dan 30%.
TwitterEcho dipakai hampir mendekati data real-time dari komunitas twitter Portugis
untuk
kemudian
dianalisis
sebagai bagian dari komputasi jurnalis, SVM,
namun ada keterbatasan bahasa. Dilakukan pada 3713 feature dan 360
Wulandini dan
NBC, K-
instance. 360 instance sebagai data latih
Anto Satriyo
Nearest
dan 120 instance sebagai data uji. SVM
Neighbor,
dan NBC menunjukkan hasil yang jauh
Fatimah
Nugroho. (2009) Johan Bollen,
C45 POMS
lebih bagus 92,5% dan 90%. Metode pengukuran yang psychometric
dipakai
Alberto Pepe,
merupakan
Huina Mao.
(POMS),
(2009)
memakai training atau machine learning,
akan
lebih
instrument
bagus
apabila
Fabrice Colas
SVM,
NBC menunjukkan namun lebih kompleks. performansi yang
& Pavel.
KNN,
paling bagus melebihi SVM dan KNN.
(2005)
NBC
Waktu komputasi NBC dan KNN jauh lebih pendek daripada SVM.
Alexander Pak. (2010)
NBC dan
Riset ini kurang menjelaskan Twitter API
SVM
yang digunakan, namun sudah berhasil memakai metode pengklasifikasian yang lebih efisien dari penelitian sebelumnya, walau terbatas untuk bahasa Inggris.
Pang & Lee, et al. (2002)
NBC,
Akurasi yang didapat sekitar 77% -
Maximum
82.9%. Akurasi tertinggi didapat memakai
Entropy,
feature unigram dan algoritma klasifikasi
dan SVM
SVM.
Masing-masing metode penelitian mempunyai kekurangan dan kelebihan. Bagaimana metode tersebut dipilih merupakan berdasarkan tujuan dilakukannya Universitas Indonesia
penelitian sebab tak ada satu metode yang dapat cocok untuk semua tujuan. Selain itu pemakaian lebih dari satu metode juga sering dilakukan. Dari beberapa penelitian di atas belum ditemukan penelitian yang mengungkap bagaimana analisis sentimen diselesaikan dengan metode SVM. Untuk perbandingan performansi maka dipakai metode NBC dengan beberapa variasi jumlah data latih dan data uji. Beberapa penelitian teks mining dalam bidang kategorisasi teks untuk data berbahasa Indonesia sudah dibahas namun untuk teks mining dalam bidang sentiment analysis data berbahasa Indonesia belum dilakukan.
Pada gambar 2.4 ditunjukkan kerangka berpikir dari penelitian ini. Pemahaman mengenai media sosial Twitter menjadi mula dalam melakukan proses penelitian, sebab data yang dipakai memiliki karakteristik tersendiri. Untuk pengumpulan data di twitter (data crawler), dipakai twitter API yang bisa menjaring tweet-tweet sesuai dengan kategori yang diinginkan. Sebelum melakukan analisis sentimen, terlebih dulu mengenal proses Text Mining yang adalah cara untuk menemukan informasi yang terkandung di dalam teks yang dijadikan sumber data penelitian. Setelah itu, untuk tahapan analisis sentimen merujuk ke penelitian yang telah ada dengan penyesuaian terhadap Bahasa Indonesia. Terakhir, untuk menemukan metode klasifikasi yang paling akurat maka dipakai dua metode klasifikasi yang telah populer, yaitu NBC dan SVM.
Setelah tujuan penelitian dijelaskan pada bagian pertama, maka jenis penelitian yang dipakai dalam penelitian ini merupakan kualitatif, yaitu penelitian yang dilakukan dengan mengumpulkan data dalam bentuk kata-kata atau kalimat dari sumber informasi yang penulis jadikan objek, dalam hal ini twitter. Dari
Gambar
3.1,
bisa
dilihat
proses
secara
keseluruhan
pada
implementasi metode penelitian ini. Di mana data yang dikumpulkan pertama merupakan tweet dengan kata kunci khusus berupa tweet berbahasa Indonesia yang sudah ditentukan dari akun Twitter Indonesia. Kemudian pemakaian perangkat lunak untuk mendukung metode klasifikasi dan terakhir merupakan keluarannya yang berupa analisis data, nilai akurasi dan hasil klasifikasi.
Gambar 3. 1 Metode penelitian
3.1
Pengumpulan Data Sebelum melakukan analisis sentimen dalam Bahasa Indonesia, maka proses
mula yang harus dilakukan dalam penelitian ini merupakan mengumpulkan korpus. Data yang dipakai untuk pengumpulan korpus didapat dari twitter. Metode yang digunakan dalam pengumpulan data korpus mengacu pada Universitas Indonesia 45
46 penelitian sebelumnya yaitu “Twitter as a Corpus for Sentiment Analysis and Opinion Mining” (Alexander & Paroubek, 2010), ditambah dengan melakukan langkah lainnya di akhir proses untuk menbisakan data Twitter yang memakai bahasa Indonesia. Dalam penelitian tersebut disebutkan bahwa untuk menbisakan sentimen positif dan negatif dari twitter bisa dilakukan dengan melakukan pencarian dengan memakai kata kunci berupa ikon emosi. Langkah-langkah proses pengumpulan korpus bisa dilihat pada gambar berikut:
Gambar 3. 2 Tahapan Pengumpulan Data (Korpus)
3.1.1 Twitter Crawling Proses crawling pada Twitter dilakukan dengan memanfaatkan fasilitas application interface (API) yang sudah disediakan. Maksimal panjang karakter dari satu kalimat tweet merupakan 140 karakter, sehingga satu data tweet adalah sebuah kalimat yang mewakili sebuah sentimen. Ikon emosi yang dipakai sebagai kata kunci merupakan “:)” dan “:(“. Pemakaian ikon emosi tersebut sesuai dengan petunjuk penelusuran pada situs twitter, di mana untuk mencari tweet yang mempunyai ekspresi positif memakai ikon emosi “:)” dan untuk mencari tweet yang mempunyai ekspresi negatif memakai ikon emosi “:(” (Wulandini, 2009).
Analisis sentimen yang dilakukan pada penelitian ini dibatasi pada topik mengenai brand teknologi, sehingga pada saat melakukan crawling data memakai kata kunci berkaitan dengan brand teknologi, antara lain:
telkomsel
esia
axis
smartfren
indosat
xl axiata Untuk mengakses API twitter, URL yang dipakai merupakan sebagai
berikut: http://search.twitter.com/search.atom?q=katakunci. Data hasil kembalian dari query tersebut dalam format XML, selanjutnya disimpan data akun dan tweet ke dalam database. Adapun kata kunci yang dipakai dalam query merupakan: a. Positif telkomsel :), esia :), axis :), smartfren :), indosat :), xl axiata :). b. Negatif telkomsel :(, esia :(, axis :(, smartfren :(, indosat :(, xl axiata :(. Di bawah ini merupakan contoh pemakaian twitter API dengan kata kunci “telkomsel “. URL API yang dimasukkan: http;//search.twitter.com/search.atom?q=telkomsel+;(
Dari XML hasil kembalian query tersebut, data yang disimpan ke dalam file hanyalah data id, title, dan sentiment. Bisa dilihat pada data dibawah ini: ID
; 291940393505943552
Text
; @Telkomsel sinyalnya dong please kakak ;(
Sentiment
; -1 (negatif)
3.1.2 Seleksi Bahasa Indonesia Twitter API hanya mempunyai fasilitas untuk melakukan filtering berdasarkan lokasi tweet tersebut dibuat, tak untuk proses filtering terhadap bahasa yang dipakai. Bahasa yang dipakai dalam twitter sangat beragam, sehingga diperlukan pemisahan data tweet hasil crawling untuk menbisakan data dengan bahasa Indonesia. Oleh sebab itu, diperlukan sebuah proses tambahan berupa filtering memakai Language Detection Library untuk menbisakan data tweet berbahasa Indonesia. Library ini adalah sebuah library open source yang ditulis dalam bahasa pemrograman Java, dibuat oleh Shuyo Nakatani dan dipublikasikan di: http://code.google.com/p/language-detection. Library ini memakai data pada abstrak xml dari situs Wikipedia untuk menbisakan contoh profil dari tiap-tiap bahasa. Kemudian diterapkan filter dengan algoritma Naïve Bayesian untuk menbisakan bahasa yang dipakai. Library ini mampu mendeteksi 49 bahasa yang berbeda dengan ketelitian lebih dari 99% (Nakatani, 2010).
3.1.3 Klasifikasi Sentimen Manual Proses klasifikasi manual bertujuan untuk menentukan kelas dari suatu sentimen dan dipakai untuk menentukan tingkat akurasi hasil klasifikasi SVM dan NBC. Sentimen yang s u d a h didapat dari ekstraksi fitur akan diberi label kelas secara manual untuk dipakai sebagai data pengujian akurasi. Menurut Bannister dan Remenyi (1999), proses identifikasi dan klasifikasi SI/TI
bisa
dilakukan
berdasarkan
pendekatan
hermeneutika.
Proses
mengidentifikasi dan mengklasifikasi dengan memakai pendekatan hermeneutika Universitas Indonesia
ini seperti yang dilakukan oleh Ranti (2008). Data yang dikumpulkan dikaji secara kualitatif berdasarkan metode hermeneutika oleh lebih dari satu orang supaya dapat dibandingkan.
3.2
Pemrosesan Data Data Tweet
Pra-proses Pembelajaran & Validasi
Tweet hasil praproses
Model Klasifikasi
Sentimen Positif
Sentimen Negatif
Gambar 3. 3 Alur Pemrosesan Data
Data yang dibutuhkan untuk proses klasifikasi ini terdiri dari data pembelajaran dan data validasi. Sebelum dilakukan proses pembelajaran, dilakukan pra-proses pada data korpus (tweet).
3.2.1 Pra-Proses Pra-proses perlu dilakukan sebelum proses klasifikasi supaya dimensi vector space model menjadi lebih rendah. Setidaknya dengan memperrendah dimensi vector space model proses klasifikasi akan menjadi lebih cepat. Tujuan dilakukannya pra-proses tweet ini merupakan: 1. Menghilangkan tweet yang tak bersih 2. Menyeragamkan bentuk kata 3. Mengurangi volume kata Tahapan yang dilakukan pada pra-proses tweet bisa dilihat pada gambar berikut.
Gambar 3. 4 Pra-proses data tweet
1) Cleansing Proses Cleansing merupakan proses membersihkan tweet dari kata-kata yang tak diperlukan untuk mengurangi noise pada proses klasifikasi. Adapun katakata yang dihilangkan antara lain:
2) Stopwords Stopwords merupakan kata-kata yang sangat umum yang biasanya hanya sedikit pengaruhnya di dalam suatu teks, seperti “dan”, “tetapi”, dll. Kata-kata yang terkandung pada daftar stopwords dihilangkan. Daftar stopwords terlampir pada lampiran. Universitas Indonesia
3) Singkatan Singkatan seperti “lmbt” diubah menjadi “lambat”, kualitas data hasil klasifikasi sangat tergantung pada jumlah singkatan yang dimasukkan pada daftar singkatan.
4) Case folding Case folding merupakan proses pengubahan semua huruf dalam tweet menjadi huruf rendah (huruf 'a' sampai dengan huruf 'z). Karakter selain huruf akan dihilangkan sebab dianggap sebagai delimiter.
3.2.2 Pemilihan Fitur Hal yang paling penting dalam proses klasifikasi sentimen merupakan pemilihan fitur yang dipakai untuk klasifikasi. Beberapa fitur standar yang biasa dipakai merupakan unigram, tiap kata di dalam tweet akan dianggap sebagai fitur (di beberapa penelitian sebelumnya disebut dengan POS Tagger). Fitur dan nilai tersebut selanjutnya akan disimpan dalam sebuah vektor untuk keperluan klasifikasi.
1) Part of Speech (POS) Tagger POS Tagger merupakan sebuah proses untuk memberikan kelas pada sebuah kata. Menurut Dr. Goris Keraf (1979), hampir semua tata bahasa yang ada saat ini melakukan pembagian jenis kata berdasarkan Aristoteles. Pembagian jenis kata terdiri dari 8 jenis kata, sebagai berikut: a) Kata Benda (noun) b) Kata Kerja (verb) c) Kata Sifat (adjective) d) Kata Keterangan (adverb) e) Kata Depan (preposition) f) Kata Sambung (conjuction) g) Kata Ganti (pronoun) Universitas Indonesia
h) Kata Bilangan (numeralia) Proses POS Tagger dilakukan dengan cara parsing (memecah korpus menjadi kata-kata), kemudian ditentukan kelas tiap kata dengan memakai bantuan Kamus Besar Bahasa Indonesia (KBBI).
2) Stemming Proses stemming merupakan proses mengembalikan kata-kata yang sudah diproses pada tahap sebelumnya menjadi kata dasar. Proses ini akan mengurangi variasi kata yang sebenarnya mempunyai variasi sama. Adapun variasi imbuhan dalam hal ini antara lain : a) Prefiks (awalan) b) Sufiks (akhiran) c) Infiks (sisipan) d) Konfiks (kombinasi mulaan dan akhiran) Secara umum dibawah ini merupakan urutan penggunaan imbuhan sebagai inflections dan derivations. Seperti pada proses POS Taggger, proses stemming dilakukan dengan memakai bantuan Kamus Besar Bahasa Indonesia (KBBI).
3.2.3 Pembobotan Pemakaian metode pembobotan yang tepat bisa mempengaruhi tingkat akurasi dari metode klasifikasi yang dipakai. Dalam penelitian ini, tweet dinyatakan dalam model vector-space, di mana tweet diwakili dengan sebuah vektor dari kata-kata yang diekstraksi. Oleh sebab itu, data teks akan dikonversi terlebih dulu menjadi numerik dengan berbagai metode pembobotan sebelum diproses. Semua kata yang terkandung dalam tweet didaftarkan, dinyatakan dengan {f1, f2,…, fm} yang adalah daftar kata. Jumlah kemunculan kata dalam tweet yang dinyatakan dengan n1(d) yang adalah jumlah kemunculan kata f1 dalam tweet d direpresentasikan ke dalam vektor Universitas Indonesia
Untuk penelitian ini pembobotan yang dipakai merupakan unigram, kata dan simbol direpresentasi ke dalam bentuk vektor, dimana tiap kata atau simbol dihitung sebagai satu fitur. Adapun perhitungan bobot yang dipakai merupakan: 1. Feature Term Frequency (TF)
Salah satu metode pembobotan yang paling sederhana, metode ini menghitung berapa kali jumlah kemunculan fitur fi dalam sebuah tweet. Misalnya kata “sinyal” dalam tweet A dipakai sebesar dua kali, maka bobotnya merupakan dua. Metode pembobotan ini dipakai oleh Pang (2002). 2. Feature Term Presence (TP)
ni(d) = 1, apabila fitur fi ada di tweet d ni(d) = 0, apabila fitur fi tak ada di tweet d Metode ini menunjukkan ada atau tidaknya fitur fi dalam sebuah tweet. Misalnya kata “sinyal” dalam tweet A dipakai sebesar dua kali, maka bobotnya merupakan 1 sebab yang dihitung bukan berapa kali muncul tetapi adanya kata “sinyal” di dalam tweet A. 3. Term Frequency – Inverse Document Frequency (TF-IDF)
ni(d) = dfi . Log D/dfi Di mana : df = jumlah fitur fi dalam seluruh tweet D = jumlah tweet TF-IDF adalah metode pembobotan yang paling banyak dipakai di dalam kategorisasi teks (Sebastiani., 2002). TF-IDF melakukan dua buah perhitungan yaitu TF dan IDF. TF didapat dari jumlah term tersebut di dalam dokumen, sedangkan IDF adalah jumlah dokumen dibagi jumlah dokumen dengan kemunculan term tersebut.
Proses klasifikasi memakai metode SVM dan NBC. SVM adalah salah satu metode learning untuk melakukan klasifikasi ke dalam dua kelas. Pada penelitian ini input yang dipakai merupakan data latih, dinyatakan dengan S. (3,1) Di mana: Tweet Sentimen Keluaran yang diharapkan merupakan: Pengklasifikasian f:X -> {-1,1}
3.2.5 Evaluasi Untuk menbisakan ketelitian dipakai data confusion matrix yang adalah keluaran dari klasifikasi SVM. Berikut merupakan contoh output dari confusion matrix. ### Confusion Matrix ### (+) 65 35 | 40 60 |
(-) <-- pengklasifikasikan a = -1 b = 1
Dari data confusion matrix di atas terlihat bahwa proses klasifikasi dari dilakukan terhadap 200 data, terdiri dari 100 data sentimen positif dan 100 data sentimen negatif. Dari hasil klasifikasi dibisa bahwa dari 100 sentimen positif diklasifikasikan oleh SVM menjadi 65 data sentimen negatif dan 35 sentimen positif. Dari 100 sentimen negatif diklasifikasikan oleh SVM menjadi 40 sentimen negatif dan 60 sentimen positif, total terbisa 75 data yang salah dari proses klasifikasi, sehingga persentase kebenaran dari SVM sebesar 62.5%.
3.3
Pengujian dengan Aplikasi Rapid Miner Pengujian adalah proses untuk menbisakan nilai akurasi dengan
membandingkan hasil klasifikasi sentimen dengan pengklasifikasian secara Universitas Indonesia
manual. Untuk mempergampang dan mempercepat penelitian, maka dipakailah aplikasi Rapid Miner sebagai pembanding. Aplikasi ini kemudian dijadikan sebagai sistem untuk melakukan proses pengklasifikasian tweet secara otomatis.
Sejarah Twitter Twitter berawal dari sebuah diskusi yang diselenggarakan oleh anggota
dewan dari perusahaan Odeo. Jack Dorsey memperkenalkan ide twitter dalam pertemuan tersebut di mana individu dapat memakai layanan SMS untuk berkomunikasi dengan kelompoknya. Twitter menjadi perusahaan sendiri pada bulan April 2007. Popularitas Twitter mulai meningkat pada tahun 2007 ketika mengikuti festival South by Southwest (SXSW). Pemakaian Twitter meningkat dari 20.000 tweet per hari menjadi 60.000 selama acara tersebut. Reaksi di festival itu sangat positif. Logo twitter diganti pada tanggal 14 September 2010, desain baru dan logo tersebut kemudian berubah lagi menjadi Larry the Bird pada tanggal 5 Juni 2012 (id.wikipedia.org, 2012).
4.2
Pertumbuhan Twitter Sudah lebih dari 400.000 tweet dikirimkan per kuartal pada tahun 2007.
Kemudian pada tahun 2008 berkembang menjadi 100 juta tweet per kuartal. Pada akhir tahun 2009, 2 miliar tweet per kuartal sudah terkirimkan. Pada kuartal pertama tahun 2010, 4 miliar tweet yang dikirimkan. Pada bulan Februari 2010 pengguna Twitter mengirimkan 50 juta per hari. Pada Juni 2010, sekitar 65 juta tweet yang dikirimkan setiap hari, setara dengan sekitar 750 tweet dikirim setiap detik, menurut Twitter.com. Pengguna Twitter akan menjadi lebih aktif ketika ada kejadian-kejadian penting. Contohnya, rekor diciptakan pada Piala Dunia 2010, ketika penggemar menulis 2940 tweet per detik di kedua periode 30 setelah Jepang mencetak gol melawan Kamerun pada tanggal 14 Juni 2010. Rekor dipatahkan lagi ketika penyanyi Michael Jackson meninggal dunia pada tanggal 25 Juni 2009, server 57
twitter mengalami down sebab pengguna memperbarui status mereka untuk memasukkan kata-kata "Michael Jackson" sejumlah 100.000 tweet per jam (id.wikipedia.org, 2012).
4.3
Demografi Pengguna Informasi pengguna tak tersedia pada profil pengguna twitter. Untuk
mengklasifikasikan jenis kelamin bisa dilakukan dengan cara melihat nama pengguna, avatar (foto pengguna) dan parameter-parameter lainnya. Menurut sebuah studi yang dilakukan oleh beelove.com, perempuan membentuk sebuah demografi Twitter lebih besar daripada laki-laki dimana persentasenya merupakan 53% lebih dari 47%.
Gambar 4. 1 Distribusi jenis kelamin pengguna di twitter
Pada perkembangannya, Twitter yang mulanya dirancang untuk dipakai oleh orang dewasa sebagai sarana pendukung pekerjaannya, sekarang justru banyak dipakai oleh remaja. Hal ini dikarenakan sebab fungsi Twitter yang saat ini Universitas Indonesia
sebagai wadah berkumpulnya para fans artis. Dengan begitu para pengikut akun selebritis tersebut dapat memantau berita terbaru dari sang artis.
Gambar 4. 2 Distribusi usia pengguna twitter
4.4
Pengguna Media Sosial Twitter di Indonesia Media sosial memberikan kebebasan kepada pengguna untuk menciptakan
konten dalam akun mereka, kebebasan ini membuat konten media sosial tak mempunyai struktur formal, sebab konten sangat tergantung dari pengguna dan masyarakat di sekitar mereka. Ini berarti bahwa konten mungkin berisi pesan dalam bahasa yang hanya dimengerti oleh komunitas media sosial itu sendiri. Masalah yang mungkin timbul utamanya di Indonesia dari karakteristik tersebut merupakan tingginya jumlah OOV dan ambiguitas yang terjadi dalam sentimen klasifikasi. Pada sekarang, beberapa perusahaan besar di Indonesia mempunyai mulai memakai media sosial twitter sebagai sarana mereka mendekati pelanggan. Mempunyai populasi penduduk urutan ke-4 terbanyak di dunia, dengan jumlah lebih dari 230 juta orang, tentunya membuat jumlah pengguna internet di Universitas Indonesia
aworldtweets.com, jumlah pengguna internet di Indonesia untuk tahun 2012 merupakan urutan 2 di dunia, dengan jumlah 11% dari total populasi. Menurut Sysomos, jumlah pengguna Twitter di Indonesia merupakan urutan ke-6 di dunia, dan Jakarta menjadi ibukota twitter di Asia, mengalahkan kota Tokyo. Jumlah pengguna twitter di Jakarta untuk perbandingan per kota menempati urutan ke-13 di dunia. Urutan pertama pengguna twitter merupakan London, sedangkan New York merupakan urutan pertama untuk jumlah tweet terbanyak. Twitter sangat populer di Indonesia. Hal ini didukung oleh kegampangan yang disediakan oleh layanan ponsel dan operator telekomunikasi yang ada serta aplikasi yang mendukung. Sedangkan menurut data Semiocast bulan Juni 2012, Indonesia merupakan negara ke-5 dengan pengguna Twitter terbanyak di dunia, dengan jumlah total pengguna mencapai 29,4 juta. Jakarta bahkan berhasil mencatatkan rekor sebagai kota paling aktif di Twitter, dengan menyumbangkan 2,4% dari jumlah keseluruhan tweet yang dipost, kemudian disusul oleh Bandung di posisi keenam. Statistik tersebut menunjukkan bahwa pengguna di Indonesia sangat aktif memakai Twitter sebagai media berkomunikasi dan sarana bersosialisasi. Meningkatnya
pemakaian
Twitter
di
Indonesia
berakibat
pula
dengan
menjamurnya komunitas-komunitas online di dalamnya. Kegampangan yang ditawarkan Twitter dalam hal penyebaran informasi, turut mempunyai andil dalam hal ini. Akun Stand Up Comedy Indonesia (@StandUpIndo), Akademi Berbagi (@AkademiBerbagi), Indonesia Berkebun (@IDBerkebun) merupakan beberapa dari sekian banyak komunitas yang tumbuh dan besar di Twitter. Gambar 4.3 menunjukkan pengguna Twitter yang unik di seluruh dunia. (Untuk menentukan lokasi seseorang, Sysomos memakai teknologi eksklusif untuk menyimpulkan geografi berdasarkan informasi pengguna yang tak bergantung pada geo-lokasi Twitter API.)
Gambar 4. 3 Top 20 Countries in Terms of Twitter Accounts
Selain melihat jumlah pengguna Twitter yang unik di seluruh dunia, penulis juga menjelajahi geografis break-down berdasarkan jumlah tweet untuk menentukan apakah ada perbedaan antara keduanya. Gambar 4.4 di bawah ini menunjukkan kota-kota terkemuka dengan jumlah tweet-
Setelah semua metodologi penelitian selesai disusun, maka tahap berikutnya merupakan memakai sistem tersebut untuk mengumpulkan data, membandingkan metode klasifikasi memakai data latih, menguji akurasi metode klasifikasi serta melakukan percobaan dengan memakai data yang sama dengan aplikasi Rapid Miner. 5.1
Pengumpulan Data
5.1.1 Twitter Crawling Proses crawling dilakukan secara manual untuk menbisakan data sentimen sesuai dengan kata kunci yang dipakai. Hasil dari proses crawling pada rentang bulan Nopember - Desember 2012 merupakan data tweet sebesar 200. Berikut ini merupakan contoh data tweet hasil crawling:
Lumia Laris Manis, Saham Nokia Naik 18 Persen http;//bit.ly/VPJE9D
Kalimat 'Sakti' MA yang Selamatkan Telkomsel dari Kepailitan http;//de.tk/deWTt
Nokia 'Bajak' Trafik Browser Mobile http;//de.tk/3sNQ1 Lumia Lumayan Laris, Nokia telah Bangkit? http;//de.tk/t75q4
TEKNO; Apple Berencana Luncurkan iPhone Murah dengan Nama 3GS
Signal #telkomsel lagi kacrut!
Sinyalnya xl sih telah hsdpa, pake plus lagi. Sayang lemot. Cie, yg diphp sama jaringan ;| #indonesiatanpaphp
5.1.2 Seleksi Bahasa Indonesia Setelah dibisakan data tweet, dilakukan proses seleksi untuk menbisakan data tweet berbahasa Indonesia. Berikut ini merupakan potongan source code pemakaian Language Detection Library untuk melakukan filter terhadap data tweet supaya menbisakan Bahasa Indonesia.
5.1.3 Klasifikasi Sentimen Manual Menurut Trauth (2001), pandangan interpretasi dan analisis dari suatu data kualitatif merupakan mengerti kenapa suatu informasi diceritakan dan bagaimana mekanisme untuk mengklasifikasikan konteks tersebut. Oleh sebab itu proses klasifikasi manual dilakukan lebih dari sekali oleh 2 orang untuk meningkatkan kualitas hasil pengklasifikasian, yaitu penulis sendiri dan seorang rekan yang bekerja di sebuah perusahaan telekomunikasi bernama Andika Rahmawati ([email protected]). Hasil dari klasifikasi manual ini nantinya dipakai untuk proses evaluasi sehingga dibisa hasil berupa tingkat akurasi memakai metode klasifikasi machine learning (SVM dan NBC).
Tabel 5. 1 Contoh Klasifikasi Sentimen Manual Tweet Saya lebih percaya kalo IM3 lah GSM yang bagus. Dari kemaren sampai saat ini, sinyalnya GSM. :') kepada operator telko mohon hentikan promo2 gratis SMS atau paket internet... berhentilah jadi komunis... nanti putin ngambek... @IndosatMania padahal saya ga pernah telat bayar tagihan pulsa. Dan tolong ya jangan nyuruh copot batere doang. @ari_maul iya, bisa sinyal. Klo ke Dieng bawa kartu telkomsel punya ya.. :p Di Karimunjawa, provider yang paling lancar dipakai merupakan Telkomsel, dengan waktu pakai paling lancar ... jam segini. Kalimat 'Sakti' MA yang Selamatkan Telkomsel dari Kepailitan http://de.tk/deWTt
5.2
Sentimen 1
Sentimen 2
Negatif
Positif
Negatif
Negatif
Negatif
Netral
Positif
Positif
Positif
Positif
Positif
Positif
Pemrosesan Data
5.2.1 Pra-Proses Twitter adalah aplikasi micro-blogging yang terbatas pada 140 karakter saja, namun seringkali tweet yang ditulis adalah padanan dari kata-kata tak baku, penggabungan dengan bahasa asing, karakter angka dan huruf atau terbisa kesalahan penulisan kata. Hal ini mempengaruhi dimensi vector space model dan membuat isi tweet tak dipahami oleh sistem. Oleh sebabnya tahapan selanjutnya merupakan melakukan pra-proses terhadap data tweet yang telah dibisa. Pra-proses memakai aplikasi java, dengan kegiatan cleansing, case folding.
5.2.2 Pemilihan Fitur Setelah dilakukan pra-proses, maka selanjutnya akan dilakukan pemilihan fitur, proses yang dilakukan merupakan POS tagger dan stemming. Dari data praproses, proses pemilihan dan ekstraksi fitur menbisakan 5 (lima) buah kumpulan data dengan variasi fitur yang berbeda, pada tabel berikut diuraikan mengenai Universitas Indonesia
label yang dipakai untuk tiap-tiap kumpulan data dan deskripsinya. Sesuai dengan penelitian Bing Liu (2010), jenis kata yang akan dipakai meliputi kata benda, kata kerja, kata sifat, dan kata keterangan, sebab keempat jenis kata ini adalah jenis kata yang paling banyak mengandung sentimen
Tabel 5. 2 Label Data Label Data
Deskripsi
TwAsl
Adalah data tweet yang telah dilakukan pra-proses.
TwKms
Adalah data tweet yang telah dilakukan pra-proses dan filtering dengan cara menghapus kata-kata yang tak ada di dalam KBBI.
TwKmsDsr
Adalah data tweet yang telah dilakukan pra-proses dan filtering dengan cara menghapus kata-kata yang tak ada di dalam KBBI serta dilakukan proses stemming, sehingga hanya berupa kumpulan dari kata dasar saja.
TwKmsKls
Adalah data tweet yang telah dilakukan pra-proses dan filtering dengan cara menghapus kata-kata yang tak ada di dalam KBBI dan hanya diambil kata yang mempunyai kelas adjective, adverb, verb dan noun saja.
TwKmsKlsDsr Adalah data tweet yang telah dilakukan pra-proses dan filtering dengan cara menghapus kata-kata yang tak ada di dalam KBBI serta dilakukan proses stemming, sehingga hanya berupa kumpulan dari kata dasar saja, serta diambil kata yang mempunyai kelas adjective, adverb, verb dan noun saja.
Data berikut merupakan contoh data dari tiap-tiap kumpulan data yang dipakai. 1) Kumpulan data: TwAsl
lumia laris manis saham naik persen kalimat sakti ma yang selamatkan dari kepailitan bajak trafik browser mobile lumia lumayan laris telah bangkit tekno berencana luncurkan murah dengan nama 3gs
laris manis saham naik persen kalimat sakti yang selamatkan dari kepailitan bajak trafik lumayan laris telah bangkit berencana luncurkan murah dengan nama
Penentuan jenis kata dengan POS Tagger
adj adj n adj p v n adv adj v v adj
n v n v p adj adv v p n
3) Kumpulan data: TwKmsDsr
laris manis saham naik persen kalimat sakti yang selamat dari pailit bajak trafik lumayan laris telah bangkit rencana luncur murah dengan nama
Penentuan jenis kata dengan POS Tagger
adj adj n adj p v n adv adj v v adj
n v n v p adj adv v p n
4) Kumpulan data: TwKmsKls
laris manis saham naik persen kalimat sakti selamatkan kepailitan bajak trafik lumayan laris telah bangkit berencana luncurkan murah nama
Penentuan jenis kata dengan POS Tagger
adj adj n adj v v n adv adj v v adj
n v n adj adv v n
5) Kumpulan data: TwKmsKlsDsr Universitas Indonesia
laris manis saham naik persen kalimat sakti selamat pailit bajak trafik lumayan laris telah bangkit rencana luncur murah nama
Penentuan jenis kata dengan POS Tagger
adj adj n adj v v n adv adj v v adj
n v n adj adv v n
5.2.3 Pembobotan Tahapan selanjutnya merupakan mengubah data tweet hasil pra-proses ke dalam bentuk model vektor. Jumlah data yang dipakai sebagai korpus sebesar 200 data sentimen berupa campuran sentimen positif dan negatif. Untuk pembentukan model vektor dilakukan dengan kriteria minimal kemunculan kata, sehingga dibisa data jumlah fitur untuk masing-masing kumpulan data yang bisa dilihat pada tabel berikut.
Tabel 5. 3 Jumlah Fitur tiap-tiap kumpulan data Kumpulan data Label
Jumlah Fitur
TwAsl
1.54
TwKms
1.37
TwKmsDsr
1.28
TwKmsKls
1.15
TwKmsKlsDsr
1.12
5.2.4 Proses Klasifikasi Klasifikasi dilakukan dengan memakai perangkat lunak open source Rapid Miner 5. 1. Metode yang dipakai untuk mengklasifikasikan data penelitian ini
merupakan dengan memakai metode Naïve Bayes classifier dan metode Support Vector Machine. Pada pengujian ini, data yang dipakai merupakan data tweet hasil crawling yang tersimpan dalam file XML, kemudian dilakukan pra-proses oleh sistem yang dikembangkan antara lain Stopwords, POS Tagger, dan Stemming. Kemudian proses selanjutnya merupakan mengkonversi data menjadi dokumen dengan proses document from data. Proses selanjutnya merupakan menentukan field mana yang akan dijadikan sebagai kelas dengan memakai proses set role. Selanjutnya, tahap akhir merupakan tahap pengujian dengan memakai proses validation. Untuk lebih jelas, keseluruhan proses pengujian dengan perangkat lunak Rapid Miner bisa dilihat di Gambar 5.1.
Gambar 5. 1 Proses klasifikasi dengan Rapid Miner
1) Metode Naïve Bayes Classifier
Gambar 5. 2 Proses klasifikasi Naïve Bayes classifier dengan Rapid Miner
Gambar 5.2 menunjukan proses klasifikasi dengan Rapid Miner dengan metode Naïve Bayes classifier yang dipakai untuk mengklasifikasikan data penelitian ini sehingga didapat akurasi pada perangkat lunak ini. Untuk menbisakan hasil klasifikasi terbagus, data diujikan memakai tiga kernel yang berbeda, yaitu polynomial (e=1 & e=2) dan RBF.
2) Metode Support Vector Machine
Gambar 5. 3 Proses klasifikasi Support Vector Machine dengan Rapid Miner
Gambar 5.3 menunjukan proses klasifikasi dengan Rapid Miner dengan metode Support Vector Machine yang dipakai untuk mengklasifikasikan data penelitian ini sehingga didapat akurasi pada perangkat lunak ini. Nilai akurasi model terrendah terbisa pada hasil pengujian dengan memakai sampel sebesar 100 dan nilai akurasi terbesar terbisa pada hasil pengujian dengan memakai sampel sebesar 200. Terjadi peningkatan juga pada seluruh akurasi kelas seiring dengan ditambahnya jumlah sampel yang dipakai.
5.3
Hasil Klasifikasi Data hasil klasifikasi memakai SVM dengan 2 kali iterasi bisa dilihat pada
Sebagai pembanding dari metode SVM dipakai metode NBC untuk melakukan klasifikasi. Naive Bayes memakai asumsi bahwa dalam sebuah dokumen kemunculan kata tak mempengaruhi kemunculan kata yang lain dan ketidakmunculan kata tak mempengaruhi ketidakmunculan kata yang lain. Data hasil klasifikasi memakai metode Naïve Bayes dengan 2 kali iterasi bisa dilihat pada tabel berikut:
Tabel 5. 5 Hasil Klasifikasi memakai Naïve Bayes TF
TP
TF-IDF
Kumpulan data 1
2
1
2
1
2
TwAsl
68
68,65
68,3
67,8
67,65
68,7
TwKms
67,95
67,8
67,3
67,95
67,55
67,6
TwKmsDsr
67,7
67,8
67,5
67,35
67,5
68,15
TwKmsKls
67,1
65,35
66,95
65,3
66,55
65,4
TwKmsKlsDsr
66,95
65,85
66,65
64,95
67,15
65,8
Proses validasi dilakukan dengan memakai k-fold cross validation, mengikuti penelitian Pang (2008), yaitu dengan menghitung nilai rata-rata untuk tiap kumpulan data, dari pembobotan yang dilakukan dibisa nilai sebagai berikut:
Tabel 5. 6 Rata-rata hasil klasifikasi memakai SVM tiap-tiap kernel Kumpulan data
Hasil dari klasifikasi SVM dengan polykernel di mana e=1 dibisa hasil klasifikasi bahwa pemakaian kumpulan data TwKmsKlsDsr mempunyai presentase rata-rata kebenaran yang lebih bagus dibandingkan kumpulan data lainnya, yaitu sebesar 77.09% (bisa dilihat pada Gambar 5.4).
Gambar 5. 4 Hasil Klasifikasi SVM dengan kernel Polykernel (e=1)
Untuk klasifikasi SVM dengan memakai polykernel dimana e=2, nilai ratarata persentase kebenaran klasifikasi paling bagus merupakan memakai kumpulan data TwKmsDsr, yaitu sebesar 72,59% (bisa dilihat pada Gambar 5.5). Universitas Indonesia
Gambar 5. 5 Hasil Klasifikasi SVM dengan kernel Polykernel (e=2)
Sedangkan klasifikasi SVM dengan memakai kernel RBF, nilai presentasi kebenaran klasifikasi paling bagus sama dengan memakai polykernal dimana e=2, yaitu yang memakai kumpulan data TwKmsDsr sebesar 74,75% (bisa dilihat pada Gambar 5.6).
Gambar 5. 6 Hasil Klasifikasi SVM dengan kernel RBF
Tabel 5.8 adalah rata-rata hasil klasifikasi memakai SVM dari beberapa macam kernel yang dipakai dan sebagai pembanding klasifikasi memakai metode Naïve Bayes.
Tabel 5. 7 Rata-rata hasil klasifikasi memakai SVM dan Naïve Bayes SVM
Klasifikasi memakai SVM memberikan tingkat akurasi yang lebih bagus dibandingkan memakai Naïve Bayes untuk semua jenis kumpulan data dan pembobotan yang dilakukan. Perbandingan tiap-tiap kumpulan data dan pembobotan bisa dilihat pada Gambar 5.7, 5.8, dan 5.9 untuk tingkat akurasi berdasarkan perbandingan dengan klasifikasi sentimen 1 dan Gambar 5.10, 5.11, dan 5.12 untuk tingkat akurasi berdasarkan perbandingan dengan klasifikasi sentimen 2. Urutan berdasarkan kumpulan data metode SVM dengan berbagai pembobotan yang dipakai dari besar ke rendah merupakan TwKmsDsr, TwKms, TwKmsKlsDsr, TwKmsKls, dan TwAsl. Urutan yang berbeda dibisa pada metode Naïve Bayes, yaitu TwAsl, TwKmsDsr, TwKms, TwKmsKls, dan TwKmsKlsDsr. Hal ini wajar, mengingat pendekatan klasifikasi yang berbeda, dimana SVM berusaha memisahkan menjadi kelas yang berbeda dengan pembatas hyperplane, sedangkan Naïve Bayes memakai konsep peluang dari data sebelumnya.
Gambar 5. 7 Klasifikasi sentimen 1 dengan bobot TF
Kedua pengujian menunjukkan hasil akurasi yang kurang lebih sama, hal ini dikarenakan sebab selisih beda hasil pengklasifikasian manual yang terjadi hanya sedikit (kurang dari 1%). Dari kesemua hasil klasifikasi rata-rata presentase benar bisa dilihat pada Gambar 5.13. Kumpulan data TwKmsDsr dengan memakai klasifikasi SVM mempunyai nilai rata-rata persentase benar paling besar, sejumlah 74,80%, sedangkan klasifikasi dengan memakai Naïve Bayes, kumpulan data TwAsl mempunyai rata-rata persentase benar paling besar sebesar 68,34%. Nilai tersebut masih kalah dibanding dengan presentase benar tekecil untuk klasifikasi menggunaikan SVM, yaitu dengan kumpulan data TwAsl sebesar 73,05%. Hal ini menunjukkan bahwa metode SVM mampu menjanjikan nilai kebenaran yang lebih bagus dalam melakukan analisis sentimen untuk tweet berbahasa Indonesia dibandingkan dengan Naïve Bayes.
Gambar 5. 13 Rata-Rata Hasil Klasifikasi
Pada dasarnya, hasil analisis sentimen dengan memakai isi tweet ini bisa dilakukan pada semua jenis produk/layanan. Universitas Indonesia
Kesimpulan Pada penelitian ini objek penelitian yang dipakai merupakan tweet
berbahasa Indonesia. Dokumen tersebut didapat dari media sosial twitter, kemudian dilakukan pra-proses tweet untuk menbisakan fitur-fitur yang dipakai dalam proses klasifikasi. Fitur yang dipakai dalam klasifikasi memakai unigram, di mana tiap kata dalam tweet dianggap sebagai satu fitur. Proses klasifikasi dilakukan terhadap lima kumpulan data hasil pra-proses dengan fitur yang berbeda-beda. Sebagai pembanding dan acuan untuk menghitung tingkat akurasi, data tweet diklasifikasikan terlebih dulu secara manual oleh dua orang, untuk kemudian dibandingkan dengan hasil klasifikasi dengan memakai aplikasi Rapid Miner. Dari hasil penelitian bisa disimpulkan bahwa SVM mempunyai tingkat akurasi yang lebih bagus dibandingkan dengan NBC. Untuk fitur klasifikasi yang paling tinggi merupakan memakai kata dasar dari kamus, sedangkan tekecil merupakan memakai kata asli tanpa melihat kamus. Hal ini menunjukkan bahwa proses stemming berhasil meninggikan kualitas klasifikasi. Metode pembobotan yang dipakai secara umum tak mempengaruhi urutan hasil klasifikasi dari kumpulan data yang dipakai. Dari sisi pekerjaan yang dilakukan, proses analisis sentimen bukan hal yang gampang dilakukan mengingat ekspresi tulisan seseorang tak sama. Dari sisi hasil, analisis sentimen dengan machine learning menunjukkan hasil yang cukup bagus dalam mengenali sentimen suatu tweet dilihat dari sisi waktu yang dipakai apabila dibandingkan dengan sentimen analisis dengan memperhatikan makna dan tata bahasa yang dipakai. Hasil pengujian akurasi dengan memakai perangkat lunak Rapid Miner dengan metode Naïve Bayes classifier menghasilkan nilai akurasi terrendah
sebesar 66,31% dan menghasilkan nilai akurasi tertinggi sebesar 68,34% pada proses pengujian dengan memakai sampel sebesar 200. Hasil pengujian akurasi dengan memakai perangkat lunak Rapid Miner dengan metode Support Vector Machine menghasilkan nilai akurasi terrendah sebesar 73,05% dan menghasilkan nilai akurasi tertinggi sebesar 74,80% pada proses pengujian dengan memakai sampel sebesar 200. Pada klasifikasi dengan memakai perangkat lunak Rapid Miner maka bisa disimpulkan bahwa nilai akurasi metode Support Vector Machine lebih bagus daripada nilai akurasi metode Naïve Bayes Classifier.
6.2
Saran Saran untuk penelitian selanjutnya:
1.
Dibutuhkan pengembangan pra-proses yang lebih detil sebab ada banyak varian kata yang biasa dipakai oleh masyarakat Indonesia dalam memakai Twitter.
2.
Memilah tweet yang benar-benar mengandung sentimen untuk analisis.
3.
Pada karya akhir ini dalam melakukan pra-proses masih dilakukan secara manual, perlu dibuat aplikasi yang melakukan pra-proses secara otomatis untuk pengembangan selanjutnya.
4.
Perlu dilakukan analisis hubungan antar kata pada proses klasifikasi sesuai dengan kaedah bahasa yang dipakai.
5.
Penelitian selanjutnya bisa dikembangkan lagi dengan data lain yang jumlah datanya lebih banyak sehingga hasil yang didapat lebih berkualitas.
Ahkter, Kane Julie and Soria, Steven. (2010). Sentiment Analysis: Facebook Status Messages. Albert Bifet and Eibe Frank. Sentiment Knowledge Discovery in Twitter Streaming Data. (2010). University of Waikato, New Zealand. Alexander Clark. (2003). Pre-processing Very Noisy Text, Proceeding of Workshop on Shallow Processing of Large Corpora. Alexander Pak, Patrick Paroubek. (2010). Twitter as a Corpus for Sentiment Analysis and Opinion Mining. Universit´e de Paris-Sud, France. Andreas Kaplin M and Michael Haenlein. (2009). Users of the world, unite! The challenges and opportunities of social media, Elsevier Inc. Anto Satria Nugroho. (2007). Pengantar Support Vector Machine.
Baeza-Yates, R., and B. Ribeiro-Neto. (1999). Modern Information Retrieval. New York: ACM Press.
Bannister, F. Remenyi, D. (1999). Instinct and Value in IT Decision. Occasional Paper Series. Management Research Center, Wolverhampton Business School, University of Wolverhampton. Barber, I. (2010). Bayesian Opinion Mining. [Online]. http://phpir.com/bayesianopinion-mining. Bridge, C. (2011). Unstructured Data and the 80 Percent Rule. [Online]. http://www.clarabridge.com/default.aspx?tabid=137&ModuleID=635&ArticleID =551.
Colas, F. & Brazdil, P. (2005). Comparison of SVM and Some Older Classification Algorithms in Text Classification Tasks. Cortes, C. & Vapnik, V. (1995). Support-Vector Networks. Machine Learning. [Online]. http://www.springerlink.com/content/k238jx04hm87j80g. Dehaff, M. (2010). Sentiment Analysis, Hard But Worth It!. [Online]. http://www.customerthink.com/blog/sentiment_analysis_hard_but_worth_it. Han, Jia Wei and Micheline Kamber. (2006). Data mining Concepts and Techniques, 2nd ed. San Francisco, California, USA: Morgan Kauffman. Johan Bollen, Alberto Pepe, Huina Mao. (2009). Modeling public mood and emotion: Twitter sentiment and socioeconomic phenomena. Kobayashi, M. and Takeda, K. (2000). Information retrieval on the web. ACM Computing Surveys (ACM Press). Lei Zhang, Riddhiman Ghosh, Mohamed Dekhil, Meichun Hsu, and Bing Liu. (2010). Combining Lexicon-based and Learning-based Methods for Twitter Sentiment. Luís Sarmento. (2011). TwitterEcho - A Distributed Focused Crawler to Support Open Research with Twitter Data. Portugal Telecom. Milstei, Sarah and Tim O’Reilly. (2009). The Twitter Book. USA: O’Reilly Media Inc. Nur Indrawati. (2008). Natural Language Processing (NLP) Bahasa Indonesia Sebagai Pra-proses Pada Text mining. Departemen Teknik Informatika Institut Tinggi Teknologi Telkom. Pang, B. & Lee, L. (2008). Subjectivity Detection and Opinion Identification. Opinion Mining and Sentiment Analysis. Now Publishers Inc. [Online]. http://www.cs.cornell.edu/home/llee/opinion-mining-sentiment-analysissurvey.html. Universitas Indonesia
Pang, B., Lee, L., Vaithyanathan, S. (2002). Thumbs up? Sentiment classification using machine learning techniques. In: Proceedings of the 2001 Conference on Empirical Methods in Natural Language Processing (EMNLP). Peri, Christopher. (2011). The Twitter API in 24 hours. Pearson Education. Rahardjo, M. (2008). Dasar-Dasar Hermeneutika - Antara Intensionalisme & Gadamerian. Ar-Ruzz Media.
Ranti, B. (2008). Identification of Information Systems/Information Technology Business Values with Hermeneutic Approach: Cases in Indonesia. Ph.D Thesis. Fakultas Ilmu Komputer, Universitas Indonesia. Jason D. M. Rennie & Ryan Rifkin. (2010). Improving Multiclass Text Classification with the Support Vector Machine. [Online]. http://www.ai.mit.edu. Sysomos
Blog.
(2010).
[Online]
Available:
http://blog.sysomos.com/2010/01/14/exploring-the-use-of-twitter-around-theworld. Tala, F. Z. (2003). A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia. Institute for Logic, Language and Computation Univeriteit van Amsterdam The Netherlands. Taras Zagibalov and John Caroll. (2008). Automatic Seed Word for Unsupervised Sentiment Classification of Chinese Text, International Conference on Computational Linguistics (COLING).
Trauth, E.M., and Jessup, L.M. (1999). Understanding Computer Mediated Discussions: Positivist and Interpretive Analyses of Group Support System Use. MIS Quarterly. Wibisono, Y. (2005). Klasifikasi Berita Berbahasa Indonesia memakai Naïve Bayes Classifier. [Online]. http:// fpmipa.upi.edu/staff/yudi/yudi_0805.pdf. Universitas Indonesia
Wulandini, F. & Nugroho, A. N. (2009). Text Classification Using Support Vector Machine for Webmining Based Spation Temporal Analysis of the Spread of Tropical
Diseases.
[Online].
http://asnugroho.net/papers/rict2009_textclassification.pdf. Yessenov, Kuat and Misailovic, Sasa. (2009). Sentiment Analysis of Movie Review Comments. 6863 Spring final project. Zhang, H. (2004). The Optimality of Naïve Bayes. FLAIRS2004 conference. [Online]. http://www.cs.unb.ca/profs/hzhang/publications/FLAIRS04ZhangH.pdf.
Kata tak Baku mlh donlot sapa krtu pndg pnding telp telf mlm sblm plsa pls blom blm blz bgt bntu bngd bntr bnus pulse signal wktu tahn stelah stlh stop ssah sopo somse user sori cacad cb cust cenang dapet bljr blkng
Kata Baku malah download siapa kartu pending pending telepon telepon malam sebelum pulsa pulsa belum belum balas banget bantu banget sebentar bonus pulsa sinyal waktu tahun setelah setelah berhenti susah siapa sombong pengguna maaf cacat coba pelanggan senang bisa belajar belakang