Análise de sentimento no Twitter

Analisando dados de mídias sociais em R

Vivek Vijayaraghavan

Data Science Coach

Visão geral da lição

  • O que é análise de sentimento?
  • Fazer análise de sentimento em tweets
  • Interpretar para entender sentimentos e opiniões
Analisando dados de mídias sociais em R

Análise de sentimento

  • Obter percepção sobre um produto ou marca
  • Extrair e quantificar opiniões positivas, negativas e neutras
  • Emoções como confiança, alegria e raiva no texto

Emoções na análise de sentimento

Analisando dados de mídias sociais em R

Importância da análise de sentimento

  • Percepções dos clientes influenciam decisões de compra
  • Ajuda a entender o que os clientes sentem
  • Abordagem proativa para ouvir e engajar diretamente
Analisando dados de mídias sociais em R

Como funciona a análise de sentimento

  • Bibliotecas de sentimento pré-definidas para calcular escores
  • Treinadas e avaliadas pelo sentido ou intenção das palavras
  • Cada palavra recebe escore pela proximidade a positiva ou negativa
  • O mesmo vale para palavras que expressam emoções específicas
Analisando dados de mídias sociais em R

Etapas da análise de sentimento

Etapa 1 da análise de sentimento

Analisando dados de mídias sociais em R

Etapas da análise de sentimento

Etapa 2 da análise de sentimento

Analisando dados de mídias sociais em R

Etapas da análise de sentimento

Etapa 3 da análise de sentimento

Analisando dados de mídias sociais em R

Etapas da análise de sentimento

Etapa 4 da análise de sentimento

Analisando dados de mídias sociais em R

Extrair tweets para análise de sentimento

# Extract tweets on galaxy fold
twts_galxy  <-  search_tweets("galaxy fold", n = 5000, 
                                lang = "en", include_rts = FALSE)
Analisando dados de mídias sociais em R

Fazer análise de sentimento

# Perform sentiment analysis for tweets on galaxy fold
library(syuzhet)
sa.value <- get_nrc_sentiment(twts_galxy$text)
Analisando dados de mídias sociais em R

Ver escores de sentimento

# View the sentiment scores
sa.value[1:5,1:7]
anger    anticipation    disgust    fear    joy    sadness    surprise
<dbl>       <dbl>         <dbl>     <dbl>  <dbl>    <dbl>       <dbl> 
0             0             0         0      0        0           0
1             0             0         0      0        0           0
1             1             0         2      1        1           1
0             0             0         1      0        0           0
0             0             0         0      0        0           0
Analisando dados de mídias sociais em R

Soma dos escores de sentimento

# Calculate sum of sentiment scores
score <- colSums(sa.value[,])
Analisando dados de mídias sociais em R

Data frame de escores de sentimento

# Convert to data frame
score_df <- data.frame(score)
# View the data frame
score_df
               score
               <dbl>
anger           211            
anticipation    825            
disgust         214            
fear            253            
joy             412            
sadness         197            
surprise        315            
trust           641            
negative        487            
positive       1351
Analisando dados de mídias sociais em R

Data frame de escores de sentimento

# Convert row names into 'sentiment' column
# Combine with sentiment scores
sa.score <- cbind(sentiment = row.names(score_df), 
                  score_df, row.names=NULL)
Analisando dados de mídias sociais em R

Data frame de escores de sentimento

# View data frame with sentiment scores
print(sa.score)
sentiment      score
<fct>         <dbl>
anger           211            
anticipation    825            
disgust         214            
fear            253            
joy             412            
sadness         197            
surprise        315            
trust           641            
negative        487            
positive        1351    
Analisando dados de mídias sociais em R

Plotar e visualizar sentimentos

  • Plotar e visualizar sentimentos com ggplot()
# Plot the sentiment scores
ggplot(data = sa.score2, aes(x = sentiment, y = score, 
       fill = sentiment)) +
       geom_bar(stat = "identity") +
       theme(axis.text.x = element_text(angle = 45, hjust = 1))
Analisando dados de mídias sociais em R

Visualizar os sentimentos

Visualizar os sentimentos

Analisando dados de mídias sociais em R

Vamos praticar!

Analisando dados de mídias sociais em R

Preparing Video For Download...