Porównanie analizy nastrojów Tidy z polaryzacją Qdap
Przekonasz się tutaj, że różne metody analizy nastrojów dają różne wyniki. Często wystarczy, że wyniki są zgodne co do kierunku, nawet jeśli szczegóły się różnią. W poprzednim ćwiczeniu utworzyłeś(-aś) tidy_reviews – ramkę danych zawierającą recenzje wynajmu bez stop słów. Wcześniej w tym rozdziale obliczyłeś(-aś) i zwizualizowałeś(-aś) wyniki podstawowej funkcji polarity() z pakietu qdap, która pokazała, że recenzje mają zazwyczaj pozytywny wydźwięk.
Teraz przeprowadzimy podobną analizę w stylu tidytext! Przypomnij sobie z wcześniejszego rozdziału: wykonasz inner_join(), następnie count(), a potem pivot_wider().
Na koniec utworzysz nową kolumnę za pomocą mutate(), przekazując wyrażenie positive - negative.
To ćwiczenie jest częścią kursu
Analiza sentymentu w R
Instrukcje do ćwiczenia
- Użyj funkcji
get_sentiments()z argumentem"bing", aby pobrać leksykon subiektywności bing. Przypisz leksykon do obiektubing. - Ponieważ ten kod pisałeś(-aś) już w rozdziale 2, wystarczy, że wprowadzisz obiekt leksykonu
bing, nazwę nowej kolumny (polarity) oraz jej obliczenie w funkcjimutate(). - Na koniec wywołaj
summary()na nowym obiekciepos_neg. Mimo że wartości są różne, sprawdź średnią – czy większość recenzji wynajmu jest równie pozytywna jak w przypadku użyciapolarity()? Czy zauważasz efekt „zawyżonych ocen"?
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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
___