Testing Sentiment Analysis pada Facebook menggunakan RStudio
Untuk
menyelesaikan tugas Deep Learning, kami dari Kelompok 4 yang beranggotakan:
1. Erico
2. Nalom
3. M. Tomi
4. Meltha
Disini kami akan
mencoba membuat/mengembangkan/mencoba Program Sentiment Analysis pada kolom
komentar yang bersifat SARA di facebook. Caranya sebagai berikut:
Pertama -tama kita perlu mempersiapkan beberapa hal:
· R dan
Rstudio
Kita bisa mendownload R dan R studio di https://cran.r-project.org/bin/windows/base/ dan https://www.rstudio.com/products/rstudio/download/
· Akun
facebook developer
· Token
Akses dari Penjelajah API Graf
Kita bisa
mendapatkan token akses dari API Graph Explorer dengan cara pada https://developers.facebook.com/ pilih
Alat & Dukungan, pilih Penjelajah API Graf kemudian akan muncul tampilan
seperti ini.
Pilih,
dapatkan token dan izinnya, centang semua lalu pilih dapatkan token akses.
Kita
perlu simpan token akses yang dihasilkan (*Token Akses ini hanya berlaku sampai
2 jam, lebih dari itu perlu membuatnya lagi.)
Kemudian, kita jalankan Program Rstudio nya dan ketikkan sebagai berikut:
install.packages("devtools")
install.packages("plyr")
install.packages("stringr")
install.packages("ggplot2")#
Install
install.packages("tm") #
for text mining
install.packages("SnowballC")
# for text stemming
install.packages("wordcloud")
# word-cloud generator
install.packages("RColorBrewer")
# color palettes
(Perintah
ini berguna untuk menginstall packages yang kita butuhkan)
Ketikkan
lagi:
library("tm")
library("SnowballC")
library("wordcloud")
library("RColorBrewer")
library(plyr)
library(stringr)
library(ggplot2)
library(devtools)
(Perintah
ini berguna menggunkan package yang tadi sudah kita download)
Masukkan
lagi perintah ini:
install_github("pablobarbera/Rfacebook/Rfacebook")
library(Rfacebook)
(Perintah
ini berguna untuk menginstall package berdasarkan link github dan langsung
menggunakan package tersebut)
Untuk
memakai API Facebook kita perlu memasukkan token akses yang tadi sudah kita
persiapkan dengan perintah
fb_auth =
'token akses'
Pada twitter
kita bisa mengambil postingan orang dengan bebas, tapi beda halnya dengan Facebook
sekarang sudah tidak bisa lagi, maka kita perlu mencari halaman pada facebook
untuk dilihat postingannya dengan perintah:
fb_page
<- getPage(page="TirtoID", token=fb_auth, n = 150, feed
= FALSE, reactions = TRUE, verbose = TRUE, api = "v2.9")
Setelah
itu kita perlu melihat hasil yang didapatkan dengan perintah
View(fb_page)
Setelah
melihat hasilnya, kita perlu memilih postingan mana yang akan diambil
komentarnya dan mengubahnya menjadi dataframe serta melihat hasilnya kembali.
Perintahnya
fb_post
<- getPost(post = '1515768312081946_2037957289863043', n=139,
token=fb_auth,api = "v2.9")
fb_post_df
<- as.data.frame(fb_post[2])
View(fb_post_df)
Setelah
itu komen yang kita dapatkan masih belum bersih dari tanda baca, kita perlu
membersihkannya dan melihat hasilnya lagi dengan perintah
comments_data
<- sapply(fb_post_df$comments.message,function(row) iconv(row,
"latin1", "ASCII", sub=""))
comments_data
<- gsub("@\\w+", "", comments_data)
comments_data
<- gsub("#\\w+", '', comments_data)
comments_data
<- gsub("RT\\w+", "", comments_data)
comments_data
<- gsub("http.*", "", comments_data)
comments_data
<- gsub("RT", "", comments_data)
comments_data
<- sub("([.-])|[[:punct:]]", "\\1", comments_data)
comments_data
<- sub("(['])|[[:punct:]]", "\\1", comments_data)
View(comments_data)
Kemudian
data yang sudah bersih tadi dapat kita analisis dan dibuatkan gambar. Caranya
kita perlu masukkan data yang sudah bersih tadi ke Corpus, periksa isi dokumen
tersebut dan mengubah teks dalam data tersebut menjadi huruf kecil, menghapus
angka, dan yang lainnya dengan perintah:
docs <- Corpus(VectorSource(comments_data))
inspect(docs)
# Convert the text to lower case
docs <- tm_map(docs, content_transformer(tolower))
# Remove numbers
docs <- tm_map(docs, removeNumbers)
# Remove english common stopwords
docs <- tm_map(docs, removeWords, stopwords("english"))
# Remove your own stop word
# specify your stopwords as a character vector
docs <- tm_map(docs, removeWords, c("blabla1",
"blabla2"))
# Remove punctuations
docs <- tm_map(docs, removePunctuation)
# Eliminate extra white spaces
docs <- tm_map(docs, stripWhitespace)
Kemudian kita mulai menganalisa kata-kata yang sering muncul pada data
tersebut, dengan perintah:
dtm <- TermDocumentMatrix(docs)
m <- as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
head(d, 10)
Kita
dapat membuat word cloud dari data yang sudah dianalisa tersebut dengan
perintah sebagai berikut:
set.seed(1234)
wordcloud(words = d$word, freq = d$freq, min.freq = 1,
max.words=200,
random.order=FALSE, rot.per=0.35,
colors=brewer.pal(8,
"Dark2"))
Min saya udah coba tes tentang mining datanya tapi pas udah nyampe di tahap fb_page <- nya error. Kenapa ya min?
BalasHapus