Bing tidy-polariteit: eenvoudig voorbeeld
Nu je de basis van een inner join begrijpt, passen we dit toe op het "Bing"-lexicon. Onthoud dat de functie inner_join() uit dplyr komt en dat je het lexiconobject ophaalt met de get_sentiments()-functie van tidytext.
Het Bing-lexicon labelt woorden als positief of negatief. In de volgende drie oefeningen ga je met dit specifieke lexicon aan de slag. Om get_sentiments() te gebruiken, geef je een string door zoals "afinn", "bing", "nrc" of "loughran" om het betreffende lexicon te downloaden.
De inner join-werkwijze:
- Haal het juiste lexicon op met
get_sentiments(). - Geef het lexicon en de tidy tekstgegevens door aan
inner_join(). - Voor
inner_join()moet er een gedeelde kolomnaam zijn. Als die er niet is, geef je die op met een extra parameter,bygelijk aancmet kolomnamen zoals hieronder.
object <- x %>%
inner_join(y, by = c("column_from_x" = "column_from_y"))
- Voer vervolgens aggregatie en analyse uit op de doorsnede van de tabellen.
Deze oefening maakt deel uit van de cursus
Sentimentanalyse in R
Oefeninstructies
We hebben ag_txt geladen met de eerste 100 regels uit Agamemnon en ag_tidy, de tidy-versie.
- Gebruik ter vergelijking
polarity()opag_txt. - Haal het
"bing"-lexicon op door die string door te geven aanget_sentiments(). - Voer een
inner_join()uit metag_tidyenbing.- De woordkolommen heten
"term"inag_tidyen"word"in het lexicon, dus geef hetby-argument op. - Noem het nieuwe object
ag_bing_words.
- De woordkolommen heten
- Print
ag_bing_wordsen bekijk een paar van de woorden in het resultaat. - Geef
ag_bing_wordsdoor aancount()vansentimentmet de pipe-operator %>%. Vergelijk depolarity()-score met de verhouding van het aantal sentimenten.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Qdap polarity
___
# Get Bing lexicon
bing <- get_sentiments("___")
# Join text to lexicon
ag_bing_words <- ___(___, ___, by = c("___" = "___"))
# Examine
ag_bing_words
# Get counts by sentiment
ag_bing_words %>%
___(___)