1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Sentiment Analysis in R

Connected

cvičení

Kde lze pozorovat Zipfův zákon?

Zipf sice pozoroval strmý a předvídatelný pokles ve frekvenci používání slov, ale možná nejsi zcela přesvědčen/a. Možná si říkáš: „Znám spoustu slov a mám osobitou slovní zásobu." To může být pravda, ale o většině lidí to říct nelze! Abychom to dokázali, sestavíme vizualizaci z 3 milionů tweetů zmiňujících „#sb". Měj na paměti, že vizualizace neodpovídá Zipfově zákonu dokonale — všechny tweety obsahovaly stejný hashtag, takže jsou data trochu zkreslená. I přesto sledovaný graf vykazuje strmý pokles, který ukazuje na nízkou lexikální rozmanitost v milionech tweetů. Takže za používáním lexikonů při analýze přirozeného jazyka skutečně stojí věda!

V tomto cvičení využiješ balíček metricsgraphics. Ačkoli autor doporučuje použít operátor %>%, graf sestavíš krok za krokem, abys lépe pochopil/a jeho jednotlivé části. Hlavní funkcí balíčku metricsgraphics je funkce mjs_plot(), která je prvním krokem při vytváření JavaScriptového grafu. Jakmile ji máš, můžeš na graf přidávat další vrstvy.

Ukázkový postup s balíčkem metricsgraphics bez operátoru %>% vypadá takto:

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

Pokyny

100 XP
  • Použij head() na sb_words a prohlédni si nejčastější slova.
  • Vytvoř nový sloupec expectations tak, že vydělíš největší frekvenci slova freq[1] hodnotami sloupce rank.
  • Vytvoř sb_plot pomocí mjs_plot().
    • Předej sb_words s parametry x = rank a y = freq.
    • Uvnitř mjs_plot() nastav show_rollover_text na FALSE.
  • Přepiš sb_plot pomocí mjs_line() a předej mu sb_plot.
  • Doplň sb_plot pomocí mjs_add_line().
    • Předej předchozí objekt sb_plot a vektor expectations.
  • Přidej legendu do nového objektu sb_plot pomocí mjs_add_legend().
    • Předej předchozí objekt sb_plot.
    • Popisky legendy by měly být "Frequency" a "Expectation".
  • Zavolej sb_plot pro zobrazení grafu. Přejeď myší přes bod a sleduj, jak se současně zvýrazní hodnoty freq i Expectation. To je kouzlo JavaScriptu!