1. Nauka
  2. /
  3. Kursy
  4. /
  5. Analiza sentymentu w R

Connected

ćwiczenie

Skalowana chmura porównawcza

Pamiętasz „inflację ocen" w wynikach polaryzacji dla recenzji wynajmu? Czasem inny sposób na wyciągnięcie wniosków polega na przeskalowaniu wyników z powrotem do 0, a następnie podzieleniu korpusu na podzbiory. Oznacza to, że niektóre wcześniej pozytywne komentarze mogą trafić do podzbioru negatywnego (lub odwrotnie), ponieważ średnia zostaje przesunięta do 0. W tym ćwiczeniu przeskalojesz wyniki, a następnie ponownie wyrenderujesz wykres comparison.cloud(). Usunięcie „inflacji ocen" może ujawnić dodatkowe spostrzeżenia.

Wcześniej zastosowałeś/aś polarity() do kolumny bos_reviews$comments i utworzyłeś/aś comparison.cloud(). W tym ćwiczeniu przed stworzeniem chmury zastosujesz scale() na wynikach polaryzacji. Sprawdź, czy wizualizacja pokaże coś nowego!

To głównie ćwiczenie powtórkowe – większość kodu jest już gotowa. Wystarczy, że uzupełnisz odpowiednie obiekty i parametry!

Instrukcje

100 XP
  • Przejrzyj fragment wczytanego obiektu bos_pol$all, indeksując go jako [1:6,1:3].
  • Dodaj nową kolumnę o nazwie scaled_polarity, stosując scale() do kolumny z wynikami polaryzacji bos_pol$all$polarity.
  • Dla pozytywnych komentarzy użyj subset(), wybierając wiersze, w których nowa kolumna bos_reviews$scaled_polarity jest większa niż (>) zero.
  • Dla negatywnych komentarzy użyj subset(), wybierając wiersze, w których nowa kolumna bos_reviews$scaled_polarity jest mniejsza niż (<) zero.
  • Utwórz pos_terms, stosując paste() do pos_comments.
  • Utwórz neg_terms, stosując paste() do neg_comments.
  • Połącz oba zagregowane dokumenty – pos_terms i neg_terms – w jeden korpus o nazwie all_terms.
  • Postępując zgodnie ze standardowym przepływem pracy w tm, zagnieździj VectorSource() wewnątrz VCorpus() i zastosuj do all_terms.
  • Utwórz TermDocumentMatrix() na podstawie obiektu all_corpus. Zwróć uwagę, że jest to TDM ważony TfIdf z podstawowymi funkcjami czyszczenia.
  • Przekształć all_tdm na all_tdm_m za pomocą as.matrix(). Następnie w istniejącym kodzie zmień nazwy kolumn na "positive" i "negative".
  • Na koniec! zastosuj comparison.cloud() do macierzy all_tdm_m. Zwróć uwagę na nowe, najczęściej występujące negatywne słowa – może uda się odkryć coś nieoczekiwanego!