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
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
Post a Comment