Source Code Sentimen Analisis Twitter dengan R
Source Code Sentimen Analisis Twitter dengan R - Opinion Mining / Sentiment Analysis (sebagian besar
researcher menganggap dua istilah ini sama/interchangeable) merupakan sebuah
cabang penelitian di domain Text Mining yang mulai booming pada awal tahun
2002-an. Riset-nya mulai marak semenjak paper dari B.Pang dan L.Lee [1] keluar.
Secara umum, Sentiment analysis ini dibagi menjadi 2 kategori besar :
1. Coarse-grained
sentiment analysis
2. Fined-grained sentiment
analysis
Coarse-grained sentiment analysis - kita mencoba melakukan
proses analysis pada level Dokumen. Singkatnya adalah kita mencoba
mengklasifikasikan orientasi sebuah dokumen secara keseluruhan. Orientasi ini
ada 3 jenih : Positif, Netral, Negatif. Akan tetapi, ada juga yang menjadikan
nilai orientasi ini bersifat kontinu / tidak diskrit.
Fined-grained sentiment analysis - kategori kedua ini yang
sedang Naik Daun sekarang. Maksudnya adalah para researcher sebagian besar
fokus pada jenis ini. Obyek yang ingin diklasifikasi bukan berada pada level
dokumen melainkan sebuah kalimat pada suatu dokumen.
Berikut dibawah ini merupakan tahapan dalam pembuatan
sentiment analyst menggunakan Bahasa pemrograman r.
library(tidyverse) library(tidytext) library(rtweet) #login create_token( app = "your_app", consumer_key = "###", consumer_secret = "###", access_token = "###", access_secret = "###") #tweet analysis search_term <- '#ChristmasEveEve' by <- 'hour' tweets <- search_tweets( search_term, n = 10000, retryonratelimit = TRUE ) tweets$date <- substr(tweets$created_at,1,10) tweets <- tweets[tweets$date == '2019-12-23',] rtweet::ts_plot(tweets, by = by, trim = 1) + geom_point() + theme_minimal() + labs(title = paste0('Tweets mentioning "',search_term,'" by ',by), x = 'Date', y = 'Count', caption = 'Source: Twitter API') #save ggsave('tweet_volume.png',last_plot()) #sentiment sentiment <- tweets[,3:5] %>% unnest_tokens(output = 'word', input = 'text') #add sentiment dataset sentiment_dataset <- get_sentiments("afinn") sentiment_dataset <- arrange(sentiment_dataset, -value) #merge sentiment <- merge(sentiment, sentiment_dataset, by = 'word') #clean sentiment$word <- NULL sentiment$screen_name <- NULL #time sentiment$hour <- format(round(sentiment$created_at, units="hours"), format="%H:%M") #pivot pivot <- sentiment %>% group_by(hour) %>% summarise(sentiment = mean(value)) #plot ggplot(pivot[-1,], aes(x = hour, y = sentiment)) + geom_line(group = 1) + geom_point() + theme_minimal() + labs(title = paste0('Average sentiment of tweetings mentioning "',search_term,'"'), subtitle = paste0(pivot$hour[2],' - ',pivot$hour[nrow(pivot)],' on ', format(sentiment$created_at[1], '%d %B %Y')), x = 'Date', y = 'Sentiment', caption = 'Source: Twitter API') ggsave('tweet_sentiment.png',last_plot(), width = 8, height = 6)
Post a Comment for "Source Code Sentimen Analisis Twitter dengan R"