Sentiment Analisis


- Pengertian
Sentimen analisis adalah jenis natural language yaitu pengolahan kata untuk melacak mood masyarakat tentang produk atau topic tertentu. Sentimen analisis juga disebut dengan opinion mining. Sentimen analisis merupakan sebuah cabang penelitian dalam text mining yang mulai booming pada awal tahun 2002-an. Risetnya mulai marak semenjak paper dari B. Pang dan L. Lee. Secara umum, sentimen analisis terbagi menjadi 2 kategori besar yaitu :
a. Coarse-grained sentiment analisis
b. Fined-grained sentiment analisis
Coarse-grained sentiment analisis melakukan proses analisis pada level dokumen. Pengklasifikasian berorientasi pada sebuah dokumen secara keseluruhan, yaitu positif, netral dan negative. Sedangkan fined-grained sentiment analisis melakukan proses analisis sebuah kalimat. Contoh sebuah fined-grained sentiment analisis :
- Saya tidak suka programming, klasifikasi negatif
- Hotel itu sangat indah sekali, klasifikasi positif

- Metode
a. Metode Support Vector Machine (SVM)
Support Vector Machine (SVM) adalah sistem pembelajaran mesin yang menggunakan ruang hipotesis berupa fungsi-fungsi linier dalam sebuah ruang fitur (feature space) berdimensi tingggi, dilatih dengan algoritma pembelajaran yang didasarkan pada teori optimasi dengan mengimplementasikan learning bias yang berasal dari teori pembelajaran statistic.

b. Metode Backpropagation
Backpropagation adalah salah satu metode dalam artificial neural network yang memiliki struktur jaringan layered feed-forward. Backpropagation terdiri dari banyak neuron dengan kemampuan nonlinear mapping. Backpropagation merupakan salah satu metode yang sederhana dan umum digunakan untuk supervised training pada multilayer artificial neural networks. Backpropagation bekerja dengan memperkirakan hubungan nonlinear antara input dan output dengan menyesuaikan nilai bobotnya sesuai dengan nilai minimum dari error function sehingga memungkinkan jaringan untuk berpusat pada keadaan stabil dan memberikan output yang sesuai ketika menerima masukan yang tidak termasuk ke dalam pola data training. Secara umum, jaringan backpropagation memiliki dua tahap, training dan testing. Pada tahap training, network melakukan proses dengan pola input dan klasifikasi yang benar. Pada tahap testing, input yang digunakan adalah input baru yang tidak termasuk ke dalam pola input training, sehingga akan diketahui hasil klasifikasi berdasarkan tahap training.

c. Metode Naïve Bayes 
Naïve Bayes classifier merupakan suatu metode klasifikasi yang menggunakan perhitungan probabilitas. Konsep dasar yang digunakan pada Naïve Bayes classifier adalah Teorema Bayes yang dinyatakan pertama kali oleh Thomas Bayes.

- Contoh Kasus

Untuk membuat program sentiment analisis ini, kita membutuhkan secure authorized request ke twitter API, cara membuatnya adalah pergi ke laman http://apps.twitter.com lalu login dengan twitter dan create new application

Selanjutnya kita akan membuat program sentiment analisis ini dengan bahasa R, software yang digunakan disini adalah RStudio

Buka RStudio lalu install package berikut :
Install.packages(twitteR)
Install.packages(ROAuth)
Install.packages(plyr)
Install.packages(RCurl)
Install.packages(wordcloud)
Install.packages(corpus)
Install.packages(tm)

Packages twitteR adalah package yang utama, karena package tersebut merupakan package official dari twitter yang digunakan untuk mengakses twitter API, sisanya merupakan package pendukung yang akan digunakan untuk mining data dari twitter. Setelah package terinstall, selanjutnya gunakan perintah require pada masing-masing package untuk mengaktifkan package yang telah terinstall dan akan digunakan.

Require(twitteR)
Require(ROAuth)
Require(plyr)
Require(RCurl)
Require(wordcloud)
Require(corpus)
Require(tm)

Selanjutnya kita masukkan consumer key, consumer key secret, access token, dan access token secret agar terhubung dengan app yang telah kita buat tadi untuk mengakses twitter API. Untuk mengecek consumer key, dkk bisa dilihat di tab keys and access tokens di app kita tadi.

consumer_key <- “insert your consumer key”
consumer_secret <- “insert your consumer secret”
access_token <- “insert your access token”
access_secret <- “insert your access token secret”
setup_twitter_oauth(consumer_key,consumer_secret,access_token,access_secret)

Setup_twitter_oauth digunakan untuk mengakses token dan kode yang telah kita masukkan tadi dan mengauthentikasinya apakah valid atau tidak kode tersebut.

Selanjutnya kita akan memulai proses mining tweet pada twitter
miningtweets <- searchTwitter('ahok+muslim', lang = "id", n=500, resultType = "recent")
kita akan mencari tweet yang berhubungan dengan ahok dan muslim, karena kelompok kami mengangkat tema SARA sesuai dengan kasus yang pernah popular di beberapa bulan yang lalu, lalu tweet tersebut dicari dengan bahasa Indonesia dengan jumlah tweet 500 dan tipenya adalah recent (sekarang/terbaru)

lalu kita konversi tweet tersebut ke dalam text dan tampilkan semua tweet yang telah kita mining
miningtweets <- sapply(miningtweets,function(x)x$getText())
str(miningtweets)
sara <- Corpus(VectorSource(miningtweets))
inspect(sara)
kemudian akan muncul seperti ini


Selanjutnya kita akan menghilangkan tanda baca, angka, spasi dan kata kunci yang kita gunakan untuk mendapatkan kata-kata dari tweet yang telah kita mining
sara_clear <- tm_map(sara,removePunctuation)
sara_clear <- tm_map(sara_clear,removeNumbers)
sara_clear <- tm_map(sara_clear,stripWhitespace)
sara_clear <- tm_map(sara_clear,removeWords,c("ahok","muslim"))

Kemudian kita munculkan kata-kata yang telah kita bersihkan tadi
wordcloud(sara_clear)

Seperti ini hasilnya


Sumber :
http://alfan-farizki.blogspot.co.id/2011/01/apa-itu-sentiment-analysis-opinion.html
https://media.neliti.com/media/publications/68900-ID-none.pdf
https://www.researchgate.net/publication/303942719_ANALISIS_SENTIMEN_PENGGUNA_JEJARING_SOSIAL_MENGGUNAKAN_METODE_SUPPORT_VECTOR_MACHINE

Comments

Popular posts from this blog

Kartini, Pejuang Hak Emansipasi Wanita

Review Aplikasi : JOOX (Android)

Live streaming web audio dan video