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

Connected

ćwiczenie

Stres w natarciu!

W tym ćwiczeniu dostosujesz listę słów negatywnych do konkretnego tekstu, a następnie porównasz wyniki polarity() – domyślny i uzyskany dzięki niestandardowemu leksykonowi.

Popularna piosenka Twenty One Pilots nosi tytuł „Stressed Out". Skanując tekst, łatwo zauważysz, że mówi on o nostalgii za dzieciństwem. Większość słuchaczy uznałaby jej wydźwięk za negatywny – w refrenie przewijają się motywy stresu, lęków i udawania.

Porównajmy tekst piosenki z użyciem domyślnego leksykonu subiektywności i leksykonu niestandardowego.

Na początku sprawdź, czy leksykon subiektywności key.pol nie zawiera już szukanego terminu. Jednym ze sposobów na to jest użycie funkcji grep(), która zwraca wiersze pasujące do podanego wzorca. Oto przykład z indeksowaniem:

data_frame[grep("search_pattern", data_frame$column), ]

Po upewnieniu się, że wyrażenie slangowe lub nowe słowo nie znajduje się jeszcze w leksykonie key.pol, możesz je dodać. Poniższy kod tworzy nowy leksykon za pomocą sentiment_frame(). Funkcja ta przyjmuje oryginalny wektor słów pozytywnych positive.words, a następnie oryginalną listę negative.words połączoną ze słowami slangowymi: „smh" i „kappa", które mają negatywny wydźwięk. Wagi pozytywne i negatywne można zadeklarować ręcznie, ale domyślnie wynoszą odpowiednio 1 i -1, więc w przykładzie poniżej zostały pominięte.

custom_pol <- sentiment_frame(positive.words, c(negative.words, "hate", "pain"))

Teraz możesz zastosować funkcję polarity – będzie ona korzystać z niestandardowego leksykonu subiektywności!

Instrukcje

100 XP

Zmienna stressed_out zawiera tekst piosenki „Stressed Out" zespołu Twenty One Pilots.

  • Użyj polarity() na stressed_out, aby uzyskać domyślny wynik.
  • Sprawdź leksykon key.pol pod kątem słów zawierających „stress". Użyj grep(), aby zindeksować ramkę danych, przeszukując kolumnę x.
  • Utwórz custom_pol jako nową ramkę danych sentymentu.
    • Wywołaj sentiment_frame() i przekaż positive.words jako pierwszy argument, bez dodawania nowych terminów.
    • Następnie użyj c(), aby połączyć negative.words z nowymi terminami "stressed" i "turn back".
  • Ponownie zastosuj polarity() na stressed_out, dodając parametr polarity.frame = custom_pol, aby sprawdzić, jak nowe słowa zmieniają wynik na trafniejszy opis wydźwięku piosenki.