Analiza sentymentu na Twitterze

Analiza danych z mediów społecznościowych w R

Vivek Vijayaraghavan

Data Science Coach

Omówienie lekcji

  • Czym jest analiza sentymentu?
  • Przeprowadzanie analizy sentymentu na tweetach
  • Interpretacja odczuć i opinii użytkowników
Analiza danych z mediów społecznościowych w R

Analiza sentymentu

  • Pozyskiwanie informacji o postrzeganiu produktu lub marki
  • Wyodrębnianie i kwantyfikacja opinii pozytywnych, negatywnych i neutralnych
  • Emocje takie jak zaufanie, radość i gniew z tekstu

Emocje w analizie sentymentu

Analiza danych z mediów społecznościowych w R

Znaczenie analizy sentymentu

  • Postrzeganie przez klientów wpływa na decyzje zakupowe
  • Pozwala zrozumieć odczucia klientów
  • Proaktywne podejście do słuchania klientów i bezpośredniego angażowania się
Analiza danych z mediów społecznościowych w R

Jak działa analiza sentymentu

  • Predefiniowane biblioteki sentymentów do obliczania wyników
  • Trenowane i oceniane na podstawie znaczenia lub intencji słów
  • Każde słowo jest oceniane na podstawie bliskości do słowa pozytywnego lub negatywnego
  • Ta sama zasada dotyczy słów wyrażających konkretne emocje
Analiza danych z mediów społecznościowych w R

Etapy analizy sentymentu

Krok 1 w analizie sentymentu

Analiza danych z mediów społecznościowych w R

Etapy analizy sentymentu

Krok 2 w analizie sentymentu

Analiza danych z mediów społecznościowych w R

Etapy analizy sentymentu

Krok 3 w analizie sentymentu

Analiza danych z mediów społecznościowych w R

Etapy analizy sentymentu

Krok 4 w analizie sentymentu

Analiza danych z mediów społecznościowych w R

Pobieranie tweetów do analizy sentymentu

# Extract tweets on galaxy fold
twts_galxy  <-  search_tweets("galaxy fold", n = 5000, 
                                lang = "en", include_rts = FALSE)
Analiza danych z mediów społecznościowych w R

Przeprowadzanie analizy sentymentu

# Perform sentiment analysis for tweets on galaxy fold
library(syuzhet)
sa.value <- get_nrc_sentiment(twts_galxy$text)
Analiza danych z mediów społecznościowych w R

Wyświetlanie wyników sentymentu

# 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
Analiza danych z mediów społecznościowych w R

Suma wyników sentymentu

# Calculate sum of sentiment scores
score <- colSums(sa.value[,])
Analiza danych z mediów społecznościowych w R

Ramka danych z wynikami sentymentu

# 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
Analiza danych z mediów społecznościowych w R

Ramka danych z wynikami sentymentu

# Convert row names into 'sentiment' column
# Combine with sentiment scores
sa.score <- cbind(sentiment = row.names(score_df), 
                  score_df, row.names=NULL)
Analiza danych z mediów społecznościowych w R

Ramka danych z wynikami sentymentu

# 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    
Analiza danych z mediów społecznościowych w R

Wizualizacja sentymentów

  • Wizualizacja sentymentów za pomocą 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))
Analiza danych z mediów społecznościowych w R

Wizualizacja sentymentów

Wizualizacja sentymentów

Analiza danych z mediów społecznościowych w R

Czas na ćwiczenia!

Analiza danych z mediów społecznościowych w R

Preparing Video For Download...