library(rtweet)
library(tidyverse)
library(tidytext)
library(lsa) # Stopwörter
library(SnowballC) # Stemmingtwitter05
textmining
twitter
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).
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