1. 학습
  2. /
  3. 강의
  4. /
  5. Analiza sentymentu w R

Connected

연습 문제

Gdzie można zaobserwować prawo Zipfa?

Zipf zaobserwował stromy i przewidywalny spadek częstości używania słów – być może jednak nie jesteś do końca przekonany do jego prawa. Możesz myśleć: „Znam mnóstwo słów i posługuję się bogatym słownictwem". Być może tak jest w twoim przypadku, ale nie można tego powiedzieć o większości ludzi! Aby to udowodnić, skonstruujemy wizualizację na podstawie 3 milionów tweetów zawierających „#sb". Pamiętaj, że wizualizacja nie odzwierciedla prawa Zipfa idealnie – wszystkie tweety zawierały ten sam hashtag, więc dane są nieco zniekształcone. Mimo to wykres, który stworzysz, pokazuje wyraźny spadek, świadczący o niewielkiej różnorodności leksykalnej wśród milionów tweetów. Oznacza to, że za stosowaniem leksykonów w analizie języka naturalnego stoi solidna podstawa naukowa!

W tym ćwiczeniu użyjesz pakietu metricsgraphics. Choć autor sugeruje użycie operatora potoku %>%, wykres skonstruujesz krok po kroku, aby poznać poszczególne elementy wykresu. Główną funkcją pakietu metricsgraphics jest mjs_plot() – to od niej zaczyna się tworzenie wykresu JavaScript. Na tej podstawie możesz następnie dodawać kolejne warstwy.

Poniżej znajduje się przykładowy przepływ pracy z pakietem metricsgraphics bez użycia operatora %>%:

metro_plot <- mjs_plot(data, x = x_axis_name, y = y_axis_name, show_rollover_text = FALSE)
metro_plot <- mjs_line(metro_plot)
metro_plot <- mjs_add_line(metro_plot, line_one_values)
metro_plot <- mjs_add_legend(metro_plot, legend = c('names', 'more_names'))
metro_plot

지침

100 XP
  • Użyj head() na sb_words, aby przejrzeć najczęściej występujące słowa.
  • Utwórz nową kolumnę expectations, dzieląc największą częstość słów, freq[1], przez kolumnę rank.
  • Zainicjuj sb_plot za pomocą mjs_plot().
    • Przekaż sb_words z argumentami x = rank i y = freq.
    • Wewnątrz mjs_plot() ustaw show_rollover_text na FALSE.
  • Nadpisz sb_plot za pomocą mjs_line() i przekaż sb_plot.
  • Rozbuduj sb_plot za pomocą mjs_add_line().
    • Przekaż poprzedni obiekt sb_plot oraz wektor expectations.
  • Dodaj legendę do nowego obiektu sb_plot za pomocą mjs_add_legend().
    • Przekaż poprzedni obiekt sb_plot.
    • Etykiety legendy powinny składać się z "Frequency" i "Expectation".
  • Wywołaj sb_plot, aby wyświetlić wykres. Najedź kursorem na punkt, aby jednocześnie wyróżnić wartości freq i Expectation. To właśnie magia JavaScriptu!