Vergelijk Tidy-sentiment met Qdap-polariteit
Hier leer je dat verschillende sentimentmethoden tot verschillende resultaten leiden. Vaak hoef je alleen maar dat de richting overeenkomt, ook al verschillen de details. In de vorige oefening heb je tidy_reviews gemaakt: een data frame met huurreviews zonder stopwoorden. Eerder in dit hoofdstuk heb je de basisfunctie polarity() van qdap berekend en geplot. Daaruit bleek dat de reviews overwegend positief zijn.
Laten we nu een vergelijkbare analyse doen op de tidytext-manier! Denk terug aan een eerder hoofdstuk: je voert een inner_join() uit, gevolgd door count(), en daarna een pivot_wider().
Tot slot maak je een nieuwe kolom met mutate() waarin je positive - negative doorgeeft.
Deze oefening maakt deel uit van de cursus
Sentimentanalyse in R
Oefeninstructies
- Met de functie
get_sentiments()met "bing" haal je het bing-subjectiviteitslexicon op. Noem dit lexiconbing. - Omdat je deze code al in hoofdstuk 2 hebt geschreven, vul je nu simpelweg in
mutate()het lexiconobjectbingin, de nieuwe kolomnaam (polarity) en de bijbehorende berekening. - Roep tot slot
summary()aan op het nieuwe objectpos_neg. Hoewel de waarden verschillen, zijn de meeste huurreviews na het bekijken van het gemiddelde vergelijkbaar positief ten opzichte vanpolarity()? Zie je hier "cijferinflatie"?
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Get the correct lexicon
bing <- ___
# Calculate polarity for each review
pos_neg <- tidy_reviews %>%
inner_join(___) %>%
count(sentiment) %>%
pivot_wider(names_from = sentiment, values_from = n, values_fill = 0) %>%
mutate(___ = ___ - ___)
# Check outcome
___