Analisi del sentiment su Twitter

Analisi dei dati dei social media in R

Vivek Vijayaraghavan

Data Science Coach

Panoramica della lezione

  • Cos'è l'analisi del sentiment?
  • Esegui l'analisi sui tweet
  • Interpreta per capire opinioni ed emozioni
Analisi dei dati dei social media in R

Analisi del sentiment

  • Ricava insight sulla percezione di un prodotto o brand
  • Estrai e quantifica opinioni positive, negative e neutre
  • Emozioni come fiducia, gioia e rabbia dal testo

Emozioni nell'analisi del sentiment

Analisi dei dati dei social media in R

Perché è importante

  • Le percezioni dei clienti influenzano gli acquisti
  • Aiuta a cogliere il polso di ciò che provano i clienti
  • Approccio proattivo per ascoltare e coinvolgere direttamente
Analisi dei dati dei social media in R

Come funziona l'analisi del sentiment

  • Librerie di sentiment predefinite per calcolare i punteggi
  • Addestrate e valutate in base al significato o intento delle parole
  • Ogni parola ha un punteggio in base alla vicinanza a termini positivi o negativi
  • Stesso concetto esteso a parole che esprimono emozioni specifiche
Analisi dei dati dei social media in R

Fasi dell'analisi del sentiment

Fase 1 dell'analisi del sentiment

Analisi dei dati dei social media in R

Fasi dell'analisi del sentiment

Fase 2 dell'analisi del sentiment

Analisi dei dati dei social media in R

Fasi dell'analisi del sentiment

Fase 3 dell'analisi del sentiment

Analisi dei dati dei social media in R

Fasi dell'analisi del sentiment

Fase 4 dell'analisi del sentiment

Analisi dei dati dei social media in R

Estrai tweet per l'analisi del sentiment

# Extract tweets on galaxy fold
twts_galxy  <-  search_tweets("galaxy fold", n = 5000, 
                                lang = "en", include_rts = FALSE)
Analisi dei dati dei social media in R

Esegui l'analisi del sentiment

# Perform sentiment analysis for tweets on galaxy fold
library(syuzhet)
sa.value <- get_nrc_sentiment(twts_galxy$text)
Analisi dei dati dei social media in R

Visualizza i punteggi di sentiment

# 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
Analisi dei dati dei social media in R

Somma dei punteggi di sentiment

# Calculate sum of sentiment scores
score <- colSums(sa.value[,])
Analisi dei dati dei social media in R

Data frame dei punteggi di sentiment

# 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
Analisi dei dati dei social media in R

Data frame dei punteggi di sentiment

# Convert row names into 'sentiment' column
# Combine with sentiment scores
sa.score <- cbind(sentiment = row.names(score_df), 
                  score_df, row.names=NULL)
Analisi dei dati dei social media in R

Data frame dei punteggi di sentiment

# 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    
Analisi dei dati dei social media in R

Traccia e visualizza i sentiment

  • Traccia e visualizza i sentiment con 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))
Analisi dei dati dei social media in R

Visualizza i sentiment

Visualizza i sentiment

Analisi dei dati dei social media in R

Passiamo alla pratica !

Analisi dei dati dei social media in R

Preparing Video For Download...