Cara Sentiment Analysis Twitter dengan R



Hello BITers, pada tutorial kali ini kita akan mempelajari Sentiment Analysis Twitter dengan R Program, sebelumnya, Apa itu Sentiment Analysis ?

Sentiment Analysis adalah pengolahan kata untuk melacak mood masyarakat tentang produk atau topik tertentu. Analisis Sentimen disebut opinion mining (G.Vinodhini, M. Chandrasekaran 2012)

Pertama Download terlebih dahulu software R yang kita butuhkan, kalian bisa pilih salah satu dari software dibawah ini


Disini saya memilih memakai CRAN karena sedikit lebih ringan dan simple dibanding dengan RStudio.

Buka Program R yang kamu download lalu pertama tama kita akan download modul-modul yang kita butuhkan yaitu twitteR, RCurl,  ketikan
install.packages('twitteR')
install.packages('RCurl')
install.packages('wordcloud')
install.packages('corpus')
install.packages('tm')


Tunggu sampai semua proses selesai, setelah itu aktifkan semua modul yang telah di download
require(twitteR)
require(wordcloud)
require(corpus)
require(tm)
require(RCurl)

Untuk melakukan mining di twitter kita terlebih dahulu mengirim secure authorized request ke twitter API, dengan cara masuk ke website https://apps.twitter.com/ lalu login dengan akun twitter kalian yang telah diverifikasi nomer HP.

selanjutnya pilih Create New App, lalu isikan form yang tersedia



setelah berhasil, pilih tab Keys and Access Token, lalu kalian akan temukan kode API yang akan digunakan.




selanjutnya masuk ke kodingan kalian untuk mendaftarkan API kalian, dengan cara ketikan

consumer_key <- 'isi dengan Consumer Key'
consumer_secret <- 'isi dengan Consumer Secret'
access_token <- 'isi dengan Access Token'
access_secret <- 'isi dengan Access Secret'
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)

jika tidak ada error maka kalian telah terhubung dengan API Twitter
Selanjutnya kita akan mulai mining tweets twitter


buat terlebih dahulu variable baru, lalu panggil fungsi search twitter, Disini saya mengambil tema tentang pelecehan seksual pada anak, maka saya masukkan kata kunci "anak+perkosa", lalu masukan lang "id" dan seberapa banyak tweet yang akan kita tampilkan,
miningtweets <- searchTwitter('anak+perkosa', lang="id", n=500,resultType="recent")


lalu akan muncul warning message seperti ini
Warning message:
In doRppAPICall("search/tweets", n, params = params, retryOnRateLimit = retryOnRateLimit,  :
  500 tweets were requested but the API can only return 339

dari warning message tersebut mengatakan berhasil mengambil tweet sebanyak 339 tweet,
sebelum kita menampilkan tweet, terlebih dahulu kita konversikan menjadi text dengan ketikan
miningtweets_text <- sapply(miningtweets,function(x) x$getText())
str(miningtweets_text)


lalu kita akan coba tampilkan semua tweet yang kita mining, buat variable baru lalu panggil fungsi corpus dengan parameter variableyang kita buat sebelumnya
kasar_corpus <- Corpus(VectorSource(miningtweets_text))
inspect(kasar_corpus)



selanjutnya kita akan membersihkan tweet dari elemen elemen yang tidak dibutuhkan seperti angka, spasi, dan hapus juga kata kunci yang tadi kita gunakan

porno_clear <- tm_map(kasar_corpus, removePunctuation)
porno_clear <- tm_map(porno_clear, removeNumbers)
porno_clear <- tm_map(porno_clear, stripWhitespace)
porno_clear <- tm_map(porno_clear, removeWords, c("Anak",Perkosa"))


Setelah berhasil lalu kita akan tampilkan wordcloud, fungsi ini adalah fungsi dari R yang sangat menarik karena kita dapat menyusun kata kata menjadi sebuah susunan seperti awan
wordcloud(porno_clear)



Kalian juga dapat memodifikasi wordcloud kalian dengan perintah:

Menyusun kata dengan frekuensi terbanyak menjadi di tengah
wordcloud(porno_clear, random.order=F)

Memberikan warna
wordcloud(porno_clear, random.order=F, col=rainbow(50))

Membatasi jumlah kata
wordcloud(porno_clear, random.order=F, max.word=50)


Thanks to :
- Erlandika
- M. Ridwan
- Nicko Fajar
- Rizki Arima

(4IA10)

Previous
Next Post »