Emotionele introspectie
In deze oefening ga je verder dan subsetten op positieve en negatieve taal. In plaats daarvan subset je tekst op elk van de 8 emoties in Plutchiks emotiewiel om een visual te maken. Met deze aanpak krijg je meer duidelijkheid in woordgebruik door woorden aan een specifieke emotie te koppelen in plaats van alleen positief of negatief.
Met de subjectiviteit-lexicon van tidytext, "nrc", voer je een inner_join() uit met je tekst. De "nrc"-lexicon heeft de 8 emoties plus de klassen positief en negatief. Dus je moet positieve en negatieve woorden verwijderen nadat je de inner_join() hebt uitgevoerd. Een manier om dat te doen is met de negatie, !, en grepl().
De "Global Regular Expression Print Logical"-functie, grepl(), geeft True of False terug als in elke rij een patroon in de string wordt gevonden. In deze oefening zoek je naar positive OF negative met de |-operator, die "of" voorstelt zoals hieronder. Vaak staat deze verticale streep boven de Enter-toets op een toetsenbord. Omdat de !-negatie vóór grepl() staat, wordt T of F omgedraaid zodat "positive|negative" wordt weggelaten in plaats van behouden.
Object <- tibble %>%
filter(!grepl("positive|negative", column_name))
Vervolgens pas je count() toe op de gevonden woorden, samen met pivot_wider() om het dataframe te organiseren.
comparison.cloud() vereist dat de input rijnamen heeft, dus je moet het omzetten naar een base-R data.frame door data.frame() aan te roepen met het argument row.names.
Deze oefening maakt deel uit van de cursus
Sentimentanalyse in R
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
moby_tidy <- moby %>%
# Inner join to nrc lexicon
___(___, by = c("term" = "word")) %>%
# Drop positive or negative
___(!___("___", sentiment)) %>%
# Count by sentiment and term
___(___, ___) %>%
# Pivot sentiment, using n for values
___(names_from = ___, values_from = ___, values_fill = ___) %>%
# Convert to data.frame, making term the row names
data.frame(row.names = "___")
# Examine
head(moby_tidy)