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

Connected

cvičení

DTM vs. tidytext matice

Tidyverse je kolekce R balíčků, které sdílejí společné principy a jsou navrženy tak, aby spolupracovaly. Tato kapitola se věnuje tidy funkcím pro manipulaci s daty. V tomto cvičení porovnáš DTM s tidy textovým datovým rámcem, který se nazývá tibble.

V rámci tidyverse je každé pozorování jediným řádkem v datovém rámci. To výrazně usnadňuje práci v různých balíčcích, protože základní datová struktura je vždy stejná. Části tohoto kurzu vycházejí z balíčku tidytext, který toto uspořádání dat využívá.

Možná už znáš operátor %>% z balíčku magrittr. Ten předává objekt na levé straně jako první argument funkce na pravé straně.

V příkladu níže předáváš objekt data do funkce function1(). Všimni si, že závorky jsou prázdné. Výsledek se pak předá dál do function2(). V poslední funkci nemusíš uvádět objekt data, protože byl předán z výstupu function1(). Přidáváš ale fiktivní parametr some_parameter s hodnotou TRUE. Výsledkem celého řetězce je objekt object.

object <- data %>% 
           function1() %>%
           function2(some_parameter = TRUE)

Ke použití operátoru %>% nemusíš nutně načítat balíček magrittr — je dostupný také v balíčku dplyr. dplyr navíc obsahuje funkce inner_join() (o té se dozvíš více později) a count() pro počítání dat. Poslední funkce, kterou budeš potřebovat, je mutate() — slouží k vytváření nových proměnných nebo úpravě těch stávajících.

object <- data %>%
  mutate(new_Var_name = Var1 - Var2)

nebo pro úpravu proměnné

object <- data %>%
  mutate(Var1 = as.factor(Var1))

Použiješ také funkci pivot_wider() z balíčku tidyr, která data uspořádá tak, že každý řádek odpovídá jednomu řádku knihy a kladné a záporné hodnoty tvoří samostatné sloupce.

index negative positive
42 2 0
43 0 1
44 1 0

Pro převod DTM do tidy formátu použij funkci tidy() z balíčku broom.

tidy_format <- tidy(Document_Term_Matrix)

Toto cvičení pracuje s textem řecké tragédie Agamemnon. Jde o příběh o nevěře a vraždě. Kopii si můžeš stáhnout zde.

Pokyny

100 XP

Pro toto cvičení jsme už připravili čisté DTM s názvem ag_dtm.

  • Vytvoř ag_dtm_m tak, že na ag_dtm aplikuješ funkci as.matrix().
  • Pomocí hranatých závorek [ a ] indexuj ag_dtm_m na řádek 2206.
  • Aplikuj tidy() na ag_dtm. Nový objekt pojmenuj ag_tidy.
  • Prohlédni si ag_tidy na řádcích [831:835, ] a porovnej tidy formát. Uvidíš běžné slovo z části ag_dtm_m, kterou jsi zkoumal/a v kroku 2.