twitter05

textmining
twitter
Published

October 28, 2022

Exercise

Laden Sie \(n=10^k\) Tweets von Twitter herunter (mit \(k=2\)) via der Twitter API; Suchterm soll sein “(karl_lauterbach?)”. Bereiten Sie die Textdaten mit grundlegenden Methoden des Textminings auf (Tokenisieren, Stopwörter entfernen, Zahlen entfernen, …).

Nutzen Sie die Daten, um eine Sentimentanalyse zu erstellen.











Solution

Nutzen Sie die Daten der letzten Aufgabe, um eine Sentimentanalyse zu erstellen.

Zuerst muss man sich anmelden und die Tweets herunterladen; dieser Teil ist hier nicht aufgeführt (s. andere Aufgaben).

library(rtweet)
library(tidyverse)
library(tidytext)
library(lsa)  # Stopwörter
library(SnowballC)  # Stemming

Beachten Sie, dass die Spalten je nach Funktion, die Sie zum Herunterladen der Tweets verwenden, unterschiedlich heißen können.

karl2 <- 
  karl1 %>% 
  select(contains("text"))
karl3 <- 
  karl2 %>% 
  unnest_tokens(output = word, input = text)
karl4 <- 
karl3 %>% 
  anti_join(tibble(word = lsa::stopwords_de)) 
karl5 <- 
  karl4 %>% 
  mutate(word = str_replace_na(word, "^[:digit:]+$")) %>% 
  mutate(word = str_replace_na(word, "hptts?://\\w+")) %>% 
  mutate(word = str_replace_na(word, " +")) %>% 
  drop_na()
data(sentiws, package = "pradadata")
karl7 <-
  karl5 %>% 
  inner_join(sentiws)
karl7 %>% 
  group_by(neg_pos) %>% 
  summarise(senti_avg = mean(value, na.rm = TRUE),
            senti_sd = sd(value, na.rm = TRUE),
            senti_n = n())

Achtung, Sentimentanalyse sollte vor dem Stemming kommen.


Categories:

  • textmining
  • twitter