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
Toto cvičení je součástí kurzu
Sentiment Analysis in R
Pokyny k cvičení
- Použij
head()nasb_wordsa prohlédni si nejčastější slova. - Vytvoř nový sloupec
expectationstak, že vydělíš největší frekvenci slovafreq[1]hodnotami sloupcerank. - Vytvoř
sb_plotpomocímjs_plot().- Předej
sb_wordss parametryx = rankay = freq. - Uvnitř
mjs_plot()nastavshow_rollover_textnaFALSE.
- Předej
- Přepiš
sb_plotpomocímjs_line()a předej musb_plot. - Doplň
sb_plotpomocímjs_add_line().- Předej předchozí objekt
sb_plota vektorexpectations.
- Předej předchozí objekt
- Přidej legendu do nového objektu
sb_plotpomocímjs_add_legend().- Předej předchozí objekt
sb_plot. - Popisky legendy by měly být
"Frequency"a"Expectation".
- Předej předchozí objekt
- Zavolej
sb_plotpro zobrazení grafu. Přejeď myší přes bod a sleduj, jak se současně zvýrazní hodnotyfreqiExpectation. To je kouzlo JavaScriptu!
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Examine sb_words
___
# Create expectations
sb_words$expectations <- sb_words %$%
{___[___] / ___}
# Create metrics plot
sb_plot <- ___(___, x = ___, y = ___, ___ = ___)
# Add 1st line
sb_plot <- ___(___)
# Add 2nd line
sb_plot <- ___(___, ___)
# Add legend
sb_plot <- ___(___, legend = c("___", "___"))
# Display plot
sb_plot