Untuk tugas deep learning ini
kami kelompok 4 disuruh membuat program sentiment analysis. Caranya:
-
Pertama kita perlu mempersiapkan beberapa hal:
o
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/
Kita bisa mendownload R dan R studio di https://cran.r-project.org/bin/windows/base/ dan https://www.rstudio.com/products/rstudio/download/
o
Akun facebook developer
Kita dapat membuat akun facebook developer di https://developers.facebook.com/
o
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
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 dipilih semua dan pilih dapatkan token akses
Kemudian kita perlu simpan token akses yang
dihasilkan (*Token Akses ini hanya berlaku sampai 2 jam, lebih dari itu perlu
membuatnya lagi.)
-
Kemudian kita jalankan Rstudio dan ketikkan
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 untuk sentiment analysis
nanti.
-
Kemudian ketikkan
library("tm")
library("SnowballC")
library("wordcloud")
library("RColorBrewer")
library(plyr)
library(stringr)
library(ggplot2)
library(devtools)
Perintah ini berguna memakai package
yang tadi sudah didownload.
-
Masukkan
perintah ini
install_github("pablobarbera/Rfacebook/Rfacebook")
library(Rfacebook)
Perintah ini berguna untuk menginstall package
berdasarkan link github dan memakai 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 post orang dengan bebas, tapi pada facebook
sekarang sudah tidak bisa, 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 buat 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 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
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"))
Komentar
Posting Komentar