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

Connected

ćwiczenie

Introspekcja emocjonalna

W tym ćwiczeniu wyjdziesz poza analizę pozytywnego i negatywnego języka. Zamiast tego podzielisz tekst według każdej z 8 emocji z koła emocji Plutchika i stworzysz wizualizację. Takie podejście daje większą precyzję – zamiast ogólnej oceny „pozytywne/negatywne", możesz przypisać słowa do konkretnych emocji.

Korzystając z leksykonu subiektywności "nrc" z biblioteki tidytext, wykonaj inner_join() z twoim tekstem. Leksykon "nrc" zawiera 8 emocji oraz klasy terminów pozytywnych i negatywnych. Po wykonaniu inner_join() trzeba będzie usunąć słowa pozytywne i negatywne. Można to zrobić za pomocą negacji ! i funkcji grepl().

Funkcja grepl() (ang. „Global Regular Expression Print Logical") zwraca wartość TRUE lub FALSE, gdy w danym wierszu zostanie znaleziony określony wzorzec tekstowy. W tym ćwiczeniu wyszukasz słowa „positive" LUB „negative" za pomocą operatora |, oznaczającego alternatywę – zwykle klawisz ten znajduje się nad klawiszem Enter na klawiaturze. Ponieważ negacja ! poprzedza grepl(), wartości TRUE i FALSE zostają zamienione, a wiersze pasujące do wzorca "positive|negative" są usuwane zamiast zachowywane.

Object <- tibble %>%
  filter(!grepl("positive|negative", column_name))

Następnie użyj count() na zidentyfikowanych słowach, a potem pivot_wider(), aby odpowiednio zorganizować ramkę danych.

comparison.cloud() wymaga, aby dane wejściowe miały nazwy wierszy – dlatego trzeba będzie przekonwertować je na bazową ramkę danych data.frame, używając argumentu row.names.

Instrukcje 1/2

undefined XP
    1
    2
  • Wykonaj inner_join() zbioru moby z nrc.
  • Używając filter() z negacją (!) i funkcją grepl(), wyszukaj "positive|negative". Kolumna do przeszukania nazywa się sentiment.
  • Użyj count(), aby policzyć wystąpienia według sentiment i term.
  • Przekształć ramkę danych za pomocą pivot_wider(), przekazując names_from = sentiment, values_from = n i values_fill = 0.
  • Przekonwertuj wynik na zwykłą ramkę danych za pomocą data.frame(), zamieniając kolumnę term na nazwy wierszy.
  • Zbadaj moby_tidy za pomocą head().